Types for Google Cloud Gkehub v1beta1 API¶
- class google.cloud.gkehub_v1beta1.types.ApplianceCluster(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
ApplianceCluster contains information specific to GDC Edge Appliance Clusters.
- class google.cloud.gkehub_v1beta1.types.Authority(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details:
https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
- issuer¶
Optional. A JSON Web Token (JWT) issuer URI.
issuer
must start withhttps://
and be a valid URL with length <2000 characters.If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer.
Clearing
issuer
disables Workload Identity.issuer
cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).- Type
- workload_identity_pool¶
Output only. The name of the workload identity pool in which
issuer
will be recognized.There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is
{PROJECT_ID}.hub.id.goog
, although this is subject to change in newer versions of this API.- Type
- identity_provider¶
Output only. An identity provider that reflects the
issuer
in the workload identity pool.- Type
- class google.cloud.gkehub_v1beta1.types.ConnectAgent(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
The information required from end users to use GKE Connect.
- proxy¶
Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com requires the use of a proxy. Format must be in the form
http(s)://{proxy_address}
, depending on the HTTP/HTTPS protocol supported by the proxy. This will direct the connect agent’s outbound traffic through a HTTP(S) proxy.- Type
- class google.cloud.gkehub_v1beta1.types.ConnectAgentResource(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
ConnectAgentResource represents a Kubernetes resource manifest for Connect Agent deployment.
- type_¶
Kubernetes type of the resource.
- class google.cloud.gkehub_v1beta1.types.CreateMembershipRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for the
GkeHubMembershipService.CreateMembership
method.- parent¶
Required. The parent (project and location) where the Memberships will be created. Specified in the format
projects/*/locations/*
.- Type
- membership_id¶
Required. Client chosen ID for the membership.
membership_id
must be a valid RFC 1123 compliant DNS label:At most 63 characters in length
It must consist of lower case alphanumeric characters or
-
It must start and end with an alphanumeric character
Which can be expressed as the regex:
[a-z0-9]([-a-z0-9]*[a-z0-9])?
, with a maximum length of 63 characters.- Type
- resource¶
Required. The membership to create.
- request_id¶
Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.
For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
- Type
- class google.cloud.gkehub_v1beta1.types.DeleteMembershipRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
GkeHubMembershipService.DeleteMembership
method.- name¶
Required. The Membership resource name in the format
projects/*/locations/*/memberships/*
.- Type
- request_id¶
Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.
For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
- Type
- class google.cloud.gkehub_v1beta1.types.EdgeCluster(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
EdgeCluster contains information specific to Google Edge Clusters.
- class google.cloud.gkehub_v1beta1.types.GenerateConnectManifestRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
GkeHubMembershipService.GenerateConnectManifest
method.- name¶
Required. The Membership resource name the Agent will associate with, in the format
projects/*/locations/*/memberships/*
.- Type
- connect_agent¶
Optional. The connect agent to generate manifest for.
- is_upgrade¶
Optional. If true, generate the resources for upgrade only. Some resources generated only for installation (e.g. secrets) will be excluded.
- Type
- registry¶
Optional. The registry to fetch the connect agent image from. Defaults to gcr.io/gkeconnect.
- Type
- class google.cloud.gkehub_v1beta1.types.GenerateConnectManifestResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent.
- manifest¶
The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent installation/upgrade.
- Type
MutableSequence[google.cloud.gkehub_v1beta1.types.ConnectAgentResource]
- class google.cloud.gkehub_v1beta1.types.GenerateExclusivityManifestRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
The request to generate the manifests for exclusivity artifacts.
- name¶
Required. The Membership resource name in the format
projects/*/locations/*/memberships/*
.- Type
- crd_manifest¶
Optional. The YAML manifest of the membership CRD retrieved by
kubectl get customresourcedefinitions membership
. Leave empty if the resource does not exist.- Type
- class google.cloud.gkehub_v1beta1.types.GenerateExclusivityManifestResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
The response of the exclusivity artifacts manifests for the client to apply.
- crd_manifest¶
The YAML manifest of the membership CRD to apply if a newer version of the CRD is available. Empty if no update needs to be applied.
- Type
- class google.cloud.gkehub_v1beta1.types.GetMembershipRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
GkeHubMembershipService.GetMembership
method.
- class google.cloud.gkehub_v1beta1.types.GkeCluster(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
GkeCluster contains information specific to GKE clusters.
- resource_link¶
Immutable. Self-link of the GCP resource for the GKE cluster. For example: //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster
Zonal clusters are also supported.
- Type
- class google.cloud.gkehub_v1beta1.types.KubernetesMetadata(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters.
- kubernetes_api_server_version¶
Output only. Kubernetes API server version string as reported by ‘/version’.
- Type
- node_provider_id¶
Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and the node_provider_id will be empty.
- Type
- memory_mb¶
Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in MB.
- Type
- update_time¶
Output only. The time at which these details were last updated. This update_time is different from the Membership-level update_time since EndpointDetails are updated internally for API consumers.
- class google.cloud.gkehub_v1beta1.types.KubernetesResource(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster.
- membership_cr_manifest¶
Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub can read the CR directly.
Callers should provide the CR that is currently present in the cluster during CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to validate the cluster has not been registered with another Membership.
- Type
- membership_resources¶
Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership creation, and after every update.
This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.
- Type
MutableSequence[google.cloud.gkehub_v1beta1.types.ResourceManifest]
- connect_resources¶
Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the caller should make a UpdateMembership call with an empty field mask.
- Type
MutableSequence[google.cloud.gkehub_v1beta1.types.ResourceManifest]
- resource_options¶
Optional. Options for Kubernetes resource generation.
- class google.cloud.gkehub_v1beta1.types.ListMembershipsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
GkeHubMembershipService.ListMemberships
method.- parent¶
Required. The parent (project and location) where the Memberships will be listed. Specified in the format
projects/*/locations/*
.projects/*/locations/-
list memberships in all the regions.- Type
- page_size¶
Optional. When requesting a ‘page’ of resources,
page_size
specifies number of resources to return. If unspecified or set to 0, all resources will be returned.- Type
- page_token¶
Optional. Token returned by previous call to
ListMemberships
which specifies the position in the list from where to continue listing the resources.- Type
- filter¶
Optional. Lists Memberships that match the filter expression, following the syntax outlined in https://google.aip.dev/160.
Examples:
Name is
bar
in projectfoo-proj
and locationglobal
:name = “projects/foo-proj/locations/global/membership/bar”
Memberships that have a label called
foo
:labels.foo:*
Memberships that have a label called
foo
whose value isbar
:labels.foo = bar
Memberships in the CREATING state:
state = CREATING
- Type
- order_by¶
Optional. One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.
- Type
- class google.cloud.gkehub_v1beta1.types.ListMembershipsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Response message for the
GkeHubMembershipService.ListMemberships
method.- resources¶
The list of matching Memberships.
- Type
MutableSequence[google.cloud.gkehub_v1beta1.types.Membership]
- next_page_token¶
A token to request the next page of resources from the
ListMemberships
method. The value of an empty string means that there are no more resources to return.- Type
- class google.cloud.gkehub_v1beta1.types.Membership(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Membership contains information about a member cluster.
- name¶
Output only. The full, unique name of this Membership resource in the format
projects/*/locations/*/memberships/{membership_id}
, set during creation.membership_id
must be a valid RFC 1123 compliant DNS label:At most 63 characters in length
It must consist of lower case alphanumeric characters or
-
It must start and end with an alphanumeric character
Which can be expressed as the regex:
[a-z0-9]([-a-z0-9]*[a-z0-9])?
, with a maximum length of 63 characters.- Type
- description¶
Optional. Description of this membership, limited to 63 characters. Must match the regex:
[a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]*
- Type
- endpoint¶
Optional. Endpoint information to reach this member.
This field is a member of oneof
type
.
- state¶
Output only. State of the Membership resource.
- authority¶
Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details:
https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
- create_time¶
Output only. When the Membership was created.
- update_time¶
Output only. When the Membership was last updated.
- delete_time¶
Output only. When the Membership was deleted.
- external_id¶
Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. For GKE clusters, external_id is managed by the Hub API and updates will be ignored.
The ID must match the regex:
[a-zA-Z0-9][a-zA-Z0-9_\-\.]*
If this Membership represents a Kubernetes cluster, this value should be set to the UID of the
kube-system
namespace object.- Type
- last_connection_time¶
Output only. For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset.
- unique_id¶
Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id.
- Type
- infrastructure_type¶
Optional. The infrastructure type this Membership is running on.
- monitoring_config¶
Optional. The monitoring config information for this membership.
- class InfrastructureType(value)[source]¶
Bases:
proto.enums.Enum
Specifies the infrastructure type of a Membership. Infrastructure type is used by Hub to control infrastructure-specific behavior, including pricing.
Each GKE distribution (on-GCP, on-Prem, on-X,…) will set this field automatically, but Attached Clusters customers should specify a type during registration.
- Values:
- INFRASTRUCTURE_TYPE_UNSPECIFIED (0):
No type was specified. Some Hub functionality may require a type be specified, and will not support Memberships with this value.
- ON_PREM (1):
Private infrastructure that is owned or operated by customer. This includes GKE distributions such as GKE-OnPrem and GKE-OnBareMetal.
- MULTI_CLOUD (2):
Public cloud infrastructure.
- class LabelsEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)¶
Bases:
proto.message.Message
- class google.cloud.gkehub_v1beta1.types.MembershipEndpoint(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.
This message has oneof fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.
- gke_cluster¶
Optional. Specific information for a GKE-on-GCP cluster.
This field is a member of oneof
type
.
- on_prem_cluster¶
Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is not allowed to use this field, it should have a nil “type” instead.
This field is a member of oneof
type
.
- multi_cloud_cluster¶
Optional. Specific information for a GKE Multi-Cloud cluster.
This field is a member of oneof
type
.
- edge_cluster¶
Optional. Specific information for a Google Edge cluster.
This field is a member of oneof
type
.
- appliance_cluster¶
Optional. Specific information for a GDC Edge Appliance cluster.
This field is a member of oneof
type
.
- kubernetes_metadata¶
Output only. Useful Kubernetes-specific metadata.
- kubernetes_resource¶
Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in the steady state. These resources:
Ensure that the cluster is exclusively registered to one and only one Hub Membership.
Propagate Workload Pool Information available in the Membership Authority field.
Ensure proper initial configuration of default Hub Features.
- class google.cloud.gkehub_v1beta1.types.MembershipState(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
State of the Membership resource.
- code¶
Output only. The current state of the Membership resource.
- update_time¶
This field is never set by the Hub Service.
- class Code(value)[source]¶
Bases:
proto.enums.Enum
Code describes the state of a Membership resource.
- Values:
- CODE_UNSPECIFIED (0):
The code is not set.
- CREATING (1):
The cluster is being registered.
- READY (2):
The cluster is registered.
- DELETING (3):
The cluster is being unregistered.
- UPDATING (4):
The Membership is being updated.
- SERVICE_UPDATING (5):
The Membership is being updated by the Hub Service.
- class google.cloud.gkehub_v1beta1.types.MonitoringConfig(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
This field informs Fleet-based applications/services/UIs with the necessary information for where each underlying Cluster reports its metrics.
- cluster¶
Immutable. Cluster name used to report metrics. For Anthos on VMWare/Baremetal, it would be in format
memberClusters/cluster_name
; And for Anthos on MultiCloud, it would be in format{azureClusters, awsClusters}/cluster_name
.- Type
- kubernetes_metrics_prefix¶
Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos
- Type
- class google.cloud.gkehub_v1beta1.types.MultiCloudCluster(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
- resource_link¶
Immutable. Self-link of the GCP resource for the GKE Multi-Cloud cluster. For example:
//gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster
- Type
- class google.cloud.gkehub_v1beta1.types.OnPremCluster(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
OnPremCluster contains information specific to GKE On-Prem clusters.
- resource_link¶
Immutable. Self-link of the GCP resource for the GKE On-Prem cluster. For example:
//gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster
- Type
- cluster_missing¶
Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists.
- Type
- cluster_type¶
Immutable. The on prem cluster’s type.
- class ClusterType(value)[source]¶
Bases:
proto.enums.Enum
ClusterType describes on prem cluster’s type.
- Values:
- CLUSTERTYPE_UNSPECIFIED (0):
The ClusterType is not set.
- BOOTSTRAP (1):
The ClusterType is bootstrap cluster.
- HYBRID (2):
The ClusterType is baremetal hybrid cluster.
- STANDALONE (3):
The ClusterType is baremetal standalone cluster.
- USER (4):
The ClusterType is user cluster.
- class google.cloud.gkehub_v1beta1.types.OperationMetadata(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Represents the metadata of the long-running operation.
- create_time¶
Output only. The time the operation was created.
- end_time¶
Output only. The time the operation finished running.
- cancel_requested¶
Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
Code.CANCELLED
.- Type
- class google.cloud.gkehub_v1beta1.types.ResourceManifest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
ResourceManifest represents a single Kubernetes resource to be applied to the cluster.
- class google.cloud.gkehub_v1beta1.types.ResourceOptions(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
ResourceOptions represent options for Kubernetes resource generation.
- connect_version¶
Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect version. The version must be a currently supported version, obsolete versions will be rejected.
- Type
- v1beta1_crd¶
Optional. Use
apiextensions/v1beta1
instead ofapiextensions/v1
for CustomResourceDefinition resources. This option should be set for clusters with Kubernetes apiserver versions <1.16.- Type
- class google.cloud.gkehub_v1beta1.types.TypeMeta(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
TypeMeta is the type information needed for content unmarshalling of Kubernetes resources in the manifest.
- class google.cloud.gkehub_v1beta1.types.UpdateMembershipRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
Request message for
GkeHubMembershipService.UpdateMembership
method.- name¶
Required. The membership resource name in the format:
projects/[project_id]/locations/global/memberships/[membership_id]
- Type
- update_mask¶
Required. Mask of fields to update. At least one field path must be specified in this mask.
- resource¶
Required. Only fields specified in update_mask are updated. If you specify a field in the update_mask but don’t specify its value here that field will be deleted. If you are updating a map field, set the value of a key to null or empty string to delete the key from the map. It’s not possible to update a key’s value to the empty string. If you specify the update_mask to be a special path “*”, fully replaces all user-modifiable fields to match
resource
.
- request_id¶
Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.
For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
- Type
- class google.cloud.gkehub_v1beta1.types.ValidateExclusivityRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
The request to validate the existing state of the membership CR in the cluster.
- parent¶
Required. The parent (project and location) where the Memberships will be created. Specified in the format
projects/*/locations/*
.- Type
- cr_manifest¶
Optional. The YAML of the membership CR in the cluster. Empty if the membership CR does not exist.
- Type
- class google.cloud.gkehub_v1beta1.types.ValidateExclusivityResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]¶
Bases:
proto.message.Message
The response of exclusivity artifacts validation result status.
- status¶
The validation result.
OK
means that exclusivity is validated, assuming the manifest produced by GenerateExclusivityManifest is successfully applied.ALREADY_EXISTS
means that the Membership CRD is already owned by another Hub. Seestatus.message
for more information.
- Type
google.rpc.status_pb2.Status