get() request to the cluster to get the current
+ // resource version and include it with requests to set the policy.
+ string resource_version = 3;
}
// MaintenanceWindow defines the maintenance window to be used for the cluster.
@@ -1902,14 +2340,68 @@ message MaintenanceWindow {
oneof policy {
// DailyMaintenanceWindow specifies a daily maintenance operation window.
DailyMaintenanceWindow daily_maintenance_window = 2;
+
+ // RecurringWindow specifies some number of recurring time periods for
+ // maintenance to occur. The time windows may be overlapping. If no
+ // maintenance windows are set, maintenance can occur at any time.
+ RecurringTimeWindow recurring_window = 3;
}
+
+ // Exceptions to maintenance window. Non-emergency maintenance should not
+ // occur in these windows.
+ mapFREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ // To repeat some window daily (equivalent to the DailyMaintenanceWindow):
+ // FREQ=DAILY
+ // For the first weekend of every month:
+ // FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU
+ // This specifies how frequently the window starts. Eg, if you wanted to have
+ // a 9-5 UTC-4 window every weekday, you'd use something like:
+ //
+ // start time = 2019-01-01T09:00:00-0400
+ // end time = 2019-01-01T17:00:00-0400
+ // recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
+ //
+ // Windows can span multiple days. Eg, to make the window encompass every
+ // weekend from midnight Saturday till the last minute of Sunday UTC:
+ //
+ // start time = 2019-01-05T00:00:00Z
+ // end time = 2019-01-07T23:59:00Z
+ // recurrence = FREQ=WEEKLY;BYDAY=SA
+ //
+ // Note the start and end time's specific dates are largely arbitrary except
+ // to specify duration of the window and when it first starts.
+ // The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
+ string recurrence = 2;
}
// Time window specified for daily maintenance operations.
message DailyMaintenanceWindow {
// Time within the maintenance window to start the maintenance operations.
// Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
- // format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT.
+ // format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
string start_time = 2;
// [Output only] Duration of the time window, automatically chosen to be
@@ -1922,27 +2414,39 @@ message DailyMaintenanceWindow {
// SetNodePoolManagementRequest sets the node management properties of a node
// pool.
message SetNodePoolManagementRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://support.google.com/cloud/answer/6158840).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster to update.
+ // Required. Deprecated. The name of the cluster to update.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the node pool to update.
+ // Required. Deprecated. The name of the node pool to update.
// This field has been deprecated and replaced by the name field.
- string node_pool_id = 4 [deprecated = true];
+ string node_pool_id = 4 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // NodeManagement configuration for the node pool.
- NodeManagement management = 5;
+ // Required. NodeManagement configuration for the node pool.
+ NodeManagement management = 5 [(google.api.field_behavior) = REQUIRED];
// The name (project, location, cluster, node pool id) of the node pool to set
// management properties. Specified in the format
@@ -1953,27 +2457,39 @@ message SetNodePoolManagementRequest {
// SetNodePoolSizeRequest sets the size a node
// pool.
message SetNodePoolSizeRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://support.google.com/cloud/answer/6158840).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster to update.
+ // Required. Deprecated. The name of the cluster to update.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the node pool to update.
+ // Required. Deprecated. The name of the node pool to update.
// This field has been deprecated and replaced by the name field.
- string node_pool_id = 4 [deprecated = true];
+ string node_pool_id = 4 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // The desired node count for the pool.
- int32 node_count = 5;
+ // Required. The desired node count for the pool.
+ int32 node_count = 5 [(google.api.field_behavior) = REQUIRED];
// The name (project, location, cluster, node pool id) of the node pool to set
// size.
@@ -1985,24 +2501,36 @@ message SetNodePoolSizeRequest {
// NodePool upgrade. This will be an no-op if the last upgrade successfully
// completed.
message RollbackNodePoolUpgradeRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://support.google.com/cloud/answer/6158840).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster to rollback.
+ // Required. Deprecated. The name of the cluster to rollback.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the node pool to rollback.
+ // Required. Deprecated. The name of the node pool to rollback.
// This field has been deprecated and replaced by the name field.
- string node_pool_id = 4 [deprecated = true];
+ string node_pool_id = 4 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
// The name (project, location, cluster, node pool id) of the node poll to
// rollback upgrade.
@@ -2016,6 +2544,52 @@ message ListNodePoolsResponse {
repeated NodePool node_pools = 1;
}
+// ClusterAutoscaling contains global, per-cluster information
+// required by Cluster Autoscaler to automatically adjust
+// the size of the cluster and create/delete
+// node pools based on the current needs.
+message ClusterAutoscaling {
+ // Enables automatic node pool creation and deletion.
+ bool enable_node_autoprovisioning = 1;
+
+ // Contains global constraints regarding minimum and maximum
+ // amount of resources in the cluster.
+ repeated ResourceLimit resource_limits = 2;
+
+ // AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ // created by NAP.
+ AutoprovisioningNodePoolDefaults autoprovisioning_node_pool_defaults = 4;
+
+ // The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ // in which the NodePool's nodes can be created by NAP.
+ repeated string autoprovisioning_locations = 5;
+}
+
+// AutoprovisioningNodePoolDefaults contains defaults for a node pool created
+// by NAP.
+message AutoprovisioningNodePoolDefaults {
+ // Scopes that are used by NAP when creating node pools. If oauth_scopes are
+ // specified, service_account should be empty.
+ repeated string oauth_scopes = 1;
+
+ // The Google Cloud Platform Service Account to be used by the node VMs. If
+ // service_account is specified, scopes should be empty.
+ string service_account = 2;
+}
+
+// Contains information about amount of some resource in the cluster.
+// For memory, value should be in GB.
+message ResourceLimit {
+ // Resource name "cpu", "memory" or gpu-specific string.
+ string resource_type = 1;
+
+ // Minimum amount of the resource in the cluster.
+ int64 minimum = 2;
+
+ // Maximum amount of the resource in the cluster.
+ int64 maximum = 3;
+}
+
// NodePoolAutoscaling contains information required by cluster autoscaler to
// adjust the size of the node pool to the current cluster usage.
message NodePoolAutoscaling {
@@ -2029,37 +2603,49 @@ message NodePoolAutoscaling {
// Maximum number of nodes in the NodePool. Must be >= min_node_count. There
// has to enough quota to scale up the cluster.
int32 max_node_count = 3;
+
+ // Can this node pool be deleted automatically.
+ bool autoprovisioned = 4;
}
// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
// Engine cluster, which will in turn set them for Google Compute Engine
// resources used by that cluster
message SetLabelsRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://developers.google.com/console/help/new/#projectnumber).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster.
+ // Required. Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // The labels to set for that cluster.
- mapget() request to the
// resource to get the latest fingerprint.
- string label_fingerprint = 5;
+ string label_fingerprint = 5 [(google.api.field_behavior) = REQUIRED];
// The name (project, location, cluster id) of the cluster to set labels.
// Specified in the format 'projects/*/locations/*/clusters/*'.
@@ -2069,23 +2655,32 @@ message SetLabelsRequest {
// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
// a cluster.
message SetLegacyAbacRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://support.google.com/cloud/answer/6158840).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster to update.
+ // Required. Deprecated. The name of the cluster to update.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Whether ABAC authorization will be enabled in the cluster.
- bool enabled = 4;
+ // Required. Whether ABAC authorization will be enabled in the cluster.
+ bool enabled = 4 [(google.api.field_behavior) = REQUIRED];
// The name (project, location, cluster id) of the cluster to set legacy abac.
// Specified in the format 'projects/*/locations/*/clusters/*'.
@@ -2095,20 +2690,29 @@ message SetLegacyAbacRequest {
// StartIPRotationRequest creates a new IP for the cluster and then performs
// a node upgrade on each node pool to point to the new IP.
message StartIPRotationRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://developers.google.com/console/help/new/#projectnumber).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster.
+ // Required. Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
// The name (project, location, cluster id) of the cluster to start IP
// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
@@ -2120,20 +2724,29 @@ message StartIPRotationRequest {
// CompleteIPRotationRequest moves the cluster master back into single-IP mode.
message CompleteIPRotationRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://developers.google.com/console/help/new/#projectnumber).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster.
+ // Required. Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
// The name (project, location, cluster id) of the cluster to complete IP
// rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
@@ -2146,29 +2759,38 @@ message AcceleratorConfig {
int64 accelerator_count = 1;
// The accelerator type resource name. List of supported accelerators
- // [here](/compute/docs/gpus/#Introduction)
+ // [here](/compute/docs/gpus)
string accelerator_type = 2;
}
// SetNetworkPolicyRequest enables/disables network policy for a cluster.
message SetNetworkPolicyRequest {
- // Deprecated. The Google Developers Console [project ID or project
+ // Required. Deprecated. The Google Developers Console [project ID or project
// number](https://developers.google.com/console/help/new/#projectnumber).
// This field has been deprecated and replaced by the name field.
- string project_id = 1 [deprecated = true];
+ string project_id = 1 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the Google Compute Engine
+ // Required. Deprecated. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
// This field has been deprecated and replaced by the name field.
- string zone = 2 [deprecated = true];
+ string zone = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Deprecated. The name of the cluster.
+ // Required. Deprecated. The name of the cluster.
// This field has been deprecated and replaced by the name field.
- string cluster_id = 3 [deprecated = true];
+ string cluster_id = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = REQUIRED
+ ];
- // Configuration options for the NetworkPolicy feature.
- NetworkPolicy network_policy = 4;
+ // Required. Configuration options for the NetworkPolicy feature.
+ NetworkPolicy network_policy = 4 [(google.api.field_behavior) = REQUIRED];
// The name (project, location, cluster id) of the cluster to set networking
// policy. Specified in the format 'projects/*/locations/*/clusters/*'.
@@ -2177,21 +2799,21 @@ message SetNetworkPolicyRequest {
// SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
message SetMaintenancePolicyRequest {
- // The Google Developers Console [project ID or project
+ // Required. The Google Developers Console [project ID or project
// number](https://support.google.com/cloud/answer/6158840).
- string project_id = 1;
+ string project_id = 1 [(google.api.field_behavior) = REQUIRED];
- // The name of the Google Compute Engine
+ // Required. The name of the Google Compute Engine
// [zone](/compute/docs/zones#available) in which the cluster
// resides.
- string zone = 2;
+ string zone = 2 [(google.api.field_behavior) = REQUIRED];
- // The name of the cluster to update.
- string cluster_id = 3;
+ // Required. The name of the cluster to update.
+ string cluster_id = 3 [(google.api.field_behavior) = REQUIRED];
- // The maintenance policy to be set for the cluster. An empty field
+ // Required. The maintenance policy to be set for the cluster. An empty field
// clears the existing maintenance policy.
- MaintenancePolicy maintenance_policy = 4;
+ MaintenancePolicy maintenance_policy = 4 [(google.api.field_behavior) = REQUIRED];
// The name (project, location, cluster id) of the cluster to set maintenance
// policy.
@@ -2199,6 +2821,40 @@ message SetMaintenancePolicyRequest {
string name = 5;
}
+// StatusCondition describes why a cluster or a node pool has a certain status
+// (e.g., ERROR or DEGRADED).
+message StatusCondition {
+ // Code for each condition
+ enum Code {
+ // UNKNOWN indicates a generic condition.
+ UNKNOWN = 0;
+
+ // GCE_STOCKOUT indicates a Google Compute Engine stockout.
+ GCE_STOCKOUT = 1;
+
+ // GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot
+ // service account.
+ GKE_SERVICE_ACCOUNT_DELETED = 2;
+
+ // Google Compute Engine quota was exceeded.
+ GCE_QUOTA_EXCEEDED = 3;
+
+ // Cluster state was manually changed by an SRE due to a system logic error.
+ SET_BY_OPERATOR = 4;
+
+ // Unable to perform an encrypt operation against the CloudKMS key used for
+ // etcd level encryption.
+ // More codes TBA
+ CLOUD_KMS_KEY_ERROR = 7;
+ }
+
+ // Machine-friendly representation of the condition
+ Code code = 1;
+
+ // Human-friendly representation of the condition
+ string message = 2;
+}
+
// NetworkConfig reports the relative names of network & subnetwork.
message NetworkConfig {
// Output only. The relative name of the Google Compute Engine
@@ -2211,4 +2867,175 @@ message NetworkConfig {
// [subnetwork](/compute/docs/vpc) to which the cluster is connected.
// Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
string subnetwork = 2;
+
+ // Whether Intra-node visibility is enabled for this cluster.
+ // This makes same node pod to pod traffic visible for VPC network.
+ bool enable_intra_node_visibility = 5;
+}
+
+// IntraNodeVisibilityConfig contains the desired config of the intra-node
+// visibility on this cluster.
+message IntraNodeVisibilityConfig {
+ // Enables intra node visibility for this cluster.
+ bool enabled = 1;
+}
+
+// Constraints applied to pods.
+message MaxPodsConstraint {
+ // Constraint enforced on the max num of pods per node.
+ int64 max_pods_per_node = 1;
+}
+
+// Configuration of etcd encryption.
+message DatabaseEncryption {
+ // State of etcd encryption.
+ enum State {
+ // Should never be set
+ UNKNOWN = 0;
+
+ // Secrets in etcd are encrypted.
+ ENCRYPTED = 1;
+
+ // Secrets in etcd are stored in plain text (at etcd level) - this is
+ // unrelated to GCE level full disk encryption.
+ DECRYPTED = 2;
+ }
+
+ // Denotes the state of etcd encryption.
+ State state = 2;
+
+ // Name of CloudKMS key to use for the encryption of secrets in etcd.
+ // Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ string key_name = 1;
+}
+
+// ListUsableSubnetworksRequest requests the list of usable subnetworks
+// available to a user for creating clusters.
+message ListUsableSubnetworksRequest {
+ // The parent project where subnetworks are usable.
+ // Specified in the format 'projects/*'.
+ string parent = 1;
+
+ // Filtering currently only supports equality on the networkProjectId and must
+ // be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
+ // is the project which owns the listed subnetworks. This defaults to the
+ // parent project ID.
+ string filter = 2;
+
+ // The max number of results per page that should be returned. If the number
+ // of available results is larger than `page_size`, a `next_page_token` is
+ // returned which can be used to get the next page of results in subsequent
+ // requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
+ int32 page_size = 3;
+
+ // Specifies a page token to use. Set this to the nextPageToken returned by
+ // previous list requests to get the next page of results.
+ string page_token = 4;
+}
+
+// ListUsableSubnetworksResponse is the response of
+// ListUsableSubnetworksRequest.
+message ListUsableSubnetworksResponse {
+ // A list of usable subnetworks in the specified network project.
+ repeated UsableSubnetwork subnetworks = 1;
+
+ // This token allows you to get the next page of results for list requests.
+ // If the number of results is larger than `page_size`, use the
+ // `next_page_token` as a value for the query parameter `page_token` in the
+ // next request. The value will become empty when there are no more pages.
+ string next_page_token = 2;
+}
+
+// Secondary IP range of a usable subnetwork.
+message UsableSubnetworkSecondaryRange {
+ // Status shows the current usage of a secondary IP range.
+ enum Status {
+ // UNKNOWN is the zero value of the Status enum. It's not a valid status.
+ UNKNOWN = 0;
+
+ // UNUSED denotes that this range is unclaimed by any cluster.
+ UNUSED = 1;
+
+ // IN_USE_SERVICE denotes that this range is claimed by a cluster for
+ // services. It cannot be used for other clusters.
+ IN_USE_SERVICE = 2;
+
+ // IN_USE_SHAREABLE_POD denotes this range was created by the network admin
+ // and is currently claimed by a cluster for pods. It can only be used by
+ // other clusters as a pod range.
+ IN_USE_SHAREABLE_POD = 3;
+
+ // IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed
+ // for pods. It cannot be used for other clusters.
+ IN_USE_MANAGED_POD = 4;
+ }
+
+ // The name associated with this subnetwork secondary range, used when adding
+ // an alias IP range to a VM instance.
+ string range_name = 1;
+
+ // The range of IP addresses belonging to this subnetwork secondary range.
+ string ip_cidr_range = 2;
+
+ // This field is to determine the status of the secondary range programmably.
+ Status status = 3;
+}
+
+// UsableSubnetwork resource returns the subnetwork name, its associated network
+// and the primary CIDR range.
+message UsableSubnetwork {
+ // Subnetwork Name.
+ // Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+ string subnetwork = 1;
+
+ // Network Name.
+ // Example: projects/my-project/global/networks/my-network
+ string network = 2;
+
+ // The range of internal addresses that are owned by this subnetwork.
+ string ip_cidr_range = 3;
+
+ // Secondary IP ranges.
+ repeated UsableSubnetworkSecondaryRange secondary_ip_ranges = 4;
+
+ // A human readable status message representing the reasons for cases where
+ // the caller cannot use the secondary ranges under the subnet. For example if
+ // the secondary_ip_ranges is empty due to a permission issue, an insufficient
+ // permission message will be given by status_message.
+ string status_message = 5;
+}
+
+// Configuration for exporting cluster resource usages.
+message ResourceUsageExportConfig {
+ // Parameters for using BigQuery as the destination of resource usage export.
+ message BigQueryDestination {
+ // The ID of a BigQuery Dataset.
+ string dataset_id = 1;
+ }
+
+ // Parameters for controlling consumption metering.
+ message ConsumptionMeteringConfig {
+ // Whether to enable consumption metering for this cluster. If enabled, a
+ // second BigQuery table will be created to hold resource consumption
+ // records.
+ bool enabled = 1;
+ }
+
+ // Configuration to use BigQuery as usage export destination.
+ BigQueryDestination bigquery_destination = 1;
+
+ // Whether to enable network egress metering for this cluster. If enabled, a
+ // daemonset will be created in the cluster to meter network egress traffic.
+ bool enable_network_egress_metering = 2;
+
+ // Configuration to enable resource consumption metering.
+ ConsumptionMeteringConfig consumption_metering_config = 3;
+}
+
+// VerticalPodAutoscaling contains global, per-cluster information
+// required by Vertical Pod Autoscaler to automatically adjust
+// the resources of pods controlled by it.
+message VerticalPodAutoscaling {
+ // Enables vertical pod autoscaling.
+ bool enabled = 1;
}
diff --git a/google/cloud/container_v1/proto/cluster_service_pb2.py b/google/cloud/container_v1/proto/cluster_service_pb2.py
index 8e0e829a..cc473062 100644
--- a/google/cloud/container_v1/proto/cluster_service_pb2.py
+++ b/google/cloud/container_v1/proto/cluster_service_pb2.py
@@ -17,7 +17,10 @@
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
+from google.api import client_pb2 as google_dot_api_dot_client__pb2
+from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
+from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
@@ -28,15 +31,52 @@
"\n\027com.google.container.v1B\023ClusterServiceProtoP\001Z