From 82944da21578a53b74e547774cf62ed31a05b841 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Mon, 2 Dec 2019 08:11:46 -0800 Subject: [PATCH] Migrate container v1beta1 to GAPIC v2. PiperOrigin-RevId: 283342796 --- .../container/artman_container_v1beta1.yaml | 5 +- google/container/container_v1beta1.yaml | 86 -- .../container/v1beta1/cluster_service.proto | 1046 ++++++++++++----- .../v1beta1/container_gapic.legacy.yaml | 551 +++++++++ google/container/v1beta1/container_gapic.yaml | 526 +-------- .../container_grpc_service_config.json | 152 +++ .../container/v1beta1/container_v1beta1.yaml | 24 + 7 files changed, 1500 insertions(+), 890 deletions(-) delete mode 100644 google/container/container_v1beta1.yaml create mode 100644 google/container/v1beta1/container_gapic.legacy.yaml create mode 100755 google/container/v1beta1/container_grpc_service_config.json create mode 100644 google/container/v1beta1/container_v1beta1.yaml diff --git a/google/container/artman_container_v1beta1.yaml b/google/container/artman_container_v1beta1.yaml index 9a81ab4b..befe0780 100644 --- a/google/container/artman_container_v1beta1.yaml +++ b/google/container/artman_container_v1beta1.yaml @@ -3,11 +3,12 @@ common: api_version: v1beta1 organization_name: google-cloud proto_deps: - - name: google-common-protos + - name: google-common-protos src_proto_paths: - v1beta1 - service_yaml: container_v1beta1.yaml + service_yaml: v1beta1/container_v1beta1.yaml gapic_yaml: v1beta1/container_gapic.yaml + proto_package: google.container.v1beta1 artifacts: - name: gapic_config type: GAPIC_CONFIG diff --git a/google/container/container_v1beta1.yaml b/google/container/container_v1beta1.yaml deleted file mode 100644 index 223e518b..00000000 --- a/google/container/container_v1beta1.yaml +++ /dev/null @@ -1,86 +0,0 @@ -type: google.api.Service -config_version: 3 -name: container.googleapis.com -title: Kubernetes Engine API - -apis: -- name: google.container.v1beta1.ClusterManager - -documentation: - summary: |- - Builds and manages container-based applications, powered by the open source - Kubernetes technology. - -backend: - rules: - - selector: google.container.v1beta1.ClusterManager.ListClusters - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.GetCluster - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.CreateCluster - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.UpdateCluster - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.UpdateNodePool - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetNodePoolAutoscaling - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetLoggingService - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetMonitoringService - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetAddonsConfig - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetLocations - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.UpdateMaster - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetMasterAuth - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.DeleteCluster - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.ListOperations - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.GetOperation - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.CancelOperation - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.GetServerConfig - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.ListNodePools - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.GetNodePool - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.CreateNodePool - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.DeleteNodePool - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.RollbackNodePoolUpgrade - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetNodePoolManagement - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetLabels - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetLegacyAbac - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.StartIPRotation - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.CompleteIPRotation - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetNodePoolSize - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetNetworkPolicy - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.SetMaintenancePolicy - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.ListUsableSubnetworks - deadline: 20.0 - - selector: google.container.v1beta1.ClusterManager.ListLocations - deadline: 20.0 - -authentication: - rules: - - selector: '*' - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform diff --git a/google/container/v1beta1/cluster_service.proto b/google/container/v1beta1/cluster_service.proto index 37918d7c..be882ad4 100644 --- a/google/container/v1beta1/cluster_service.proto +++ b/google/container/v1beta1/cluster_service.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,9 +18,10 @@ syntax = "proto3"; package google.container.v1beta1; import "google/api/annotations.proto"; -import "google/iam/v1/iam_policy.proto"; -import "google/iam/v1/policy.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.Container.V1Beta1"; option go_package = "google.golang.org/genproto/googleapis/container/v1beta1;container"; @@ -29,9 +30,11 @@ option java_outer_classname = "ClusterServiceProto"; option java_package = "com.google.container.v1beta1"; option php_namespace = "Google\\Cloud\\Container\\V1beta1"; - // Google Kubernetes Engine Cluster Manager v1beta1 service ClusterManager { + option (google.api.default_host) = "container.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + // Lists all clusters owned by a project in either the specified zone or all // zones. rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { @@ -41,6 +44,7 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters" } }; + option (google.api.method_signature) = "project_id,zone"; } // Gets the details for a specific cluster. @@ -51,6 +55,7 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; } // Creates a cluster, consisting of the specified number and type of Google @@ -60,12 +65,12 @@ service ClusterManager { // [default network](/compute/docs/networks-and-firewalls#networks). // // One firewall is added for the cluster. After cluster creation, - // the cluster creates routes for each node to allow the containers + // the Kubelet creates routes for each node to allow the containers // on that node to communicate with all other instances in the // cluster. // // Finally, an entry is added to the project's global metadata indicating - // which CIDR range is being used by the cluster. + // which CIDR range the cluster is using. rpc CreateCluster(CreateClusterRequest) returns (Operation) { option (google.api.http) = { post: "/v1beta1/{parent=projects/*/locations/*}/clusters" @@ -75,6 +80,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster"; } // Updates the settings for a specific cluster. @@ -87,6 +93,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,update"; } // Updates the version and/or image type of a specific node pool. @@ -123,6 +130,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,logging_service"; } // Sets the monitoring service for a specific cluster. @@ -135,6 +143,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,monitoring_service"; } // Sets the addons for a specific cluster. @@ -147,6 +156,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,addons_config"; } // Sets the locations for a specific cluster. @@ -159,6 +169,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,locations"; } // Updates the master for a specific cluster. @@ -171,12 +182,12 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,master_version"; } - // Used to set master auth materials. Currently supports :- - // Changing the admin password for a specific cluster. - // This can be either via password generation or explicitly set. - // Modify basic_auth.csv and reset the K8S API server. + // Sets master auth materials. Currently supports changing the admin password + // or a specific cluster, either via password generation or explicitly setting + // the password. rpc SetMasterAuth(SetMasterAuthRequest) returns (Operation) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setMasterAuth" @@ -194,9 +205,9 @@ service ClusterManager { // Firewalls and routes that were configured during cluster creation // are also deleted. // - // Other Google Compute Engine resources that might be in use by the cluster - // (e.g. load balancer resources) will not be deleted if they weren't present - // at the initial create time. + // Other Google Compute Engine resources that might be in use by the cluster, + // such as load balancer resources, are not deleted if they weren't present + // when the cluster was initially created. rpc DeleteCluster(DeleteClusterRequest) returns (Operation) { option (google.api.http) = { delete: "/v1beta1/{name=projects/*/locations/*/clusters/*}" @@ -204,9 +215,10 @@ service ClusterManager { delete: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; } - // Lists all operations in a project in a specific zone or all zones. + // Lists all operations in a project in the specified zone or all zones. rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) { option (google.api.http) = { get: "/v1beta1/{parent=projects/*/locations/*}/operations" @@ -214,6 +226,7 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/operations" } }; + option (google.api.method_signature) = "project_id,zone"; } // Gets the specified operation. @@ -224,6 +237,7 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/operations/{operation_id}" } }; + option (google.api.method_signature) = "project_id,zone,operation_id"; } // Cancels the specified operation. @@ -236,9 +250,10 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,operation_id"; } - // Returns configuration info about the Kubernetes Engine service. + // Returns configuration info about the Google Kubernetes Engine service. rpc GetServerConfig(GetServerConfigRequest) returns (ServerConfig) { option (google.api.http) = { get: "/v1beta1/{name=projects/*/locations/*}/serverConfig" @@ -246,6 +261,7 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/serverconfig" } }; + option (google.api.method_signature) = "project_id,zone"; } // Lists the node pools for a cluster. @@ -256,9 +272,10 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; } - // Retrieves the node pool requested. + // Retrieves the requested node pool. rpc GetNodePool(GetNodePoolRequest) returns (NodePool) { option (google.api.http) = { get: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}" @@ -266,6 +283,7 @@ service ClusterManager { get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; } // Creates a node pool for a cluster. @@ -278,6 +296,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool"; } // Deletes a node pool from a cluster. @@ -288,10 +307,11 @@ service ClusterManager { delete: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; } - // Roll back the previously Aborted or Failed NodePool upgrade. - // This will be an no-op if the last upgrade successfully completed. + // Rolls back a previously Aborted or Failed NodePool upgrade. + // This makes no changes if the last upgrade successfully completed. rpc RollbackNodePoolUpgrade(RollbackNodePoolUpgradeRequest) returns (Operation) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}:rollback" @@ -301,6 +321,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id"; } // Sets the NodeManagement options for a node pool. @@ -313,6 +334,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,node_pool_id,management"; } // Sets labels on a cluster. @@ -325,6 +347,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,resource_labels,label_fingerprint"; } // Enables or disables the ABAC authorization mechanism on a cluster. @@ -337,9 +360,10 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,enabled"; } - // Start master IP rotation. + // Starts master IP rotation. rpc StartIPRotation(StartIPRotationRequest) returns (Operation) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:startIpRotation" @@ -349,6 +373,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; } // Completes master IP rotation. @@ -361,6 +386,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id"; } // Sets the size for a specific node pool. @@ -375,7 +401,7 @@ service ClusterManager { }; } - // Enables/Disables Network Policy for a cluster. + // Enables or disables Network Policy for a cluster. rpc SetNetworkPolicy(SetNetworkPolicyRequest) returns (Operation) { option (google.api.http) = { post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setNetworkPolicy" @@ -385,6 +411,7 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,network_policy"; } // Sets the maintenance policy for a cluster. @@ -397,20 +424,23 @@ service ClusterManager { body: "*" } }; + option (google.api.method_signature) = "project_id,zone,cluster_id,maintenance_policy"; } - // Lists subnetworks that are usable for creating clusters in a project. + // Lists subnetworks that can be used for creating clusters in a project. rpc ListUsableSubnetworks(ListUsableSubnetworksRequest) returns (ListUsableSubnetworksResponse) { option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/aggregated/usableSubnetworks" }; + option (google.api.method_signature) = "parent"; } - // Used to fetch locations that offer GKE. + // Fetches locations that offer Google Kubernetes Engine. rpc ListLocations(ListLocationsRequest) returns (ListLocationsResponse) { option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/locations" }; + option (google.api.method_signature) = "parent"; } } @@ -460,14 +490,22 @@ message NodeConfig { // "cluster-name" // "cluster-uid" // "configure-sh" + // "containerd-configure-sh" // "enable-oslogin" // "gci-ensure-gke-docker" + // "gci-metrics-enabled" // "gci-update-strategy" // "instance-template" // "kube-env" // "startup-script" // "user-data" - // + // "disable-address-manager" + // "windows-startup-script-ps1" + // "common-psm1" + // "k8s-node-setup-psm1" + // "install-ssh-psm1" + // "user-profile-psm1" + // "serial-port-logging-enable" // Values are free-form strings, and only have meaning as interpreted by // the image running in the instance. The only restriction placed on them is // that each value's size must be less than or equal to 32 KB. @@ -491,9 +529,9 @@ message NodeConfig { // The number of local SSD disks to be attached to the node. // - // The limit for this value is dependant upon the maximum number of + // The limit for this value is dependent upon the maximum number of // disks available on a machine per zone. See: - // https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits + // https://cloud.google.com/compute/docs/disks/local-ssd // for more information. int32 local_ssd_count = 7; @@ -525,6 +563,7 @@ message NodeConfig { // minCpuPlatform: "Intel Sandy Bridge". For more // information, read [how to specify min CPU // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) + // To unset the min cpu platform field pass "automatic" as field value. string min_cpu_platform = 13; // The workload metadata configuration for this node. @@ -535,6 +574,27 @@ message NodeConfig { // For more information, including usage and the valid values, see: // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ repeated NodeTaint taints = 15; + + // Shielded Instance options. + ShieldedInstanceConfig shielded_instance_config = 20; +} + +// A set of Shielded Instance options. +message ShieldedInstanceConfig { + // Defines whether the instance has Secure Boot enabled. + // + // Secure Boot helps ensure that the system only runs authentic software by + // verifying the digital signature of all boot components, and halting the + // boot process if signature verification fails. + bool enable_secure_boot = 1; + + // Defines whether the instance has integrity monitoring enabled. + // + // Enables monitoring and attestation of the boot integrity of the instance. + // The attestation is performed against the integrity policy baseline. This + // baseline is initially derived from the implicitly trusted boot image when + // the instance is created. + bool enable_integrity_monitoring = 2; } // Kubernetes taint is comprised of three fields: key, value, and effect. Effect @@ -620,7 +680,11 @@ message AddonsConfig { HorizontalPodAutoscaling horizontal_pod_autoscaling = 2; // Configuration for the Kubernetes Dashboard. - KubernetesDashboard kubernetes_dashboard = 3; + // This addon is deprecated, and will be disabled in 1.15. It is recommended + // to use the Cloud Console to manage and monitor your Kubernetes clusters, + // workloads and applications. For more information, see: + // https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards + KubernetesDashboard kubernetes_dashboard = 3 [deprecated = true]; // Configuration for NetworkPolicy. This only tracks whether the addon // is enabled or not on the Master, it does not track whether network policy @@ -906,6 +970,17 @@ message PodSecurityPolicyConfig { bool enabled = 1; } +// Configuration for returning group information from authenticators. +message AuthenticatorGroupsConfig { + // Whether this cluster should return group membership lookups + // during authentication using a group of security groups. + bool enabled = 1; + + // The name of the security group-of-groups to be used. Only relevant + // if enabled = true. + string security_group = 2; +} + // A Google Kubernetes Engine cluster. message Cluster { // The current status of the cluster. @@ -938,7 +1013,8 @@ message Cluster { } // The name of this cluster. The name must be unique within this project - // and zone, and can be up to 40 characters with the following restrictions: + // and location (e.g. zone or region), and can be up to 40 characters with + // the following restrictions: // // * Lowercase letters, numbers, and hyphens only. // * Must start with a letter. @@ -956,19 +1032,22 @@ message Cluster { // "node_pool" object, since this configuration (along with the // "node_config") will be used to create a "NodePool" object with an // auto-generated name. Do not use this and a node_pool at the same time. - int32 initial_node_count = 3; + // + // This field is deprecated, use node_pool.initial_node_count instead. + int32 initial_node_count = 3 [deprecated = true]; // Parameters used in creating the cluster's nodes. - // See `nodeConfig` for the description of its properties. // For requests, this field should only be used in lieu of a // "node_pool" object, since this configuration (along with the // "initial_node_count") will be used to create a "NodePool" object with an // auto-generated name. Do not use this and a node_pool at the same time. // For responses, this field will be populated with the node configuration of - // the first node pool. + // the first node pool. (For configuration of each node pool, see + // `node_pool.config`) // // If unspecified, the defaults are used. - NodeConfig node_config = 4; + // This field is deprecated, use node_pool.config instead. + NodeConfig node_config = 4 [deprecated = true]; // The authentication information for accessing the master endpoint. // If unspecified, the defaults are used: @@ -1090,6 +1169,9 @@ message Cluster { // disabled when this config unspecified. ResourceUsageExportConfig resource_usage_export_config = 33; + // Configuration controlling RBAC group membership information. + AuthenticatorGroupsConfig authenticator_groups_config = 34; + // Configuration for private cluster. PrivateClusterConfig private_cluster_config = 37; @@ -1132,7 +1214,7 @@ message Cluster { string current_master_version = 104; // [Output only] Deprecated, use - // [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.zones.clusters.nodePool) + // [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools) // instead. The current version of the node software components. // If they are currently at multiple versions because they're in the process // of being upgraded, this reflects the minimum version of all nodes. @@ -1147,11 +1229,12 @@ message Cluster { // [Output only] Additional information about the current status of this // cluster, if available. - string status_message = 108; + string status_message = 108 [deprecated = true]; // [Output only] The size of the address space on each node for hosting // containers. This is provisioned from within the `container_ipv4_cidr` - // range. + // range. This field will only be set when cluster is in route-based network + // mode. int32 node_ipv4_cidr_size = 109; // [Output only] The IP address range of the Kubernetes services in @@ -1186,6 +1269,9 @@ message Cluster { // notation (e.g. `1.2.3.4/29`). string tpu_ipv4_cidr_block = 116; + // Configuration of etcd encryption. + DatabaseEncryption database_encryption = 38; + // Which conditions caused the current cluster state. repeated StatusCondition conditions = 118; } @@ -1211,7 +1297,7 @@ message ClusterUpdate { // Currently available options: // // * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring - // service with Kubernetes-native resource model in Stackdriver + // service with Kubernetes-native resource model // * "monitoring.googleapis.com" - the Google Cloud Monitoring service // * "none" - no metrics will be exported from the cluster string desired_monitoring_service = 5; @@ -1220,9 +1306,9 @@ message ClusterUpdate { AddonsConfig desired_addons_config = 6; // The node pool to be upgraded. This field is mandatory if - // "desired_node_version", "desired_image_family" or - // "desired_node_pool_autoscaling" is specified and there is more than one - // node pool on the cluster. + // "desired_node_version", "desired_image_family", + // "desired_node_pool_autoscaling", or "desired_workload_metadata_config" + // is specified and there is more than one node pool on the cluster. string desired_node_pool_id = 7; // The desired image type for the node pool. @@ -1260,7 +1346,7 @@ message ClusterUpdate { // Currently available options: // // * "logging.googleapis.com/kubernetes" - the Google Cloud Logging - // service with Kubernetes-native resource model in Stackdriver + // service with Kubernetes-native resource model // * "logging.googleapis.com" - the Google Cloud Logging service // * "none" - no logs will be exported from the cluster string desired_logging_service = 19; @@ -1271,6 +1357,9 @@ message ClusterUpdate { // Cluster-level Vertical Pod Autoscaling configuration. VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22; + // The desired config of Intra-node visibility. + IntraNodeVisibilityConfig desired_intra_node_visibility_config = 26; + // The Kubernetes version to change the master to. The only valid value is the // latest supported version. // @@ -1379,7 +1468,7 @@ message Operation { string detail = 8; // If an error has occurred, a textual description of the error. - string status_message = 5; + string status_message = 5 [deprecated = true]; // Server-defined URL for the resource. string self_link = 6; @@ -1454,20 +1543,26 @@ message OperationProgress { // CreateClusterRequest creates a cluster. message CreateClusterRequest { - // 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 parent 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 parent field. - string zone = 2 [deprecated = true]; + string zone = 2 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; - // A [cluster + // Required. A [cluster // resource](/container-engine/reference/rest/v1beta1/projects.zones.clusters) - Cluster cluster = 3; + Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; // The parent (project and location) where the cluster will be created. // Specified in the format 'projects/*/locations/*'. @@ -1476,20 +1571,29 @@ message CreateClusterRequest { // GetClusterRequest gets the settings of a cluster. message GetClusterRequest { - // 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 retrieve. + // Required. Deprecated. The name of the cluster to retrieve. // 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) of the cluster to retrieve. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1498,23 +1602,32 @@ message GetClusterRequest { // UpdateClusterRequest updates the settings of a cluster. message UpdateClusterRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 + ]; - // A description of the update. - ClusterUpdate update = 4; + // Required. A description of the update. + ClusterUpdate update = 4 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to update. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1523,26 +1636,38 @@ message UpdateClusterRequest { // SetNodePoolVersionRequest updates the version of a node pool. message UpdateNodePoolRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 upgrade. + // Required. Deprecated. The name of the node pool to upgrade. // 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 Kubernetes version to change the nodes to (typically an + // Required. The Kubernetes version to change the nodes to (typically an // upgrade). // // Users may specify either explicit versions offered by Kubernetes Engine or @@ -1553,10 +1678,13 @@ message UpdateNodePoolRequest { // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version // - "1.X.Y-gke.N": picks an explicit Kubernetes version // - "-": picks the Kubernetes master version - string node_version = 5; + string node_version = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. The desired image type for the node pool. + string image_type = 6 [(google.api.field_behavior) = REQUIRED]; // The desired image type for the node pool. - string image_type = 6; + WorkloadMetadataConfig workload_metadata_config = 14; // The name (project, location, cluster, node pool) of the node pool to // update. Specified in the format @@ -1566,27 +1694,39 @@ message UpdateNodePoolRequest { // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. message SetNodePoolAutoscalingRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 upgrade. + // Required. Deprecated. The name of the node pool to upgrade. // 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 + ]; - // Autoscaling configuration for the node pool. - NodePoolAutoscaling autoscaling = 5; + // Required. Autoscaling configuration for the node pool. + NodePoolAutoscaling autoscaling = 5 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster, node pool) of the node pool to set // autoscaler settings. Specified in the format @@ -1596,27 +1736,33 @@ message SetNodePoolAutoscalingRequest { // SetLoggingServiceRequest sets the logging service of a cluster. message SetLoggingServiceRequest { - // 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; + string zone = 2 [(google.api.field_behavior) = REQUIRED]; - // Deprecated. The name of the cluster to upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 logging service the cluster should use to write metrics. + // Required. The logging service the cluster should use to write metrics. // Currently available options: // // * "logging.googleapis.com" - the Google Cloud Logging service // * "none" - no metrics will be exported from the cluster - string logging_service = 4; + string logging_service = 4 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to set logging. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1625,27 +1771,36 @@ message SetLoggingServiceRequest { // SetMonitoringServiceRequest sets the monitoring service of a cluster. message SetMonitoringServiceRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 monitoring service the cluster should use to write metrics. + // Required. The monitoring service the cluster should use to write metrics. // Currently available options: // // * "monitoring.googleapis.com" - the Google Cloud Monitoring service // * "none" - no metrics will be exported from the cluster - string monitoring_service = 4; + string monitoring_service = 4 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to set monitoring. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1654,24 +1809,33 @@ message SetMonitoringServiceRequest { // SetAddonsRequest sets the addons associated with the cluster. message SetAddonsConfigRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 desired configurations for the various addons available to run in the + // Required. The desired configurations for the various addons available to run in the // cluster. - AddonsConfig addons_config = 4; + AddonsConfig addons_config = 4 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to set addons. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1680,29 +1844,38 @@ message SetAddonsConfigRequest { // SetLocationsRequest sets the locations of the cluster. message SetLocationsRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 desired list of Google Compute Engine + // Required. The desired list of Google Compute Engine // [zones](/compute/docs/zones#available) in which the cluster's nodes // should be located. Changing the locations a cluster is in will result // in nodes being either created or removed from the cluster, depending on // whether locations are being added or removed. // // This list must always include the cluster's primary zone. - repeated string locations = 4; + repeated string locations = 4 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to set locations. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1711,22 +1884,31 @@ message SetLocationsRequest { // UpdateMasterRequest updates the master of the cluster. message UpdateMasterRequest { - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 Kubernetes version to change the master to. + // Required. The Kubernetes version to change the master to. // // Users may specify either explicit versions offered by // Kubernetes Engine or version aliases, which have the following behavior: @@ -1736,7 +1918,7 @@ message UpdateMasterRequest { // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version // - "1.X.Y-gke.N": picks an explicit Kubernetes version // - "-": picks the default Kubernetes version - string master_version = 4; + string master_version = 4 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to update. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1763,26 +1945,35 @@ message SetMasterAuthRequest { SET_USERNAME = 3; } - // 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 upgrade. + // Required. Deprecated. The name of the cluster to upgrade. // 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 exact form of action to be taken on the master auth. - Action action = 4; + // Required. The exact form of action to be taken on the master auth. + Action action = 4 [(google.api.field_behavior) = REQUIRED]; - // A description of the update. - MasterAuth update = 5; + // Required. A description of the update. + MasterAuth update = 5 [(google.api.field_behavior) = REQUIRED]; // The name (project, location, cluster) of the cluster to set auth. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1791,20 +1982,29 @@ message SetMasterAuthRequest { // DeleteClusterRequest deletes a cluster. message DeleteClusterRequest { - // 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 delete. + // Required. Deprecated. The name of the cluster to delete. // 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) of the cluster to delete. // Specified in the format 'projects/*/locations/*/clusters/*'. @@ -1813,16 +2013,22 @@ message DeleteClusterRequest { // ListClustersRequest lists clusters. message ListClustersRequest { - // 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 parent 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, or "-" for all zones. // This field has been deprecated and replaced by the parent field. - string zone = 2 [deprecated = true]; + string zone = 2 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; // The parent (project and location) where the clusters will be listed. // Specified in the format 'projects/*/locations/*'. @@ -1843,20 +2049,29 @@ message ListClustersResponse { // GetOperationRequest gets a single operation. message GetOperationRequest { - // 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 server-assigned `name` of the operation. + // Required. Deprecated. The server-assigned `name` of the operation. // This field has been deprecated and replaced by the name field. - string operation_id = 3 [deprecated = true]; + string operation_id = 3 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; // The name (project, location, operation id) of the operation to get. // Specified in the format 'projects/*/locations/*/operations/*'. @@ -1865,15 +2080,21 @@ message GetOperationRequest { // ListOperationsRequest lists operations. message ListOperationsRequest { - // 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 parent 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) to return operations for, or `-` for // all zones. This field has been deprecated and replaced by the parent field. - string zone = 2 [deprecated = true]; + string zone = 2 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; // The parent (project and location) where the operations will be listed. // Specified in the format 'projects/*/locations/*'. @@ -1883,19 +2104,28 @@ message ListOperationsRequest { // CancelOperationRequest cancels a single operation. message CancelOperationRequest { - // 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 operation 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 server-assigned `name` of the operation. + // Required. Deprecated. The server-assigned `name` of the operation. // This field has been deprecated and replaced by the name field. - string operation_id = 3 [deprecated = true]; + string operation_id = 3 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; // The name (project, location, operation id) of the operation to cancel. // Specified in the format 'projects/*/locations/*/operations/*'. @@ -1914,18 +2144,24 @@ message ListOperationsResponse { // Gets the current Kubernetes Engine service configuration. message GetServerConfigRequest { - // 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) to return operations for. // 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 + ]; - // The name (project and location) of the server config to get - // Specified in the format 'projects/*/locations/*'. + // The name (project and location) of the server config to get, + // specified in the format 'projects/*/locations/*'. string name = 4; } @@ -1949,23 +2185,32 @@ message ServerConfig { // CreateNodePoolRequest creates a node pool for a cluster. message CreateNodePoolRequest { - // 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 parent 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 parent 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 parent field. - string cluster_id = 3 [deprecated = true]; + string cluster_id = 3 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; - // The node pool to create. - NodePool node_pool = 4; + // Required. The node pool to create. + NodePool node_pool = 4 [(google.api.field_behavior) = REQUIRED]; // The parent (project, location, cluster id) where the node pool will be // created. Specified in the format @@ -1975,24 +2220,36 @@ message CreateNodePoolRequest { // DeleteNodePoolRequest deletes a node pool for a cluster. message DeleteNodePoolRequest { - // 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 + ]; - // Deprecated. The name of the node pool to delete. + // Required. Deprecated. The name of the node pool to delete. // 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 pool to // delete. Specified in the format @@ -2002,20 +2259,29 @@ message DeleteNodePoolRequest { // ListNodePoolsRequest lists the node pool(s) for a cluster. message ListNodePoolsRequest { - // 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 parent 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 parent 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 parent field. - string cluster_id = 3 [deprecated = true]; + string cluster_id = 3 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; // The parent (project, location, cluster id) where the node pools will be // listed. Specified in the format 'projects/*/locations/*/clusters/*'. @@ -2024,24 +2290,36 @@ message ListNodePoolsRequest { // GetNodePoolRequest retrieves a node pool for a cluster. message GetNodePoolRequest { - // 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 + ]; - // Deprecated. The name of the node pool. + // Required. Deprecated. The name of the node pool. // 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 pool to // get. Specified in the format @@ -2115,7 +2393,7 @@ message NodePool { // [Output only] Additional information about the current status of this // node pool instance, if available. - string status_message = 104; + string status_message = 104 [deprecated = true]; // Autoscaler configuration for this NodePool. Autoscaler is enabled // only if a valid configuration is present. @@ -2130,6 +2408,9 @@ message NodePool { // Which conditions caused the current node pool state. repeated StatusCondition conditions = 105; + + // [Output only] The pod CIDR block size per node in this node pool. + int32 pod_ipv4_cidr_size = 7; } // NodeManagement defines the set of node management services turned on for the @@ -2162,6 +2443,13 @@ message AutoUpgradeOptions { message MaintenancePolicy { // Specifies the maintenance window in which maintenance may be performed. MaintenanceWindow window = 1; + + // A hash identifying the version of this policy, so that updates to fields of + // the policy won't accidentally undo intermediate changes (and so that users + // of the API unaware of some fields won't accidentally remove other fields). + // Make a 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. @@ -2171,13 +2459,67 @@ 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. + map maintenance_exclusions = 4; +} + +// Represents an arbitrary window of time. +message TimeWindow { + // The time that the window first starts. + google.protobuf.Timestamp start_time = 1; + + // The time that the window ends. The end time should take place after the + // start time. + google.protobuf.Timestamp end_time = 2; +} + +// Represents an arbitrary window of time that recurs. +message RecurringTimeWindow { + // The window of the first recurrence. + TimeWindow window = 1; + + // An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how + // this window reccurs. They go on for the span of time between the start and + // end time. + // + // For example, to have something repeat every weekday, you'd use: + // FREQ=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. - // It must be in format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. + // It must be in 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 @@ -2188,27 +2530,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 @@ -2219,27 +2573,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. @@ -2251,24 +2617,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. @@ -2293,6 +2671,26 @@ message ClusterAutoscaling { // 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. @@ -2330,31 +2728,40 @@ message NodePoolAutoscaling { // 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. - map resource_labels = 4; + // Required. The labels to set for that cluster. + map resource_labels = 4 [(google.api.field_behavior) = REQUIRED]; - // The fingerprint of the previous set of labels for this resource, + // Required. The fingerprint of the previous set of labels for this resource, // used to detect conflicts. The fingerprint is initially generated by // Kubernetes Engine and changes after every request to modify or update // labels. You must always provide an up-to-date fingerprint hash when // updating or changing labels. Make a get() 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/*'. @@ -2364,23 +2771,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/*'. @@ -2390,20 +2806,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/*'. @@ -2415,20 +2840,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/*'. @@ -2441,7 +2875,7 @@ 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; } @@ -2468,30 +2902,39 @@ message WorkloadMetadataConfig { EXPOSE = 2; } - // NodeMetadata is the configuration for how to expose the node metadata to - // the workload running on the node. + // NodeMetadata is the configuration for how to expose metadata to the + // workloads running on the node. NodeMetadata node_metadata = 1; } // 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/*'. @@ -2500,21 +2943,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. @@ -2524,9 +2967,9 @@ message SetMaintenancePolicyRequest { // ListLocationsRequest is used to request the locations that offer GKE. message ListLocationsRequest { - // Contains the name of the resource requested. + // Required. Contains the name of the resource requested. // Specified in the format 'projects/*'. - string parent = 1; + string parent = 1 [(google.api.field_behavior) = REQUIRED]; } // ListLocationsResponse returns the list of all GKE locations and their @@ -2588,8 +3031,12 @@ message StatusCondition { GCE_QUOTA_EXCEEDED = 3; // Cluster state was manually changed by an SRE due to a system logic error. - // More codes TBA 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 @@ -2611,14 +3058,18 @@ 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; } // ListUsableSubnetworksRequest requests the list of usable subnetworks. // available to a user for creating clusters. message ListUsableSubnetworksRequest { - // The parent project where subnetworks are usable. + // Required. The parent project where subnetworks are usable. // Specified in the format 'projects/*'. - string parent = 1; + string parent = 1 [(google.api.field_behavior) = REQUIRED]; // Filtering currently only supports equality on the networkProjectId and must // be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId` @@ -2717,12 +3168,42 @@ message VerticalPodAutoscaling { bool enabled = 1; } +// 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 Google Compute Engine 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; +} + // Configuration for exporting cluster resource usages. message ResourceUsageExportConfig { // Parameters for using BigQuery as the destination of resource usage export. @@ -2731,10 +3212,21 @@ message ResourceUsageExportConfig { 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; } diff --git a/google/container/v1beta1/container_gapic.legacy.yaml b/google/container/v1beta1/container_gapic.legacy.yaml new file mode 100644 index 00000000..f3e63dd0 --- /dev/null +++ b/google/container/v1beta1/container_gapic.legacy.yaml @@ -0,0 +1,551 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 1.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.container.v1beta1 + python: + package_name: google.cloud.container_v1beta1.gapic + go: + package_name: cloud.google.com/go/container/apiv1beta1 + csharp: + package_name: Google.Cloud.Container.V1beta1 + ruby: + package_name: Google::Cloud::Container::V1beta1 + release_level: BETA + php: + package_name: Google\Cloud\Container\V1beta1 + nodejs: + package_name: container.v1beta1 + domain_layer_location: google-cloud +# A list of API interface configurations. +interfaces: +- name: google.container.v1beta1.ClusterManager + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: [] + # Definition for smoke test + smoke_test: + method: ListClusters + init_fields: + - project_id=$PROJECT_ID + - zone="us-central1-a" + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - UNAVAILABLE + - DEADLINE_EXCEEDED + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # name - The simple name of the method. + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce + # method overloads which allow a client to directly pass request message + # fields as method parameters. This information may or may not be used, + # depending on the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request + # message. + # required_fields - Fields that are always required for a request to be + # valid. + # + # resource_name_treatment - An enum that specifies how to treat the + # resource name formats defined in the field_name_patterns + # and response_field_name_patterns fields. + # UNSET: default value + # NONE: the collection configs will not be used by the generated code. + # VALIDATE: string fields will be validated by the client against the + # specified resource name formats. + # STATIC_TYPES: the client will use generated types for resource names. + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a + # paging list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It + # defines which fields match the paging pattern in the request. The + # request consists of a page_size_field and a token_field. The + # page_size_field is the name of the optional field specifying the + # maximum number of elements to be returned in the response. The + # token_field is the name of the field in the request containing the + # page token. + # The response specifies response information of the list method. It + # defines which fields match the paging pattern in the response. The + # response consists of a token_field and a resources_field. The + # token_field is the name of the field in the response containing the + # next page token. The resources_field is the name of the field in the + # response containing the list of resources belonging to the page. + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: ListClusters + flattening: + groups: + - parameters: + - project_id + - zone + required_fields: + - project_id + - zone + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: GetCluster + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + required_fields: + - project_id + - zone + - cluster_id + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: CreateCluster + flattening: + groups: + - parameters: + - project_id + - zone + - cluster + required_fields: + - project_id + - zone + - cluster + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: UpdateCluster + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - update + required_fields: + - project_id + - zone + - cluster_id + - update + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: UpdateNodePool + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + - node_version + - image_type + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetNodePoolAutoscaling + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + - autoscaling + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetLoggingService + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - logging_service + required_fields: + - project_id + - zone + - cluster_id + - logging_service + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetMonitoringService + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - monitoring_service + required_fields: + - project_id + - zone + - cluster_id + - monitoring_service + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetAddonsConfig + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - addons_config + required_fields: + - project_id + - zone + - cluster_id + - addons_config + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetLocations + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - locations + required_fields: + - project_id + - zone + - cluster_id + - locations + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: UpdateMaster + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - master_version + required_fields: + - project_id + - zone + - cluster_id + - master_version + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetMasterAuth + required_fields: + - project_id + - zone + - cluster_id + - action + - update + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: DeleteCluster + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + required_fields: + - project_id + - zone + - cluster_id + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: ListOperations + flattening: + groups: + - parameters: + - project_id + - zone + required_fields: + - project_id + - zone + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: GetOperation + flattening: + groups: + - parameters: + - project_id + - zone + - operation_id + required_fields: + - project_id + - zone + - operation_id + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: CancelOperation + flattening: + groups: + - parameters: + - project_id + - zone + - operation_id + required_fields: + - project_id + - zone + - operation_id + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: GetServerConfig + flattening: + groups: + - parameters: + - project_id + - zone + required_fields: + - project_id + - zone + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: ListNodePools + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + required_fields: + - project_id + - zone + - cluster_id + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: GetNodePool + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - node_pool_id + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: CreateNodePool + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - node_pool + required_fields: + - project_id + - zone + - cluster_id + - node_pool + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: DeleteNodePool + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - node_pool_id + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: RollbackNodePoolUpgrade + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - node_pool_id + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetNodePoolManagement + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + - management + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetLabels + required_fields: + - project_id + - zone + - cluster_id + - resource_labels + - label_fingerprint + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetLegacyAbac + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - enabled + required_fields: + - project_id + - zone + - cluster_id + - enabled + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: StartIPRotation + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + required_fields: + - project_id + - zone + - cluster_id + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: CompleteIPRotation + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + required_fields: + - project_id + - zone + - cluster_id + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetNodePoolSize + required_fields: + - project_id + - zone + - cluster_id + - node_pool_id + - node_count + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetNetworkPolicy + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - network_policy + required_fields: + - project_id + - zone + - cluster_id + - network_policy + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SetMaintenancePolicy + flattening: + groups: + - parameters: + - project_id + - zone + - cluster_id + - maintenance_policy + required_fields: + - project_id + - zone + - cluster_id + - maintenance_policy + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: ListUsableSubnetworks + flattening: + groups: + - parameters: + - parent + required_fields: + - parent + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: subnetworks + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 + - name: ListLocations + flattening: + groups: + - parameters: + - parent + required_fields: + - parent + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 20000 diff --git a/google/container/v1beta1/container_gapic.yaml b/google/container/v1beta1/container_gapic.yaml index 20dcd151..725f78bc 100644 --- a/google/container/v1beta1/container_gapic.yaml +++ b/google/container/v1beta1/container_gapic.yaml @@ -1,5 +1,5 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 +config_schema_version: 2.0.0 # The settings of generated code in a specific language. language_settings: java: @@ -20,533 +20,9 @@ language_settings: domain_layer_location: google-cloud # A list of API interface configurations. interfaces: - # The fully qualified name of the API interface. - name: google.container.v1beta1.ClusterManager - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: [] - # Definition for smoke test smoke_test: method: ListClusters init_fields: - project_id=$PROJECT_ID - zone="us-central1-a" - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - UNAVAILABLE - - DEADLINE_EXCEEDED - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # name - The simple name of the method. - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce - # method overloads which allow a client to directly pass request message - # fields as method parameters. This information may or may not be used, - # depending on the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request - # message. - # required_fields - Fields that are always required for a request to be - # valid. - # - # resource_name_treatment - An enum that specifies how to treat the - # resource name formats defined in the field_name_patterns - # and response_field_name_patterns fields. - # UNSET: default value - # NONE: the collection configs will not be used by the generated code. - # VALIDATE: string fields will be validated by the client against the - # specified resource name formats. - # STATIC_TYPES: the client will use generated types for resource names. - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a - # paging list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It - # defines which fields match the paging pattern in the request. The - # request consists of a page_size_field and a token_field. The - # page_size_field is the name of the optional field specifying the - # maximum number of elements to be returned in the response. The - # token_field is the name of the field in the request containing the - # page token. - # The response specifies response information of the list method. It - # defines which fields match the paging pattern in the response. The - # response consists of a token_field and a resources_field. The - # token_field is the name of the field in the response containing the - # next page token. The resources_field is the name of the field in the - # response containing the list of resources belonging to the page. - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: ListClusters - flattening: - groups: - - parameters: - - project_id - - zone - required_fields: - - project_id - - zone - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: GetCluster - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - required_fields: - - project_id - - zone - - cluster_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: CreateCluster - flattening: - groups: - - parameters: - - project_id - - zone - - cluster - required_fields: - - project_id - - zone - - cluster - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: UpdateCluster - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - update - required_fields: - - project_id - - zone - - cluster_id - - update - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: UpdateNodePool - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - - node_version - - image_type - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetNodePoolAutoscaling - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - - autoscaling - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetLoggingService - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - logging_service - required_fields: - - project_id - - zone - - cluster_id - - logging_service - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetMonitoringService - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - monitoring_service - required_fields: - - project_id - - zone - - cluster_id - - monitoring_service - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetAddonsConfig - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - addons_config - required_fields: - - project_id - - zone - - cluster_id - - addons_config - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetLocations - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - locations - required_fields: - - project_id - - zone - - cluster_id - - locations - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: UpdateMaster - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - master_version - required_fields: - - project_id - - zone - - cluster_id - - master_version - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetMasterAuth - required_fields: - - project_id - - zone - - cluster_id - - action - - update - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: DeleteCluster - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - required_fields: - - project_id - - zone - - cluster_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: ListOperations - flattening: - groups: - - parameters: - - project_id - - zone - required_fields: - - project_id - - zone - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: GetOperation - flattening: - groups: - - parameters: - - project_id - - zone - - operation_id - required_fields: - - project_id - - zone - - operation_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: CancelOperation - flattening: - groups: - - parameters: - - project_id - - zone - - operation_id - required_fields: - - project_id - - zone - - operation_id - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: GetServerConfig - flattening: - groups: - - parameters: - - project_id - - zone - required_fields: - - project_id - - zone - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: ListNodePools - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - required_fields: - - project_id - - zone - - cluster_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: GetNodePool - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - node_pool_id - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: CreateNodePool - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - node_pool - required_fields: - - project_id - - zone - - cluster_id - - node_pool - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: DeleteNodePool - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - node_pool_id - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: RollbackNodePoolUpgrade - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - node_pool_id - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetNodePoolManagement - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - - management - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetLabels - required_fields: - - project_id - - zone - - cluster_id - - resource_labels - - label_fingerprint - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetLegacyAbac - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - enabled - required_fields: - - project_id - - zone - - cluster_id - - enabled - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: StartIPRotation - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - required_fields: - - project_id - - zone - - cluster_id - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: CompleteIPRotation - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - required_fields: - - project_id - - zone - - cluster_id - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetNodePoolSize - required_fields: - - project_id - - zone - - cluster_id - - node_pool_id - - node_count - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetNetworkPolicy - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - network_policy - required_fields: - - project_id - - zone - - cluster_id - - network_policy - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: SetMaintenancePolicy - flattening: - groups: - - parameters: - - project_id - - zone - - cluster_id - - maintenance_policy - required_fields: - - project_id - - zone - - cluster_id - - maintenance_policy - retry_codes_name: non_idempotent - retry_params_name: default - timeout_millis: 20000 - - name: ListUsableSubnetworks - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: subnetworks - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 - - name: ListLocations - flattening: - groups: - - parameters: - - parent - required_fields: - - parent - retry_codes_name: idempotent - retry_params_name: default - timeout_millis: 20000 diff --git a/google/container/v1beta1/container_grpc_service_config.json b/google/container/v1beta1/container_grpc_service_config.json new file mode 100755 index 00000000..38dbefdb --- /dev/null +++ b/google/container/v1beta1/container_grpc_service_config.json @@ -0,0 +1,152 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.container.v1beta1.ClusterManager", + "method": "ListClusters" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "GetCluster" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "DeleteCluster" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "ListOperations" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "GetOperation" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "GetServerConfig" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "ListNodePools" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "GetNodePool" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "DeleteNodePool" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "ListUsableSubnetworks" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "ListLocations" + } + ], + "timeout": "20s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { + "service": "google.container.v1beta1.ClusterManager", + "method": "CreateCluster" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "UpdateCluster" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "UpdateNodePool" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetNodePoolAutoscaling" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetLoggingService" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetMonitoringService" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetAddonsConfig" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetLocations" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "UpdateMaster" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetMasterAuth" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "CancelOperation" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "CreateNodePool" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "RollbackNodePoolUpgrade" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetNodePoolManagement" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetLabels" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetLegacyAbac" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "StartIPRotation" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "CompleteIPRotation" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetNodePoolSize" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetNetworkPolicy" + }, + { + "service": "google.container.v1beta1.ClusterManager", + "method": "SetMaintenancePolicy" + } + ], + "timeout": "45s" + } + ] +} diff --git a/google/container/v1beta1/container_v1beta1.yaml b/google/container/v1beta1/container_v1beta1.yaml new file mode 100644 index 00000000..ca2ecfa0 --- /dev/null +++ b/google/container/v1beta1/container_v1beta1.yaml @@ -0,0 +1,24 @@ +type: google.api.Service +config_version: 3 +name: container.googleapis.com +title: Kubernetes Engine API + +apis: +- name: google.container.v1beta1.ClusterManager + +documentation: + summary: |- + Builds and manages container-based applications, powered by the open source + Kubernetes technology. + +backend: + rules: + - selector: 'google.container.v1beta1.ClusterManager.*' + deadline: 20.0 + +authentication: + rules: + - selector: 'google.container.v1beta1.ClusterManager.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform