Skip to content

targetcluster

Contents

TargetClusterService

TargetCluster service provides APIs to interact with the TargetCluster entity.

ListTargetClusters

rpc ListTargetClusters(ListTargetClustersRequest) ListTargetClustersResponse

(-- api-linter: core::0132::http-body=disabled api-linter: core::0132::http-method=disabled aip.dev/not-precedent: We need to do this because we can't have advance filters as query params. --) ListTargetCluster API lists the TargetClusters visible to the caller.

GetTargetCluster

rpc GetTargetCluster(GetTargetClusterRequest) TargetCluster

GetTargetCluster API returns the info about the TargetCluster for given name.

DeleteTargetCluster

rpc DeleteTargetCluster(DeleteTargetClusterRequest) .google.protobuf.Empty

DeleteTargetCluster API deletes the specified TargetCluster.

UpdateTargetCluster

rpc UpdateTargetCluster(UpdateTargetClusterRequest) TargetCluster

UpdateTargetCluster API updates the metadata(e.g name/labels/annotations and desc) of the specified TargetCluster.

Messages

Config

Desired configuration of the Target Cluster.

DeleteTargetClusterRequest

DeleteTargetClusterRequest is the request message to DeleteTargetCluster API.

Field Type Description
id string Unique identifier of the cluster whose details needs to be fetched.
force bool Flag to indicate force delete.

GetTargetClusterRequest

GetTargetClusterRequest is the request message to the Get TargetCluster API.

Field Type Description
id string Unique identifier of the cluster whose details needs to be fetched.

KubePlatform

KubePlatform represents the k8s platform of the target cluster.

ListTargetClustersRequest

ListTargetClusterRequest is a request message to the List TargetCluster API.

Field Type Description
tenant_id string List target clusters associated with a Tenant (Organization).
pagination public.portworx.common.v1.PageBasedPaginationRequest Pagination parameters for listing target clusters.
label_selector public.portworx.common.v1.Selector Provides the key in labels and associated values for which target cluster need to be listed.
field_selector public.portworx.common.v1.Selector Field selector is used to filter target clusters based on the fields in target cluster proto message.
infra_resource_selector public.portworx.common.v1.ResourceSelector Infra_resource_selector is used to filter target cluster based on the infra resources associated with the target cluster Supported infra resource filters: PROJECT, APPLICATION.
sort public.portworx.common.v1.Sort Sorting details using which the target cluster list to be sorted.
resp_data public.portworx.common.v1.RespData Response data flags for listing target clusters.

ListTargetClustersResponse

ListTargetClusterResponse is the response message to the List TargetCluster API.

Field Type Description
clusters repeated TargetCluster (-- api-linter: core::0132::response-unknown-fields=disabled aip.dev/not-precedent: We really need this field because cluster details are required in the response --) The list of TargetClusters visible to the caller.
pagination public.portworx.common.v1.PageBasedPaginationResponse Pagination metadata for this response. (-- api-linter: core::0132::response-unknown-fields=disabled aip.dev/not-precedent: We need this field for pagination. --)

Metadata

TargetClusterMetadata represents the metadata of a cluster.

Field Type Description
kube_server_version string Version of kubernetes api server.
kube_platform KubePlatform.Type Platform of the kubernetes eg: aws, ocp, etc.
pxe_metadata PXEMetadata Metadata of portworx enterprise on the target cluster.

PXEMetadata

PX Enterprise metadata on the target cluster.

Field Type Description
csi_enabled bool CSIEnabled flag depicts if csi is supported on the target cluster.
service_name string Name of portworx api service on the target cluster.
service_namespace string Namespace of portworx api service on the target cluster.
version string Version of PXE installed on the target cluster.
security_enabled bool SecurityEnabled flag depicts if px security is enabled on the target cluster.

Status

Status of the Target Cluster.

Field Type Description
metadata Metadata Target Cluster Metadata.
phase TargetClusterPhase.Phase Phase of target cluster.
last_status_update_time google.protobuf.Timestamp Timestamp of cluster's last status update to control plane.
platform_agent TargetClusterApplicationStatus Status of the platform agent running in the target cluster.
applications map Status.ApplicationsEntry Status of applications running in the target cluster eg: BAAS, PDS, MPXE.

Status.ApplicationsEntry

Field Type Description
key string none
value TargetClusterApplicationStatus none

TargetCluster

TargetCluster is a high level entity that represents one large company(e.g. a Pure).

Field Type Description
meta public.portworx.common.v1.Meta Metadata of the target cluster(Resource Meta).
config Config Desired configuration of the Target Cluster.
status Status Current status of the Target Cluster.

TargetClusterApplicationStatus

Status of the Application.

Field Type Description
version string current installed version.
phase public.portworx.platform.targetcluster.application.v1.ApplicationPhase.Phase current phase of the application.
health public.portworx.platform.targetcluster.application.v1.ApplicationHealth.Health current health of the application.

TargetClusterPhase

TargetClusterPhase represents the phase of target cluster.

UpdateTargetClusterRequest

UpdateTargetClusterRequest is the request message to the Update TargetCluster API.

Field Type Description
target_cluster TargetCluster Target cluster details.

Enums

KubePlatform.Type

kubeplatform values.

Name Number Description
TYPE_UNSPECIFIED 0 Unsepecified.
AWS 1 Aws platform.
AZURE 2 Azure platform.
OCP 3 Openshift cloud platform.
GCP 4 Google cloud platform.
VSPHERE 5 VMware vSphere.
UNKNOWN 6 Unknown platform.

TargetClusterPhase.Phase

Supported values of phase of target cluster.

Name Number Description
PHASE_UNSPECIFIED 0 Must be set in the proto file; ignore.
CONNECTED 1 Represents target cluster is connected to control plane.
DISCONNECTED 2 Represents target cluster is disconnected from control plane if heartbeat is not received for three consecutive cycles.
FAILED 3 Represents target cluster failed to setup agent.
DELETING 4 Represents target cluster deletion in progress.

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type

double
double double float

float
float float float

int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int

int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long

uint32
Uses variable-length encoding. uint32 int int/long

uint64
Uses variable-length encoding. uint64 long int/long

sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int

sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long

fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int

fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long

sfixed32
Always four bytes. int32 int int

sfixed64
Always eight bytes. int64 long int/long

bool
bool boolean boolean

string
A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode

bytes
May contain any arbitrary sequence of bytes. string ByteString str