diff --git a/protos/google/container/v1/cluster_service.proto b/protos/google/container/v1/cluster_service.proto index 6dc6eec..e7a35f7 100644 --- a/protos/google/container/v1/cluster_service.proto +++ b/protos/google/container/v1/cluster_service.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; @@ -350,6 +351,15 @@ service ClusterManager { option (google.api.method_signature) = "name"; } + // CompleteNodePoolUpgrade will signal an on-going node pool upgrade to + // complete. + rpc CompleteNodePoolUpgrade(CompleteNodePoolUpgradeRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:completeUpgrade" + body: "*" + }; + } + // Rolls back a previously Aborted or Failed NodePool upgrade. // This makes no changes if the last upgrade successfully completed. rpc RollbackNodePoolUpgrade(RollbackNodePoolUpgradeRequest) returns (Operation) { @@ -488,6 +498,8 @@ message LinuxNodeConfig { // // The following parameters are supported. // + // net.core.busy_poll + // net.core.busy_read // net.core.netdev_max_backlog // net.core.rmem_max // net.core.wmem_default @@ -533,9 +545,21 @@ message NodeKubeletConfig { // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". // The value must be a positive duration. string cpu_cfs_quota_period = 3; + + // Set the Pod PID limits. See + // https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits + // + // Controls the maximum number of processes allowed to run in a pod. The value + // must be greater than or equal to 1024 and less than 4194304. + int64 pod_pids_limit = 4; } // Parameters that describe the nodes in a cluster. +// +// GKE Autopilot clusters do not +// recognize parameters in `NodeConfig`. Use +// [AutoprovisioningNodePoolDefaults][google.container.v1.AutoprovisioningNodePoolDefaults] +// instead. message NodeConfig { // The name of a Google Compute Engine [machine // type](https://cloud.google.com/compute/docs/machine-types) @@ -577,6 +601,7 @@ message NodeConfig { // in length. These are reflected as part of a URL in the metadata server. // Additionally, to avoid ambiguity, keys must not conflict with any other // metadata keys for the project or be one of the reserved keys: + // // - "cluster-location" // - "cluster-name" // - "cluster-uid" @@ -707,6 +732,14 @@ message NodeConfig { // Enable or disable gvnic in the node pool. VirtualNIC gvnic = 29; + + // Spot flag for enabling Spot VM, which is a rebrand of + // the existing preemptible flag. + bool spot = 32; + + // Confidential nodes config. + // All the nodes in the node pool will be Confidential VM once enabled. + ConfidentialNodes confidential_nodes = 35; } // Specifies options for controlling advanced machine features. @@ -719,6 +752,21 @@ message AdvancedMachineFeatures { // Parameters for node pool-level network config. message NodeNetworkConfig { + // Configuration of all network bandwidth tiers + message NetworkPerformanceConfig { + // Node network tier + enum Tier { + // Default value + TIER_UNSPECIFIED = 0; + + // Higher bandwidth, actual values based on VM size. + TIER_1 = 1; + } + + // Specifies the total network bandwidth tier for the NodePool. + optional Tier total_egress_bandwidth_tier = 1; + } + // Input only. Whether to create a new range for pod IPs in this node pool. // Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they // are not specified. @@ -759,6 +807,9 @@ message NodeNetworkConfig { // // This field cannot be changed after the node pool has been created. string pod_ipv4_cidr_block = 6; + + // Network bandwidth tier configuration. + optional NetworkPerformanceConfig network_performance_config = 11; } // A set of Shielded Instance options. @@ -865,6 +916,27 @@ message NodeTaint { Effect effect = 3; } +// Collection of Kubernetes [node +// taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration). +message NodeTaints { + // List of node taints. + repeated NodeTaint taints = 1; +} + +// Collection of node-level [Kubernetes +// labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels). +message NodeLabels { + // Map of node label keys and node label values. + map labels = 1; +} + +// Collection of Compute Engine network tags that can be applied to a node's +// underlying VM instance. +message NetworkTags { + // List of network tags. + repeated string tags = 1; +} + // The authentication information for accessing the master endpoint. // Authentication can be done using HTTP basic auth or using client // certificates. @@ -1133,9 +1205,28 @@ message NetworkPolicy { // Configuration for Binary Authorization. message BinaryAuthorization { + // Binary Authorization mode of operation. + enum EvaluationMode { + // Default value + EVALUATION_MODE_UNSPECIFIED = 0; + + // Disable BinaryAuthorization + DISABLED = 1; + + // Enforce Kubernetes admission requests with BinaryAuthorization using the + // project's singleton policy. This is equivalent to setting the + // enabled boolean to true. + PROJECT_SINGLETON_POLICY_ENFORCE = 2; + } + // Enable Binary Authorization for this cluster. If enabled, all container // images will be validated by Binary Authorization. bool enabled = 1; + + // Mode of operation for binauthz policy evaluation. Currently the only + // options are equivalent to enable/disable. If unspecified, defaults to + // DISABLED. + EvaluationMode evaluation_mode = 2; } // Configuration for controlling how IPs are allocated in the cluster. @@ -1473,9 +1564,13 @@ message Cluster { // Notification configuration of the cluster. NotificationConfig notification_config = 49; - // Configuration of Confidential Nodes + // Configuration of Confidential Nodes. + // All the nodes in the cluster will be Confidential VM once enabled. ConfidentialNodes confidential_nodes = 50; + // Configuration for Identity Service component. + IdentityServiceConfig identity_service_config = 54; + // [Output only] Server-defined URL for the resource. string self_link = 100; @@ -1586,6 +1681,20 @@ message Cluster { // Monitoring configuration for the cluster. MonitoringConfig monitoring_config = 133; + + // Node pool configs that apply to all auto-provisioned node pools + // in autopilot clusters and node auto-provisioning enabled clusters. + NodePoolAutoConfig node_pool_auto_config = 136; +} + +// Node pool configs that apply to all auto-provisioned node pools +// in autopilot clusters and node auto-provisioning enabled clusters. +message NodePoolAutoConfig { + // The list of instance tags applied to all nodes. Tags are used to identify + // valid sources or targets for network firewalls and are specified by + // the client during cluster creation. Each tag within the list + // must comply with RFC1035. + NetworkTags network_tags = 1; } // Subset of Nodepool message that has defaults. @@ -1596,7 +1705,7 @@ message NodePoolDefaults { // Subset of NodeConfig message that has defaults. message NodeConfigDefaults { - // GCFS (Google Container File System, a.k.a Riptide) options. + // GCFS (Google Container File System, a.k.a. Riptide) options. GcfsConfig gcfs_config = 1; } @@ -1736,6 +1845,9 @@ message ClusterUpdate { // The desired monitoring configuration. MonitoringConfig desired_monitoring_config = 65; + // The desired Identity Service component configuration. + IdentityServiceConfig desired_identity_service_config = 66; + // ServiceExternalIPsConfig specifies the config for the use of Services with // ExternalIPs field. ServiceExternalIPsConfig desired_service_external_ips_config = 60; @@ -1754,6 +1866,10 @@ message ClusterUpdate { // The desired GCFS config for the cluster GcfsConfig desired_gcfs_config = 109; + + // The desired network tags that apply to all auto-provisioned node pools + // in autopilot clusters and node auto-provisioning enabled clusters. + NetworkTags desired_node_pool_auto_config_network_tags = 110; } // This operation resource represents operations that may have happened or are @@ -1934,7 +2050,7 @@ message OperationProgress { // CreateClusterRequest creates a cluster. message CreateClusterRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the parent field. string project_id = 1 [deprecated = true]; @@ -1956,7 +2072,7 @@ message CreateClusterRequest { // GetClusterRequest gets the settings of a cluster. message GetClusterRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -1978,7 +2094,7 @@ message GetClusterRequest { // UpdateClusterRequest updates the settings of a cluster. message UpdateClusterRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2003,7 +2119,7 @@ message UpdateClusterRequest { // UpdateNodePoolRequests update a node pool's image and/or version. message UpdateNodePoolRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2055,15 +2171,37 @@ message UpdateNodePoolRequest { // Upgrade settings control disruption and speed of the upgrade. NodePool.UpgradeSettings upgrade_settings = 15; + // The desired network tags to be applied to all nodes in the node pool. + // If this field is not present, the tags will not be changed. Otherwise, + // the existing network tags will be *replaced* with the provided tags. + NetworkTags tags = 16; + + // The desired node taints to be applied to all nodes in the node pool. + // If this field is not present, the taints will not be changed. Otherwise, + // the existing node taints will be *replaced* with the provided taints. + NodeTaints taints = 17; + + // The desired node labels to be applied to all nodes in the node pool. + // If this field is not present, the labels will not be changed. Otherwise, + // the existing node labels will be *replaced* with the provided labels. + NodeLabels labels = 18; + // Parameters that can be configured on Linux nodes. LinuxNodeConfig linux_node_config = 19; // Node kubelet configs. NodeKubeletConfig kubelet_config = 20; + // Node network config. + NodeNetworkConfig node_network_config = 21; + // GCFS config. GcfsConfig gcfs_config = 22; + // Confidential nodes config. + // All the nodes in the node pool will be Confidential VM once enabled. + ConfidentialNodes confidential_nodes = 23; + // Enable or disable gvnic on the node pool. VirtualNIC gvnic = 29; } @@ -2071,7 +2209,7 @@ message UpdateNodePoolRequest { // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool. message SetNodePoolAutoscalingRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2101,7 +2239,7 @@ message SetNodePoolAutoscalingRequest { // SetLoggingServiceRequest sets the logging service of a cluster. message SetLoggingServiceRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2136,7 +2274,7 @@ message SetLoggingServiceRequest { // SetMonitoringServiceRequest sets the monitoring service of a cluster. message SetMonitoringServiceRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2171,7 +2309,7 @@ message SetMonitoringServiceRequest { // SetAddonsConfigRequest sets the addons associated with the cluster. message SetAddonsConfigRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2197,7 +2335,7 @@ message SetAddonsConfigRequest { // SetLocationsRequest sets the locations of the cluster. message SetLocationsRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2228,7 +2366,7 @@ message SetLocationsRequest { // UpdateMasterRequest updates the master of the cluster. message UpdateMasterRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2280,7 +2418,7 @@ message SetMasterAuthRequest { } // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2308,7 +2446,7 @@ message SetMasterAuthRequest { // DeleteClusterRequest deletes a cluster. message DeleteClusterRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2330,7 +2468,7 @@ message DeleteClusterRequest { // ListClustersRequest lists clusters. message ListClustersRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the parent field. string project_id = 1 [deprecated = true]; @@ -2360,7 +2498,7 @@ message ListClustersResponse { // GetOperationRequest gets a single operation. message GetOperationRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2382,7 +2520,7 @@ message GetOperationRequest { // ListOperationsRequest lists operations. message ListOperationsRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the parent field. string project_id = 1 [deprecated = true]; @@ -2401,7 +2539,7 @@ message ListOperationsRequest { // CancelOperationRequest cancels a single operation. message CancelOperationRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2433,7 +2571,7 @@ message ListOperationsResponse { // Gets the current Kubernetes Engine service configuration. message GetServerConfigRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2484,7 +2622,7 @@ message ServerConfig { // CreateNodePoolRequest creates a node pool for a cluster. message CreateNodePoolRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the parent field. string project_id = 1 [deprecated = true]; @@ -2501,7 +2639,7 @@ message CreateNodePoolRequest { // 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 + // The parent (project, location, cluster name) where the node pool will be // created. Specified in the format // `projects/*/locations/*/clusters/*`. string parent = 6; @@ -2510,7 +2648,7 @@ message CreateNodePoolRequest { // DeleteNodePoolRequest deletes a node pool for a cluster. message DeleteNodePoolRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2537,7 +2675,7 @@ message DeleteNodePoolRequest { // ListNodePoolsRequest lists the node pool(s) for a cluster. message ListNodePoolsRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the parent field. string project_id = 1 [deprecated = true]; @@ -2551,7 +2689,7 @@ message ListNodePoolsRequest { // This field has been deprecated and replaced by the parent field. string cluster_id = 3 [deprecated = true]; - // The parent (project, location, cluster id) where the node pools will be + // The parent (project, location, cluster name) where the node pools will be // listed. Specified in the format `projects/*/locations/*/clusters/*`. string parent = 5; } @@ -2559,7 +2697,7 @@ message ListNodePoolsRequest { // GetNodePoolRequest retrieves a node pool for a cluster. message GetNodePoolRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2583,6 +2721,35 @@ message GetNodePoolRequest { string name = 6; } +// Settings for blue-green upgrade. +message BlueGreenSettings { + // Standard rollout policy is the default policy for blue-green. + message StandardRolloutPolicy { + // Blue pool size to drain in a batch. + oneof update_batch_size { + // Percentage of the bool pool nodes to drain in a batch. + // The range of this field should be (0.0, 1.0]. + float batch_percentage = 1; + + // Number of blue nodes to drain in a batch. + int32 batch_node_count = 2; + } + + // Soak time after each batch gets drained. Default to zero. + optional google.protobuf.Duration batch_soak_duration = 3; + } + + // The rollout policy controls the general rollout progress of blue-green. + oneof rollout_policy { + // Standard policy for the blue-green upgrade. + StandardRolloutPolicy standard_rollout_policy = 1; + } + + // Time needed after draining entire blue pool. After this period, blue pool + // will be cleaned up. + optional google.protobuf.Duration node_pool_soak_duration = 2; +} + // NodePool contains the name and configuration for a cluster's node pool. // Node pools are a set of nodes (i.e. VM's), with a common configuration and // specification, under the control of the cluster master. They may have a set @@ -2613,6 +2780,29 @@ message NodePool { // simultaneously. It creates 2 additional (upgraded) nodes, then it brings // down 3 old (not yet upgraded) nodes at the same time. This ensures that // there are always at least 4 nodes available. + // + // These upgrade settings configure the upgrade strategy for the node pool. + // Use strategy to switch between the strategies applied to the node pool. + // + // If the strategy is ROLLING, use max_surge and max_unavailable to control + // the level of parallelism and the level of disruption caused by upgrade. + // 1. maxSurge controls the number of additional nodes that can be added to + // the node pool temporarily for the time of the upgrade to increase the + // number of available nodes. + // 2. maxUnavailable controls the number of nodes that can be simultaneously + // unavailable. + // 3. (maxUnavailable + maxSurge) determines the level of parallelism (how + // many nodes are being upgraded at the same time). + // + // If the strategy is BLUE_GREEN, use blue_green_settings to configure the + // blue-green upgrade related settings. + // 1. standard_rollout_policy is the default policy. The policy is used to + // control the way blue pool gets drained. The draining is executed in the + // batch mode. The batch size could be specified as either percentage of the + // node pool size or the number of nodes. batch_soak_duration is the soak + // time after each batch gets drained. + // 2. node_pool_soak_duration is the soak time after all blue nodes are + // drained. After this period, the blue pool nodes will be deleted. message UpgradeSettings { // The maximum number of nodes that can be created beyond the current size // of the node pool during the upgrade process. @@ -2622,6 +2812,69 @@ message NodePool { // the upgrade process. A node is considered available if its status is // Ready. int32 max_unavailable = 2; + + // Update strategy of the node pool. + optional NodePoolUpdateStrategy strategy = 3; + + // Settings for blue-green upgrade strategy. + optional BlueGreenSettings blue_green_settings = 4; + } + + // UpdateInfo contains resource (instance groups, etc), status and other + // intermediate information relevant to a node pool upgrade. + message UpdateInfo { + // Information relevant to blue-green upgrade. + message BlueGreenInfo { + // Phase represents the different stages blue-green upgrade is running in. + enum Phase { + // Unspecified phase. + PHASE_UNSPECIFIED = 0; + + // blue-green upgrade has been initiated. + UPDATE_STARTED = 1; + + // Start creating green pool nodes. + CREATING_GREEN_POOL = 2; + + // Start cordoning blue pool nodes. + CORDONING_BLUE_POOL = 3; + + // Start draining blue pool nodes. + DRAINING_BLUE_POOL = 4; + + // Start soaking time after draining entire blue pool. + NODE_POOL_SOAKING = 5; + + // Start deleting blue nodes. + DELETING_BLUE_POOL = 6; + + // Rollback has been initiated. + ROLLBACK_STARTED = 7; + } + + // Current blue-green upgrade phase. + Phase phase = 1; + + // The resource URLs of the [managed instance groups] + // (/compute/docs/instance-groups/creating-groups-of-managed-instances) + // associated with blue pool. + repeated string blue_instance_group_urls = 2; + + // The resource URLs of the [managed instance groups] + // (/compute/docs/instance-groups/creating-groups-of-managed-instances) + // associated with green pool. + repeated string green_instance_group_urls = 3; + + // Time to start deleting blue pool to complete blue-green upgrade, + // in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + string blue_pool_deletion_start_time = 4; + + // Version of green pool. + string green_pool_version = 5; + } + + // Information of a blue-green upgrade. + BlueGreenInfo blue_green_info = 1; } // The current status of the node pool instance. @@ -2692,6 +2945,8 @@ message NodePool { // [Output only] The resource URLs of the [managed instance // groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) // associated with this node pool. + // During the node pool blue-green upgrade operation, the URLs contain both + // blue and green resources. repeated string instance_group_urls = 102; // [Output only] The status of the nodes in this pool instance. @@ -2721,6 +2976,10 @@ message NodePool { // Upgrade settings control disruption and speed of the upgrade. UpgradeSettings upgrade_settings = 107; + + // Output only. [Output only] Update info contains relevant information during a node + // pool update. + UpdateInfo update_info = 109 [(google.api.field_behavior) = OUTPUT_ONLY]; } // NodeManagement defines the set of node management services turned on for the @@ -2882,7 +3141,7 @@ message DailyMaintenanceWindow { // pool. message SetNodePoolManagementRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2912,7 +3171,7 @@ message SetNodePoolManagementRequest { // SetNodePoolSizeRequest sets the size of a node pool. message SetNodePoolSizeRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2939,12 +3198,21 @@ message SetNodePoolSizeRequest { string name = 7; } +// CompleteNodePoolUpgradeRequest sets the name of target node pool to complete +// upgrade. +message CompleteNodePoolUpgradeRequest { + // The name (project, location, cluster, node pool id) of the node pool to + // complete upgrade. + // Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. + string name = 1; +} + // RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed // 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 - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -2966,6 +3234,10 @@ message RollbackNodePoolUpgradeRequest { // rollback upgrade. // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. string name = 6; + + // Option for rollback to ignore the PodDisruptionBudget. + // Default value is false. + bool respect_pdb = 7; } // ListNodePoolsResponse is the result of ListNodePoolsRequest. @@ -3026,16 +3298,18 @@ message AutoprovisioningNodePoolDefaults { // Specifies the node management options for NAP created node-pools. NodeManagement management = 4; - // Minimum CPU platform to be used for NAP created node pools. + // Deprecated. Minimum CPU platform to be used for NAP created node pools. // The instance may be scheduled on the specified or newer CPU platform. // Applicable values are the friendly names of CPU platforms, such as // minCpuPlatform: Intel Haswell or // 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) + // This field is deprecated, min_cpu_platform should be specified using + // cloud.google.com/requested-min-cpu-platform label selector on the pod. // To unset the min cpu platform field pass "automatic" // as field value. - string min_cpu_platform = 5; + string min_cpu_platform = 5 [deprecated = true]; // Size of the disk attached to each node, specified in GB. // The smallest allowed disk size is 10GB. @@ -3080,6 +3354,20 @@ message ResourceLimit { // NodePoolAutoscaling contains information required by cluster autoscaler to // adjust the size of the node pool to the current cluster usage. message NodePoolAutoscaling { + // Location policy specifies how zones are picked when scaling up the + // nodepool. + enum LocationPolicy { + // Not set. + LOCATION_POLICY_UNSPECIFIED = 0; + + // BALANCED is a best effort policy that aims to balance the sizes of + // different zones. + BALANCED = 1; + + // ANY policy picks zones that have the highest capacity available. + ANY = 2; + } + // Is autoscaling enabled for this node pool. bool enabled = 1; @@ -3093,6 +3381,21 @@ message NodePoolAutoscaling { // Can this node pool be deleted automatically. bool autoprovisioned = 4; + + // Location policy used when scaling up a nodepool. + LocationPolicy location_policy = 5; + + // Minimum number of nodes in the node pool. Must be greater than 1 less than + // total_max_node_count. + // The total_*_node_count fields are mutually exclusive with the *_node_count + // fields. + int32 total_min_node_count = 6; + + // Maximum number of nodes in the node pool. Must be greater than + // total_min_node_count. There has to be enough quota to scale up the cluster. + // The total_*_node_count fields are mutually exclusive with the *_node_count + // fields. + int32 total_max_node_count = 7; } // SetLabelsRequest sets the Google Cloud Platform labels on a Google Container @@ -3100,7 +3403,7 @@ message NodePoolAutoscaling { // resources used by that cluster message SetLabelsRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -3125,7 +3428,7 @@ message SetLabelsRequest { // resource to get the latest fingerprint. string label_fingerprint = 5 [(google.api.field_behavior) = REQUIRED]; - // The name (project, location, cluster id) of the cluster to set labels. + // The name (project, location, cluster name) of the cluster to set labels. // Specified in the format `projects/*/locations/*/clusters/*`. string name = 7; } @@ -3134,7 +3437,7 @@ message SetLabelsRequest { // a cluster. message SetLegacyAbacRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -3151,8 +3454,8 @@ message SetLegacyAbacRequest { // 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/*`. + // The name (project, location, cluster name) of the cluster to set legacy + // abac. Specified in the format `projects/*/locations/*/clusters/*`. string name = 6; } @@ -3160,7 +3463,7 @@ message SetLegacyAbacRequest { // a node upgrade on each node pool to point to the new IP. message StartIPRotationRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -3174,7 +3477,7 @@ message StartIPRotationRequest { // This field has been deprecated and replaced by the name field. string cluster_id = 3 [deprecated = true]; - // The name (project, location, cluster id) of the cluster to start IP + // The name (project, location, cluster name) of the cluster to start IP // rotation. Specified in the format `projects/*/locations/*/clusters/*`. string name = 6; @@ -3185,7 +3488,7 @@ message StartIPRotationRequest { // CompleteIPRotationRequest moves the cluster master back into single-IP mode. message CompleteIPRotationRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -3199,7 +3502,7 @@ message CompleteIPRotationRequest { // This field has been deprecated and replaced by the name field. string cluster_id = 3 [deprecated = true]; - // The name (project, location, cluster id) of the cluster to complete IP + // The name (project, location, cluster name) of the cluster to complete IP // rotation. Specified in the format `projects/*/locations/*/clusters/*`. string name = 7; } @@ -3217,6 +3520,28 @@ message AcceleratorConfig { // NVIDIA [mig user // guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning). string gpu_partition_size = 3; + + // The configuration for GPU sharing options. + optional GPUSharingConfig gpu_sharing_config = 5; +} + +// GPUSharingConfig represents the GPU sharing configuration for Hardware +// Accelerators. +message GPUSharingConfig { + // The type of GPU sharing strategy currently provided. + enum GPUSharingStrategy { + // Default value. + GPU_SHARING_STRATEGY_UNSPECIFIED = 0; + + // GPUs are time-shared between containers. + TIME_SHARING = 1; + } + + // The max number of containers that can share a physical GPU. + int64 max_shared_clients_per_gpu = 1; + + // The type of GPU sharing strategy to enable on the GPU node. + optional GPUSharingStrategy gpu_sharing_strategy = 2; } // WorkloadMetadataConfig defines the metadata configuration to expose to @@ -3247,7 +3572,7 @@ message WorkloadMetadataConfig { // SetNetworkPolicyRequest enables/disables network policy for a cluster. message SetNetworkPolicyRequest { // Deprecated. The Google Developers Console [project ID or project - // number](https://developers.google.com/console/help/new/#projectnumber). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). // This field has been deprecated and replaced by the name field. string project_id = 1 [deprecated = true]; @@ -3264,7 +3589,7 @@ message SetNetworkPolicyRequest { // 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 + // The name (project, location, cluster name) of the cluster to set networking // policy. Specified in the format `projects/*/locations/*/clusters/*`. string name = 6; } @@ -3272,7 +3597,7 @@ message SetNetworkPolicyRequest { // SetMaintenancePolicyRequest sets the maintenance policy for a cluster. message SetMaintenancePolicyRequest { // Required. The Google Developers Console [project ID or project - // number](https://support.google.com/cloud/answer/6158840). + // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). string project_id = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The name of the Google Compute Engine @@ -3287,8 +3612,8 @@ message SetMaintenancePolicyRequest { // clears the existing maintenance policy. MaintenancePolicy maintenance_policy = 4 [(google.api.field_behavior) = REQUIRED]; - // The name (project, location, cluster id) of the cluster to set maintenance - // policy. + // The name (project, location, cluster name) of the cluster to set + // maintenance policy. // Specified in the format `projects/*/locations/*/clusters/*`. string name = 5; } @@ -3422,7 +3747,7 @@ message GetOpenIDConfigResponse { // document returned by getOpenIDConfig. See the OpenID Connect // Discovery 1.0 specification for details. message GetJSONWebKeysRequest { - // The cluster (project, location, cluster id) to get keys for. Specified in + // The cluster (project, location, cluster name) to get keys for. Specified in // the format `projects/*/locations/*/clusters/*`. string parent = 1; } @@ -3558,6 +3883,13 @@ message WorkloadIdentityConfig { string workload_pool = 2; } +// IdentityServiceConfig is configuration for Identity Service which allows +// customers to use external identity providers with the K8S API +message IdentityServiceConfig { + // Whether to enable the Identity Service component + bool enabled = 1; +} + // Configuration for issuance of mTLS keys and certificates to Kubernetes pods. message MeshCertificates { // enable_certificates controls issuance of workload mTLS certificates. @@ -3761,22 +4093,6 @@ enum PrivateIPv6GoogleAccess { PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3; } -// The datapath provider selects the implementation of the Kubernetes networking -// model for service resolution and network policy enforcement. -enum DatapathProvider { - // Default value. - DATAPATH_PROVIDER_UNSPECIFIED = 0; - - // Use the IPTables implementation based on kube-proxy. - LEGACY_DATAPATH = 1; - - // Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE - // Dataplane V2 - // documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) - // for more. - ADVANCED_DATAPATH = 2; -} - // NotificationConfig is the configuration of notifications. message NotificationConfig { // Types of notifications currently supported. Can be used to filter what @@ -3828,8 +4144,7 @@ message NotificationConfig { // ConfidentialNodes is configuration for the confidential nodes feature, which // makes nodes run on confidential VMs. message ConfidentialNodes { - // Whether Confidential Nodes feature is enabled for all nodes in this - // cluster. + // Whether Confidential Nodes feature is enabled. bool enabled = 1; } @@ -3963,6 +4278,10 @@ message LoggingComponentConfig { message MonitoringConfig { // Monitoring components configuration MonitoringComponentConfig component_config = 1; + + // Enable Google Cloud Managed Service for Prometheus + // in the cluster. + ManagedPrometheusConfig managed_prometheus_config = 2; } // MonitoringComponentConfig is cluster monitoring component configuration. @@ -3974,9 +4293,54 @@ message MonitoringComponentConfig { // system components SYSTEM_COMPONENTS = 1; + + // kube-apiserver + APISERVER = 3; + + // kube-scheduler + SCHEDULER = 4; + + // kube-controller-manager + CONTROLLER_MANAGER = 5; } // Select components to collect metrics. An empty set would disable all // monitoring. repeated Component enable_components = 1; } + +// The datapath provider selects the implementation of the Kubernetes networking +// model for service resolution and network policy enforcement. +enum DatapathProvider { + // Default value. + DATAPATH_PROVIDER_UNSPECIFIED = 0; + + // Use the IPTables implementation based on kube-proxy. + LEGACY_DATAPATH = 1; + + // Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE + // Dataplane V2 + // documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) + // for more. + ADVANCED_DATAPATH = 2; +} + +// Strategy used for node pool update. +enum NodePoolUpdateStrategy { + // Default value. + NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED = 0; + + // blue-green upgrade. + BLUE_GREEN = 2; + + // SURGE is the traditional way of upgrade a node pool. + // max_surge and max_unavailable determines the level of upgrade parallelism. + SURGE = 3; +} + +// ManagedPrometheusConfig defines the configuration for +// Google Cloud Managed Service for Prometheus. +message ManagedPrometheusConfig { + // Enable Managed Collection. + bool enabled = 1; +} diff --git a/protos/protos.d.ts b/protos/protos.d.ts index dea8887..d560c03 100644 --- a/protos/protos.d.ts +++ b/protos/protos.d.ts @@ -351,6 +351,20 @@ export namespace google { */ public deleteNodePool(request: google.container.v1.IDeleteNodePoolRequest): Promise; + /** + * Calls CompleteNodePoolUpgrade. + * @param request CompleteNodePoolUpgradeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public completeNodePoolUpgrade(request: google.container.v1.ICompleteNodePoolUpgradeRequest, callback: google.container.v1.ClusterManager.CompleteNodePoolUpgradeCallback): void; + + /** + * Calls CompleteNodePoolUpgrade. + * @param request CompleteNodePoolUpgradeRequest message or plain object + * @returns Promise + */ + public completeNodePoolUpgrade(request: google.container.v1.ICompleteNodePoolUpgradeRequest): Promise; + /** * Calls RollbackNodePoolUpgrade. * @param request RollbackNodePoolUpgradeRequest message or plain object @@ -648,6 +662,13 @@ export namespace google { */ type DeleteNodePoolCallback = (error: (Error|null), response?: google.container.v1.Operation) => void; + /** + * Callback as used by {@link google.container.v1.ClusterManager#completeNodePoolUpgrade}. + * @param error Error, if any + * @param [response] Empty + */ + type CompleteNodePoolUpgradeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + /** * Callback as used by {@link google.container.v1.ClusterManager#rollbackNodePoolUpgrade}. * @param error Error, if any @@ -820,6 +841,9 @@ export namespace google { /** NodeKubeletConfig cpuCfsQuotaPeriod */ cpuCfsQuotaPeriod?: (string|null); + + /** NodeKubeletConfig podPidsLimit */ + podPidsLimit?: (number|Long|string|null); } /** Represents a NodeKubeletConfig. */ @@ -840,6 +864,9 @@ export namespace google { /** NodeKubeletConfig cpuCfsQuotaPeriod. */ public cpuCfsQuotaPeriod: string; + /** NodeKubeletConfig podPidsLimit. */ + public podPidsLimit: (number|Long|string); + /** * Creates a new NodeKubeletConfig instance using the specified properties. * @param [properties] Properties to set @@ -988,6 +1015,12 @@ export namespace google { /** NodeConfig gvnic */ gvnic?: (google.container.v1.IVirtualNIC|null); + + /** NodeConfig spot */ + spot?: (boolean|null); + + /** NodeConfig confidentialNodes */ + confidentialNodes?: (google.container.v1.IConfidentialNodes|null); } /** Represents a NodeConfig. */ @@ -1074,6 +1107,12 @@ export namespace google { /** NodeConfig gvnic. */ public gvnic?: (google.container.v1.IVirtualNIC|null); + /** NodeConfig spot. */ + public spot: boolean; + + /** NodeConfig confidentialNodes. */ + public confidentialNodes?: (google.container.v1.IConfidentialNodes|null); + /** * Creates a new NodeConfig instance using the specified properties. * @param [properties] Properties to set @@ -1249,6 +1288,9 @@ export namespace google { /** NodeNetworkConfig podIpv4CidrBlock */ podIpv4CidrBlock?: (string|null); + + /** NodeNetworkConfig networkPerformanceConfig */ + networkPerformanceConfig?: (google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig|null); } /** Represents a NodeNetworkConfig. */ @@ -1269,6 +1311,12 @@ export namespace google { /** NodeNetworkConfig podIpv4CidrBlock. */ public podIpv4CidrBlock: string; + /** NodeNetworkConfig networkPerformanceConfig. */ + public networkPerformanceConfig?: (google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig|null); + + /** NodeNetworkConfig _networkPerformanceConfig. */ + public _networkPerformanceConfig?: "networkPerformanceConfig"; + /** * Creates a new NodeNetworkConfig instance using the specified properties. * @param [properties] Properties to set @@ -1340,6 +1388,111 @@ export namespace google { public toJSON(): { [k: string]: any }; } + namespace NodeNetworkConfig { + + /** Properties of a NetworkPerformanceConfig. */ + interface INetworkPerformanceConfig { + + /** NetworkPerformanceConfig totalEgressBandwidthTier */ + totalEgressBandwidthTier?: (google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier|keyof typeof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier|null); + } + + /** Represents a NetworkPerformanceConfig. */ + class NetworkPerformanceConfig implements INetworkPerformanceConfig { + + /** + * Constructs a new NetworkPerformanceConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig); + + /** NetworkPerformanceConfig totalEgressBandwidthTier. */ + public totalEgressBandwidthTier?: (google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier|keyof typeof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier|null); + + /** NetworkPerformanceConfig _totalEgressBandwidthTier. */ + public _totalEgressBandwidthTier?: "totalEgressBandwidthTier"; + + /** + * Creates a new NetworkPerformanceConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns NetworkPerformanceConfig instance + */ + public static create(properties?: google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig): google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig; + + /** + * Encodes the specified NetworkPerformanceConfig message. Does not implicitly {@link google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.verify|verify} messages. + * @param message NetworkPerformanceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NetworkPerformanceConfig message, length delimited. Does not implicitly {@link google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.verify|verify} messages. + * @param message NetworkPerformanceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NetworkPerformanceConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NetworkPerformanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig; + + /** + * Decodes a NetworkPerformanceConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NetworkPerformanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig; + + /** + * Verifies a NetworkPerformanceConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NetworkPerformanceConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NetworkPerformanceConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig; + + /** + * Creates a plain object from a NetworkPerformanceConfig message. Also converts values to other types if specified. + * @param message NetworkPerformanceConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NetworkPerformanceConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace NetworkPerformanceConfig { + + /** Tier enum. */ + enum Tier { + TIER_UNSPECIFIED = 0, + TIER_1 = 1 + } + } + } + /** Properties of a ShieldedInstanceConfig. */ interface IShieldedInstanceConfig { @@ -1851,6 +2004,276 @@ export namespace google { } } + /** Properties of a NodeTaints. */ + interface INodeTaints { + + /** NodeTaints taints */ + taints?: (google.container.v1.INodeTaint[]|null); + } + + /** Represents a NodeTaints. */ + class NodeTaints implements INodeTaints { + + /** + * Constructs a new NodeTaints. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.INodeTaints); + + /** NodeTaints taints. */ + public taints: google.container.v1.INodeTaint[]; + + /** + * Creates a new NodeTaints instance using the specified properties. + * @param [properties] Properties to set + * @returns NodeTaints instance + */ + public static create(properties?: google.container.v1.INodeTaints): google.container.v1.NodeTaints; + + /** + * Encodes the specified NodeTaints message. Does not implicitly {@link google.container.v1.NodeTaints.verify|verify} messages. + * @param message NodeTaints message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.INodeTaints, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodeTaints message, length delimited. Does not implicitly {@link google.container.v1.NodeTaints.verify|verify} messages. + * @param message NodeTaints message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.INodeTaints, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodeTaints message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodeTaints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NodeTaints; + + /** + * Decodes a NodeTaints message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodeTaints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NodeTaints; + + /** + * Verifies a NodeTaints message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NodeTaints message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodeTaints + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NodeTaints; + + /** + * Creates a plain object from a NodeTaints message. Also converts values to other types if specified. + * @param message NodeTaints + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NodeTaints, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodeTaints to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NodeLabels. */ + interface INodeLabels { + + /** NodeLabels labels */ + labels?: ({ [k: string]: string }|null); + } + + /** Represents a NodeLabels. */ + class NodeLabels implements INodeLabels { + + /** + * Constructs a new NodeLabels. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.INodeLabels); + + /** NodeLabels labels. */ + public labels: { [k: string]: string }; + + /** + * Creates a new NodeLabels instance using the specified properties. + * @param [properties] Properties to set + * @returns NodeLabels instance + */ + public static create(properties?: google.container.v1.INodeLabels): google.container.v1.NodeLabels; + + /** + * Encodes the specified NodeLabels message. Does not implicitly {@link google.container.v1.NodeLabels.verify|verify} messages. + * @param message NodeLabels message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.INodeLabels, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodeLabels message, length delimited. Does not implicitly {@link google.container.v1.NodeLabels.verify|verify} messages. + * @param message NodeLabels message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.INodeLabels, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodeLabels message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodeLabels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NodeLabels; + + /** + * Decodes a NodeLabels message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodeLabels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NodeLabels; + + /** + * Verifies a NodeLabels message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NodeLabels message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodeLabels + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NodeLabels; + + /** + * Creates a plain object from a NodeLabels message. Also converts values to other types if specified. + * @param message NodeLabels + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NodeLabels, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodeLabels to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NetworkTags. */ + interface INetworkTags { + + /** NetworkTags tags */ + tags?: (string[]|null); + } + + /** Represents a NetworkTags. */ + class NetworkTags implements INetworkTags { + + /** + * Constructs a new NetworkTags. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.INetworkTags); + + /** NetworkTags tags. */ + public tags: string[]; + + /** + * Creates a new NetworkTags instance using the specified properties. + * @param [properties] Properties to set + * @returns NetworkTags instance + */ + public static create(properties?: google.container.v1.INetworkTags): google.container.v1.NetworkTags; + + /** + * Encodes the specified NetworkTags message. Does not implicitly {@link google.container.v1.NetworkTags.verify|verify} messages. + * @param message NetworkTags message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.INetworkTags, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NetworkTags message, length delimited. Does not implicitly {@link google.container.v1.NetworkTags.verify|verify} messages. + * @param message NetworkTags message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.INetworkTags, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NetworkTags message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NetworkTags + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NetworkTags; + + /** + * Decodes a NetworkTags message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NetworkTags + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NetworkTags; + + /** + * Verifies a NetworkTags message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NetworkTags message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NetworkTags + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NetworkTags; + + /** + * Creates a plain object from a NetworkTags message. Also converts values to other types if specified. + * @param message NetworkTags + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NetworkTags, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NetworkTags to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a MasterAuth. */ interface IMasterAuth { @@ -3732,6 +4155,9 @@ export namespace google { /** BinaryAuthorization enabled */ enabled?: (boolean|null); + + /** BinaryAuthorization evaluationMode */ + evaluationMode?: (google.container.v1.BinaryAuthorization.EvaluationMode|keyof typeof google.container.v1.BinaryAuthorization.EvaluationMode|null); } /** Represents a BinaryAuthorization. */ @@ -3746,6 +4172,9 @@ export namespace google { /** BinaryAuthorization enabled. */ public enabled: boolean; + /** BinaryAuthorization evaluationMode. */ + public evaluationMode: (google.container.v1.BinaryAuthorization.EvaluationMode|keyof typeof google.container.v1.BinaryAuthorization.EvaluationMode); + /** * Creates a new BinaryAuthorization instance using the specified properties. * @param [properties] Properties to set @@ -3817,6 +4246,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } + namespace BinaryAuthorization { + + /** EvaluationMode enum. */ + enum EvaluationMode { + EVALUATION_MODE_UNSPECIFIED = 0, + DISABLED = 1, + PROJECT_SINGLETON_POLICY_ENFORCE = 2 + } + } + /** Properties of a IPAllocationPolicy. */ interface IIPAllocationPolicy { @@ -4090,6 +4529,9 @@ export namespace google { /** Cluster confidentialNodes */ confidentialNodes?: (google.container.v1.IConfidentialNodes|null); + /** Cluster identityServiceConfig */ + identityServiceConfig?: (google.container.v1.IIdentityServiceConfig|null); + /** Cluster selfLink */ selfLink?: (string|null); @@ -4158,6 +4600,9 @@ export namespace google { /** Cluster monitoringConfig */ monitoringConfig?: (google.container.v1.IMonitoringConfig|null); + + /** Cluster nodePoolAutoConfig */ + nodePoolAutoConfig?: (google.container.v1.INodePoolAutoConfig|null); } /** Represents a Cluster. */ @@ -4277,6 +4722,9 @@ export namespace google { /** Cluster confidentialNodes. */ public confidentialNodes?: (google.container.v1.IConfidentialNodes|null); + /** Cluster identityServiceConfig. */ + public identityServiceConfig?: (google.container.v1.IIdentityServiceConfig|null); + /** Cluster selfLink. */ public selfLink: string; @@ -4346,6 +4794,9 @@ export namespace google { /** Cluster monitoringConfig. */ public monitoringConfig?: (google.container.v1.IMonitoringConfig|null); + /** Cluster nodePoolAutoConfig. */ + public nodePoolAutoConfig?: (google.container.v1.INodePoolAutoConfig|null); + /** Cluster _nodePoolDefaults. */ public _nodePoolDefaults?: "nodePoolDefaults"; @@ -4434,6 +4885,96 @@ export namespace google { } } + /** Properties of a NodePoolAutoConfig. */ + interface INodePoolAutoConfig { + + /** NodePoolAutoConfig networkTags */ + networkTags?: (google.container.v1.INetworkTags|null); + } + + /** Represents a NodePoolAutoConfig. */ + class NodePoolAutoConfig implements INodePoolAutoConfig { + + /** + * Constructs a new NodePoolAutoConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.INodePoolAutoConfig); + + /** NodePoolAutoConfig networkTags. */ + public networkTags?: (google.container.v1.INetworkTags|null); + + /** + * Creates a new NodePoolAutoConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns NodePoolAutoConfig instance + */ + public static create(properties?: google.container.v1.INodePoolAutoConfig): google.container.v1.NodePoolAutoConfig; + + /** + * Encodes the specified NodePoolAutoConfig message. Does not implicitly {@link google.container.v1.NodePoolAutoConfig.verify|verify} messages. + * @param message NodePoolAutoConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.INodePoolAutoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodePoolAutoConfig message, length delimited. Does not implicitly {@link google.container.v1.NodePoolAutoConfig.verify|verify} messages. + * @param message NodePoolAutoConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.INodePoolAutoConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodePoolAutoConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodePoolAutoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NodePoolAutoConfig; + + /** + * Decodes a NodePoolAutoConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodePoolAutoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NodePoolAutoConfig; + + /** + * Verifies a NodePoolAutoConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NodePoolAutoConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodePoolAutoConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NodePoolAutoConfig; + + /** + * Creates a plain object from a NodePoolAutoConfig message. Also converts values to other types if specified. + * @param message NodePoolAutoConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NodePoolAutoConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodePoolAutoConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a NodePoolDefaults. */ interface INodePoolDefaults { @@ -4704,6 +5245,9 @@ export namespace google { /** ClusterUpdate desiredMonitoringConfig */ desiredMonitoringConfig?: (google.container.v1.IMonitoringConfig|null); + /** ClusterUpdate desiredIdentityServiceConfig */ + desiredIdentityServiceConfig?: (google.container.v1.IIdentityServiceConfig|null); + /** ClusterUpdate desiredServiceExternalIpsConfig */ desiredServiceExternalIpsConfig?: (google.container.v1.IServiceExternalIPsConfig|null); @@ -4712,6 +5256,9 @@ export namespace google { /** ClusterUpdate desiredGcfsConfig */ desiredGcfsConfig?: (google.container.v1.IGcfsConfig|null); + + /** ClusterUpdate desiredNodePoolAutoConfigNetworkTags */ + desiredNodePoolAutoConfigNetworkTags?: (google.container.v1.INetworkTags|null); } /** Represents a ClusterUpdate. */ @@ -4810,6 +5357,9 @@ export namespace google { /** ClusterUpdate desiredMonitoringConfig. */ public desiredMonitoringConfig?: (google.container.v1.IMonitoringConfig|null); + /** ClusterUpdate desiredIdentityServiceConfig. */ + public desiredIdentityServiceConfig?: (google.container.v1.IIdentityServiceConfig|null); + /** ClusterUpdate desiredServiceExternalIpsConfig. */ public desiredServiceExternalIpsConfig?: (google.container.v1.IServiceExternalIPsConfig|null); @@ -4819,6 +5369,9 @@ export namespace google { /** ClusterUpdate desiredGcfsConfig. */ public desiredGcfsConfig?: (google.container.v1.IGcfsConfig|null); + /** ClusterUpdate desiredNodePoolAutoConfigNetworkTags. */ + public desiredNodePoolAutoConfigNetworkTags?: (google.container.v1.INetworkTags|null); + /** * Creates a new ClusterUpdate instance using the specified properties. * @param [properties] Properties to set @@ -5682,15 +6235,30 @@ export namespace google { /** UpdateNodePoolRequest upgradeSettings */ upgradeSettings?: (google.container.v1.NodePool.IUpgradeSettings|null); + /** UpdateNodePoolRequest tags */ + tags?: (google.container.v1.INetworkTags|null); + + /** UpdateNodePoolRequest taints */ + taints?: (google.container.v1.INodeTaints|null); + + /** UpdateNodePoolRequest labels */ + labels?: (google.container.v1.INodeLabels|null); + /** UpdateNodePoolRequest linuxNodeConfig */ linuxNodeConfig?: (google.container.v1.ILinuxNodeConfig|null); /** UpdateNodePoolRequest kubeletConfig */ kubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + /** UpdateNodePoolRequest nodeNetworkConfig */ + nodeNetworkConfig?: (google.container.v1.INodeNetworkConfig|null); + /** UpdateNodePoolRequest gcfsConfig */ gcfsConfig?: (google.container.v1.IGcfsConfig|null); + /** UpdateNodePoolRequest confidentialNodes */ + confidentialNodes?: (google.container.v1.IConfidentialNodes|null); + /** UpdateNodePoolRequest gvnic */ gvnic?: (google.container.v1.IVirtualNIC|null); } @@ -5734,15 +6302,30 @@ export namespace google { /** UpdateNodePoolRequest upgradeSettings. */ public upgradeSettings?: (google.container.v1.NodePool.IUpgradeSettings|null); + /** UpdateNodePoolRequest tags. */ + public tags?: (google.container.v1.INetworkTags|null); + + /** UpdateNodePoolRequest taints. */ + public taints?: (google.container.v1.INodeTaints|null); + + /** UpdateNodePoolRequest labels. */ + public labels?: (google.container.v1.INodeLabels|null); + /** UpdateNodePoolRequest linuxNodeConfig. */ public linuxNodeConfig?: (google.container.v1.ILinuxNodeConfig|null); /** UpdateNodePoolRequest kubeletConfig. */ public kubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + /** UpdateNodePoolRequest nodeNetworkConfig. */ + public nodeNetworkConfig?: (google.container.v1.INodeNetworkConfig|null); + /** UpdateNodePoolRequest gcfsConfig. */ public gcfsConfig?: (google.container.v1.IGcfsConfig|null); + /** UpdateNodePoolRequest confidentialNodes. */ + public confidentialNodes?: (google.container.v1.IConfidentialNodes|null); + /** UpdateNodePoolRequest gvnic. */ public gvnic?: (google.container.v1.IVirtualNIC|null); @@ -8128,11 +8711,224 @@ export namespace google { */ public static toObject(message: google.container.v1.GetNodePoolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** - * Converts this GetNodePoolRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; + /** + * Converts this GetNodePoolRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlueGreenSettings. */ + interface IBlueGreenSettings { + + /** BlueGreenSettings standardRolloutPolicy */ + standardRolloutPolicy?: (google.container.v1.BlueGreenSettings.IStandardRolloutPolicy|null); + + /** BlueGreenSettings nodePoolSoakDuration */ + nodePoolSoakDuration?: (google.protobuf.IDuration|null); + } + + /** Represents a BlueGreenSettings. */ + class BlueGreenSettings implements IBlueGreenSettings { + + /** + * Constructs a new BlueGreenSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IBlueGreenSettings); + + /** BlueGreenSettings standardRolloutPolicy. */ + public standardRolloutPolicy?: (google.container.v1.BlueGreenSettings.IStandardRolloutPolicy|null); + + /** BlueGreenSettings nodePoolSoakDuration. */ + public nodePoolSoakDuration?: (google.protobuf.IDuration|null); + + /** BlueGreenSettings rolloutPolicy. */ + public rolloutPolicy?: "standardRolloutPolicy"; + + /** BlueGreenSettings _nodePoolSoakDuration. */ + public _nodePoolSoakDuration?: "nodePoolSoakDuration"; + + /** + * Creates a new BlueGreenSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns BlueGreenSettings instance + */ + public static create(properties?: google.container.v1.IBlueGreenSettings): google.container.v1.BlueGreenSettings; + + /** + * Encodes the specified BlueGreenSettings message. Does not implicitly {@link google.container.v1.BlueGreenSettings.verify|verify} messages. + * @param message BlueGreenSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IBlueGreenSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlueGreenSettings message, length delimited. Does not implicitly {@link google.container.v1.BlueGreenSettings.verify|verify} messages. + * @param message BlueGreenSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IBlueGreenSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlueGreenSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlueGreenSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.BlueGreenSettings; + + /** + * Decodes a BlueGreenSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlueGreenSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.BlueGreenSettings; + + /** + * Verifies a BlueGreenSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlueGreenSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlueGreenSettings + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.BlueGreenSettings; + + /** + * Creates a plain object from a BlueGreenSettings message. Also converts values to other types if specified. + * @param message BlueGreenSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.BlueGreenSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlueGreenSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace BlueGreenSettings { + + /** Properties of a StandardRolloutPolicy. */ + interface IStandardRolloutPolicy { + + /** StandardRolloutPolicy batchPercentage */ + batchPercentage?: (number|null); + + /** StandardRolloutPolicy batchNodeCount */ + batchNodeCount?: (number|null); + + /** StandardRolloutPolicy batchSoakDuration */ + batchSoakDuration?: (google.protobuf.IDuration|null); + } + + /** Represents a StandardRolloutPolicy. */ + class StandardRolloutPolicy implements IStandardRolloutPolicy { + + /** + * Constructs a new StandardRolloutPolicy. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.BlueGreenSettings.IStandardRolloutPolicy); + + /** StandardRolloutPolicy batchPercentage. */ + public batchPercentage?: (number|null); + + /** StandardRolloutPolicy batchNodeCount. */ + public batchNodeCount?: (number|null); + + /** StandardRolloutPolicy batchSoakDuration. */ + public batchSoakDuration?: (google.protobuf.IDuration|null); + + /** StandardRolloutPolicy updateBatchSize. */ + public updateBatchSize?: ("batchPercentage"|"batchNodeCount"); + + /** StandardRolloutPolicy _batchSoakDuration. */ + public _batchSoakDuration?: "batchSoakDuration"; + + /** + * Creates a new StandardRolloutPolicy instance using the specified properties. + * @param [properties] Properties to set + * @returns StandardRolloutPolicy instance + */ + public static create(properties?: google.container.v1.BlueGreenSettings.IStandardRolloutPolicy): google.container.v1.BlueGreenSettings.StandardRolloutPolicy; + + /** + * Encodes the specified StandardRolloutPolicy message. Does not implicitly {@link google.container.v1.BlueGreenSettings.StandardRolloutPolicy.verify|verify} messages. + * @param message StandardRolloutPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.BlueGreenSettings.IStandardRolloutPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StandardRolloutPolicy message, length delimited. Does not implicitly {@link google.container.v1.BlueGreenSettings.StandardRolloutPolicy.verify|verify} messages. + * @param message StandardRolloutPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.BlueGreenSettings.IStandardRolloutPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StandardRolloutPolicy message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StandardRolloutPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.BlueGreenSettings.StandardRolloutPolicy; + + /** + * Decodes a StandardRolloutPolicy message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StandardRolloutPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.BlueGreenSettings.StandardRolloutPolicy; + + /** + * Verifies a StandardRolloutPolicy message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StandardRolloutPolicy message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StandardRolloutPolicy + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.BlueGreenSettings.StandardRolloutPolicy; + + /** + * Creates a plain object from a StandardRolloutPolicy message. Also converts values to other types if specified. + * @param message StandardRolloutPolicy + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.BlueGreenSettings.StandardRolloutPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StandardRolloutPolicy to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } } /** Properties of a NodePool. */ @@ -8185,6 +8981,9 @@ export namespace google { /** NodePool upgradeSettings */ upgradeSettings?: (google.container.v1.NodePool.IUpgradeSettings|null); + + /** NodePool updateInfo */ + updateInfo?: (google.container.v1.NodePool.IUpdateInfo|null); } /** Represents a NodePool. */ @@ -8244,6 +9043,9 @@ export namespace google { /** NodePool upgradeSettings. */ public upgradeSettings?: (google.container.v1.NodePool.IUpgradeSettings|null); + /** NodePool updateInfo. */ + public updateInfo?: (google.container.v1.NodePool.IUpdateInfo|null); + /** * Creates a new NodePool instance using the specified properties. * @param [properties] Properties to set @@ -8325,6 +9127,12 @@ export namespace google { /** UpgradeSettings maxUnavailable */ maxUnavailable?: (number|null); + + /** UpgradeSettings strategy */ + strategy?: (google.container.v1.NodePoolUpdateStrategy|keyof typeof google.container.v1.NodePoolUpdateStrategy|null); + + /** UpgradeSettings blueGreenSettings */ + blueGreenSettings?: (google.container.v1.IBlueGreenSettings|null); } /** Represents an UpgradeSettings. */ @@ -8342,6 +9150,18 @@ export namespace google { /** UpgradeSettings maxUnavailable. */ public maxUnavailable: number; + /** UpgradeSettings strategy. */ + public strategy?: (google.container.v1.NodePoolUpdateStrategy|keyof typeof google.container.v1.NodePoolUpdateStrategy|null); + + /** UpgradeSettings blueGreenSettings. */ + public blueGreenSettings?: (google.container.v1.IBlueGreenSettings|null); + + /** UpgradeSettings _strategy. */ + public _strategy?: "strategy"; + + /** UpgradeSettings _blueGreenSettings. */ + public _blueGreenSettings?: "blueGreenSettings"; + /** * Creates a new UpgradeSettings instance using the specified properties. * @param [properties] Properties to set @@ -8413,6 +9233,228 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of an UpdateInfo. */ + interface IUpdateInfo { + + /** UpdateInfo blueGreenInfo */ + blueGreenInfo?: (google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo|null); + } + + /** Represents an UpdateInfo. */ + class UpdateInfo implements IUpdateInfo { + + /** + * Constructs a new UpdateInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.NodePool.IUpdateInfo); + + /** UpdateInfo blueGreenInfo. */ + public blueGreenInfo?: (google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo|null); + + /** + * Creates a new UpdateInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateInfo instance + */ + public static create(properties?: google.container.v1.NodePool.IUpdateInfo): google.container.v1.NodePool.UpdateInfo; + + /** + * Encodes the specified UpdateInfo message. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.verify|verify} messages. + * @param message UpdateInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.NodePool.IUpdateInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateInfo message, length delimited. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.verify|verify} messages. + * @param message UpdateInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.NodePool.IUpdateInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NodePool.UpdateInfo; + + /** + * Decodes an UpdateInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NodePool.UpdateInfo; + + /** + * Verifies an UpdateInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UpdateInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateInfo + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NodePool.UpdateInfo; + + /** + * Creates a plain object from an UpdateInfo message. Also converts values to other types if specified. + * @param message UpdateInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NodePool.UpdateInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace UpdateInfo { + + /** Properties of a BlueGreenInfo. */ + interface IBlueGreenInfo { + + /** BlueGreenInfo phase */ + phase?: (google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase|keyof typeof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase|null); + + /** BlueGreenInfo blueInstanceGroupUrls */ + blueInstanceGroupUrls?: (string[]|null); + + /** BlueGreenInfo greenInstanceGroupUrls */ + greenInstanceGroupUrls?: (string[]|null); + + /** BlueGreenInfo bluePoolDeletionStartTime */ + bluePoolDeletionStartTime?: (string|null); + + /** BlueGreenInfo greenPoolVersion */ + greenPoolVersion?: (string|null); + } + + /** Represents a BlueGreenInfo. */ + class BlueGreenInfo implements IBlueGreenInfo { + + /** + * Constructs a new BlueGreenInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo); + + /** BlueGreenInfo phase. */ + public phase: (google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase|keyof typeof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase); + + /** BlueGreenInfo blueInstanceGroupUrls. */ + public blueInstanceGroupUrls: string[]; + + /** BlueGreenInfo greenInstanceGroupUrls. */ + public greenInstanceGroupUrls: string[]; + + /** BlueGreenInfo bluePoolDeletionStartTime. */ + public bluePoolDeletionStartTime: string; + + /** BlueGreenInfo greenPoolVersion. */ + public greenPoolVersion: string; + + /** + * Creates a new BlueGreenInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns BlueGreenInfo instance + */ + public static create(properties?: google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo): google.container.v1.NodePool.UpdateInfo.BlueGreenInfo; + + /** + * Encodes the specified BlueGreenInfo message. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.verify|verify} messages. + * @param message BlueGreenInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlueGreenInfo message, length delimited. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.verify|verify} messages. + * @param message BlueGreenInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlueGreenInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlueGreenInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.NodePool.UpdateInfo.BlueGreenInfo; + + /** + * Decodes a BlueGreenInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlueGreenInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.NodePool.UpdateInfo.BlueGreenInfo; + + /** + * Verifies a BlueGreenInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlueGreenInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlueGreenInfo + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.NodePool.UpdateInfo.BlueGreenInfo; + + /** + * Creates a plain object from a BlueGreenInfo message. Also converts values to other types if specified. + * @param message BlueGreenInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlueGreenInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace BlueGreenInfo { + + /** Phase enum. */ + enum Phase { + PHASE_UNSPECIFIED = 0, + UPDATE_STARTED = 1, + CREATING_GREEN_POOL = 2, + CORDONING_BLUE_POOL = 3, + DRAINING_BLUE_POOL = 4, + NODE_POOL_SOAKING = 5, + DELETING_BLUE_POOL = 6, + ROLLBACK_STARTED = 7 + } + } + } + /** Status enum. */ enum Status { STATUS_UNSPECIFIED = 0, @@ -9461,6 +10503,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a CompleteNodePoolUpgradeRequest. */ + interface ICompleteNodePoolUpgradeRequest { + + /** CompleteNodePoolUpgradeRequest name */ + name?: (string|null); + } + + /** Represents a CompleteNodePoolUpgradeRequest. */ + class CompleteNodePoolUpgradeRequest implements ICompleteNodePoolUpgradeRequest { + + /** + * Constructs a new CompleteNodePoolUpgradeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.ICompleteNodePoolUpgradeRequest); + + /** CompleteNodePoolUpgradeRequest name. */ + public name: string; + + /** + * Creates a new CompleteNodePoolUpgradeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CompleteNodePoolUpgradeRequest instance + */ + public static create(properties?: google.container.v1.ICompleteNodePoolUpgradeRequest): google.container.v1.CompleteNodePoolUpgradeRequest; + + /** + * Encodes the specified CompleteNodePoolUpgradeRequest message. Does not implicitly {@link google.container.v1.CompleteNodePoolUpgradeRequest.verify|verify} messages. + * @param message CompleteNodePoolUpgradeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.ICompleteNodePoolUpgradeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CompleteNodePoolUpgradeRequest message, length delimited. Does not implicitly {@link google.container.v1.CompleteNodePoolUpgradeRequest.verify|verify} messages. + * @param message CompleteNodePoolUpgradeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.ICompleteNodePoolUpgradeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CompleteNodePoolUpgradeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CompleteNodePoolUpgradeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.CompleteNodePoolUpgradeRequest; + + /** + * Decodes a CompleteNodePoolUpgradeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CompleteNodePoolUpgradeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.CompleteNodePoolUpgradeRequest; + + /** + * Verifies a CompleteNodePoolUpgradeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CompleteNodePoolUpgradeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CompleteNodePoolUpgradeRequest + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.CompleteNodePoolUpgradeRequest; + + /** + * Creates a plain object from a CompleteNodePoolUpgradeRequest message. Also converts values to other types if specified. + * @param message CompleteNodePoolUpgradeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.CompleteNodePoolUpgradeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CompleteNodePoolUpgradeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a RollbackNodePoolUpgradeRequest. */ interface IRollbackNodePoolUpgradeRequest { @@ -9478,6 +10610,9 @@ export namespace google { /** RollbackNodePoolUpgradeRequest name */ name?: (string|null); + + /** RollbackNodePoolUpgradeRequest respectPdb */ + respectPdb?: (boolean|null); } /** Represents a RollbackNodePoolUpgradeRequest. */ @@ -9504,6 +10639,9 @@ export namespace google { /** RollbackNodePoolUpgradeRequest name. */ public name: string; + /** RollbackNodePoolUpgradeRequest respectPdb. */ + public respectPdb: boolean; + /** * Creates a new RollbackNodePoolUpgradeRequest instance using the specified properties. * @param [properties] Properties to set @@ -10049,6 +11187,15 @@ export namespace google { /** NodePoolAutoscaling autoprovisioned */ autoprovisioned?: (boolean|null); + + /** NodePoolAutoscaling locationPolicy */ + locationPolicy?: (google.container.v1.NodePoolAutoscaling.LocationPolicy|keyof typeof google.container.v1.NodePoolAutoscaling.LocationPolicy|null); + + /** NodePoolAutoscaling totalMinNodeCount */ + totalMinNodeCount?: (number|null); + + /** NodePoolAutoscaling totalMaxNodeCount */ + totalMaxNodeCount?: (number|null); } /** Represents a NodePoolAutoscaling. */ @@ -10072,6 +11219,15 @@ export namespace google { /** NodePoolAutoscaling autoprovisioned. */ public autoprovisioned: boolean; + /** NodePoolAutoscaling locationPolicy. */ + public locationPolicy: (google.container.v1.NodePoolAutoscaling.LocationPolicy|keyof typeof google.container.v1.NodePoolAutoscaling.LocationPolicy); + + /** NodePoolAutoscaling totalMinNodeCount. */ + public totalMinNodeCount: number; + + /** NodePoolAutoscaling totalMaxNodeCount. */ + public totalMaxNodeCount: number; + /** * Creates a new NodePoolAutoscaling instance using the specified properties. * @param [properties] Properties to set @@ -10143,6 +11299,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } + namespace NodePoolAutoscaling { + + /** LocationPolicy enum. */ + enum LocationPolicy { + LOCATION_POLICY_UNSPECIFIED = 0, + BALANCED = 1, + ANY = 2 + } + } + /** Properties of a SetLabelsRequest. */ interface ISetLabelsRequest { @@ -10582,125 +11748,242 @@ export namespace google { * @param object Plain object * @returns CompleteIPRotationRequest */ - public static fromObject(object: { [k: string]: any }): google.container.v1.CompleteIPRotationRequest; + public static fromObject(object: { [k: string]: any }): google.container.v1.CompleteIPRotationRequest; + + /** + * Creates a plain object from a CompleteIPRotationRequest message. Also converts values to other types if specified. + * @param message CompleteIPRotationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.CompleteIPRotationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CompleteIPRotationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AcceleratorConfig. */ + interface IAcceleratorConfig { + + /** AcceleratorConfig acceleratorCount */ + acceleratorCount?: (number|Long|string|null); + + /** AcceleratorConfig acceleratorType */ + acceleratorType?: (string|null); + + /** AcceleratorConfig gpuPartitionSize */ + gpuPartitionSize?: (string|null); + + /** AcceleratorConfig gpuSharingConfig */ + gpuSharingConfig?: (google.container.v1.IGPUSharingConfig|null); + } + + /** Represents an AcceleratorConfig. */ + class AcceleratorConfig implements IAcceleratorConfig { + + /** + * Constructs a new AcceleratorConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IAcceleratorConfig); + + /** AcceleratorConfig acceleratorCount. */ + public acceleratorCount: (number|Long|string); + + /** AcceleratorConfig acceleratorType. */ + public acceleratorType: string; + + /** AcceleratorConfig gpuPartitionSize. */ + public gpuPartitionSize: string; + + /** AcceleratorConfig gpuSharingConfig. */ + public gpuSharingConfig?: (google.container.v1.IGPUSharingConfig|null); + + /** AcceleratorConfig _gpuSharingConfig. */ + public _gpuSharingConfig?: "gpuSharingConfig"; + + /** + * Creates a new AcceleratorConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns AcceleratorConfig instance + */ + public static create(properties?: google.container.v1.IAcceleratorConfig): google.container.v1.AcceleratorConfig; + + /** + * Encodes the specified AcceleratorConfig message. Does not implicitly {@link google.container.v1.AcceleratorConfig.verify|verify} messages. + * @param message AcceleratorConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IAcceleratorConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AcceleratorConfig message, length delimited. Does not implicitly {@link google.container.v1.AcceleratorConfig.verify|verify} messages. + * @param message AcceleratorConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IAcceleratorConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AcceleratorConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AcceleratorConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.AcceleratorConfig; + + /** + * Decodes an AcceleratorConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AcceleratorConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.AcceleratorConfig; + + /** + * Verifies an AcceleratorConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AcceleratorConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AcceleratorConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.AcceleratorConfig; /** - * Creates a plain object from a CompleteIPRotationRequest message. Also converts values to other types if specified. - * @param message CompleteIPRotationRequest + * Creates a plain object from an AcceleratorConfig message. Also converts values to other types if specified. + * @param message AcceleratorConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.container.v1.CompleteIPRotationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.container.v1.AcceleratorConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this CompleteIPRotationRequest to JSON. + * Converts this AcceleratorConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AcceleratorConfig. */ - interface IAcceleratorConfig { - - /** AcceleratorConfig acceleratorCount */ - acceleratorCount?: (number|Long|string|null); + /** Properties of a GPUSharingConfig. */ + interface IGPUSharingConfig { - /** AcceleratorConfig acceleratorType */ - acceleratorType?: (string|null); + /** GPUSharingConfig maxSharedClientsPerGpu */ + maxSharedClientsPerGpu?: (number|Long|string|null); - /** AcceleratorConfig gpuPartitionSize */ - gpuPartitionSize?: (string|null); + /** GPUSharingConfig gpuSharingStrategy */ + gpuSharingStrategy?: (google.container.v1.GPUSharingConfig.GPUSharingStrategy|keyof typeof google.container.v1.GPUSharingConfig.GPUSharingStrategy|null); } - /** Represents an AcceleratorConfig. */ - class AcceleratorConfig implements IAcceleratorConfig { + /** Represents a GPUSharingConfig. */ + class GPUSharingConfig implements IGPUSharingConfig { /** - * Constructs a new AcceleratorConfig. + * Constructs a new GPUSharingConfig. * @param [properties] Properties to set */ - constructor(properties?: google.container.v1.IAcceleratorConfig); + constructor(properties?: google.container.v1.IGPUSharingConfig); - /** AcceleratorConfig acceleratorCount. */ - public acceleratorCount: (number|Long|string); + /** GPUSharingConfig maxSharedClientsPerGpu. */ + public maxSharedClientsPerGpu: (number|Long|string); - /** AcceleratorConfig acceleratorType. */ - public acceleratorType: string; + /** GPUSharingConfig gpuSharingStrategy. */ + public gpuSharingStrategy?: (google.container.v1.GPUSharingConfig.GPUSharingStrategy|keyof typeof google.container.v1.GPUSharingConfig.GPUSharingStrategy|null); - /** AcceleratorConfig gpuPartitionSize. */ - public gpuPartitionSize: string; + /** GPUSharingConfig _gpuSharingStrategy. */ + public _gpuSharingStrategy?: "gpuSharingStrategy"; /** - * Creates a new AcceleratorConfig instance using the specified properties. + * Creates a new GPUSharingConfig instance using the specified properties. * @param [properties] Properties to set - * @returns AcceleratorConfig instance + * @returns GPUSharingConfig instance */ - public static create(properties?: google.container.v1.IAcceleratorConfig): google.container.v1.AcceleratorConfig; + public static create(properties?: google.container.v1.IGPUSharingConfig): google.container.v1.GPUSharingConfig; /** - * Encodes the specified AcceleratorConfig message. Does not implicitly {@link google.container.v1.AcceleratorConfig.verify|verify} messages. - * @param message AcceleratorConfig message or plain object to encode + * Encodes the specified GPUSharingConfig message. Does not implicitly {@link google.container.v1.GPUSharingConfig.verify|verify} messages. + * @param message GPUSharingConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.container.v1.IAcceleratorConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.container.v1.IGPUSharingConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AcceleratorConfig message, length delimited. Does not implicitly {@link google.container.v1.AcceleratorConfig.verify|verify} messages. - * @param message AcceleratorConfig message or plain object to encode + * Encodes the specified GPUSharingConfig message, length delimited. Does not implicitly {@link google.container.v1.GPUSharingConfig.verify|verify} messages. + * @param message GPUSharingConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.container.v1.IAcceleratorConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.container.v1.IGPUSharingConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AcceleratorConfig message from the specified reader or buffer. + * Decodes a GPUSharingConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AcceleratorConfig + * @returns GPUSharingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.AcceleratorConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.GPUSharingConfig; /** - * Decodes an AcceleratorConfig message from the specified reader or buffer, length delimited. + * Decodes a GPUSharingConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AcceleratorConfig + * @returns GPUSharingConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.AcceleratorConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.GPUSharingConfig; /** - * Verifies an AcceleratorConfig message. + * Verifies a GPUSharingConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an AcceleratorConfig message from a plain object. Also converts values to their respective internal types. + * Creates a GPUSharingConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AcceleratorConfig + * @returns GPUSharingConfig */ - public static fromObject(object: { [k: string]: any }): google.container.v1.AcceleratorConfig; + public static fromObject(object: { [k: string]: any }): google.container.v1.GPUSharingConfig; /** - * Creates a plain object from an AcceleratorConfig message. Also converts values to other types if specified. - * @param message AcceleratorConfig + * Creates a plain object from a GPUSharingConfig message. Also converts values to other types if specified. + * @param message GPUSharingConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.container.v1.AcceleratorConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.container.v1.GPUSharingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AcceleratorConfig to JSON. + * Converts this GPUSharingConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } + namespace GPUSharingConfig { + + /** GPUSharingStrategy enum. */ + enum GPUSharingStrategy { + GPU_SHARING_STRATEGY_UNSPECIFIED = 0, + TIME_SHARING = 1 + } + } + /** Properties of a WorkloadMetadataConfig. */ interface IWorkloadMetadataConfig { @@ -12486,6 +13769,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of an IdentityServiceConfig. */ + interface IIdentityServiceConfig { + + /** IdentityServiceConfig enabled */ + enabled?: (boolean|null); + } + + /** Represents an IdentityServiceConfig. */ + class IdentityServiceConfig implements IIdentityServiceConfig { + + /** + * Constructs a new IdentityServiceConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IIdentityServiceConfig); + + /** IdentityServiceConfig enabled. */ + public enabled: boolean; + + /** + * Creates a new IdentityServiceConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns IdentityServiceConfig instance + */ + public static create(properties?: google.container.v1.IIdentityServiceConfig): google.container.v1.IdentityServiceConfig; + + /** + * Encodes the specified IdentityServiceConfig message. Does not implicitly {@link google.container.v1.IdentityServiceConfig.verify|verify} messages. + * @param message IdentityServiceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IIdentityServiceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified IdentityServiceConfig message, length delimited. Does not implicitly {@link google.container.v1.IdentityServiceConfig.verify|verify} messages. + * @param message IdentityServiceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IIdentityServiceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an IdentityServiceConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns IdentityServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.IdentityServiceConfig; + + /** + * Decodes an IdentityServiceConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns IdentityServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.IdentityServiceConfig; + + /** + * Verifies an IdentityServiceConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an IdentityServiceConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns IdentityServiceConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.IdentityServiceConfig; + + /** + * Creates a plain object from an IdentityServiceConfig message. Also converts values to other types if specified. + * @param message IdentityServiceConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.IdentityServiceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this IdentityServiceConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a MeshCertificates. */ interface IMeshCertificates { @@ -13767,13 +15140,6 @@ export namespace google { PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3 } - /** DatapathProvider enum. */ - enum DatapathProvider { - DATAPATH_PROVIDER_UNSPECIFIED = 0, - LEGACY_DATAPATH = 1, - ADVANCED_DATAPATH = 2 - } - /** Properties of a NotificationConfig. */ interface INotificationConfig { @@ -14821,6 +16187,9 @@ export namespace google { /** MonitoringConfig componentConfig */ componentConfig?: (google.container.v1.IMonitoringComponentConfig|null); + + /** MonitoringConfig managedPrometheusConfig */ + managedPrometheusConfig?: (google.container.v1.IManagedPrometheusConfig|null); } /** Represents a MonitoringConfig. */ @@ -14835,6 +16204,9 @@ export namespace google { /** MonitoringConfig componentConfig. */ public componentConfig?: (google.container.v1.IMonitoringComponentConfig|null); + /** MonitoringConfig managedPrometheusConfig. */ + public managedPrometheusConfig?: (google.container.v1.IManagedPrometheusConfig|null); + /** * Creates a new MonitoringConfig instance using the specified properties. * @param [properties] Properties to set @@ -15001,9 +16373,116 @@ export namespace google { /** Component enum. */ enum Component { COMPONENT_UNSPECIFIED = 0, - SYSTEM_COMPONENTS = 1 + SYSTEM_COMPONENTS = 1, + APISERVER = 3, + SCHEDULER = 4, + CONTROLLER_MANAGER = 5 } } + + /** DatapathProvider enum. */ + enum DatapathProvider { + DATAPATH_PROVIDER_UNSPECIFIED = 0, + LEGACY_DATAPATH = 1, + ADVANCED_DATAPATH = 2 + } + + /** NodePoolUpdateStrategy enum. */ + enum NodePoolUpdateStrategy { + NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED = 0, + BLUE_GREEN = 2, + SURGE = 3 + } + + /** Properties of a ManagedPrometheusConfig. */ + interface IManagedPrometheusConfig { + + /** ManagedPrometheusConfig enabled */ + enabled?: (boolean|null); + } + + /** Represents a ManagedPrometheusConfig. */ + class ManagedPrometheusConfig implements IManagedPrometheusConfig { + + /** + * Constructs a new ManagedPrometheusConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IManagedPrometheusConfig); + + /** ManagedPrometheusConfig enabled. */ + public enabled: boolean; + + /** + * Creates a new ManagedPrometheusConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ManagedPrometheusConfig instance + */ + public static create(properties?: google.container.v1.IManagedPrometheusConfig): google.container.v1.ManagedPrometheusConfig; + + /** + * Encodes the specified ManagedPrometheusConfig message. Does not implicitly {@link google.container.v1.ManagedPrometheusConfig.verify|verify} messages. + * @param message ManagedPrometheusConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IManagedPrometheusConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ManagedPrometheusConfig message, length delimited. Does not implicitly {@link google.container.v1.ManagedPrometheusConfig.verify|verify} messages. + * @param message ManagedPrometheusConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IManagedPrometheusConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ManagedPrometheusConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ManagedPrometheusConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.container.v1.ManagedPrometheusConfig; + + /** + * Decodes a ManagedPrometheusConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ManagedPrometheusConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.container.v1.ManagedPrometheusConfig; + + /** + * Verifies a ManagedPrometheusConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ManagedPrometheusConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ManagedPrometheusConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.ManagedPrometheusConfig; + + /** + * Creates a plain object from a ManagedPrometheusConfig message. Also converts values to other types if specified. + * @param message ManagedPrometheusConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.ManagedPrometheusConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ManagedPrometheusConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } } } @@ -18729,6 +20208,102 @@ export namespace google { } } + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|string|null); + + /** Duration nanos */ + nanos?: (number|null); + } + + /** Represents a Duration. */ + class Duration implements IDuration { + + /** + * Constructs a new Duration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDuration); + + /** Duration seconds. */ + public seconds: (number|Long|string); + + /** Duration nanos. */ + public nanos: number; + + /** + * Creates a new Duration instance using the specified properties. + * @param [properties] Properties to set + * @returns Duration instance + */ + public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + + /** + * Verifies a Duration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Duration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @param message Duration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Duration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an Empty. */ interface IEmpty { } diff --git a/protos/protos.js b/protos/protos.js index fe7c472..3b49770 100644 --- a/protos/protos.js +++ b/protos/protos.js @@ -815,6 +815,39 @@ * @variation 2 */ + /** + * Callback as used by {@link google.container.v1.ClusterManager#completeNodePoolUpgrade}. + * @memberof google.container.v1.ClusterManager + * @typedef CompleteNodePoolUpgradeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls CompleteNodePoolUpgrade. + * @function completeNodePoolUpgrade + * @memberof google.container.v1.ClusterManager + * @instance + * @param {google.container.v1.ICompleteNodePoolUpgradeRequest} request CompleteNodePoolUpgradeRequest message or plain object + * @param {google.container.v1.ClusterManager.CompleteNodePoolUpgradeCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ClusterManager.prototype.completeNodePoolUpgrade = function completeNodePoolUpgrade(request, callback) { + return this.rpcCall(completeNodePoolUpgrade, $root.google.container.v1.CompleteNodePoolUpgradeRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "CompleteNodePoolUpgrade" }); + + /** + * Calls CompleteNodePoolUpgrade. + * @function completeNodePoolUpgrade + * @memberof google.container.v1.ClusterManager + * @instance + * @param {google.container.v1.ICompleteNodePoolUpgradeRequest} request CompleteNodePoolUpgradeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link google.container.v1.ClusterManager#rollbackNodePoolUpgrade}. * @memberof google.container.v1.ClusterManager @@ -1379,6 +1412,7 @@ * @property {string|null} [cpuManagerPolicy] NodeKubeletConfig cpuManagerPolicy * @property {google.protobuf.IBoolValue|null} [cpuCfsQuota] NodeKubeletConfig cpuCfsQuota * @property {string|null} [cpuCfsQuotaPeriod] NodeKubeletConfig cpuCfsQuotaPeriod + * @property {number|Long|null} [podPidsLimit] NodeKubeletConfig podPidsLimit */ /** @@ -1420,6 +1454,14 @@ */ NodeKubeletConfig.prototype.cpuCfsQuotaPeriod = ""; + /** + * NodeKubeletConfig podPidsLimit. + * @member {number|Long} podPidsLimit + * @memberof google.container.v1.NodeKubeletConfig + * @instance + */ + NodeKubeletConfig.prototype.podPidsLimit = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** * Creates a new NodeKubeletConfig instance using the specified properties. * @function create @@ -1450,6 +1492,8 @@ $root.google.protobuf.BoolValue.encode(message.cpuCfsQuota, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.cpuCfsQuotaPeriod != null && Object.hasOwnProperty.call(message, "cpuCfsQuotaPeriod")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.cpuCfsQuotaPeriod); + if (message.podPidsLimit != null && Object.hasOwnProperty.call(message, "podPidsLimit")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.podPidsLimit); return writer; }; @@ -1493,6 +1537,9 @@ case 3: message.cpuCfsQuotaPeriod = reader.string(); break; + case 4: + message.podPidsLimit = reader.int64(); + break; default: reader.skipType(tag & 7); break; @@ -1539,6 +1586,9 @@ if (message.cpuCfsQuotaPeriod != null && message.hasOwnProperty("cpuCfsQuotaPeriod")) if (!$util.isString(message.cpuCfsQuotaPeriod)) return "cpuCfsQuotaPeriod: string expected"; + if (message.podPidsLimit != null && message.hasOwnProperty("podPidsLimit")) + if (!$util.isInteger(message.podPidsLimit) && !(message.podPidsLimit && $util.isInteger(message.podPidsLimit.low) && $util.isInteger(message.podPidsLimit.high))) + return "podPidsLimit: integer|Long expected"; return null; }; @@ -1563,6 +1613,15 @@ } if (object.cpuCfsQuotaPeriod != null) message.cpuCfsQuotaPeriod = String(object.cpuCfsQuotaPeriod); + if (object.podPidsLimit != null) + if ($util.Long) + (message.podPidsLimit = $util.Long.fromValue(object.podPidsLimit)).unsigned = false; + else if (typeof object.podPidsLimit === "string") + message.podPidsLimit = parseInt(object.podPidsLimit, 10); + else if (typeof object.podPidsLimit === "number") + message.podPidsLimit = object.podPidsLimit; + else if (typeof object.podPidsLimit === "object") + message.podPidsLimit = new $util.LongBits(object.podPidsLimit.low >>> 0, object.podPidsLimit.high >>> 0).toNumber(); return message; }; @@ -1583,6 +1642,11 @@ object.cpuManagerPolicy = ""; object.cpuCfsQuota = null; object.cpuCfsQuotaPeriod = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.podPidsLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.podPidsLimit = options.longs === String ? "0" : 0; } if (message.cpuManagerPolicy != null && message.hasOwnProperty("cpuManagerPolicy")) object.cpuManagerPolicy = message.cpuManagerPolicy; @@ -1590,6 +1654,11 @@ object.cpuCfsQuota = $root.google.protobuf.BoolValue.toObject(message.cpuCfsQuota, options); if (message.cpuCfsQuotaPeriod != null && message.hasOwnProperty("cpuCfsQuotaPeriod")) object.cpuCfsQuotaPeriod = message.cpuCfsQuotaPeriod; + if (message.podPidsLimit != null && message.hasOwnProperty("podPidsLimit")) + if (typeof message.podPidsLimit === "number") + object.podPidsLimit = options.longs === String ? String(message.podPidsLimit) : message.podPidsLimit; + else + object.podPidsLimit = options.longs === String ? $util.Long.prototype.toString.call(message.podPidsLimit) : options.longs === Number ? new $util.LongBits(message.podPidsLimit.low >>> 0, message.podPidsLimit.high >>> 0).toNumber() : message.podPidsLimit; return object; }; @@ -1638,6 +1707,8 @@ * @property {google.container.v1.IGcfsConfig|null} [gcfsConfig] NodeConfig gcfsConfig * @property {google.container.v1.IAdvancedMachineFeatures|null} [advancedMachineFeatures] NodeConfig advancedMachineFeatures * @property {google.container.v1.IVirtualNIC|null} [gvnic] NodeConfig gvnic + * @property {boolean|null} [spot] NodeConfig spot + * @property {google.container.v1.IConfidentialNodes|null} [confidentialNodes] NodeConfig confidentialNodes */ /** @@ -1861,6 +1932,22 @@ */ NodeConfig.prototype.gvnic = null; + /** + * NodeConfig spot. + * @member {boolean} spot + * @memberof google.container.v1.NodeConfig + * @instance + */ + NodeConfig.prototype.spot = false; + + /** + * NodeConfig confidentialNodes. + * @member {google.container.v1.IConfidentialNodes|null|undefined} confidentialNodes + * @memberof google.container.v1.NodeConfig + * @instance + */ + NodeConfig.prototype.confidentialNodes = null; + /** * Creates a new NodeConfig instance using the specified properties. * @function create @@ -1941,6 +2028,10 @@ $root.google.container.v1.AdvancedMachineFeatures.encode(message.advancedMachineFeatures, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); if (message.gvnic != null && Object.hasOwnProperty.call(message, "gvnic")) $root.google.container.v1.VirtualNIC.encode(message.gvnic, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); + if (message.spot != null && Object.hasOwnProperty.call(message, "spot")) + writer.uint32(/* id 32, wireType 0 =*/256).bool(message.spot); + if (message.confidentialNodes != null && Object.hasOwnProperty.call(message, "confidentialNodes")) + $root.google.container.v1.ConfidentialNodes.encode(message.confidentialNodes, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); return writer; }; @@ -2096,6 +2187,12 @@ case 29: message.gvnic = $root.google.container.v1.VirtualNIC.decode(reader, reader.uint32()); break; + case 32: + message.spot = reader.bool(); + break; + case 35: + message.confidentialNodes = $root.google.container.v1.ConfidentialNodes.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -2254,6 +2351,14 @@ if (error) return "gvnic." + error; } + if (message.spot != null && message.hasOwnProperty("spot")) + if (typeof message.spot !== "boolean") + return "spot: boolean expected"; + if (message.confidentialNodes != null && message.hasOwnProperty("confidentialNodes")) { + var error = $root.google.container.v1.ConfidentialNodes.verify(message.confidentialNodes); + if (error) + return "confidentialNodes." + error; + } return null; }; @@ -2382,6 +2487,13 @@ throw TypeError(".google.container.v1.NodeConfig.gvnic: object expected"); message.gvnic = $root.google.container.v1.VirtualNIC.fromObject(object.gvnic); } + if (object.spot != null) + message.spot = Boolean(object.spot); + if (object.confidentialNodes != null) { + if (typeof object.confidentialNodes !== "object") + throw TypeError(".google.container.v1.NodeConfig.confidentialNodes: object expected"); + message.confidentialNodes = $root.google.container.v1.ConfidentialNodes.fromObject(object.confidentialNodes); + } return message; }; @@ -2428,6 +2540,8 @@ object.gcfsConfig = null; object.advancedMachineFeatures = null; object.gvnic = null; + object.spot = false; + object.confidentialNodes = null; } if (message.machineType != null && message.hasOwnProperty("machineType")) object.machineType = message.machineType; @@ -2498,6 +2612,10 @@ object.advancedMachineFeatures = $root.google.container.v1.AdvancedMachineFeatures.toObject(message.advancedMachineFeatures, options); if (message.gvnic != null && message.hasOwnProperty("gvnic")) object.gvnic = $root.google.container.v1.VirtualNIC.toObject(message.gvnic, options); + if (message.spot != null && message.hasOwnProperty("spot")) + object.spot = message.spot; + if (message.confidentialNodes != null && message.hasOwnProperty("confidentialNodes")) + object.confidentialNodes = $root.google.container.v1.ConfidentialNodes.toObject(message.confidentialNodes, options); return object; }; @@ -2739,6 +2857,7 @@ * @property {boolean|null} [createPodRange] NodeNetworkConfig createPodRange * @property {string|null} [podRange] NodeNetworkConfig podRange * @property {string|null} [podIpv4CidrBlock] NodeNetworkConfig podIpv4CidrBlock + * @property {google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig|null} [networkPerformanceConfig] NodeNetworkConfig networkPerformanceConfig */ /** @@ -2780,6 +2899,28 @@ */ NodeNetworkConfig.prototype.podIpv4CidrBlock = ""; + /** + * NodeNetworkConfig networkPerformanceConfig. + * @member {google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig|null|undefined} networkPerformanceConfig + * @memberof google.container.v1.NodeNetworkConfig + * @instance + */ + NodeNetworkConfig.prototype.networkPerformanceConfig = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * NodeNetworkConfig _networkPerformanceConfig. + * @member {"networkPerformanceConfig"|undefined} _networkPerformanceConfig + * @memberof google.container.v1.NodeNetworkConfig + * @instance + */ + Object.defineProperty(NodeNetworkConfig.prototype, "_networkPerformanceConfig", { + get: $util.oneOfGetter($oneOfFields = ["networkPerformanceConfig"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new NodeNetworkConfig instance using the specified properties. * @function create @@ -2810,6 +2951,8 @@ writer.uint32(/* id 5, wireType 2 =*/42).string(message.podRange); if (message.podIpv4CidrBlock != null && Object.hasOwnProperty.call(message, "podIpv4CidrBlock")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.podIpv4CidrBlock); + if (message.networkPerformanceConfig != null && Object.hasOwnProperty.call(message, "networkPerformanceConfig")) + $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.encode(message.networkPerformanceConfig, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); return writer; }; @@ -2853,6 +2996,9 @@ case 6: message.podIpv4CidrBlock = reader.string(); break; + case 11: + message.networkPerformanceConfig = $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -2888,6 +3034,7 @@ NodeNetworkConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.createPodRange != null && message.hasOwnProperty("createPodRange")) if (typeof message.createPodRange !== "boolean") return "createPodRange: boolean expected"; @@ -2897,6 +3044,14 @@ if (message.podIpv4CidrBlock != null && message.hasOwnProperty("podIpv4CidrBlock")) if (!$util.isString(message.podIpv4CidrBlock)) return "podIpv4CidrBlock: string expected"; + if (message.networkPerformanceConfig != null && message.hasOwnProperty("networkPerformanceConfig")) { + properties._networkPerformanceConfig = 1; + { + var error = $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.verify(message.networkPerformanceConfig); + if (error) + return "networkPerformanceConfig." + error; + } + } return null; }; @@ -2918,6 +3073,11 @@ message.podRange = String(object.podRange); if (object.podIpv4CidrBlock != null) message.podIpv4CidrBlock = String(object.podIpv4CidrBlock); + if (object.networkPerformanceConfig != null) { + if (typeof object.networkPerformanceConfig !== "object") + throw TypeError(".google.container.v1.NodeNetworkConfig.networkPerformanceConfig: object expected"); + message.networkPerformanceConfig = $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.fromObject(object.networkPerformanceConfig); + } return message; }; @@ -2945,6 +3105,11 @@ object.podRange = message.podRange; if (message.podIpv4CidrBlock != null && message.hasOwnProperty("podIpv4CidrBlock")) object.podIpv4CidrBlock = message.podIpv4CidrBlock; + if (message.networkPerformanceConfig != null && message.hasOwnProperty("networkPerformanceConfig")) { + object.networkPerformanceConfig = $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.toObject(message.networkPerformanceConfig, options); + if (options.oneofs) + object._networkPerformanceConfig = "networkPerformanceConfig"; + } return object; }; @@ -2959,6 +3124,238 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + NodeNetworkConfig.NetworkPerformanceConfig = (function() { + + /** + * Properties of a NetworkPerformanceConfig. + * @memberof google.container.v1.NodeNetworkConfig + * @interface INetworkPerformanceConfig + * @property {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier|null} [totalEgressBandwidthTier] NetworkPerformanceConfig totalEgressBandwidthTier + */ + + /** + * Constructs a new NetworkPerformanceConfig. + * @memberof google.container.v1.NodeNetworkConfig + * @classdesc Represents a NetworkPerformanceConfig. + * @implements INetworkPerformanceConfig + * @constructor + * @param {google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig=} [properties] Properties to set + */ + function NetworkPerformanceConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NetworkPerformanceConfig totalEgressBandwidthTier. + * @member {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier|null|undefined} totalEgressBandwidthTier + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @instance + */ + NetworkPerformanceConfig.prototype.totalEgressBandwidthTier = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * NetworkPerformanceConfig _totalEgressBandwidthTier. + * @member {"totalEgressBandwidthTier"|undefined} _totalEgressBandwidthTier + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @instance + */ + Object.defineProperty(NetworkPerformanceConfig.prototype, "_totalEgressBandwidthTier", { + get: $util.oneOfGetter($oneOfFields = ["totalEgressBandwidthTier"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new NetworkPerformanceConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig=} [properties] Properties to set + * @returns {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig} NetworkPerformanceConfig instance + */ + NetworkPerformanceConfig.create = function create(properties) { + return new NetworkPerformanceConfig(properties); + }; + + /** + * Encodes the specified NetworkPerformanceConfig message. Does not implicitly {@link google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig} message NetworkPerformanceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NetworkPerformanceConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.totalEgressBandwidthTier != null && Object.hasOwnProperty.call(message, "totalEgressBandwidthTier")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.totalEgressBandwidthTier); + return writer; + }; + + /** + * Encodes the specified NetworkPerformanceConfig message, length delimited. Does not implicitly {@link google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {google.container.v1.NodeNetworkConfig.INetworkPerformanceConfig} message NetworkPerformanceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NetworkPerformanceConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NetworkPerformanceConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig} NetworkPerformanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NetworkPerformanceConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.totalEgressBandwidthTier = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NetworkPerformanceConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig} NetworkPerformanceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NetworkPerformanceConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NetworkPerformanceConfig message. + * @function verify + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NetworkPerformanceConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.totalEgressBandwidthTier != null && message.hasOwnProperty("totalEgressBandwidthTier")) { + properties._totalEgressBandwidthTier = 1; + switch (message.totalEgressBandwidthTier) { + default: + return "totalEgressBandwidthTier: enum value expected"; + case 0: + case 1: + break; + } + } + return null; + }; + + /** + * Creates a NetworkPerformanceConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig} NetworkPerformanceConfig + */ + NetworkPerformanceConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig) + return object; + var message = new $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig(); + switch (object.totalEgressBandwidthTier) { + case "TIER_UNSPECIFIED": + case 0: + message.totalEgressBandwidthTier = 0; + break; + case "TIER_1": + case 1: + message.totalEgressBandwidthTier = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from a NetworkPerformanceConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @static + * @param {google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig} message NetworkPerformanceConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NetworkPerformanceConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.totalEgressBandwidthTier != null && message.hasOwnProperty("totalEgressBandwidthTier")) { + object.totalEgressBandwidthTier = options.enums === String ? $root.google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier[message.totalEgressBandwidthTier] : message.totalEgressBandwidthTier; + if (options.oneofs) + object._totalEgressBandwidthTier = "totalEgressBandwidthTier"; + } + return object; + }; + + /** + * Converts this NetworkPerformanceConfig to JSON. + * @function toJSON + * @memberof google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + * @instance + * @returns {Object.} JSON object + */ + NetworkPerformanceConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Tier enum. + * @name google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier + * @enum {number} + * @property {number} TIER_UNSPECIFIED=0 TIER_UNSPECIFIED value + * @property {number} TIER_1=1 TIER_1 value + */ + NetworkPerformanceConfig.Tier = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TIER_UNSPECIFIED"] = 0; + values[valuesById[1] = "TIER_1"] = 1; + return values; + })(); + + return NetworkPerformanceConfig; + })(); + return NodeNetworkConfig; })(); @@ -4136,6 +4533,639 @@ return NodeTaint; })(); + v1.NodeTaints = (function() { + + /** + * Properties of a NodeTaints. + * @memberof google.container.v1 + * @interface INodeTaints + * @property {Array.|null} [taints] NodeTaints taints + */ + + /** + * Constructs a new NodeTaints. + * @memberof google.container.v1 + * @classdesc Represents a NodeTaints. + * @implements INodeTaints + * @constructor + * @param {google.container.v1.INodeTaints=} [properties] Properties to set + */ + function NodeTaints(properties) { + this.taints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NodeTaints taints. + * @member {Array.} taints + * @memberof google.container.v1.NodeTaints + * @instance + */ + NodeTaints.prototype.taints = $util.emptyArray; + + /** + * Creates a new NodeTaints instance using the specified properties. + * @function create + * @memberof google.container.v1.NodeTaints + * @static + * @param {google.container.v1.INodeTaints=} [properties] Properties to set + * @returns {google.container.v1.NodeTaints} NodeTaints instance + */ + NodeTaints.create = function create(properties) { + return new NodeTaints(properties); + }; + + /** + * Encodes the specified NodeTaints message. Does not implicitly {@link google.container.v1.NodeTaints.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NodeTaints + * @static + * @param {google.container.v1.INodeTaints} message NodeTaints message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeTaints.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.taints != null && message.taints.length) + for (var i = 0; i < message.taints.length; ++i) + $root.google.container.v1.NodeTaint.encode(message.taints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified NodeTaints message, length delimited. Does not implicitly {@link google.container.v1.NodeTaints.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NodeTaints + * @static + * @param {google.container.v1.INodeTaints} message NodeTaints message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeTaints.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NodeTaints message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NodeTaints + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NodeTaints} NodeTaints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeTaints.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NodeTaints(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.taints && message.taints.length)) + message.taints = []; + message.taints.push($root.google.container.v1.NodeTaint.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NodeTaints message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NodeTaints + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NodeTaints} NodeTaints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeTaints.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NodeTaints message. + * @function verify + * @memberof google.container.v1.NodeTaints + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NodeTaints.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.taints != null && message.hasOwnProperty("taints")) { + if (!Array.isArray(message.taints)) + return "taints: array expected"; + for (var i = 0; i < message.taints.length; ++i) { + var error = $root.google.container.v1.NodeTaint.verify(message.taints[i]); + if (error) + return "taints." + error; + } + } + return null; + }; + + /** + * Creates a NodeTaints message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NodeTaints + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NodeTaints} NodeTaints + */ + NodeTaints.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NodeTaints) + return object; + var message = new $root.google.container.v1.NodeTaints(); + if (object.taints) { + if (!Array.isArray(object.taints)) + throw TypeError(".google.container.v1.NodeTaints.taints: array expected"); + message.taints = []; + for (var i = 0; i < object.taints.length; ++i) { + if (typeof object.taints[i] !== "object") + throw TypeError(".google.container.v1.NodeTaints.taints: object expected"); + message.taints[i] = $root.google.container.v1.NodeTaint.fromObject(object.taints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a NodeTaints message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NodeTaints + * @static + * @param {google.container.v1.NodeTaints} message NodeTaints + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NodeTaints.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.taints = []; + if (message.taints && message.taints.length) { + object.taints = []; + for (var j = 0; j < message.taints.length; ++j) + object.taints[j] = $root.google.container.v1.NodeTaint.toObject(message.taints[j], options); + } + return object; + }; + + /** + * Converts this NodeTaints to JSON. + * @function toJSON + * @memberof google.container.v1.NodeTaints + * @instance + * @returns {Object.} JSON object + */ + NodeTaints.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NodeTaints; + })(); + + v1.NodeLabels = (function() { + + /** + * Properties of a NodeLabels. + * @memberof google.container.v1 + * @interface INodeLabels + * @property {Object.|null} [labels] NodeLabels labels + */ + + /** + * Constructs a new NodeLabels. + * @memberof google.container.v1 + * @classdesc Represents a NodeLabels. + * @implements INodeLabels + * @constructor + * @param {google.container.v1.INodeLabels=} [properties] Properties to set + */ + function NodeLabels(properties) { + this.labels = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NodeLabels labels. + * @member {Object.} labels + * @memberof google.container.v1.NodeLabels + * @instance + */ + NodeLabels.prototype.labels = $util.emptyObject; + + /** + * Creates a new NodeLabels instance using the specified properties. + * @function create + * @memberof google.container.v1.NodeLabels + * @static + * @param {google.container.v1.INodeLabels=} [properties] Properties to set + * @returns {google.container.v1.NodeLabels} NodeLabels instance + */ + NodeLabels.create = function create(properties) { + return new NodeLabels(properties); + }; + + /** + * Encodes the specified NodeLabels message. Does not implicitly {@link google.container.v1.NodeLabels.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NodeLabels + * @static + * @param {google.container.v1.INodeLabels} message NodeLabels message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeLabels.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) + for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim(); + return writer; + }; + + /** + * Encodes the specified NodeLabels message, length delimited. Does not implicitly {@link google.container.v1.NodeLabels.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NodeLabels + * @static + * @param {google.container.v1.INodeLabels} message NodeLabels message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeLabels.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NodeLabels message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NodeLabels + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NodeLabels} NodeLabels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeLabels.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NodeLabels(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (message.labels === $util.emptyObject) + message.labels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.labels[key] = value; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NodeLabels message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NodeLabels + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NodeLabels} NodeLabels + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeLabels.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NodeLabels message. + * @function verify + * @memberof google.container.v1.NodeLabels + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NodeLabels.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.labels != null && message.hasOwnProperty("labels")) { + if (!$util.isObject(message.labels)) + return "labels: object expected"; + var key = Object.keys(message.labels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.labels[key[i]])) + return "labels: string{k:string} expected"; + } + return null; + }; + + /** + * Creates a NodeLabels message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NodeLabels + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NodeLabels} NodeLabels + */ + NodeLabels.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NodeLabels) + return object; + var message = new $root.google.container.v1.NodeLabels(); + if (object.labels) { + if (typeof object.labels !== "object") + throw TypeError(".google.container.v1.NodeLabels.labels: object expected"); + message.labels = {}; + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + message.labels[keys[i]] = String(object.labels[keys[i]]); + } + return message; + }; + + /** + * Creates a plain object from a NodeLabels message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NodeLabels + * @static + * @param {google.container.v1.NodeLabels} message NodeLabels + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NodeLabels.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.labels = {}; + var keys2; + if (message.labels && (keys2 = Object.keys(message.labels)).length) { + object.labels = {}; + for (var j = 0; j < keys2.length; ++j) + object.labels[keys2[j]] = message.labels[keys2[j]]; + } + return object; + }; + + /** + * Converts this NodeLabels to JSON. + * @function toJSON + * @memberof google.container.v1.NodeLabels + * @instance + * @returns {Object.} JSON object + */ + NodeLabels.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NodeLabels; + })(); + + v1.NetworkTags = (function() { + + /** + * Properties of a NetworkTags. + * @memberof google.container.v1 + * @interface INetworkTags + * @property {Array.|null} [tags] NetworkTags tags + */ + + /** + * Constructs a new NetworkTags. + * @memberof google.container.v1 + * @classdesc Represents a NetworkTags. + * @implements INetworkTags + * @constructor + * @param {google.container.v1.INetworkTags=} [properties] Properties to set + */ + function NetworkTags(properties) { + this.tags = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NetworkTags tags. + * @member {Array.} tags + * @memberof google.container.v1.NetworkTags + * @instance + */ + NetworkTags.prototype.tags = $util.emptyArray; + + /** + * Creates a new NetworkTags instance using the specified properties. + * @function create + * @memberof google.container.v1.NetworkTags + * @static + * @param {google.container.v1.INetworkTags=} [properties] Properties to set + * @returns {google.container.v1.NetworkTags} NetworkTags instance + */ + NetworkTags.create = function create(properties) { + return new NetworkTags(properties); + }; + + /** + * Encodes the specified NetworkTags message. Does not implicitly {@link google.container.v1.NetworkTags.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NetworkTags + * @static + * @param {google.container.v1.INetworkTags} message NetworkTags message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NetworkTags.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tags != null && message.tags.length) + for (var i = 0; i < message.tags.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.tags[i]); + return writer; + }; + + /** + * Encodes the specified NetworkTags message, length delimited. Does not implicitly {@link google.container.v1.NetworkTags.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NetworkTags + * @static + * @param {google.container.v1.INetworkTags} message NetworkTags message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NetworkTags.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NetworkTags message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NetworkTags + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NetworkTags} NetworkTags + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NetworkTags.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NetworkTags(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.tags && message.tags.length)) + message.tags = []; + message.tags.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NetworkTags message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NetworkTags + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NetworkTags} NetworkTags + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NetworkTags.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NetworkTags message. + * @function verify + * @memberof google.container.v1.NetworkTags + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NetworkTags.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tags != null && message.hasOwnProperty("tags")) { + if (!Array.isArray(message.tags)) + return "tags: array expected"; + for (var i = 0; i < message.tags.length; ++i) + if (!$util.isString(message.tags[i])) + return "tags: string[] expected"; + } + return null; + }; + + /** + * Creates a NetworkTags message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NetworkTags + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NetworkTags} NetworkTags + */ + NetworkTags.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NetworkTags) + return object; + var message = new $root.google.container.v1.NetworkTags(); + if (object.tags) { + if (!Array.isArray(object.tags)) + throw TypeError(".google.container.v1.NetworkTags.tags: array expected"); + message.tags = []; + for (var i = 0; i < object.tags.length; ++i) + message.tags[i] = String(object.tags[i]); + } + return message; + }; + + /** + * Creates a plain object from a NetworkTags message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NetworkTags + * @static + * @param {google.container.v1.NetworkTags} message NetworkTags + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NetworkTags.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tags = []; + if (message.tags && message.tags.length) { + object.tags = []; + for (var j = 0; j < message.tags.length; ++j) + object.tags[j] = message.tags[j]; + } + return object; + }; + + /** + * Converts this NetworkTags to JSON. + * @function toJSON + * @memberof google.container.v1.NetworkTags + * @instance + * @returns {Object.} JSON object + */ + NetworkTags.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NetworkTags; + })(); + v1.MasterAuth = (function() { /** @@ -8369,6 +9399,7 @@ * @memberof google.container.v1 * @interface IBinaryAuthorization * @property {boolean|null} [enabled] BinaryAuthorization enabled + * @property {google.container.v1.BinaryAuthorization.EvaluationMode|null} [evaluationMode] BinaryAuthorization evaluationMode */ /** @@ -8394,6 +9425,14 @@ */ BinaryAuthorization.prototype.enabled = false; + /** + * BinaryAuthorization evaluationMode. + * @member {google.container.v1.BinaryAuthorization.EvaluationMode} evaluationMode + * @memberof google.container.v1.BinaryAuthorization + * @instance + */ + BinaryAuthorization.prototype.evaluationMode = 0; + /** * Creates a new BinaryAuthorization instance using the specified properties. * @function create @@ -8420,6 +9459,8 @@ writer = $Writer.create(); if (message.enabled != null && Object.hasOwnProperty.call(message, "enabled")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enabled); + if (message.evaluationMode != null && Object.hasOwnProperty.call(message, "evaluationMode")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.evaluationMode); return writer; }; @@ -8457,6 +9498,9 @@ case 1: message.enabled = reader.bool(); break; + case 2: + message.evaluationMode = reader.int32(); + break; default: reader.skipType(tag & 7); break; @@ -8495,6 +9539,15 @@ if (message.enabled != null && message.hasOwnProperty("enabled")) if (typeof message.enabled !== "boolean") return "enabled: boolean expected"; + if (message.evaluationMode != null && message.hasOwnProperty("evaluationMode")) + switch (message.evaluationMode) { + default: + return "evaluationMode: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -8512,6 +9565,20 @@ var message = new $root.google.container.v1.BinaryAuthorization(); if (object.enabled != null) message.enabled = Boolean(object.enabled); + switch (object.evaluationMode) { + case "EVALUATION_MODE_UNSPECIFIED": + case 0: + message.evaluationMode = 0; + break; + case "DISABLED": + case 1: + message.evaluationMode = 1; + break; + case "PROJECT_SINGLETON_POLICY_ENFORCE": + case 2: + message.evaluationMode = 2; + break; + } return message; }; @@ -8528,10 +9595,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.enabled = false; + object.evaluationMode = options.enums === String ? "EVALUATION_MODE_UNSPECIFIED" : 0; + } if (message.enabled != null && message.hasOwnProperty("enabled")) object.enabled = message.enabled; + if (message.evaluationMode != null && message.hasOwnProperty("evaluationMode")) + object.evaluationMode = options.enums === String ? $root.google.container.v1.BinaryAuthorization.EvaluationMode[message.evaluationMode] : message.evaluationMode; return object; }; @@ -8546,6 +9617,22 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * EvaluationMode enum. + * @name google.container.v1.BinaryAuthorization.EvaluationMode + * @enum {number} + * @property {number} EVALUATION_MODE_UNSPECIFIED=0 EVALUATION_MODE_UNSPECIFIED value + * @property {number} DISABLED=1 DISABLED value + * @property {number} PROJECT_SINGLETON_POLICY_ENFORCE=2 PROJECT_SINGLETON_POLICY_ENFORCE value + */ + BinaryAuthorization.EvaluationMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "EVALUATION_MODE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DISABLED"] = 1; + values[valuesById[2] = "PROJECT_SINGLETON_POLICY_ENFORCE"] = 2; + return values; + })(); + return BinaryAuthorization; })(); @@ -9043,6 +10130,7 @@ * @property {google.container.v1.IMeshCertificates|null} [meshCertificates] Cluster meshCertificates * @property {google.container.v1.INotificationConfig|null} [notificationConfig] Cluster notificationConfig * @property {google.container.v1.IConfidentialNodes|null} [confidentialNodes] Cluster confidentialNodes + * @property {google.container.v1.IIdentityServiceConfig|null} [identityServiceConfig] Cluster identityServiceConfig * @property {string|null} [selfLink] Cluster selfLink * @property {string|null} [zone] Cluster zone * @property {string|null} [endpoint] Cluster endpoint @@ -9066,6 +10154,7 @@ * @property {google.container.v1.INodePoolDefaults|null} [nodePoolDefaults] Cluster nodePoolDefaults * @property {google.container.v1.ILoggingConfig|null} [loggingConfig] Cluster loggingConfig * @property {google.container.v1.IMonitoringConfig|null} [monitoringConfig] Cluster monitoringConfig + * @property {google.container.v1.INodePoolAutoConfig|null} [nodePoolAutoConfig] Cluster nodePoolAutoConfig */ /** @@ -9376,6 +10465,14 @@ */ Cluster.prototype.confidentialNodes = null; + /** + * Cluster identityServiceConfig. + * @member {google.container.v1.IIdentityServiceConfig|null|undefined} identityServiceConfig + * @memberof google.container.v1.Cluster + * @instance + */ + Cluster.prototype.identityServiceConfig = null; + /** * Cluster selfLink. * @member {string} selfLink @@ -9560,6 +10657,14 @@ */ Cluster.prototype.monitoringConfig = null; + /** + * Cluster nodePoolAutoConfig. + * @member {google.container.v1.INodePoolAutoConfig|null|undefined} nodePoolAutoConfig + * @memberof google.container.v1.Cluster + * @instance + */ + Cluster.prototype.nodePoolAutoConfig = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -9671,6 +10776,8 @@ $root.google.container.v1.NotificationConfig.encode(message.notificationConfig, writer.uint32(/* id 49, wireType 2 =*/394).fork()).ldelim(); if (message.confidentialNodes != null && Object.hasOwnProperty.call(message, "confidentialNodes")) $root.google.container.v1.ConfidentialNodes.encode(message.confidentialNodes, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); + if (message.identityServiceConfig != null && Object.hasOwnProperty.call(message, "identityServiceConfig")) + $root.google.container.v1.IdentityServiceConfig.encode(message.identityServiceConfig, writer.uint32(/* id 54, wireType 2 =*/434).fork()).ldelim(); if (message.meshCertificates != null && Object.hasOwnProperty.call(message, "meshCertificates")) $root.google.container.v1.MeshCertificates.encode(message.meshCertificates, writer.uint32(/* id 67, wireType 2 =*/538).fork()).ldelim(); if (message.selfLink != null && Object.hasOwnProperty.call(message, "selfLink")) @@ -9721,6 +10828,8 @@ $root.google.container.v1.LoggingConfig.encode(message.loggingConfig, writer.uint32(/* id 132, wireType 2 =*/1058).fork()).ldelim(); if (message.monitoringConfig != null && Object.hasOwnProperty.call(message, "monitoringConfig")) $root.google.container.v1.MonitoringConfig.encode(message.monitoringConfig, writer.uint32(/* id 133, wireType 2 =*/1066).fork()).ldelim(); + if (message.nodePoolAutoConfig != null && Object.hasOwnProperty.call(message, "nodePoolAutoConfig")) + $root.google.container.v1.NodePoolAutoConfig.encode(message.nodePoolAutoConfig, writer.uint32(/* id 136, wireType 2 =*/1090).fork()).ldelim(); return writer; }; @@ -9886,6 +10995,9 @@ case 50: message.confidentialNodes = $root.google.container.v1.ConfidentialNodes.decode(reader, reader.uint32()); break; + case 54: + message.identityServiceConfig = $root.google.container.v1.IdentityServiceConfig.decode(reader, reader.uint32()); + break; case 100: message.selfLink = reader.string(); break; @@ -9959,6 +11071,9 @@ case 133: message.monitoringConfig = $root.google.container.v1.MonitoringConfig.decode(reader, reader.uint32()); break; + case 136: + message.nodePoolAutoConfig = $root.google.container.v1.NodePoolAutoConfig.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -10164,6 +11279,11 @@ if (error) return "confidentialNodes." + error; } + if (message.identityServiceConfig != null && message.hasOwnProperty("identityServiceConfig")) { + var error = $root.google.container.v1.IdentityServiceConfig.verify(message.identityServiceConfig); + if (error) + return "identityServiceConfig." + error; + } if (message.selfLink != null && message.hasOwnProperty("selfLink")) if (!$util.isString(message.selfLink)) return "selfLink: string expected"; @@ -10264,6 +11384,11 @@ if (error) return "monitoringConfig." + error; } + if (message.nodePoolAutoConfig != null && message.hasOwnProperty("nodePoolAutoConfig")) { + var error = $root.google.container.v1.NodePoolAutoConfig.verify(message.nodePoolAutoConfig); + if (error) + return "nodePoolAutoConfig." + error; + } return null; }; @@ -10438,6 +11563,11 @@ throw TypeError(".google.container.v1.Cluster.confidentialNodes: object expected"); message.confidentialNodes = $root.google.container.v1.ConfidentialNodes.fromObject(object.confidentialNodes); } + if (object.identityServiceConfig != null) { + if (typeof object.identityServiceConfig !== "object") + throw TypeError(".google.container.v1.Cluster.identityServiceConfig: object expected"); + message.identityServiceConfig = $root.google.container.v1.IdentityServiceConfig.fromObject(object.identityServiceConfig); + } if (object.selfLink != null) message.selfLink = String(object.selfLink); if (object.zone != null) @@ -10537,6 +11667,11 @@ throw TypeError(".google.container.v1.Cluster.monitoringConfig: object expected"); message.monitoringConfig = $root.google.container.v1.MonitoringConfig.fromObject(object.monitoringConfig); } + if (object.nodePoolAutoConfig != null) { + if (typeof object.nodePoolAutoConfig !== "object") + throw TypeError(".google.container.v1.Cluster.nodePoolAutoConfig: object expected"); + message.nodePoolAutoConfig = $root.google.container.v1.NodePoolAutoConfig.fromObject(object.nodePoolAutoConfig); + } return message; }; @@ -10594,6 +11729,7 @@ object.workloadIdentityConfig = null; object.notificationConfig = null; object.confidentialNodes = null; + object.identityServiceConfig = null; object.meshCertificates = null; object.selfLink = ""; object.zone = ""; @@ -10615,6 +11751,7 @@ object.id = ""; object.loggingConfig = null; object.monitoringConfig = null; + object.nodePoolAutoConfig = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -10696,6 +11833,8 @@ object.notificationConfig = $root.google.container.v1.NotificationConfig.toObject(message.notificationConfig, options); if (message.confidentialNodes != null && message.hasOwnProperty("confidentialNodes")) object.confidentialNodes = $root.google.container.v1.ConfidentialNodes.toObject(message.confidentialNodes, options); + if (message.identityServiceConfig != null && message.hasOwnProperty("identityServiceConfig")) + object.identityServiceConfig = $root.google.container.v1.IdentityServiceConfig.toObject(message.identityServiceConfig, options); if (message.meshCertificates != null && message.hasOwnProperty("meshCertificates")) object.meshCertificates = $root.google.container.v1.MeshCertificates.toObject(message.meshCertificates, options); if (message.selfLink != null && message.hasOwnProperty("selfLink")) @@ -10753,6 +11892,8 @@ object.loggingConfig = $root.google.container.v1.LoggingConfig.toObject(message.loggingConfig, options); if (message.monitoringConfig != null && message.hasOwnProperty("monitoringConfig")) object.monitoringConfig = $root.google.container.v1.MonitoringConfig.toObject(message.monitoringConfig, options); + if (message.nodePoolAutoConfig != null && message.hasOwnProperty("nodePoolAutoConfig")) + object.nodePoolAutoConfig = $root.google.container.v1.NodePoolAutoConfig.toObject(message.nodePoolAutoConfig, options); return object; }; @@ -10794,6 +11935,198 @@ return Cluster; })(); + v1.NodePoolAutoConfig = (function() { + + /** + * Properties of a NodePoolAutoConfig. + * @memberof google.container.v1 + * @interface INodePoolAutoConfig + * @property {google.container.v1.INetworkTags|null} [networkTags] NodePoolAutoConfig networkTags + */ + + /** + * Constructs a new NodePoolAutoConfig. + * @memberof google.container.v1 + * @classdesc Represents a NodePoolAutoConfig. + * @implements INodePoolAutoConfig + * @constructor + * @param {google.container.v1.INodePoolAutoConfig=} [properties] Properties to set + */ + function NodePoolAutoConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NodePoolAutoConfig networkTags. + * @member {google.container.v1.INetworkTags|null|undefined} networkTags + * @memberof google.container.v1.NodePoolAutoConfig + * @instance + */ + NodePoolAutoConfig.prototype.networkTags = null; + + /** + * Creates a new NodePoolAutoConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {google.container.v1.INodePoolAutoConfig=} [properties] Properties to set + * @returns {google.container.v1.NodePoolAutoConfig} NodePoolAutoConfig instance + */ + NodePoolAutoConfig.create = function create(properties) { + return new NodePoolAutoConfig(properties); + }; + + /** + * Encodes the specified NodePoolAutoConfig message. Does not implicitly {@link google.container.v1.NodePoolAutoConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {google.container.v1.INodePoolAutoConfig} message NodePoolAutoConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodePoolAutoConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.networkTags != null && Object.hasOwnProperty.call(message, "networkTags")) + $root.google.container.v1.NetworkTags.encode(message.networkTags, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified NodePoolAutoConfig message, length delimited. Does not implicitly {@link google.container.v1.NodePoolAutoConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {google.container.v1.INodePoolAutoConfig} message NodePoolAutoConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodePoolAutoConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NodePoolAutoConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NodePoolAutoConfig} NodePoolAutoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodePoolAutoConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NodePoolAutoConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.networkTags = $root.google.container.v1.NetworkTags.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NodePoolAutoConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NodePoolAutoConfig} NodePoolAutoConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodePoolAutoConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NodePoolAutoConfig message. + * @function verify + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NodePoolAutoConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.networkTags != null && message.hasOwnProperty("networkTags")) { + var error = $root.google.container.v1.NetworkTags.verify(message.networkTags); + if (error) + return "networkTags." + error; + } + return null; + }; + + /** + * Creates a NodePoolAutoConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NodePoolAutoConfig} NodePoolAutoConfig + */ + NodePoolAutoConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NodePoolAutoConfig) + return object; + var message = new $root.google.container.v1.NodePoolAutoConfig(); + if (object.networkTags != null) { + if (typeof object.networkTags !== "object") + throw TypeError(".google.container.v1.NodePoolAutoConfig.networkTags: object expected"); + message.networkTags = $root.google.container.v1.NetworkTags.fromObject(object.networkTags); + } + return message; + }; + + /** + * Creates a plain object from a NodePoolAutoConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NodePoolAutoConfig + * @static + * @param {google.container.v1.NodePoolAutoConfig} message NodePoolAutoConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NodePoolAutoConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.networkTags = null; + if (message.networkTags != null && message.hasOwnProperty("networkTags")) + object.networkTags = $root.google.container.v1.NetworkTags.toObject(message.networkTags, options); + return object; + }; + + /** + * Converts this NodePoolAutoConfig to JSON. + * @function toJSON + * @memberof google.container.v1.NodePoolAutoConfig + * @instance + * @returns {Object.} JSON object + */ + NodePoolAutoConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NodePoolAutoConfig; + })(); + v1.NodePoolDefaults = (function() { /** @@ -11213,9 +12546,11 @@ * @property {google.container.v1.IAuthenticatorGroupsConfig|null} [desiredAuthenticatorGroupsConfig] ClusterUpdate desiredAuthenticatorGroupsConfig * @property {google.container.v1.ILoggingConfig|null} [desiredLoggingConfig] ClusterUpdate desiredLoggingConfig * @property {google.container.v1.IMonitoringConfig|null} [desiredMonitoringConfig] ClusterUpdate desiredMonitoringConfig + * @property {google.container.v1.IIdentityServiceConfig|null} [desiredIdentityServiceConfig] ClusterUpdate desiredIdentityServiceConfig * @property {google.container.v1.IServiceExternalIPsConfig|null} [desiredServiceExternalIpsConfig] ClusterUpdate desiredServiceExternalIpsConfig * @property {string|null} [desiredMasterVersion] ClusterUpdate desiredMasterVersion * @property {google.container.v1.IGcfsConfig|null} [desiredGcfsConfig] ClusterUpdate desiredGcfsConfig + * @property {google.container.v1.INetworkTags|null} [desiredNodePoolAutoConfigNetworkTags] ClusterUpdate desiredNodePoolAutoConfigNetworkTags */ /** @@ -11466,6 +12801,14 @@ */ ClusterUpdate.prototype.desiredMonitoringConfig = null; + /** + * ClusterUpdate desiredIdentityServiceConfig. + * @member {google.container.v1.IIdentityServiceConfig|null|undefined} desiredIdentityServiceConfig + * @memberof google.container.v1.ClusterUpdate + * @instance + */ + ClusterUpdate.prototype.desiredIdentityServiceConfig = null; + /** * ClusterUpdate desiredServiceExternalIpsConfig. * @member {google.container.v1.IServiceExternalIPsConfig|null|undefined} desiredServiceExternalIpsConfig @@ -11490,6 +12833,14 @@ */ ClusterUpdate.prototype.desiredGcfsConfig = null; + /** + * ClusterUpdate desiredNodePoolAutoConfigNetworkTags. + * @member {google.container.v1.INetworkTags|null|undefined} desiredNodePoolAutoConfigNetworkTags + * @memberof google.container.v1.ClusterUpdate + * @instance + */ + ClusterUpdate.prototype.desiredNodePoolAutoConfigNetworkTags = null; + /** * Creates a new ClusterUpdate instance using the specified properties. * @function create @@ -11573,12 +12924,16 @@ $root.google.container.v1.LoggingConfig.encode(message.desiredLoggingConfig, writer.uint32(/* id 64, wireType 2 =*/514).fork()).ldelim(); if (message.desiredMonitoringConfig != null && Object.hasOwnProperty.call(message, "desiredMonitoringConfig")) $root.google.container.v1.MonitoringConfig.encode(message.desiredMonitoringConfig, writer.uint32(/* id 65, wireType 2 =*/522).fork()).ldelim(); + if (message.desiredIdentityServiceConfig != null && Object.hasOwnProperty.call(message, "desiredIdentityServiceConfig")) + $root.google.container.v1.IdentityServiceConfig.encode(message.desiredIdentityServiceConfig, writer.uint32(/* id 66, wireType 2 =*/530).fork()).ldelim(); if (message.desiredMeshCertificates != null && Object.hasOwnProperty.call(message, "desiredMeshCertificates")) $root.google.container.v1.MeshCertificates.encode(message.desiredMeshCertificates, writer.uint32(/* id 67, wireType 2 =*/538).fork()).ldelim(); if (message.desiredMasterVersion != null && Object.hasOwnProperty.call(message, "desiredMasterVersion")) writer.uint32(/* id 100, wireType 2 =*/802).string(message.desiredMasterVersion); if (message.desiredGcfsConfig != null && Object.hasOwnProperty.call(message, "desiredGcfsConfig")) $root.google.container.v1.GcfsConfig.encode(message.desiredGcfsConfig, writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim(); + if (message.desiredNodePoolAutoConfigNetworkTags != null && Object.hasOwnProperty.call(message, "desiredNodePoolAutoConfigNetworkTags")) + $root.google.container.v1.NetworkTags.encode(message.desiredNodePoolAutoConfigNetworkTags, writer.uint32(/* id 110, wireType 2 =*/882).fork()).ldelim(); return writer; }; @@ -11702,6 +13057,9 @@ case 65: message.desiredMonitoringConfig = $root.google.container.v1.MonitoringConfig.decode(reader, reader.uint32()); break; + case 66: + message.desiredIdentityServiceConfig = $root.google.container.v1.IdentityServiceConfig.decode(reader, reader.uint32()); + break; case 60: message.desiredServiceExternalIpsConfig = $root.google.container.v1.ServiceExternalIPsConfig.decode(reader, reader.uint32()); break; @@ -11711,6 +13069,9 @@ case 109: message.desiredGcfsConfig = $root.google.container.v1.GcfsConfig.decode(reader, reader.uint32()); break; + case 110: + message.desiredNodePoolAutoConfigNetworkTags = $root.google.container.v1.NetworkTags.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -11892,6 +13253,11 @@ if (error) return "desiredMonitoringConfig." + error; } + if (message.desiredIdentityServiceConfig != null && message.hasOwnProperty("desiredIdentityServiceConfig")) { + var error = $root.google.container.v1.IdentityServiceConfig.verify(message.desiredIdentityServiceConfig); + if (error) + return "desiredIdentityServiceConfig." + error; + } if (message.desiredServiceExternalIpsConfig != null && message.hasOwnProperty("desiredServiceExternalIpsConfig")) { var error = $root.google.container.v1.ServiceExternalIPsConfig.verify(message.desiredServiceExternalIpsConfig); if (error) @@ -11905,6 +13271,11 @@ if (error) return "desiredGcfsConfig." + error; } + if (message.desiredNodePoolAutoConfigNetworkTags != null && message.hasOwnProperty("desiredNodePoolAutoConfigNetworkTags")) { + var error = $root.google.container.v1.NetworkTags.verify(message.desiredNodePoolAutoConfigNetworkTags); + if (error) + return "desiredNodePoolAutoConfigNetworkTags." + error; + } return null; }; @@ -12074,6 +13445,11 @@ throw TypeError(".google.container.v1.ClusterUpdate.desiredMonitoringConfig: object expected"); message.desiredMonitoringConfig = $root.google.container.v1.MonitoringConfig.fromObject(object.desiredMonitoringConfig); } + if (object.desiredIdentityServiceConfig != null) { + if (typeof object.desiredIdentityServiceConfig !== "object") + throw TypeError(".google.container.v1.ClusterUpdate.desiredIdentityServiceConfig: object expected"); + message.desiredIdentityServiceConfig = $root.google.container.v1.IdentityServiceConfig.fromObject(object.desiredIdentityServiceConfig); + } if (object.desiredServiceExternalIpsConfig != null) { if (typeof object.desiredServiceExternalIpsConfig !== "object") throw TypeError(".google.container.v1.ClusterUpdate.desiredServiceExternalIpsConfig: object expected"); @@ -12086,6 +13462,11 @@ throw TypeError(".google.container.v1.ClusterUpdate.desiredGcfsConfig: object expected"); message.desiredGcfsConfig = $root.google.container.v1.GcfsConfig.fromObject(object.desiredGcfsConfig); } + if (object.desiredNodePoolAutoConfigNetworkTags != null) { + if (typeof object.desiredNodePoolAutoConfigNetworkTags !== "object") + throw TypeError(".google.container.v1.ClusterUpdate.desiredNodePoolAutoConfigNetworkTags: object expected"); + message.desiredNodePoolAutoConfigNetworkTags = $root.google.container.v1.NetworkTags.fromObject(object.desiredNodePoolAutoConfigNetworkTags); + } return message; }; @@ -12133,9 +13514,11 @@ object.desiredAuthenticatorGroupsConfig = null; object.desiredLoggingConfig = null; object.desiredMonitoringConfig = null; + object.desiredIdentityServiceConfig = null; object.desiredMeshCertificates = null; object.desiredMasterVersion = ""; object.desiredGcfsConfig = null; + object.desiredNodePoolAutoConfigNetworkTags = null; } if (message.desiredNodeVersion != null && message.hasOwnProperty("desiredNodeVersion")) object.desiredNodeVersion = message.desiredNodeVersion; @@ -12198,12 +13581,16 @@ object.desiredLoggingConfig = $root.google.container.v1.LoggingConfig.toObject(message.desiredLoggingConfig, options); if (message.desiredMonitoringConfig != null && message.hasOwnProperty("desiredMonitoringConfig")) object.desiredMonitoringConfig = $root.google.container.v1.MonitoringConfig.toObject(message.desiredMonitoringConfig, options); + if (message.desiredIdentityServiceConfig != null && message.hasOwnProperty("desiredIdentityServiceConfig")) + object.desiredIdentityServiceConfig = $root.google.container.v1.IdentityServiceConfig.toObject(message.desiredIdentityServiceConfig, options); if (message.desiredMeshCertificates != null && message.hasOwnProperty("desiredMeshCertificates")) object.desiredMeshCertificates = $root.google.container.v1.MeshCertificates.toObject(message.desiredMeshCertificates, options); if (message.desiredMasterVersion != null && message.hasOwnProperty("desiredMasterVersion")) object.desiredMasterVersion = message.desiredMasterVersion; if (message.desiredGcfsConfig != null && message.hasOwnProperty("desiredGcfsConfig")) object.desiredGcfsConfig = $root.google.container.v1.GcfsConfig.toObject(message.desiredGcfsConfig, options); + if (message.desiredNodePoolAutoConfigNetworkTags != null && message.hasOwnProperty("desiredNodePoolAutoConfigNetworkTags")) + object.desiredNodePoolAutoConfigNetworkTags = $root.google.container.v1.NetworkTags.toObject(message.desiredNodePoolAutoConfigNetworkTags, options); return object; }; @@ -14381,9 +15768,14 @@ * @property {Array.|null} [locations] UpdateNodePoolRequest locations * @property {google.container.v1.IWorkloadMetadataConfig|null} [workloadMetadataConfig] UpdateNodePoolRequest workloadMetadataConfig * @property {google.container.v1.NodePool.IUpgradeSettings|null} [upgradeSettings] UpdateNodePoolRequest upgradeSettings + * @property {google.container.v1.INetworkTags|null} [tags] UpdateNodePoolRequest tags + * @property {google.container.v1.INodeTaints|null} [taints] UpdateNodePoolRequest taints + * @property {google.container.v1.INodeLabels|null} [labels] UpdateNodePoolRequest labels * @property {google.container.v1.ILinuxNodeConfig|null} [linuxNodeConfig] UpdateNodePoolRequest linuxNodeConfig * @property {google.container.v1.INodeKubeletConfig|null} [kubeletConfig] UpdateNodePoolRequest kubeletConfig + * @property {google.container.v1.INodeNetworkConfig|null} [nodeNetworkConfig] UpdateNodePoolRequest nodeNetworkConfig * @property {google.container.v1.IGcfsConfig|null} [gcfsConfig] UpdateNodePoolRequest gcfsConfig + * @property {google.container.v1.IConfidentialNodes|null} [confidentialNodes] UpdateNodePoolRequest confidentialNodes * @property {google.container.v1.IVirtualNIC|null} [gvnic] UpdateNodePoolRequest gvnic */ @@ -14483,6 +15875,30 @@ */ UpdateNodePoolRequest.prototype.upgradeSettings = null; + /** + * UpdateNodePoolRequest tags. + * @member {google.container.v1.INetworkTags|null|undefined} tags + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.tags = null; + + /** + * UpdateNodePoolRequest taints. + * @member {google.container.v1.INodeTaints|null|undefined} taints + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.taints = null; + + /** + * UpdateNodePoolRequest labels. + * @member {google.container.v1.INodeLabels|null|undefined} labels + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.labels = null; + /** * UpdateNodePoolRequest linuxNodeConfig. * @member {google.container.v1.ILinuxNodeConfig|null|undefined} linuxNodeConfig @@ -14499,6 +15915,14 @@ */ UpdateNodePoolRequest.prototype.kubeletConfig = null; + /** + * UpdateNodePoolRequest nodeNetworkConfig. + * @member {google.container.v1.INodeNetworkConfig|null|undefined} nodeNetworkConfig + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.nodeNetworkConfig = null; + /** * UpdateNodePoolRequest gcfsConfig. * @member {google.container.v1.IGcfsConfig|null|undefined} gcfsConfig @@ -14507,6 +15931,14 @@ */ UpdateNodePoolRequest.prototype.gcfsConfig = null; + /** + * UpdateNodePoolRequest confidentialNodes. + * @member {google.container.v1.IConfidentialNodes|null|undefined} confidentialNodes + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.confidentialNodes = null; + /** * UpdateNodePoolRequest gvnic. * @member {google.container.v1.IVirtualNIC|null|undefined} gvnic @@ -14560,12 +15992,22 @@ $root.google.container.v1.WorkloadMetadataConfig.encode(message.workloadMetadataConfig, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.upgradeSettings != null && Object.hasOwnProperty.call(message, "upgradeSettings")) $root.google.container.v1.NodePool.UpgradeSettings.encode(message.upgradeSettings, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); + if (message.tags != null && Object.hasOwnProperty.call(message, "tags")) + $root.google.container.v1.NetworkTags.encode(message.tags, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); + if (message.taints != null && Object.hasOwnProperty.call(message, "taints")) + $root.google.container.v1.NodeTaints.encode(message.taints, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); + if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) + $root.google.container.v1.NodeLabels.encode(message.labels, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.linuxNodeConfig != null && Object.hasOwnProperty.call(message, "linuxNodeConfig")) $root.google.container.v1.LinuxNodeConfig.encode(message.linuxNodeConfig, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); if (message.kubeletConfig != null && Object.hasOwnProperty.call(message, "kubeletConfig")) $root.google.container.v1.NodeKubeletConfig.encode(message.kubeletConfig, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); + if (message.nodeNetworkConfig != null && Object.hasOwnProperty.call(message, "nodeNetworkConfig")) + $root.google.container.v1.NodeNetworkConfig.encode(message.nodeNetworkConfig, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.gcfsConfig != null && Object.hasOwnProperty.call(message, "gcfsConfig")) $root.google.container.v1.GcfsConfig.encode(message.gcfsConfig, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.confidentialNodes != null && Object.hasOwnProperty.call(message, "confidentialNodes")) + $root.google.container.v1.ConfidentialNodes.encode(message.confidentialNodes, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); if (message.gvnic != null && Object.hasOwnProperty.call(message, "gvnic")) $root.google.container.v1.VirtualNIC.encode(message.gvnic, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); return writer; @@ -14634,15 +16076,30 @@ case 15: message.upgradeSettings = $root.google.container.v1.NodePool.UpgradeSettings.decode(reader, reader.uint32()); break; + case 16: + message.tags = $root.google.container.v1.NetworkTags.decode(reader, reader.uint32()); + break; + case 17: + message.taints = $root.google.container.v1.NodeTaints.decode(reader, reader.uint32()); + break; + case 18: + message.labels = $root.google.container.v1.NodeLabels.decode(reader, reader.uint32()); + break; case 19: message.linuxNodeConfig = $root.google.container.v1.LinuxNodeConfig.decode(reader, reader.uint32()); break; case 20: message.kubeletConfig = $root.google.container.v1.NodeKubeletConfig.decode(reader, reader.uint32()); break; + case 21: + message.nodeNetworkConfig = $root.google.container.v1.NodeNetworkConfig.decode(reader, reader.uint32()); + break; case 22: message.gcfsConfig = $root.google.container.v1.GcfsConfig.decode(reader, reader.uint32()); break; + case 23: + message.confidentialNodes = $root.google.container.v1.ConfidentialNodes.decode(reader, reader.uint32()); + break; case 29: message.gvnic = $root.google.container.v1.VirtualNIC.decode(reader, reader.uint32()); break; @@ -14719,6 +16176,21 @@ if (error) return "upgradeSettings." + error; } + if (message.tags != null && message.hasOwnProperty("tags")) { + var error = $root.google.container.v1.NetworkTags.verify(message.tags); + if (error) + return "tags." + error; + } + if (message.taints != null && message.hasOwnProperty("taints")) { + var error = $root.google.container.v1.NodeTaints.verify(message.taints); + if (error) + return "taints." + error; + } + if (message.labels != null && message.hasOwnProperty("labels")) { + var error = $root.google.container.v1.NodeLabels.verify(message.labels); + if (error) + return "labels." + error; + } if (message.linuxNodeConfig != null && message.hasOwnProperty("linuxNodeConfig")) { var error = $root.google.container.v1.LinuxNodeConfig.verify(message.linuxNodeConfig); if (error) @@ -14729,11 +16201,21 @@ if (error) return "kubeletConfig." + error; } + if (message.nodeNetworkConfig != null && message.hasOwnProperty("nodeNetworkConfig")) { + var error = $root.google.container.v1.NodeNetworkConfig.verify(message.nodeNetworkConfig); + if (error) + return "nodeNetworkConfig." + error; + } if (message.gcfsConfig != null && message.hasOwnProperty("gcfsConfig")) { var error = $root.google.container.v1.GcfsConfig.verify(message.gcfsConfig); if (error) return "gcfsConfig." + error; } + if (message.confidentialNodes != null && message.hasOwnProperty("confidentialNodes")) { + var error = $root.google.container.v1.ConfidentialNodes.verify(message.confidentialNodes); + if (error) + return "confidentialNodes." + error; + } if (message.gvnic != null && message.hasOwnProperty("gvnic")) { var error = $root.google.container.v1.VirtualNIC.verify(message.gvnic); if (error) @@ -14785,6 +16267,21 @@ throw TypeError(".google.container.v1.UpdateNodePoolRequest.upgradeSettings: object expected"); message.upgradeSettings = $root.google.container.v1.NodePool.UpgradeSettings.fromObject(object.upgradeSettings); } + if (object.tags != null) { + if (typeof object.tags !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.tags: object expected"); + message.tags = $root.google.container.v1.NetworkTags.fromObject(object.tags); + } + if (object.taints != null) { + if (typeof object.taints !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.taints: object expected"); + message.taints = $root.google.container.v1.NodeTaints.fromObject(object.taints); + } + if (object.labels != null) { + if (typeof object.labels !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.labels: object expected"); + message.labels = $root.google.container.v1.NodeLabels.fromObject(object.labels); + } if (object.linuxNodeConfig != null) { if (typeof object.linuxNodeConfig !== "object") throw TypeError(".google.container.v1.UpdateNodePoolRequest.linuxNodeConfig: object expected"); @@ -14795,11 +16292,21 @@ throw TypeError(".google.container.v1.UpdateNodePoolRequest.kubeletConfig: object expected"); message.kubeletConfig = $root.google.container.v1.NodeKubeletConfig.fromObject(object.kubeletConfig); } + if (object.nodeNetworkConfig != null) { + if (typeof object.nodeNetworkConfig !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.nodeNetworkConfig: object expected"); + message.nodeNetworkConfig = $root.google.container.v1.NodeNetworkConfig.fromObject(object.nodeNetworkConfig); + } if (object.gcfsConfig != null) { if (typeof object.gcfsConfig !== "object") throw TypeError(".google.container.v1.UpdateNodePoolRequest.gcfsConfig: object expected"); message.gcfsConfig = $root.google.container.v1.GcfsConfig.fromObject(object.gcfsConfig); } + if (object.confidentialNodes != null) { + if (typeof object.confidentialNodes !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.confidentialNodes: object expected"); + message.confidentialNodes = $root.google.container.v1.ConfidentialNodes.fromObject(object.confidentialNodes); + } if (object.gvnic != null) { if (typeof object.gvnic !== "object") throw TypeError(".google.container.v1.UpdateNodePoolRequest.gvnic: object expected"); @@ -14833,9 +16340,14 @@ object.name = ""; object.workloadMetadataConfig = null; object.upgradeSettings = null; + object.tags = null; + object.taints = null; + object.labels = null; object.linuxNodeConfig = null; object.kubeletConfig = null; + object.nodeNetworkConfig = null; object.gcfsConfig = null; + object.confidentialNodes = null; object.gvnic = null; } if (message.projectId != null && message.hasOwnProperty("projectId")) @@ -14861,12 +16373,22 @@ object.workloadMetadataConfig = $root.google.container.v1.WorkloadMetadataConfig.toObject(message.workloadMetadataConfig, options); if (message.upgradeSettings != null && message.hasOwnProperty("upgradeSettings")) object.upgradeSettings = $root.google.container.v1.NodePool.UpgradeSettings.toObject(message.upgradeSettings, options); + if (message.tags != null && message.hasOwnProperty("tags")) + object.tags = $root.google.container.v1.NetworkTags.toObject(message.tags, options); + if (message.taints != null && message.hasOwnProperty("taints")) + object.taints = $root.google.container.v1.NodeTaints.toObject(message.taints, options); + if (message.labels != null && message.hasOwnProperty("labels")) + object.labels = $root.google.container.v1.NodeLabels.toObject(message.labels, options); if (message.linuxNodeConfig != null && message.hasOwnProperty("linuxNodeConfig")) object.linuxNodeConfig = $root.google.container.v1.LinuxNodeConfig.toObject(message.linuxNodeConfig, options); if (message.kubeletConfig != null && message.hasOwnProperty("kubeletConfig")) object.kubeletConfig = $root.google.container.v1.NodeKubeletConfig.toObject(message.kubeletConfig, options); + if (message.nodeNetworkConfig != null && message.hasOwnProperty("nodeNetworkConfig")) + object.nodeNetworkConfig = $root.google.container.v1.NodeNetworkConfig.toObject(message.nodeNetworkConfig, options); if (message.gcfsConfig != null && message.hasOwnProperty("gcfsConfig")) object.gcfsConfig = $root.google.container.v1.GcfsConfig.toObject(message.gcfsConfig, options); + if (message.confidentialNodes != null && message.hasOwnProperty("confidentialNodes")) + object.confidentialNodes = $root.google.container.v1.ConfidentialNodes.toObject(message.confidentialNodes, options); if (message.gvnic != null && message.hasOwnProperty("gvnic")) object.gvnic = $root.google.container.v1.VirtualNIC.toObject(message.gvnic, options); return object; @@ -20615,6 +22137,536 @@ return GetNodePoolRequest; })(); + v1.BlueGreenSettings = (function() { + + /** + * Properties of a BlueGreenSettings. + * @memberof google.container.v1 + * @interface IBlueGreenSettings + * @property {google.container.v1.BlueGreenSettings.IStandardRolloutPolicy|null} [standardRolloutPolicy] BlueGreenSettings standardRolloutPolicy + * @property {google.protobuf.IDuration|null} [nodePoolSoakDuration] BlueGreenSettings nodePoolSoakDuration + */ + + /** + * Constructs a new BlueGreenSettings. + * @memberof google.container.v1 + * @classdesc Represents a BlueGreenSettings. + * @implements IBlueGreenSettings + * @constructor + * @param {google.container.v1.IBlueGreenSettings=} [properties] Properties to set + */ + function BlueGreenSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlueGreenSettings standardRolloutPolicy. + * @member {google.container.v1.BlueGreenSettings.IStandardRolloutPolicy|null|undefined} standardRolloutPolicy + * @memberof google.container.v1.BlueGreenSettings + * @instance + */ + BlueGreenSettings.prototype.standardRolloutPolicy = null; + + /** + * BlueGreenSettings nodePoolSoakDuration. + * @member {google.protobuf.IDuration|null|undefined} nodePoolSoakDuration + * @memberof google.container.v1.BlueGreenSettings + * @instance + */ + BlueGreenSettings.prototype.nodePoolSoakDuration = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * BlueGreenSettings rolloutPolicy. + * @member {"standardRolloutPolicy"|undefined} rolloutPolicy + * @memberof google.container.v1.BlueGreenSettings + * @instance + */ + Object.defineProperty(BlueGreenSettings.prototype, "rolloutPolicy", { + get: $util.oneOfGetter($oneOfFields = ["standardRolloutPolicy"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * BlueGreenSettings _nodePoolSoakDuration. + * @member {"nodePoolSoakDuration"|undefined} _nodePoolSoakDuration + * @memberof google.container.v1.BlueGreenSettings + * @instance + */ + Object.defineProperty(BlueGreenSettings.prototype, "_nodePoolSoakDuration", { + get: $util.oneOfGetter($oneOfFields = ["nodePoolSoakDuration"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new BlueGreenSettings instance using the specified properties. + * @function create + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {google.container.v1.IBlueGreenSettings=} [properties] Properties to set + * @returns {google.container.v1.BlueGreenSettings} BlueGreenSettings instance + */ + BlueGreenSettings.create = function create(properties) { + return new BlueGreenSettings(properties); + }; + + /** + * Encodes the specified BlueGreenSettings message. Does not implicitly {@link google.container.v1.BlueGreenSettings.verify|verify} messages. + * @function encode + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {google.container.v1.IBlueGreenSettings} message BlueGreenSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlueGreenSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.standardRolloutPolicy != null && Object.hasOwnProperty.call(message, "standardRolloutPolicy")) + $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy.encode(message.standardRolloutPolicy, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nodePoolSoakDuration != null && Object.hasOwnProperty.call(message, "nodePoolSoakDuration")) + $root.google.protobuf.Duration.encode(message.nodePoolSoakDuration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BlueGreenSettings message, length delimited. Does not implicitly {@link google.container.v1.BlueGreenSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {google.container.v1.IBlueGreenSettings} message BlueGreenSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlueGreenSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlueGreenSettings message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.BlueGreenSettings} BlueGreenSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlueGreenSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.BlueGreenSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.standardRolloutPolicy = $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy.decode(reader, reader.uint32()); + break; + case 2: + message.nodePoolSoakDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlueGreenSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.BlueGreenSettings} BlueGreenSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlueGreenSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlueGreenSettings message. + * @function verify + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlueGreenSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.standardRolloutPolicy != null && message.hasOwnProperty("standardRolloutPolicy")) { + properties.rolloutPolicy = 1; + { + var error = $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy.verify(message.standardRolloutPolicy); + if (error) + return "standardRolloutPolicy." + error; + } + } + if (message.nodePoolSoakDuration != null && message.hasOwnProperty("nodePoolSoakDuration")) { + properties._nodePoolSoakDuration = 1; + { + var error = $root.google.protobuf.Duration.verify(message.nodePoolSoakDuration); + if (error) + return "nodePoolSoakDuration." + error; + } + } + return null; + }; + + /** + * Creates a BlueGreenSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.BlueGreenSettings} BlueGreenSettings + */ + BlueGreenSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.BlueGreenSettings) + return object; + var message = new $root.google.container.v1.BlueGreenSettings(); + if (object.standardRolloutPolicy != null) { + if (typeof object.standardRolloutPolicy !== "object") + throw TypeError(".google.container.v1.BlueGreenSettings.standardRolloutPolicy: object expected"); + message.standardRolloutPolicy = $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy.fromObject(object.standardRolloutPolicy); + } + if (object.nodePoolSoakDuration != null) { + if (typeof object.nodePoolSoakDuration !== "object") + throw TypeError(".google.container.v1.BlueGreenSettings.nodePoolSoakDuration: object expected"); + message.nodePoolSoakDuration = $root.google.protobuf.Duration.fromObject(object.nodePoolSoakDuration); + } + return message; + }; + + /** + * Creates a plain object from a BlueGreenSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.BlueGreenSettings + * @static + * @param {google.container.v1.BlueGreenSettings} message BlueGreenSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlueGreenSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.standardRolloutPolicy != null && message.hasOwnProperty("standardRolloutPolicy")) { + object.standardRolloutPolicy = $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy.toObject(message.standardRolloutPolicy, options); + if (options.oneofs) + object.rolloutPolicy = "standardRolloutPolicy"; + } + if (message.nodePoolSoakDuration != null && message.hasOwnProperty("nodePoolSoakDuration")) { + object.nodePoolSoakDuration = $root.google.protobuf.Duration.toObject(message.nodePoolSoakDuration, options); + if (options.oneofs) + object._nodePoolSoakDuration = "nodePoolSoakDuration"; + } + return object; + }; + + /** + * Converts this BlueGreenSettings to JSON. + * @function toJSON + * @memberof google.container.v1.BlueGreenSettings + * @instance + * @returns {Object.} JSON object + */ + BlueGreenSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + BlueGreenSettings.StandardRolloutPolicy = (function() { + + /** + * Properties of a StandardRolloutPolicy. + * @memberof google.container.v1.BlueGreenSettings + * @interface IStandardRolloutPolicy + * @property {number|null} [batchPercentage] StandardRolloutPolicy batchPercentage + * @property {number|null} [batchNodeCount] StandardRolloutPolicy batchNodeCount + * @property {google.protobuf.IDuration|null} [batchSoakDuration] StandardRolloutPolicy batchSoakDuration + */ + + /** + * Constructs a new StandardRolloutPolicy. + * @memberof google.container.v1.BlueGreenSettings + * @classdesc Represents a StandardRolloutPolicy. + * @implements IStandardRolloutPolicy + * @constructor + * @param {google.container.v1.BlueGreenSettings.IStandardRolloutPolicy=} [properties] Properties to set + */ + function StandardRolloutPolicy(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * StandardRolloutPolicy batchPercentage. + * @member {number|null|undefined} batchPercentage + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @instance + */ + StandardRolloutPolicy.prototype.batchPercentage = null; + + /** + * StandardRolloutPolicy batchNodeCount. + * @member {number|null|undefined} batchNodeCount + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @instance + */ + StandardRolloutPolicy.prototype.batchNodeCount = null; + + /** + * StandardRolloutPolicy batchSoakDuration. + * @member {google.protobuf.IDuration|null|undefined} batchSoakDuration + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @instance + */ + StandardRolloutPolicy.prototype.batchSoakDuration = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * StandardRolloutPolicy updateBatchSize. + * @member {"batchPercentage"|"batchNodeCount"|undefined} updateBatchSize + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @instance + */ + Object.defineProperty(StandardRolloutPolicy.prototype, "updateBatchSize", { + get: $util.oneOfGetter($oneOfFields = ["batchPercentage", "batchNodeCount"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * StandardRolloutPolicy _batchSoakDuration. + * @member {"batchSoakDuration"|undefined} _batchSoakDuration + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @instance + */ + Object.defineProperty(StandardRolloutPolicy.prototype, "_batchSoakDuration", { + get: $util.oneOfGetter($oneOfFields = ["batchSoakDuration"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new StandardRolloutPolicy instance using the specified properties. + * @function create + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {google.container.v1.BlueGreenSettings.IStandardRolloutPolicy=} [properties] Properties to set + * @returns {google.container.v1.BlueGreenSettings.StandardRolloutPolicy} StandardRolloutPolicy instance + */ + StandardRolloutPolicy.create = function create(properties) { + return new StandardRolloutPolicy(properties); + }; + + /** + * Encodes the specified StandardRolloutPolicy message. Does not implicitly {@link google.container.v1.BlueGreenSettings.StandardRolloutPolicy.verify|verify} messages. + * @function encode + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {google.container.v1.BlueGreenSettings.IStandardRolloutPolicy} message StandardRolloutPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StandardRolloutPolicy.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.batchPercentage != null && Object.hasOwnProperty.call(message, "batchPercentage")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.batchPercentage); + if (message.batchNodeCount != null && Object.hasOwnProperty.call(message, "batchNodeCount")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchNodeCount); + if (message.batchSoakDuration != null && Object.hasOwnProperty.call(message, "batchSoakDuration")) + $root.google.protobuf.Duration.encode(message.batchSoakDuration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified StandardRolloutPolicy message, length delimited. Does not implicitly {@link google.container.v1.BlueGreenSettings.StandardRolloutPolicy.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {google.container.v1.BlueGreenSettings.IStandardRolloutPolicy} message StandardRolloutPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StandardRolloutPolicy.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StandardRolloutPolicy message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.BlueGreenSettings.StandardRolloutPolicy} StandardRolloutPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StandardRolloutPolicy.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.batchPercentage = reader.float(); + break; + case 2: + message.batchNodeCount = reader.int32(); + break; + case 3: + message.batchSoakDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StandardRolloutPolicy message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.BlueGreenSettings.StandardRolloutPolicy} StandardRolloutPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StandardRolloutPolicy.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StandardRolloutPolicy message. + * @function verify + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StandardRolloutPolicy.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.batchPercentage != null && message.hasOwnProperty("batchPercentage")) { + properties.updateBatchSize = 1; + if (typeof message.batchPercentage !== "number") + return "batchPercentage: number expected"; + } + if (message.batchNodeCount != null && message.hasOwnProperty("batchNodeCount")) { + if (properties.updateBatchSize === 1) + return "updateBatchSize: multiple values"; + properties.updateBatchSize = 1; + if (!$util.isInteger(message.batchNodeCount)) + return "batchNodeCount: integer expected"; + } + if (message.batchSoakDuration != null && message.hasOwnProperty("batchSoakDuration")) { + properties._batchSoakDuration = 1; + { + var error = $root.google.protobuf.Duration.verify(message.batchSoakDuration); + if (error) + return "batchSoakDuration." + error; + } + } + return null; + }; + + /** + * Creates a StandardRolloutPolicy message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.BlueGreenSettings.StandardRolloutPolicy} StandardRolloutPolicy + */ + StandardRolloutPolicy.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy) + return object; + var message = new $root.google.container.v1.BlueGreenSettings.StandardRolloutPolicy(); + if (object.batchPercentage != null) + message.batchPercentage = Number(object.batchPercentage); + if (object.batchNodeCount != null) + message.batchNodeCount = object.batchNodeCount | 0; + if (object.batchSoakDuration != null) { + if (typeof object.batchSoakDuration !== "object") + throw TypeError(".google.container.v1.BlueGreenSettings.StandardRolloutPolicy.batchSoakDuration: object expected"); + message.batchSoakDuration = $root.google.protobuf.Duration.fromObject(object.batchSoakDuration); + } + return message; + }; + + /** + * Creates a plain object from a StandardRolloutPolicy message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @static + * @param {google.container.v1.BlueGreenSettings.StandardRolloutPolicy} message StandardRolloutPolicy + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StandardRolloutPolicy.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.batchPercentage != null && message.hasOwnProperty("batchPercentage")) { + object.batchPercentage = options.json && !isFinite(message.batchPercentage) ? String(message.batchPercentage) : message.batchPercentage; + if (options.oneofs) + object.updateBatchSize = "batchPercentage"; + } + if (message.batchNodeCount != null && message.hasOwnProperty("batchNodeCount")) { + object.batchNodeCount = message.batchNodeCount; + if (options.oneofs) + object.updateBatchSize = "batchNodeCount"; + } + if (message.batchSoakDuration != null && message.hasOwnProperty("batchSoakDuration")) { + object.batchSoakDuration = $root.google.protobuf.Duration.toObject(message.batchSoakDuration, options); + if (options.oneofs) + object._batchSoakDuration = "batchSoakDuration"; + } + return object; + }; + + /** + * Converts this StandardRolloutPolicy to JSON. + * @function toJSON + * @memberof google.container.v1.BlueGreenSettings.StandardRolloutPolicy + * @instance + * @returns {Object.} JSON object + */ + StandardRolloutPolicy.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StandardRolloutPolicy; + })(); + + return BlueGreenSettings; + })(); + v1.NodePool = (function() { /** @@ -20637,6 +22689,7 @@ * @property {Array.|null} [conditions] NodePool conditions * @property {number|null} [podIpv4CidrSize] NodePool podIpv4CidrSize * @property {google.container.v1.NodePool.IUpgradeSettings|null} [upgradeSettings] NodePool upgradeSettings + * @property {google.container.v1.NodePool.IUpdateInfo|null} [updateInfo] NodePool updateInfo */ /** @@ -20785,6 +22838,14 @@ */ NodePool.prototype.upgradeSettings = null; + /** + * NodePool updateInfo. + * @member {google.container.v1.NodePool.IUpdateInfo|null|undefined} updateInfo + * @memberof google.container.v1.NodePool + * @instance + */ + NodePool.prototype.updateInfo = null; + /** * Creates a new NodePool instance using the specified properties. * @function create @@ -20844,6 +22905,8 @@ $root.google.container.v1.StatusCondition.encode(message.conditions[i], writer.uint32(/* id 105, wireType 2 =*/842).fork()).ldelim(); if (message.upgradeSettings != null && Object.hasOwnProperty.call(message, "upgradeSettings")) $root.google.container.v1.NodePool.UpgradeSettings.encode(message.upgradeSettings, writer.uint32(/* id 107, wireType 2 =*/858).fork()).ldelim(); + if (message.updateInfo != null && Object.hasOwnProperty.call(message, "updateInfo")) + $root.google.container.v1.NodePool.UpdateInfo.encode(message.updateInfo, writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim(); return writer; }; @@ -20932,6 +22995,9 @@ case 107: message.upgradeSettings = $root.google.container.v1.NodePool.UpgradeSettings.decode(reader, reader.uint32()); break; + case 109: + message.updateInfo = $root.google.container.v1.NodePool.UpdateInfo.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -21051,6 +23117,11 @@ if (error) return "upgradeSettings." + error; } + if (message.updateInfo != null && message.hasOwnProperty("updateInfo")) { + var error = $root.google.container.v1.NodePool.UpdateInfo.verify(message.updateInfo); + if (error) + return "updateInfo." + error; + } return null; }; @@ -21162,6 +23233,11 @@ throw TypeError(".google.container.v1.NodePool.upgradeSettings: object expected"); message.upgradeSettings = $root.google.container.v1.NodePool.UpgradeSettings.fromObject(object.upgradeSettings); } + if (object.updateInfo != null) { + if (typeof object.updateInfo !== "object") + throw TypeError(".google.container.v1.NodePool.updateInfo: object expected"); + message.updateInfo = $root.google.container.v1.NodePool.UpdateInfo.fromObject(object.updateInfo); + } return message; }; @@ -21197,6 +23273,7 @@ object.status = options.enums === String ? "STATUS_UNSPECIFIED" : 0; object.statusMessage = ""; object.upgradeSettings = null; + object.updateInfo = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -21239,6 +23316,8 @@ } if (message.upgradeSettings != null && message.hasOwnProperty("upgradeSettings")) object.upgradeSettings = $root.google.container.v1.NodePool.UpgradeSettings.toObject(message.upgradeSettings, options); + if (message.updateInfo != null && message.hasOwnProperty("updateInfo")) + object.updateInfo = $root.google.container.v1.NodePool.UpdateInfo.toObject(message.updateInfo, options); return object; }; @@ -21261,6 +23340,8 @@ * @interface IUpgradeSettings * @property {number|null} [maxSurge] UpgradeSettings maxSurge * @property {number|null} [maxUnavailable] UpgradeSettings maxUnavailable + * @property {google.container.v1.NodePoolUpdateStrategy|null} [strategy] UpgradeSettings strategy + * @property {google.container.v1.IBlueGreenSettings|null} [blueGreenSettings] UpgradeSettings blueGreenSettings */ /** @@ -21294,6 +23375,47 @@ */ UpgradeSettings.prototype.maxUnavailable = 0; + /** + * UpgradeSettings strategy. + * @member {google.container.v1.NodePoolUpdateStrategy|null|undefined} strategy + * @memberof google.container.v1.NodePool.UpgradeSettings + * @instance + */ + UpgradeSettings.prototype.strategy = null; + + /** + * UpgradeSettings blueGreenSettings. + * @member {google.container.v1.IBlueGreenSettings|null|undefined} blueGreenSettings + * @memberof google.container.v1.NodePool.UpgradeSettings + * @instance + */ + UpgradeSettings.prototype.blueGreenSettings = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * UpgradeSettings _strategy. + * @member {"strategy"|undefined} _strategy + * @memberof google.container.v1.NodePool.UpgradeSettings + * @instance + */ + Object.defineProperty(UpgradeSettings.prototype, "_strategy", { + get: $util.oneOfGetter($oneOfFields = ["strategy"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * UpgradeSettings _blueGreenSettings. + * @member {"blueGreenSettings"|undefined} _blueGreenSettings + * @memberof google.container.v1.NodePool.UpgradeSettings + * @instance + */ + Object.defineProperty(UpgradeSettings.prototype, "_blueGreenSettings", { + get: $util.oneOfGetter($oneOfFields = ["blueGreenSettings"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new UpgradeSettings instance using the specified properties. * @function create @@ -21322,6 +23444,10 @@ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.maxSurge); if (message.maxUnavailable != null && Object.hasOwnProperty.call(message, "maxUnavailable")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxUnavailable); + if (message.strategy != null && Object.hasOwnProperty.call(message, "strategy")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.strategy); + if (message.blueGreenSettings != null && Object.hasOwnProperty.call(message, "blueGreenSettings")) + $root.google.container.v1.BlueGreenSettings.encode(message.blueGreenSettings, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -21362,6 +23488,12 @@ case 2: message.maxUnavailable = reader.int32(); break; + case 3: + message.strategy = reader.int32(); + break; + case 4: + message.blueGreenSettings = $root.google.container.v1.BlueGreenSettings.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -21397,12 +23529,32 @@ UpgradeSettings.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.maxSurge != null && message.hasOwnProperty("maxSurge")) if (!$util.isInteger(message.maxSurge)) return "maxSurge: integer expected"; if (message.maxUnavailable != null && message.hasOwnProperty("maxUnavailable")) if (!$util.isInteger(message.maxUnavailable)) return "maxUnavailable: integer expected"; + if (message.strategy != null && message.hasOwnProperty("strategy")) { + properties._strategy = 1; + switch (message.strategy) { + default: + return "strategy: enum value expected"; + case 0: + case 2: + case 3: + break; + } + } + if (message.blueGreenSettings != null && message.hasOwnProperty("blueGreenSettings")) { + properties._blueGreenSettings = 1; + { + var error = $root.google.container.v1.BlueGreenSettings.verify(message.blueGreenSettings); + if (error) + return "blueGreenSettings." + error; + } + } return null; }; @@ -21422,6 +23574,25 @@ message.maxSurge = object.maxSurge | 0; if (object.maxUnavailable != null) message.maxUnavailable = object.maxUnavailable | 0; + switch (object.strategy) { + case "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED": + case 0: + message.strategy = 0; + break; + case "BLUE_GREEN": + case 2: + message.strategy = 2; + break; + case "SURGE": + case 3: + message.strategy = 3; + break; + } + if (object.blueGreenSettings != null) { + if (typeof object.blueGreenSettings !== "object") + throw TypeError(".google.container.v1.NodePool.UpgradeSettings.blueGreenSettings: object expected"); + message.blueGreenSettings = $root.google.container.v1.BlueGreenSettings.fromObject(object.blueGreenSettings); + } return message; }; @@ -21446,6 +23617,16 @@ object.maxSurge = message.maxSurge; if (message.maxUnavailable != null && message.hasOwnProperty("maxUnavailable")) object.maxUnavailable = message.maxUnavailable; + if (message.strategy != null && message.hasOwnProperty("strategy")) { + object.strategy = options.enums === String ? $root.google.container.v1.NodePoolUpdateStrategy[message.strategy] : message.strategy; + if (options.oneofs) + object._strategy = "strategy"; + } + if (message.blueGreenSettings != null && message.hasOwnProperty("blueGreenSettings")) { + object.blueGreenSettings = $root.google.container.v1.BlueGreenSettings.toObject(message.blueGreenSettings, options); + if (options.oneofs) + object._blueGreenSettings = "blueGreenSettings"; + } return object; }; @@ -21463,6 +23644,577 @@ return UpgradeSettings; })(); + NodePool.UpdateInfo = (function() { + + /** + * Properties of an UpdateInfo. + * @memberof google.container.v1.NodePool + * @interface IUpdateInfo + * @property {google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo|null} [blueGreenInfo] UpdateInfo blueGreenInfo + */ + + /** + * Constructs a new UpdateInfo. + * @memberof google.container.v1.NodePool + * @classdesc Represents an UpdateInfo. + * @implements IUpdateInfo + * @constructor + * @param {google.container.v1.NodePool.IUpdateInfo=} [properties] Properties to set + */ + function UpdateInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UpdateInfo blueGreenInfo. + * @member {google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo|null|undefined} blueGreenInfo + * @memberof google.container.v1.NodePool.UpdateInfo + * @instance + */ + UpdateInfo.prototype.blueGreenInfo = null; + + /** + * Creates a new UpdateInfo instance using the specified properties. + * @function create + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {google.container.v1.NodePool.IUpdateInfo=} [properties] Properties to set + * @returns {google.container.v1.NodePool.UpdateInfo} UpdateInfo instance + */ + UpdateInfo.create = function create(properties) { + return new UpdateInfo(properties); + }; + + /** + * Encodes the specified UpdateInfo message. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {google.container.v1.NodePool.IUpdateInfo} message UpdateInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.blueGreenInfo != null && Object.hasOwnProperty.call(message, "blueGreenInfo")) + $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.encode(message.blueGreenInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateInfo message, length delimited. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {google.container.v1.NodePool.IUpdateInfo} message UpdateInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateInfo message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NodePool.UpdateInfo} UpdateInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NodePool.UpdateInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blueGreenInfo = $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NodePool.UpdateInfo} UpdateInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateInfo message. + * @function verify + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.blueGreenInfo != null && message.hasOwnProperty("blueGreenInfo")) { + var error = $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.verify(message.blueGreenInfo); + if (error) + return "blueGreenInfo." + error; + } + return null; + }; + + /** + * Creates an UpdateInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NodePool.UpdateInfo} UpdateInfo + */ + UpdateInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NodePool.UpdateInfo) + return object; + var message = new $root.google.container.v1.NodePool.UpdateInfo(); + if (object.blueGreenInfo != null) { + if (typeof object.blueGreenInfo !== "object") + throw TypeError(".google.container.v1.NodePool.UpdateInfo.blueGreenInfo: object expected"); + message.blueGreenInfo = $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.fromObject(object.blueGreenInfo); + } + return message; + }; + + /** + * Creates a plain object from an UpdateInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NodePool.UpdateInfo + * @static + * @param {google.container.v1.NodePool.UpdateInfo} message UpdateInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.blueGreenInfo = null; + if (message.blueGreenInfo != null && message.hasOwnProperty("blueGreenInfo")) + object.blueGreenInfo = $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.toObject(message.blueGreenInfo, options); + return object; + }; + + /** + * Converts this UpdateInfo to JSON. + * @function toJSON + * @memberof google.container.v1.NodePool.UpdateInfo + * @instance + * @returns {Object.} JSON object + */ + UpdateInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + UpdateInfo.BlueGreenInfo = (function() { + + /** + * Properties of a BlueGreenInfo. + * @memberof google.container.v1.NodePool.UpdateInfo + * @interface IBlueGreenInfo + * @property {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase|null} [phase] BlueGreenInfo phase + * @property {Array.|null} [blueInstanceGroupUrls] BlueGreenInfo blueInstanceGroupUrls + * @property {Array.|null} [greenInstanceGroupUrls] BlueGreenInfo greenInstanceGroupUrls + * @property {string|null} [bluePoolDeletionStartTime] BlueGreenInfo bluePoolDeletionStartTime + * @property {string|null} [greenPoolVersion] BlueGreenInfo greenPoolVersion + */ + + /** + * Constructs a new BlueGreenInfo. + * @memberof google.container.v1.NodePool.UpdateInfo + * @classdesc Represents a BlueGreenInfo. + * @implements IBlueGreenInfo + * @constructor + * @param {google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo=} [properties] Properties to set + */ + function BlueGreenInfo(properties) { + this.blueInstanceGroupUrls = []; + this.greenInstanceGroupUrls = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlueGreenInfo phase. + * @member {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase} phase + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @instance + */ + BlueGreenInfo.prototype.phase = 0; + + /** + * BlueGreenInfo blueInstanceGroupUrls. + * @member {Array.} blueInstanceGroupUrls + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @instance + */ + BlueGreenInfo.prototype.blueInstanceGroupUrls = $util.emptyArray; + + /** + * BlueGreenInfo greenInstanceGroupUrls. + * @member {Array.} greenInstanceGroupUrls + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @instance + */ + BlueGreenInfo.prototype.greenInstanceGroupUrls = $util.emptyArray; + + /** + * BlueGreenInfo bluePoolDeletionStartTime. + * @member {string} bluePoolDeletionStartTime + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @instance + */ + BlueGreenInfo.prototype.bluePoolDeletionStartTime = ""; + + /** + * BlueGreenInfo greenPoolVersion. + * @member {string} greenPoolVersion + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @instance + */ + BlueGreenInfo.prototype.greenPoolVersion = ""; + + /** + * Creates a new BlueGreenInfo instance using the specified properties. + * @function create + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo=} [properties] Properties to set + * @returns {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo} BlueGreenInfo instance + */ + BlueGreenInfo.create = function create(properties) { + return new BlueGreenInfo(properties); + }; + + /** + * Encodes the specified BlueGreenInfo message. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.verify|verify} messages. + * @function encode + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo} message BlueGreenInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlueGreenInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.phase != null && Object.hasOwnProperty.call(message, "phase")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.phase); + if (message.blueInstanceGroupUrls != null && message.blueInstanceGroupUrls.length) + for (var i = 0; i < message.blueInstanceGroupUrls.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.blueInstanceGroupUrls[i]); + if (message.greenInstanceGroupUrls != null && message.greenInstanceGroupUrls.length) + for (var i = 0; i < message.greenInstanceGroupUrls.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.greenInstanceGroupUrls[i]); + if (message.bluePoolDeletionStartTime != null && Object.hasOwnProperty.call(message, "bluePoolDeletionStartTime")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.bluePoolDeletionStartTime); + if (message.greenPoolVersion != null && Object.hasOwnProperty.call(message, "greenPoolVersion")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.greenPoolVersion); + return writer; + }; + + /** + * Encodes the specified BlueGreenInfo message, length delimited. Does not implicitly {@link google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {google.container.v1.NodePool.UpdateInfo.IBlueGreenInfo} message BlueGreenInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlueGreenInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlueGreenInfo message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo} BlueGreenInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlueGreenInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.phase = reader.int32(); + break; + case 2: + if (!(message.blueInstanceGroupUrls && message.blueInstanceGroupUrls.length)) + message.blueInstanceGroupUrls = []; + message.blueInstanceGroupUrls.push(reader.string()); + break; + case 3: + if (!(message.greenInstanceGroupUrls && message.greenInstanceGroupUrls.length)) + message.greenInstanceGroupUrls = []; + message.greenInstanceGroupUrls.push(reader.string()); + break; + case 4: + message.bluePoolDeletionStartTime = reader.string(); + break; + case 5: + message.greenPoolVersion = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlueGreenInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo} BlueGreenInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlueGreenInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlueGreenInfo message. + * @function verify + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlueGreenInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.phase != null && message.hasOwnProperty("phase")) + switch (message.phase) { + default: + return "phase: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + break; + } + if (message.blueInstanceGroupUrls != null && message.hasOwnProperty("blueInstanceGroupUrls")) { + if (!Array.isArray(message.blueInstanceGroupUrls)) + return "blueInstanceGroupUrls: array expected"; + for (var i = 0; i < message.blueInstanceGroupUrls.length; ++i) + if (!$util.isString(message.blueInstanceGroupUrls[i])) + return "blueInstanceGroupUrls: string[] expected"; + } + if (message.greenInstanceGroupUrls != null && message.hasOwnProperty("greenInstanceGroupUrls")) { + if (!Array.isArray(message.greenInstanceGroupUrls)) + return "greenInstanceGroupUrls: array expected"; + for (var i = 0; i < message.greenInstanceGroupUrls.length; ++i) + if (!$util.isString(message.greenInstanceGroupUrls[i])) + return "greenInstanceGroupUrls: string[] expected"; + } + if (message.bluePoolDeletionStartTime != null && message.hasOwnProperty("bluePoolDeletionStartTime")) + if (!$util.isString(message.bluePoolDeletionStartTime)) + return "bluePoolDeletionStartTime: string expected"; + if (message.greenPoolVersion != null && message.hasOwnProperty("greenPoolVersion")) + if (!$util.isString(message.greenPoolVersion)) + return "greenPoolVersion: string expected"; + return null; + }; + + /** + * Creates a BlueGreenInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo} BlueGreenInfo + */ + BlueGreenInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo) + return object; + var message = new $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo(); + switch (object.phase) { + case "PHASE_UNSPECIFIED": + case 0: + message.phase = 0; + break; + case "UPDATE_STARTED": + case 1: + message.phase = 1; + break; + case "CREATING_GREEN_POOL": + case 2: + message.phase = 2; + break; + case "CORDONING_BLUE_POOL": + case 3: + message.phase = 3; + break; + case "DRAINING_BLUE_POOL": + case 4: + message.phase = 4; + break; + case "NODE_POOL_SOAKING": + case 5: + message.phase = 5; + break; + case "DELETING_BLUE_POOL": + case 6: + message.phase = 6; + break; + case "ROLLBACK_STARTED": + case 7: + message.phase = 7; + break; + } + if (object.blueInstanceGroupUrls) { + if (!Array.isArray(object.blueInstanceGroupUrls)) + throw TypeError(".google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.blueInstanceGroupUrls: array expected"); + message.blueInstanceGroupUrls = []; + for (var i = 0; i < object.blueInstanceGroupUrls.length; ++i) + message.blueInstanceGroupUrls[i] = String(object.blueInstanceGroupUrls[i]); + } + if (object.greenInstanceGroupUrls) { + if (!Array.isArray(object.greenInstanceGroupUrls)) + throw TypeError(".google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.greenInstanceGroupUrls: array expected"); + message.greenInstanceGroupUrls = []; + for (var i = 0; i < object.greenInstanceGroupUrls.length; ++i) + message.greenInstanceGroupUrls[i] = String(object.greenInstanceGroupUrls[i]); + } + if (object.bluePoolDeletionStartTime != null) + message.bluePoolDeletionStartTime = String(object.bluePoolDeletionStartTime); + if (object.greenPoolVersion != null) + message.greenPoolVersion = String(object.greenPoolVersion); + return message; + }; + + /** + * Creates a plain object from a BlueGreenInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @static + * @param {google.container.v1.NodePool.UpdateInfo.BlueGreenInfo} message BlueGreenInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlueGreenInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.blueInstanceGroupUrls = []; + object.greenInstanceGroupUrls = []; + } + if (options.defaults) { + object.phase = options.enums === String ? "PHASE_UNSPECIFIED" : 0; + object.bluePoolDeletionStartTime = ""; + object.greenPoolVersion = ""; + } + if (message.phase != null && message.hasOwnProperty("phase")) + object.phase = options.enums === String ? $root.google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase[message.phase] : message.phase; + if (message.blueInstanceGroupUrls && message.blueInstanceGroupUrls.length) { + object.blueInstanceGroupUrls = []; + for (var j = 0; j < message.blueInstanceGroupUrls.length; ++j) + object.blueInstanceGroupUrls[j] = message.blueInstanceGroupUrls[j]; + } + if (message.greenInstanceGroupUrls && message.greenInstanceGroupUrls.length) { + object.greenInstanceGroupUrls = []; + for (var j = 0; j < message.greenInstanceGroupUrls.length; ++j) + object.greenInstanceGroupUrls[j] = message.greenInstanceGroupUrls[j]; + } + if (message.bluePoolDeletionStartTime != null && message.hasOwnProperty("bluePoolDeletionStartTime")) + object.bluePoolDeletionStartTime = message.bluePoolDeletionStartTime; + if (message.greenPoolVersion != null && message.hasOwnProperty("greenPoolVersion")) + object.greenPoolVersion = message.greenPoolVersion; + return object; + }; + + /** + * Converts this BlueGreenInfo to JSON. + * @function toJSON + * @memberof google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + * @instance + * @returns {Object.} JSON object + */ + BlueGreenInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Phase enum. + * @name google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase + * @enum {number} + * @property {number} PHASE_UNSPECIFIED=0 PHASE_UNSPECIFIED value + * @property {number} UPDATE_STARTED=1 UPDATE_STARTED value + * @property {number} CREATING_GREEN_POOL=2 CREATING_GREEN_POOL value + * @property {number} CORDONING_BLUE_POOL=3 CORDONING_BLUE_POOL value + * @property {number} DRAINING_BLUE_POOL=4 DRAINING_BLUE_POOL value + * @property {number} NODE_POOL_SOAKING=5 NODE_POOL_SOAKING value + * @property {number} DELETING_BLUE_POOL=6 DELETING_BLUE_POOL value + * @property {number} ROLLBACK_STARTED=7 ROLLBACK_STARTED value + */ + BlueGreenInfo.Phase = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PHASE_UNSPECIFIED"] = 0; + values[valuesById[1] = "UPDATE_STARTED"] = 1; + values[valuesById[2] = "CREATING_GREEN_POOL"] = 2; + values[valuesById[3] = "CORDONING_BLUE_POOL"] = 3; + values[valuesById[4] = "DRAINING_BLUE_POOL"] = 4; + values[valuesById[5] = "NODE_POOL_SOAKING"] = 5; + values[valuesById[6] = "DELETING_BLUE_POOL"] = 6; + values[valuesById[7] = "ROLLBACK_STARTED"] = 7; + return values; + })(); + + return BlueGreenInfo; + })(); + + return UpdateInfo; + })(); + /** * Status enum. * @name google.container.v1.NodePool.Status @@ -23976,6 +26728,193 @@ return SetNodePoolSizeRequest; })(); + v1.CompleteNodePoolUpgradeRequest = (function() { + + /** + * Properties of a CompleteNodePoolUpgradeRequest. + * @memberof google.container.v1 + * @interface ICompleteNodePoolUpgradeRequest + * @property {string|null} [name] CompleteNodePoolUpgradeRequest name + */ + + /** + * Constructs a new CompleteNodePoolUpgradeRequest. + * @memberof google.container.v1 + * @classdesc Represents a CompleteNodePoolUpgradeRequest. + * @implements ICompleteNodePoolUpgradeRequest + * @constructor + * @param {google.container.v1.ICompleteNodePoolUpgradeRequest=} [properties] Properties to set + */ + function CompleteNodePoolUpgradeRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CompleteNodePoolUpgradeRequest name. + * @member {string} name + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @instance + */ + CompleteNodePoolUpgradeRequest.prototype.name = ""; + + /** + * Creates a new CompleteNodePoolUpgradeRequest instance using the specified properties. + * @function create + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {google.container.v1.ICompleteNodePoolUpgradeRequest=} [properties] Properties to set + * @returns {google.container.v1.CompleteNodePoolUpgradeRequest} CompleteNodePoolUpgradeRequest instance + */ + CompleteNodePoolUpgradeRequest.create = function create(properties) { + return new CompleteNodePoolUpgradeRequest(properties); + }; + + /** + * Encodes the specified CompleteNodePoolUpgradeRequest message. Does not implicitly {@link google.container.v1.CompleteNodePoolUpgradeRequest.verify|verify} messages. + * @function encode + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {google.container.v1.ICompleteNodePoolUpgradeRequest} message CompleteNodePoolUpgradeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CompleteNodePoolUpgradeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified CompleteNodePoolUpgradeRequest message, length delimited. Does not implicitly {@link google.container.v1.CompleteNodePoolUpgradeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {google.container.v1.ICompleteNodePoolUpgradeRequest} message CompleteNodePoolUpgradeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CompleteNodePoolUpgradeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CompleteNodePoolUpgradeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.CompleteNodePoolUpgradeRequest} CompleteNodePoolUpgradeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CompleteNodePoolUpgradeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.CompleteNodePoolUpgradeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CompleteNodePoolUpgradeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.CompleteNodePoolUpgradeRequest} CompleteNodePoolUpgradeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CompleteNodePoolUpgradeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CompleteNodePoolUpgradeRequest message. + * @function verify + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CompleteNodePoolUpgradeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a CompleteNodePoolUpgradeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.CompleteNodePoolUpgradeRequest} CompleteNodePoolUpgradeRequest + */ + CompleteNodePoolUpgradeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.CompleteNodePoolUpgradeRequest) + return object; + var message = new $root.google.container.v1.CompleteNodePoolUpgradeRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a CompleteNodePoolUpgradeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @static + * @param {google.container.v1.CompleteNodePoolUpgradeRequest} message CompleteNodePoolUpgradeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CompleteNodePoolUpgradeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this CompleteNodePoolUpgradeRequest to JSON. + * @function toJSON + * @memberof google.container.v1.CompleteNodePoolUpgradeRequest + * @instance + * @returns {Object.} JSON object + */ + CompleteNodePoolUpgradeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CompleteNodePoolUpgradeRequest; + })(); + v1.RollbackNodePoolUpgradeRequest = (function() { /** @@ -23987,6 +26926,7 @@ * @property {string|null} [clusterId] RollbackNodePoolUpgradeRequest clusterId * @property {string|null} [nodePoolId] RollbackNodePoolUpgradeRequest nodePoolId * @property {string|null} [name] RollbackNodePoolUpgradeRequest name + * @property {boolean|null} [respectPdb] RollbackNodePoolUpgradeRequest respectPdb */ /** @@ -24044,6 +26984,14 @@ */ RollbackNodePoolUpgradeRequest.prototype.name = ""; + /** + * RollbackNodePoolUpgradeRequest respectPdb. + * @member {boolean} respectPdb + * @memberof google.container.v1.RollbackNodePoolUpgradeRequest + * @instance + */ + RollbackNodePoolUpgradeRequest.prototype.respectPdb = false; + /** * Creates a new RollbackNodePoolUpgradeRequest instance using the specified properties. * @function create @@ -24078,6 +27026,8 @@ writer.uint32(/* id 4, wireType 2 =*/34).string(message.nodePoolId); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.name); + if (message.respectPdb != null && Object.hasOwnProperty.call(message, "respectPdb")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.respectPdb); return writer; }; @@ -24127,6 +27077,9 @@ case 6: message.name = reader.string(); break; + case 7: + message.respectPdb = reader.bool(); + break; default: reader.skipType(tag & 7); break; @@ -24177,6 +27130,9 @@ if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; + if (message.respectPdb != null && message.hasOwnProperty("respectPdb")) + if (typeof message.respectPdb !== "boolean") + return "respectPdb: boolean expected"; return null; }; @@ -24202,6 +27158,8 @@ message.nodePoolId = String(object.nodePoolId); if (object.name != null) message.name = String(object.name); + if (object.respectPdb != null) + message.respectPdb = Boolean(object.respectPdb); return message; }; @@ -24224,6 +27182,7 @@ object.clusterId = ""; object.nodePoolId = ""; object.name = ""; + object.respectPdb = false; } if (message.projectId != null && message.hasOwnProperty("projectId")) object.projectId = message.projectId; @@ -24235,6 +27194,8 @@ object.nodePoolId = message.nodePoolId; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; + if (message.respectPdb != null && message.hasOwnProperty("respectPdb")) + object.respectPdb = message.respectPdb; return object; }; @@ -25502,6 +28463,9 @@ * @property {number|null} [minNodeCount] NodePoolAutoscaling minNodeCount * @property {number|null} [maxNodeCount] NodePoolAutoscaling maxNodeCount * @property {boolean|null} [autoprovisioned] NodePoolAutoscaling autoprovisioned + * @property {google.container.v1.NodePoolAutoscaling.LocationPolicy|null} [locationPolicy] NodePoolAutoscaling locationPolicy + * @property {number|null} [totalMinNodeCount] NodePoolAutoscaling totalMinNodeCount + * @property {number|null} [totalMaxNodeCount] NodePoolAutoscaling totalMaxNodeCount */ /** @@ -25551,6 +28515,30 @@ */ NodePoolAutoscaling.prototype.autoprovisioned = false; + /** + * NodePoolAutoscaling locationPolicy. + * @member {google.container.v1.NodePoolAutoscaling.LocationPolicy} locationPolicy + * @memberof google.container.v1.NodePoolAutoscaling + * @instance + */ + NodePoolAutoscaling.prototype.locationPolicy = 0; + + /** + * NodePoolAutoscaling totalMinNodeCount. + * @member {number} totalMinNodeCount + * @memberof google.container.v1.NodePoolAutoscaling + * @instance + */ + NodePoolAutoscaling.prototype.totalMinNodeCount = 0; + + /** + * NodePoolAutoscaling totalMaxNodeCount. + * @member {number} totalMaxNodeCount + * @memberof google.container.v1.NodePoolAutoscaling + * @instance + */ + NodePoolAutoscaling.prototype.totalMaxNodeCount = 0; + /** * Creates a new NodePoolAutoscaling instance using the specified properties. * @function create @@ -25583,6 +28571,12 @@ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.maxNodeCount); if (message.autoprovisioned != null && Object.hasOwnProperty.call(message, "autoprovisioned")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.autoprovisioned); + if (message.locationPolicy != null && Object.hasOwnProperty.call(message, "locationPolicy")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.locationPolicy); + if (message.totalMinNodeCount != null && Object.hasOwnProperty.call(message, "totalMinNodeCount")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.totalMinNodeCount); + if (message.totalMaxNodeCount != null && Object.hasOwnProperty.call(message, "totalMaxNodeCount")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.totalMaxNodeCount); return writer; }; @@ -25629,6 +28623,15 @@ case 4: message.autoprovisioned = reader.bool(); break; + case 5: + message.locationPolicy = reader.int32(); + break; + case 6: + message.totalMinNodeCount = reader.int32(); + break; + case 7: + message.totalMaxNodeCount = reader.int32(); + break; default: reader.skipType(tag & 7); break; @@ -25676,6 +28679,21 @@ if (message.autoprovisioned != null && message.hasOwnProperty("autoprovisioned")) if (typeof message.autoprovisioned !== "boolean") return "autoprovisioned: boolean expected"; + if (message.locationPolicy != null && message.hasOwnProperty("locationPolicy")) + switch (message.locationPolicy) { + default: + return "locationPolicy: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.totalMinNodeCount != null && message.hasOwnProperty("totalMinNodeCount")) + if (!$util.isInteger(message.totalMinNodeCount)) + return "totalMinNodeCount: integer expected"; + if (message.totalMaxNodeCount != null && message.hasOwnProperty("totalMaxNodeCount")) + if (!$util.isInteger(message.totalMaxNodeCount)) + return "totalMaxNodeCount: integer expected"; return null; }; @@ -25699,6 +28717,24 @@ message.maxNodeCount = object.maxNodeCount | 0; if (object.autoprovisioned != null) message.autoprovisioned = Boolean(object.autoprovisioned); + switch (object.locationPolicy) { + case "LOCATION_POLICY_UNSPECIFIED": + case 0: + message.locationPolicy = 0; + break; + case "BALANCED": + case 1: + message.locationPolicy = 1; + break; + case "ANY": + case 2: + message.locationPolicy = 2; + break; + } + if (object.totalMinNodeCount != null) + message.totalMinNodeCount = object.totalMinNodeCount | 0; + if (object.totalMaxNodeCount != null) + message.totalMaxNodeCount = object.totalMaxNodeCount | 0; return message; }; @@ -25720,6 +28756,9 @@ object.minNodeCount = 0; object.maxNodeCount = 0; object.autoprovisioned = false; + object.locationPolicy = options.enums === String ? "LOCATION_POLICY_UNSPECIFIED" : 0; + object.totalMinNodeCount = 0; + object.totalMaxNodeCount = 0; } if (message.enabled != null && message.hasOwnProperty("enabled")) object.enabled = message.enabled; @@ -25729,6 +28768,12 @@ object.maxNodeCount = message.maxNodeCount; if (message.autoprovisioned != null && message.hasOwnProperty("autoprovisioned")) object.autoprovisioned = message.autoprovisioned; + if (message.locationPolicy != null && message.hasOwnProperty("locationPolicy")) + object.locationPolicy = options.enums === String ? $root.google.container.v1.NodePoolAutoscaling.LocationPolicy[message.locationPolicy] : message.locationPolicy; + if (message.totalMinNodeCount != null && message.hasOwnProperty("totalMinNodeCount")) + object.totalMinNodeCount = message.totalMinNodeCount; + if (message.totalMaxNodeCount != null && message.hasOwnProperty("totalMaxNodeCount")) + object.totalMaxNodeCount = message.totalMaxNodeCount; return object; }; @@ -25743,6 +28788,22 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * LocationPolicy enum. + * @name google.container.v1.NodePoolAutoscaling.LocationPolicy + * @enum {number} + * @property {number} LOCATION_POLICY_UNSPECIFIED=0 LOCATION_POLICY_UNSPECIFIED value + * @property {number} BALANCED=1 BALANCED value + * @property {number} ANY=2 ANY value + */ + NodePoolAutoscaling.LocationPolicy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LOCATION_POLICY_UNSPECIFIED"] = 0; + values[valuesById[1] = "BALANCED"] = 1; + values[valuesById[2] = "ANY"] = 2; + return values; + })(); + return NodePoolAutoscaling; })(); @@ -26895,6 +29956,7 @@ * @property {number|Long|null} [acceleratorCount] AcceleratorConfig acceleratorCount * @property {string|null} [acceleratorType] AcceleratorConfig acceleratorType * @property {string|null} [gpuPartitionSize] AcceleratorConfig gpuPartitionSize + * @property {google.container.v1.IGPUSharingConfig|null} [gpuSharingConfig] AcceleratorConfig gpuSharingConfig */ /** @@ -26936,6 +29998,28 @@ */ AcceleratorConfig.prototype.gpuPartitionSize = ""; + /** + * AcceleratorConfig gpuSharingConfig. + * @member {google.container.v1.IGPUSharingConfig|null|undefined} gpuSharingConfig + * @memberof google.container.v1.AcceleratorConfig + * @instance + */ + AcceleratorConfig.prototype.gpuSharingConfig = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * AcceleratorConfig _gpuSharingConfig. + * @member {"gpuSharingConfig"|undefined} _gpuSharingConfig + * @memberof google.container.v1.AcceleratorConfig + * @instance + */ + Object.defineProperty(AcceleratorConfig.prototype, "_gpuSharingConfig", { + get: $util.oneOfGetter($oneOfFields = ["gpuSharingConfig"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new AcceleratorConfig instance using the specified properties. * @function create @@ -26966,6 +30050,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).string(message.acceleratorType); if (message.gpuPartitionSize != null && Object.hasOwnProperty.call(message, "gpuPartitionSize")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.gpuPartitionSize); + if (message.gpuSharingConfig != null && Object.hasOwnProperty.call(message, "gpuSharingConfig")) + $root.google.container.v1.GPUSharingConfig.encode(message.gpuSharingConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -27009,6 +30095,9 @@ case 3: message.gpuPartitionSize = reader.string(); break; + case 5: + message.gpuSharingConfig = $root.google.container.v1.GPUSharingConfig.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -27044,6 +30133,7 @@ AcceleratorConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.acceleratorCount != null && message.hasOwnProperty("acceleratorCount")) if (!$util.isInteger(message.acceleratorCount) && !(message.acceleratorCount && $util.isInteger(message.acceleratorCount.low) && $util.isInteger(message.acceleratorCount.high))) return "acceleratorCount: integer|Long expected"; @@ -27053,6 +30143,14 @@ if (message.gpuPartitionSize != null && message.hasOwnProperty("gpuPartitionSize")) if (!$util.isString(message.gpuPartitionSize)) return "gpuPartitionSize: string expected"; + if (message.gpuSharingConfig != null && message.hasOwnProperty("gpuSharingConfig")) { + properties._gpuSharingConfig = 1; + { + var error = $root.google.container.v1.GPUSharingConfig.verify(message.gpuSharingConfig); + if (error) + return "gpuSharingConfig." + error; + } + } return null; }; @@ -27081,6 +30179,11 @@ message.acceleratorType = String(object.acceleratorType); if (object.gpuPartitionSize != null) message.gpuPartitionSize = String(object.gpuPartitionSize); + if (object.gpuSharingConfig != null) { + if (typeof object.gpuSharingConfig !== "object") + throw TypeError(".google.container.v1.AcceleratorConfig.gpuSharingConfig: object expected"); + message.gpuSharingConfig = $root.google.container.v1.GPUSharingConfig.fromObject(object.gpuSharingConfig); + } return message; }; @@ -27115,6 +30218,11 @@ object.acceleratorType = message.acceleratorType; if (message.gpuPartitionSize != null && message.hasOwnProperty("gpuPartitionSize")) object.gpuPartitionSize = message.gpuPartitionSize; + if (message.gpuSharingConfig != null && message.hasOwnProperty("gpuSharingConfig")) { + object.gpuSharingConfig = $root.google.container.v1.GPUSharingConfig.toObject(message.gpuSharingConfig, options); + if (options.oneofs) + object._gpuSharingConfig = "gpuSharingConfig"; + } return object; }; @@ -27132,6 +30240,275 @@ return AcceleratorConfig; })(); + v1.GPUSharingConfig = (function() { + + /** + * Properties of a GPUSharingConfig. + * @memberof google.container.v1 + * @interface IGPUSharingConfig + * @property {number|Long|null} [maxSharedClientsPerGpu] GPUSharingConfig maxSharedClientsPerGpu + * @property {google.container.v1.GPUSharingConfig.GPUSharingStrategy|null} [gpuSharingStrategy] GPUSharingConfig gpuSharingStrategy + */ + + /** + * Constructs a new GPUSharingConfig. + * @memberof google.container.v1 + * @classdesc Represents a GPUSharingConfig. + * @implements IGPUSharingConfig + * @constructor + * @param {google.container.v1.IGPUSharingConfig=} [properties] Properties to set + */ + function GPUSharingConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GPUSharingConfig maxSharedClientsPerGpu. + * @member {number|Long} maxSharedClientsPerGpu + * @memberof google.container.v1.GPUSharingConfig + * @instance + */ + GPUSharingConfig.prototype.maxSharedClientsPerGpu = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * GPUSharingConfig gpuSharingStrategy. + * @member {google.container.v1.GPUSharingConfig.GPUSharingStrategy|null|undefined} gpuSharingStrategy + * @memberof google.container.v1.GPUSharingConfig + * @instance + */ + GPUSharingConfig.prototype.gpuSharingStrategy = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GPUSharingConfig _gpuSharingStrategy. + * @member {"gpuSharingStrategy"|undefined} _gpuSharingStrategy + * @memberof google.container.v1.GPUSharingConfig + * @instance + */ + Object.defineProperty(GPUSharingConfig.prototype, "_gpuSharingStrategy", { + get: $util.oneOfGetter($oneOfFields = ["gpuSharingStrategy"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GPUSharingConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {google.container.v1.IGPUSharingConfig=} [properties] Properties to set + * @returns {google.container.v1.GPUSharingConfig} GPUSharingConfig instance + */ + GPUSharingConfig.create = function create(properties) { + return new GPUSharingConfig(properties); + }; + + /** + * Encodes the specified GPUSharingConfig message. Does not implicitly {@link google.container.v1.GPUSharingConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {google.container.v1.IGPUSharingConfig} message GPUSharingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GPUSharingConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxSharedClientsPerGpu != null && Object.hasOwnProperty.call(message, "maxSharedClientsPerGpu")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxSharedClientsPerGpu); + if (message.gpuSharingStrategy != null && Object.hasOwnProperty.call(message, "gpuSharingStrategy")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.gpuSharingStrategy); + return writer; + }; + + /** + * Encodes the specified GPUSharingConfig message, length delimited. Does not implicitly {@link google.container.v1.GPUSharingConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {google.container.v1.IGPUSharingConfig} message GPUSharingConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GPUSharingConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GPUSharingConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.GPUSharingConfig} GPUSharingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GPUSharingConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.GPUSharingConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxSharedClientsPerGpu = reader.int64(); + break; + case 2: + message.gpuSharingStrategy = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GPUSharingConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.GPUSharingConfig} GPUSharingConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GPUSharingConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GPUSharingConfig message. + * @function verify + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GPUSharingConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.maxSharedClientsPerGpu != null && message.hasOwnProperty("maxSharedClientsPerGpu")) + if (!$util.isInteger(message.maxSharedClientsPerGpu) && !(message.maxSharedClientsPerGpu && $util.isInteger(message.maxSharedClientsPerGpu.low) && $util.isInteger(message.maxSharedClientsPerGpu.high))) + return "maxSharedClientsPerGpu: integer|Long expected"; + if (message.gpuSharingStrategy != null && message.hasOwnProperty("gpuSharingStrategy")) { + properties._gpuSharingStrategy = 1; + switch (message.gpuSharingStrategy) { + default: + return "gpuSharingStrategy: enum value expected"; + case 0: + case 1: + break; + } + } + return null; + }; + + /** + * Creates a GPUSharingConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.GPUSharingConfig} GPUSharingConfig + */ + GPUSharingConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.GPUSharingConfig) + return object; + var message = new $root.google.container.v1.GPUSharingConfig(); + if (object.maxSharedClientsPerGpu != null) + if ($util.Long) + (message.maxSharedClientsPerGpu = $util.Long.fromValue(object.maxSharedClientsPerGpu)).unsigned = false; + else if (typeof object.maxSharedClientsPerGpu === "string") + message.maxSharedClientsPerGpu = parseInt(object.maxSharedClientsPerGpu, 10); + else if (typeof object.maxSharedClientsPerGpu === "number") + message.maxSharedClientsPerGpu = object.maxSharedClientsPerGpu; + else if (typeof object.maxSharedClientsPerGpu === "object") + message.maxSharedClientsPerGpu = new $util.LongBits(object.maxSharedClientsPerGpu.low >>> 0, object.maxSharedClientsPerGpu.high >>> 0).toNumber(); + switch (object.gpuSharingStrategy) { + case "GPU_SHARING_STRATEGY_UNSPECIFIED": + case 0: + message.gpuSharingStrategy = 0; + break; + case "TIME_SHARING": + case 1: + message.gpuSharingStrategy = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from a GPUSharingConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.GPUSharingConfig + * @static + * @param {google.container.v1.GPUSharingConfig} message GPUSharingConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GPUSharingConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxSharedClientsPerGpu = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxSharedClientsPerGpu = options.longs === String ? "0" : 0; + if (message.maxSharedClientsPerGpu != null && message.hasOwnProperty("maxSharedClientsPerGpu")) + if (typeof message.maxSharedClientsPerGpu === "number") + object.maxSharedClientsPerGpu = options.longs === String ? String(message.maxSharedClientsPerGpu) : message.maxSharedClientsPerGpu; + else + object.maxSharedClientsPerGpu = options.longs === String ? $util.Long.prototype.toString.call(message.maxSharedClientsPerGpu) : options.longs === Number ? new $util.LongBits(message.maxSharedClientsPerGpu.low >>> 0, message.maxSharedClientsPerGpu.high >>> 0).toNumber() : message.maxSharedClientsPerGpu; + if (message.gpuSharingStrategy != null && message.hasOwnProperty("gpuSharingStrategy")) { + object.gpuSharingStrategy = options.enums === String ? $root.google.container.v1.GPUSharingConfig.GPUSharingStrategy[message.gpuSharingStrategy] : message.gpuSharingStrategy; + if (options.oneofs) + object._gpuSharingStrategy = "gpuSharingStrategy"; + } + return object; + }; + + /** + * Converts this GPUSharingConfig to JSON. + * @function toJSON + * @memberof google.container.v1.GPUSharingConfig + * @instance + * @returns {Object.} JSON object + */ + GPUSharingConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * GPUSharingStrategy enum. + * @name google.container.v1.GPUSharingConfig.GPUSharingStrategy + * @enum {number} + * @property {number} GPU_SHARING_STRATEGY_UNSPECIFIED=0 GPU_SHARING_STRATEGY_UNSPECIFIED value + * @property {number} TIME_SHARING=1 TIME_SHARING value + */ + GPUSharingConfig.GPUSharingStrategy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "GPU_SHARING_STRATEGY_UNSPECIFIED"] = 0; + values[valuesById[1] = "TIME_SHARING"] = 1; + return values; + })(); + + return GPUSharingConfig; + })(); + v1.WorkloadMetadataConfig = (function() { /** @@ -31535,6 +34912,193 @@ return WorkloadIdentityConfig; })(); + v1.IdentityServiceConfig = (function() { + + /** + * Properties of an IdentityServiceConfig. + * @memberof google.container.v1 + * @interface IIdentityServiceConfig + * @property {boolean|null} [enabled] IdentityServiceConfig enabled + */ + + /** + * Constructs a new IdentityServiceConfig. + * @memberof google.container.v1 + * @classdesc Represents an IdentityServiceConfig. + * @implements IIdentityServiceConfig + * @constructor + * @param {google.container.v1.IIdentityServiceConfig=} [properties] Properties to set + */ + function IdentityServiceConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * IdentityServiceConfig enabled. + * @member {boolean} enabled + * @memberof google.container.v1.IdentityServiceConfig + * @instance + */ + IdentityServiceConfig.prototype.enabled = false; + + /** + * Creates a new IdentityServiceConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {google.container.v1.IIdentityServiceConfig=} [properties] Properties to set + * @returns {google.container.v1.IdentityServiceConfig} IdentityServiceConfig instance + */ + IdentityServiceConfig.create = function create(properties) { + return new IdentityServiceConfig(properties); + }; + + /** + * Encodes the specified IdentityServiceConfig message. Does not implicitly {@link google.container.v1.IdentityServiceConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {google.container.v1.IIdentityServiceConfig} message IdentityServiceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityServiceConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enabled != null && Object.hasOwnProperty.call(message, "enabled")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enabled); + return writer; + }; + + /** + * Encodes the specified IdentityServiceConfig message, length delimited. Does not implicitly {@link google.container.v1.IdentityServiceConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {google.container.v1.IIdentityServiceConfig} message IdentityServiceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityServiceConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityServiceConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.IdentityServiceConfig} IdentityServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityServiceConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.IdentityServiceConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.enabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentityServiceConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.IdentityServiceConfig} IdentityServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityServiceConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityServiceConfig message. + * @function verify + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityServiceConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enabled != null && message.hasOwnProperty("enabled")) + if (typeof message.enabled !== "boolean") + return "enabled: boolean expected"; + return null; + }; + + /** + * Creates an IdentityServiceConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.IdentityServiceConfig} IdentityServiceConfig + */ + IdentityServiceConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.IdentityServiceConfig) + return object; + var message = new $root.google.container.v1.IdentityServiceConfig(); + if (object.enabled != null) + message.enabled = Boolean(object.enabled); + return message; + }; + + /** + * Creates a plain object from an IdentityServiceConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.IdentityServiceConfig + * @static + * @param {google.container.v1.IdentityServiceConfig} message IdentityServiceConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityServiceConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enabled = false; + if (message.enabled != null && message.hasOwnProperty("enabled")) + object.enabled = message.enabled; + return object; + }; + + /** + * Converts this IdentityServiceConfig to JSON. + * @function toJSON + * @memberof google.container.v1.IdentityServiceConfig + * @instance + * @returns {Object.} JSON object + */ + IdentityServiceConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentityServiceConfig; + })(); + v1.MeshCertificates = (function() { /** @@ -34416,22 +37980,6 @@ return values; })(); - /** - * DatapathProvider enum. - * @name google.container.v1.DatapathProvider - * @enum {number} - * @property {number} DATAPATH_PROVIDER_UNSPECIFIED=0 DATAPATH_PROVIDER_UNSPECIFIED value - * @property {number} LEGACY_DATAPATH=1 LEGACY_DATAPATH value - * @property {number} ADVANCED_DATAPATH=2 ADVANCED_DATAPATH value - */ - v1.DatapathProvider = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "DATAPATH_PROVIDER_UNSPECIFIED"] = 0; - values[valuesById[1] = "LEGACY_DATAPATH"] = 1; - values[valuesById[2] = "ADVANCED_DATAPATH"] = 2; - return values; - })(); - v1.NotificationConfig = (function() { /** @@ -36985,6 +40533,7 @@ * @memberof google.container.v1 * @interface IMonitoringConfig * @property {google.container.v1.IMonitoringComponentConfig|null} [componentConfig] MonitoringConfig componentConfig + * @property {google.container.v1.IManagedPrometheusConfig|null} [managedPrometheusConfig] MonitoringConfig managedPrometheusConfig */ /** @@ -37010,6 +40559,14 @@ */ MonitoringConfig.prototype.componentConfig = null; + /** + * MonitoringConfig managedPrometheusConfig. + * @member {google.container.v1.IManagedPrometheusConfig|null|undefined} managedPrometheusConfig + * @memberof google.container.v1.MonitoringConfig + * @instance + */ + MonitoringConfig.prototype.managedPrometheusConfig = null; + /** * Creates a new MonitoringConfig instance using the specified properties. * @function create @@ -37036,6 +40593,8 @@ writer = $Writer.create(); if (message.componentConfig != null && Object.hasOwnProperty.call(message, "componentConfig")) $root.google.container.v1.MonitoringComponentConfig.encode(message.componentConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.managedPrometheusConfig != null && Object.hasOwnProperty.call(message, "managedPrometheusConfig")) + $root.google.container.v1.ManagedPrometheusConfig.encode(message.managedPrometheusConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -37073,6 +40632,9 @@ case 1: message.componentConfig = $root.google.container.v1.MonitoringComponentConfig.decode(reader, reader.uint32()); break; + case 2: + message.managedPrometheusConfig = $root.google.container.v1.ManagedPrometheusConfig.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -37113,6 +40675,11 @@ if (error) return "componentConfig." + error; } + if (message.managedPrometheusConfig != null && message.hasOwnProperty("managedPrometheusConfig")) { + var error = $root.google.container.v1.ManagedPrometheusConfig.verify(message.managedPrometheusConfig); + if (error) + return "managedPrometheusConfig." + error; + } return null; }; @@ -37133,6 +40700,11 @@ throw TypeError(".google.container.v1.MonitoringConfig.componentConfig: object expected"); message.componentConfig = $root.google.container.v1.MonitoringComponentConfig.fromObject(object.componentConfig); } + if (object.managedPrometheusConfig != null) { + if (typeof object.managedPrometheusConfig !== "object") + throw TypeError(".google.container.v1.MonitoringConfig.managedPrometheusConfig: object expected"); + message.managedPrometheusConfig = $root.google.container.v1.ManagedPrometheusConfig.fromObject(object.managedPrometheusConfig); + } return message; }; @@ -37149,10 +40721,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.componentConfig = null; + object.managedPrometheusConfig = null; + } if (message.componentConfig != null && message.hasOwnProperty("componentConfig")) object.componentConfig = $root.google.container.v1.MonitoringComponentConfig.toObject(message.componentConfig, options); + if (message.managedPrometheusConfig != null && message.hasOwnProperty("managedPrometheusConfig")) + object.managedPrometheusConfig = $root.google.container.v1.ManagedPrometheusConfig.toObject(message.managedPrometheusConfig, options); return object; }; @@ -37321,6 +40897,9 @@ return "enableComponents: enum value[] expected"; case 0: case 1: + case 3: + case 4: + case 5: break; } } @@ -37354,6 +40933,18 @@ case 1: message.enableComponents[i] = 1; break; + case "APISERVER": + case 3: + message.enableComponents[i] = 3; + break; + case "SCHEDULER": + case 4: + message.enableComponents[i] = 4; + break; + case "CONTROLLER_MANAGER": + case 5: + message.enableComponents[i] = 5; + break; } } return message; @@ -37399,17 +40990,242 @@ * @enum {number} * @property {number} COMPONENT_UNSPECIFIED=0 COMPONENT_UNSPECIFIED value * @property {number} SYSTEM_COMPONENTS=1 SYSTEM_COMPONENTS value + * @property {number} APISERVER=3 APISERVER value + * @property {number} SCHEDULER=4 SCHEDULER value + * @property {number} CONTROLLER_MANAGER=5 CONTROLLER_MANAGER value */ MonitoringComponentConfig.Component = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "COMPONENT_UNSPECIFIED"] = 0; values[valuesById[1] = "SYSTEM_COMPONENTS"] = 1; + values[valuesById[3] = "APISERVER"] = 3; + values[valuesById[4] = "SCHEDULER"] = 4; + values[valuesById[5] = "CONTROLLER_MANAGER"] = 5; return values; })(); return MonitoringComponentConfig; })(); + /** + * DatapathProvider enum. + * @name google.container.v1.DatapathProvider + * @enum {number} + * @property {number} DATAPATH_PROVIDER_UNSPECIFIED=0 DATAPATH_PROVIDER_UNSPECIFIED value + * @property {number} LEGACY_DATAPATH=1 LEGACY_DATAPATH value + * @property {number} ADVANCED_DATAPATH=2 ADVANCED_DATAPATH value + */ + v1.DatapathProvider = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DATAPATH_PROVIDER_UNSPECIFIED"] = 0; + values[valuesById[1] = "LEGACY_DATAPATH"] = 1; + values[valuesById[2] = "ADVANCED_DATAPATH"] = 2; + return values; + })(); + + /** + * NodePoolUpdateStrategy enum. + * @name google.container.v1.NodePoolUpdateStrategy + * @enum {number} + * @property {number} NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED=0 NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED value + * @property {number} BLUE_GREEN=2 BLUE_GREEN value + * @property {number} SURGE=3 SURGE value + */ + v1.NodePoolUpdateStrategy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED"] = 0; + values[valuesById[2] = "BLUE_GREEN"] = 2; + values[valuesById[3] = "SURGE"] = 3; + return values; + })(); + + v1.ManagedPrometheusConfig = (function() { + + /** + * Properties of a ManagedPrometheusConfig. + * @memberof google.container.v1 + * @interface IManagedPrometheusConfig + * @property {boolean|null} [enabled] ManagedPrometheusConfig enabled + */ + + /** + * Constructs a new ManagedPrometheusConfig. + * @memberof google.container.v1 + * @classdesc Represents a ManagedPrometheusConfig. + * @implements IManagedPrometheusConfig + * @constructor + * @param {google.container.v1.IManagedPrometheusConfig=} [properties] Properties to set + */ + function ManagedPrometheusConfig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ManagedPrometheusConfig enabled. + * @member {boolean} enabled + * @memberof google.container.v1.ManagedPrometheusConfig + * @instance + */ + ManagedPrometheusConfig.prototype.enabled = false; + + /** + * Creates a new ManagedPrometheusConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {google.container.v1.IManagedPrometheusConfig=} [properties] Properties to set + * @returns {google.container.v1.ManagedPrometheusConfig} ManagedPrometheusConfig instance + */ + ManagedPrometheusConfig.create = function create(properties) { + return new ManagedPrometheusConfig(properties); + }; + + /** + * Encodes the specified ManagedPrometheusConfig message. Does not implicitly {@link google.container.v1.ManagedPrometheusConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {google.container.v1.IManagedPrometheusConfig} message ManagedPrometheusConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagedPrometheusConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enabled != null && Object.hasOwnProperty.call(message, "enabled")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enabled); + return writer; + }; + + /** + * Encodes the specified ManagedPrometheusConfig message, length delimited. Does not implicitly {@link google.container.v1.ManagedPrometheusConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {google.container.v1.IManagedPrometheusConfig} message ManagedPrometheusConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagedPrometheusConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ManagedPrometheusConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.ManagedPrometheusConfig} ManagedPrometheusConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagedPrometheusConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.container.v1.ManagedPrometheusConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.enabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ManagedPrometheusConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.ManagedPrometheusConfig} ManagedPrometheusConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagedPrometheusConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ManagedPrometheusConfig message. + * @function verify + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ManagedPrometheusConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enabled != null && message.hasOwnProperty("enabled")) + if (typeof message.enabled !== "boolean") + return "enabled: boolean expected"; + return null; + }; + + /** + * Creates a ManagedPrometheusConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.ManagedPrometheusConfig} ManagedPrometheusConfig + */ + ManagedPrometheusConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.ManagedPrometheusConfig) + return object; + var message = new $root.google.container.v1.ManagedPrometheusConfig(); + if (object.enabled != null) + message.enabled = Boolean(object.enabled); + return message; + }; + + /** + * Creates a plain object from a ManagedPrometheusConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.ManagedPrometheusConfig + * @static + * @param {google.container.v1.ManagedPrometheusConfig} message ManagedPrometheusConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ManagedPrometheusConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enabled = false; + if (message.enabled != null && message.hasOwnProperty("enabled")) + object.enabled = message.enabled; + return object; + }; + + /** + * Converts this ManagedPrometheusConfig to JSON. + * @function toJSON + * @memberof google.container.v1.ManagedPrometheusConfig + * @instance + * @returns {Object.} JSON object + */ + ManagedPrometheusConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ManagedPrometheusConfig; + })(); + return v1; })(); @@ -47687,6 +51503,230 @@ return GeneratedCodeInfo; })(); + protobuf.Duration = (function() { + + /** + * Properties of a Duration. + * @memberof google.protobuf + * @interface IDuration + * @property {number|Long|null} [seconds] Duration seconds + * @property {number|null} [nanos] Duration nanos + */ + + /** + * Constructs a new Duration. + * @memberof google.protobuf + * @classdesc Represents a Duration. + * @implements IDuration + * @constructor + * @param {google.protobuf.IDuration=} [properties] Properties to set + */ + function Duration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Duration seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Duration nanos. + * @member {number} nanos + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.nanos = 0; + + /** + * Creates a new Duration instance using the specified properties. + * @function create + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration=} [properties] Properties to set + * @returns {google.protobuf.Duration} Duration instance + */ + Duration.create = function create(properties) { + return new Duration(properties); + }; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Duration message. + * @function verify + * @memberof google.protobuf.Duration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Duration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Duration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Duration} Duration + */ + Duration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Duration) + return object; + var message = new $root.google.protobuf.Duration(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.Duration} message Duration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Duration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Duration to JSON. + * @function toJSON + * @memberof google.protobuf.Duration + * @instance + * @returns {Object.} JSON object + */ + Duration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Duration; + })(); + protobuf.Empty = (function() { /** diff --git a/protos/protos.json b/protos/protos.json index a69746c..c4c499b 100644 --- a/protos/protos.json +++ b/protos/protos.json @@ -590,6 +590,22 @@ } ] }, + "CompleteNodePoolUpgrade": { + "requestType": "CompleteNodePoolUpgradeRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:completeUpgrade", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/clusters/*/nodePools/*}:completeUpgrade", + "body": "*" + } + } + ] + }, "RollbackNodePoolUpgrade": { "requestType": "RollbackNodePoolUpgradeRequest", "responseType": "Operation", @@ -868,6 +884,10 @@ "cpuCfsQuotaPeriod": { "type": "string", "id": 3 + }, + "podPidsLimit": { + "type": "int64", + "id": 4 } } }, @@ -978,6 +998,14 @@ "gvnic": { "type": "VirtualNIC", "id": 29 + }, + "spot": { + "type": "bool", + "id": 32 + }, + "confidentialNodes": { + "type": "ConfidentialNodes", + "id": 35 } } }, @@ -1000,6 +1028,13 @@ } }, "NodeNetworkConfig": { + "oneofs": { + "_networkPerformanceConfig": { + "oneof": [ + "networkPerformanceConfig" + ] + } + }, "fields": { "createPodRange": { "type": "bool", @@ -1015,6 +1050,41 @@ "podIpv4CidrBlock": { "type": "string", "id": 6 + }, + "networkPerformanceConfig": { + "type": "NetworkPerformanceConfig", + "id": 11, + "options": { + "proto3_optional": true + } + } + }, + "nested": { + "NetworkPerformanceConfig": { + "oneofs": { + "_totalEgressBandwidthTier": { + "oneof": [ + "totalEgressBandwidthTier" + ] + } + }, + "fields": { + "totalEgressBandwidthTier": { + "type": "Tier", + "id": 1, + "options": { + "proto3_optional": true + } + } + }, + "nested": { + "Tier": { + "values": { + "TIER_UNSPECIFIED": 0, + "TIER_1": 1 + } + } + } } } }, @@ -1107,6 +1177,33 @@ } } }, + "NodeTaints": { + "fields": { + "taints": { + "rule": "repeated", + "type": "NodeTaint", + "id": 1 + } + } + }, + "NodeLabels": { + "fields": { + "labels": { + "keyType": "string", + "type": "string", + "id": 1 + } + } + }, + "NetworkTags": { + "fields": { + "tags": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, "MasterAuth": { "fields": { "username": { @@ -1389,6 +1486,19 @@ "enabled": { "type": "bool", "id": 1 + }, + "evaluationMode": { + "type": "EvaluationMode", + "id": 2 + } + }, + "nested": { + "EvaluationMode": { + "values": { + "EVALUATION_MODE_UNSPECIFIED": 0, + "DISABLED": 1, + "PROJECT_SINGLETON_POLICY_ENFORCE": 2 + } } } }, @@ -1619,6 +1729,10 @@ "type": "ConfidentialNodes", "id": 50 }, + "identityServiceConfig": { + "type": "IdentityServiceConfig", + "id": 54 + }, "selfLink": { "type": "string", "id": 100 @@ -1733,6 +1847,10 @@ "monitoringConfig": { "type": "MonitoringConfig", "id": 133 + }, + "nodePoolAutoConfig": { + "type": "NodePoolAutoConfig", + "id": 136 } }, "nested": { @@ -1749,6 +1867,14 @@ } } }, + "NodePoolAutoConfig": { + "fields": { + "networkTags": { + "type": "NetworkTags", + "id": 1 + } + } + }, "NodePoolDefaults": { "fields": { "nodeConfigDefaults": { @@ -1884,6 +2010,10 @@ "type": "MonitoringConfig", "id": 65 }, + "desiredIdentityServiceConfig": { + "type": "IdentityServiceConfig", + "id": 66 + }, "desiredServiceExternalIpsConfig": { "type": "ServiceExternalIPsConfig", "id": 60 @@ -1895,6 +2025,10 @@ "desiredGcfsConfig": { "type": "GcfsConfig", "id": 109 + }, + "desiredNodePoolAutoConfigNetworkTags": { + "type": "NetworkTags", + "id": 110 } } }, @@ -2223,6 +2357,18 @@ "type": "NodePool.UpgradeSettings", "id": 15 }, + "tags": { + "type": "NetworkTags", + "id": 16 + }, + "taints": { + "type": "NodeTaints", + "id": 17 + }, + "labels": { + "type": "NodeLabels", + "id": 18 + }, "linuxNodeConfig": { "type": "LinuxNodeConfig", "id": 19 @@ -2231,10 +2377,18 @@ "type": "NodeKubeletConfig", "id": 20 }, + "nodeNetworkConfig": { + "type": "NodeNetworkConfig", + "id": 21 + }, "gcfsConfig": { "type": "GcfsConfig", "id": 22 }, + "confidentialNodes": { + "type": "ConfidentialNodes", + "id": 23 + }, "gvnic": { "type": "VirtualNIC", "id": 29 @@ -2887,6 +3041,67 @@ } } }, + "BlueGreenSettings": { + "oneofs": { + "rolloutPolicy": { + "oneof": [ + "standardRolloutPolicy" + ] + }, + "_nodePoolSoakDuration": { + "oneof": [ + "nodePoolSoakDuration" + ] + } + }, + "fields": { + "standardRolloutPolicy": { + "type": "StandardRolloutPolicy", + "id": 1 + }, + "nodePoolSoakDuration": { + "type": "google.protobuf.Duration", + "id": 2, + "options": { + "proto3_optional": true + } + } + }, + "nested": { + "StandardRolloutPolicy": { + "oneofs": { + "updateBatchSize": { + "oneof": [ + "batchPercentage", + "batchNodeCount" + ] + }, + "_batchSoakDuration": { + "oneof": [ + "batchSoakDuration" + ] + } + }, + "fields": { + "batchPercentage": { + "type": "float", + "id": 1 + }, + "batchNodeCount": { + "type": "int32", + "id": 2 + }, + "batchSoakDuration": { + "type": "google.protobuf.Duration", + "id": 3, + "options": { + "proto3_optional": true + } + } + } + } + } + }, "NodePool": { "fields": { "name": { @@ -2958,10 +3173,29 @@ "upgradeSettings": { "type": "UpgradeSettings", "id": 107 + }, + "updateInfo": { + "type": "UpdateInfo", + "id": 109, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } }, "nested": { "UpgradeSettings": { + "oneofs": { + "_strategy": { + "oneof": [ + "strategy" + ] + }, + "_blueGreenSettings": { + "oneof": [ + "blueGreenSettings" + ] + } + }, "fields": { "maxSurge": { "type": "int32", @@ -2970,6 +3204,70 @@ "maxUnavailable": { "type": "int32", "id": 2 + }, + "strategy": { + "type": "NodePoolUpdateStrategy", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "blueGreenSettings": { + "type": "BlueGreenSettings", + "id": 4, + "options": { + "proto3_optional": true + } + } + } + }, + "UpdateInfo": { + "fields": { + "blueGreenInfo": { + "type": "BlueGreenInfo", + "id": 1 + } + }, + "nested": { + "BlueGreenInfo": { + "fields": { + "phase": { + "type": "Phase", + "id": 1 + }, + "blueInstanceGroupUrls": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "greenInstanceGroupUrls": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "bluePoolDeletionStartTime": { + "type": "string", + "id": 4 + }, + "greenPoolVersion": { + "type": "string", + "id": 5 + } + }, + "nested": { + "Phase": { + "values": { + "PHASE_UNSPECIFIED": 0, + "UPDATE_STARTED": 1, + "CREATING_GREEN_POOL": 2, + "CORDONING_BLUE_POOL": 3, + "DRAINING_BLUE_POOL": 4, + "NODE_POOL_SOAKING": 5, + "DELETING_BLUE_POOL": 6, + "ROLLBACK_STARTED": 7 + } + } + } } } }, @@ -3201,6 +3499,14 @@ } } }, + "CompleteNodePoolUpgradeRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, "RollbackNodePoolUpgradeRequest": { "fields": { "projectId": { @@ -3234,6 +3540,10 @@ "name": { "type": "string", "id": 6 + }, + "respectPdb": { + "type": "bool", + "id": 7 } } }, @@ -3302,7 +3612,10 @@ }, "minCpuPlatform": { "type": "string", - "id": 5 + "id": 5, + "options": { + "deprecated": true + } }, "diskSizeGb": { "type": "int32", @@ -3359,6 +3672,27 @@ "autoprovisioned": { "type": "bool", "id": 4 + }, + "locationPolicy": { + "type": "LocationPolicy", + "id": 5 + }, + "totalMinNodeCount": { + "type": "int32", + "id": 6 + }, + "totalMaxNodeCount": { + "type": "int32", + "id": 7 + } + }, + "nested": { + "LocationPolicy": { + "values": { + "LOCATION_POLICY_UNSPECIFIED": 0, + "BALANCED": 1, + "ANY": 2 + } } } }, @@ -3505,6 +3839,13 @@ } }, "AcceleratorConfig": { + "oneofs": { + "_gpuSharingConfig": { + "oneof": [ + "gpuSharingConfig" + ] + } + }, "fields": { "acceleratorCount": { "type": "int64", @@ -3517,6 +3858,43 @@ "gpuPartitionSize": { "type": "string", "id": 3 + }, + "gpuSharingConfig": { + "type": "GPUSharingConfig", + "id": 5, + "options": { + "proto3_optional": true + } + } + } + }, + "GPUSharingConfig": { + "oneofs": { + "_gpuSharingStrategy": { + "oneof": [ + "gpuSharingStrategy" + ] + } + }, + "fields": { + "maxSharedClientsPerGpu": { + "type": "int64", + "id": 1 + }, + "gpuSharingStrategy": { + "type": "GPUSharingStrategy", + "id": 2, + "options": { + "proto3_optional": true + } + } + }, + "nested": { + "GPUSharingStrategy": { + "values": { + "GPU_SHARING_STRATEGY_UNSPECIFIED": 0, + "TIME_SHARING": 1 + } } } }, @@ -3872,6 +4250,14 @@ } } }, + "IdentityServiceConfig": { + "fields": { + "enabled": { + "type": "bool", + "id": 1 + } + } + }, "MeshCertificates": { "fields": { "enableCertificates": { @@ -4060,13 +4446,6 @@ "PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL": 3 } }, - "DatapathProvider": { - "values": { - "DATAPATH_PROVIDER_UNSPECIFIED": 0, - "LEGACY_DATAPATH": 1, - "ADVANCED_DATAPATH": 2 - } - }, "NotificationConfig": { "fields": { "pubsub": { @@ -4262,6 +4641,10 @@ "componentConfig": { "type": "MonitoringComponentConfig", "id": 1 + }, + "managedPrometheusConfig": { + "type": "ManagedPrometheusConfig", + "id": 2 } } }, @@ -4277,10 +4660,35 @@ "Component": { "values": { "COMPONENT_UNSPECIFIED": 0, - "SYSTEM_COMPONENTS": 1 + "SYSTEM_COMPONENTS": 1, + "APISERVER": 3, + "SCHEDULER": 4, + "CONTROLLER_MANAGER": 5 } } } + }, + "DatapathProvider": { + "values": { + "DATAPATH_PROVIDER_UNSPECIFIED": 0, + "LEGACY_DATAPATH": 1, + "ADVANCED_DATAPATH": 2 + } + }, + "NodePoolUpdateStrategy": { + "values": { + "NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED": 0, + "BLUE_GREEN": 2, + "SURGE": 3 + } + }, + "ManagedPrometheusConfig": { + "fields": { + "enabled": { + "type": "bool", + "id": 1 + } + } } } } @@ -5403,6 +5811,18 @@ } } }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, "Empty": { "fields": {} }, diff --git a/samples/generated/v1/cluster_manager.complete_i_p_rotation.js b/samples/generated/v1/cluster_manager.complete_i_p_rotation.js index 9e38c25..6af3f96 100644 --- a/samples/generated/v1/cluster_manager.complete_i_p_rotation.js +++ b/samples/generated/v1/cluster_manager.complete_i_p_rotation.js @@ -26,7 +26,7 @@ function main() { * TODO(developer): Uncomment these variables before running the sample. */ /** - * The name (project, location, cluster id) of the cluster to complete IP + * The name (project, location, cluster name) of the cluster to complete IP * rotation. Specified in the format `projects/* /locations/* /clusters/*`. */ // const name = 'abc123' diff --git a/samples/generated/v1/cluster_manager.complete_node_pool_upgrade.js b/samples/generated/v1/cluster_manager.complete_node_pool_upgrade.js new file mode 100644 index 0000000..88a282b --- /dev/null +++ b/samples/generated/v1/cluster_manager.complete_node_pool_upgrade.js @@ -0,0 +1,59 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START container_v1_generated_ClusterManager_CompleteNodePoolUpgrade_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The name (project, location, cluster, node pool id) of the node pool to + * complete upgrade. + * Specified in the format 'projects/* /locations/* /clusters/* /nodePools/*'. + */ + // const name = 'abc123' + + // Imports the Container library + const {ClusterManagerClient} = require('@google-cloud/container').v1; + + // Instantiates a client + const containerClient = new ClusterManagerClient(); + + async function callCompleteNodePoolUpgrade() { + // Construct request + const request = { + }; + + // Run request + const response = await containerClient.completeNodePoolUpgrade(request); + console.log(response); + } + + callCompleteNodePoolUpgrade(); + // [END container_v1_generated_ClusterManager_CompleteNodePoolUpgrade_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/samples/generated/v1/cluster_manager.create_node_pool.js b/samples/generated/v1/cluster_manager.create_node_pool.js index 7a52063..af60d05 100644 --- a/samples/generated/v1/cluster_manager.create_node_pool.js +++ b/samples/generated/v1/cluster_manager.create_node_pool.js @@ -30,7 +30,7 @@ function main(nodePool) { */ // const nodePool = {} /** - * The parent (project, location, cluster id) where the node pool will be + * The parent (project, location, cluster name) where the node pool will be * created. Specified in the format * `projects/* /locations/* /clusters/*`. */ diff --git a/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js b/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js index 3d312c9..0190e74 100644 --- a/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js +++ b/samples/generated/v1/cluster_manager.get_j_s_o_n_web_keys.js @@ -26,7 +26,7 @@ function main() { * TODO(developer): Uncomment these variables before running the sample. */ /** - * The cluster (project, location, cluster id) to get keys for. Specified in + * The cluster (project, location, cluster name) to get keys for. Specified in * the format `projects/* /locations/* /clusters/*`. */ // const parent = 'abc123' diff --git a/samples/generated/v1/cluster_manager.list_node_pools.js b/samples/generated/v1/cluster_manager.list_node_pools.js index 677ed5c..14c853e 100644 --- a/samples/generated/v1/cluster_manager.list_node_pools.js +++ b/samples/generated/v1/cluster_manager.list_node_pools.js @@ -26,7 +26,7 @@ function main() { * TODO(developer): Uncomment these variables before running the sample. */ /** - * The parent (project, location, cluster id) where the node pools will be + * The parent (project, location, cluster name) where the node pools will be * listed. Specified in the format `projects/* /locations/* /clusters/*`. */ // const parent = 'abc123' diff --git a/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js b/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js index 2615eec..c866801 100644 --- a/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js +++ b/samples/generated/v1/cluster_manager.rollback_node_pool_upgrade.js @@ -31,6 +31,11 @@ function main() { * Specified in the format `projects/* /locations/* /clusters/* /nodePools/*`. */ // const name = 'abc123' + /** + * Option for rollback to ignore the PodDisruptionBudget. + * Default value is false. + */ + // const respectPdb = true // Imports the Container library const {ClusterManagerClient} = require('@google-cloud/container').v1; diff --git a/samples/generated/v1/cluster_manager.set_labels.js b/samples/generated/v1/cluster_manager.set_labels.js index 60ee407..b8a07a4 100644 --- a/samples/generated/v1/cluster_manager.set_labels.js +++ b/samples/generated/v1/cluster_manager.set_labels.js @@ -39,7 +39,7 @@ function main(resourceLabels, labelFingerprint) { */ // const labelFingerprint = 'abc123' /** - * The name (project, location, cluster id) of the cluster to set labels. + * The name (project, location, cluster name) of the cluster to set labels. * Specified in the format `projects/* /locations/* /clusters/*`. */ // const name = 'abc123' diff --git a/samples/generated/v1/cluster_manager.set_legacy_abac.js b/samples/generated/v1/cluster_manager.set_legacy_abac.js index 15d1e82..87bd53d 100644 --- a/samples/generated/v1/cluster_manager.set_legacy_abac.js +++ b/samples/generated/v1/cluster_manager.set_legacy_abac.js @@ -30,8 +30,8 @@ function main(enabled) { */ // const enabled = true /** - * The name (project, location, cluster id) of the cluster to set legacy abac. - * Specified in the format `projects/* /locations/* /clusters/*`. + * The name (project, location, cluster name) of the cluster to set legacy + * abac. Specified in the format `projects/* /locations/* /clusters/*`. */ // const name = 'abc123' diff --git a/samples/generated/v1/cluster_manager.set_maintenance_policy.js b/samples/generated/v1/cluster_manager.set_maintenance_policy.js index bb756a0..bfdf6b4 100644 --- a/samples/generated/v1/cluster_manager.set_maintenance_policy.js +++ b/samples/generated/v1/cluster_manager.set_maintenance_policy.js @@ -27,7 +27,7 @@ function main(projectId, zone, clusterId, maintenancePolicy) { */ /** * Required. The Google Developers Console project ID or project - * number (https://support.google.com/cloud/answer/6158840). + * number (https://cloud.google.com/resource-manager/docs/creating-managing-projects). */ // const projectId = 'abc123' /** @@ -46,8 +46,8 @@ function main(projectId, zone, clusterId, maintenancePolicy) { */ // const maintenancePolicy = {} /** - * The name (project, location, cluster id) of the cluster to set maintenance - * policy. + * The name (project, location, cluster name) of the cluster to set + * maintenance policy. * Specified in the format `projects/* /locations/* /clusters/*`. */ // const name = 'abc123' diff --git a/samples/generated/v1/cluster_manager.set_network_policy.js b/samples/generated/v1/cluster_manager.set_network_policy.js index 41d073c..94e1e76 100644 --- a/samples/generated/v1/cluster_manager.set_network_policy.js +++ b/samples/generated/v1/cluster_manager.set_network_policy.js @@ -30,7 +30,7 @@ function main(networkPolicy) { */ // const networkPolicy = {} /** - * The name (project, location, cluster id) of the cluster to set networking + * The name (project, location, cluster name) of the cluster to set networking * policy. Specified in the format `projects/* /locations/* /clusters/*`. */ // const name = 'abc123' diff --git a/samples/generated/v1/cluster_manager.start_i_p_rotation.js b/samples/generated/v1/cluster_manager.start_i_p_rotation.js index 369aa5c..0a28f39 100644 --- a/samples/generated/v1/cluster_manager.start_i_p_rotation.js +++ b/samples/generated/v1/cluster_manager.start_i_p_rotation.js @@ -26,7 +26,7 @@ function main() { * TODO(developer): Uncomment these variables before running the sample. */ /** - * The name (project, location, cluster id) of the cluster to start IP + * The name (project, location, cluster name) of the cluster to start IP * rotation. Specified in the format `projects/* /locations/* /clusters/*`. */ // const name = 'abc123' diff --git a/samples/generated/v1/cluster_manager.update_node_pool.js b/samples/generated/v1/cluster_manager.update_node_pool.js index 6b00ac4..d863005 100644 --- a/samples/generated/v1/cluster_manager.update_node_pool.js +++ b/samples/generated/v1/cluster_manager.update_node_pool.js @@ -63,6 +63,24 @@ function main(nodeVersion, imageType) { * Upgrade settings control disruption and speed of the upgrade. */ // const upgradeSettings = {} + /** + * The desired network tags to be applied to all nodes in the node pool. + * If this field is not present, the tags will not be changed. Otherwise, + * the existing network tags will be *replaced* with the provided tags. + */ + // const tags = {} + /** + * The desired node taints to be applied to all nodes in the node pool. + * If this field is not present, the taints will not be changed. Otherwise, + * the existing node taints will be *replaced* with the provided taints. + */ + // const taints = {} + /** + * The desired node labels to be applied to all nodes in the node pool. + * If this field is not present, the labels will not be changed. Otherwise, + * the existing node labels will be *replaced* with the provided labels. + */ + // const labels = {} /** * Parameters that can be configured on Linux nodes. */ @@ -71,10 +89,19 @@ function main(nodeVersion, imageType) { * Node kubelet configs. */ // const kubeletConfig = {} + /** + * Node network config. + */ + // const nodeNetworkConfig = {} /** * GCFS config. */ // const gcfsConfig = {} + /** + * Confidential nodes config. + * All the nodes in the node pool will be Confidential VM once enabled. + */ + // const confidentialNodes = {} /** * Enable or disable gvnic on the node pool. */ diff --git a/samples/generated/v1/snippet_metadata.google.container.v1.json b/samples/generated/v1/snippet_metadata.google.container.v1.json index c517537..7e2da74 100644 --- a/samples/generated/v1/snippet_metadata.google.container.v1.json +++ b/samples/generated/v1/snippet_metadata.google.container.v1.json @@ -230,7 +230,7 @@ "segments": [ { "start": 25, - "end": 101, + "end": 128, "type": "FULL" } ], @@ -279,6 +279,18 @@ "name": "upgrade_settings", "type": ".google.container.v1.NodePool.UpgradeSettings" }, + { + "name": "tags", + "type": ".google.container.v1.NetworkTags" + }, + { + "name": "taints", + "type": ".google.container.v1.NodeTaints" + }, + { + "name": "labels", + "type": ".google.container.v1.NodeLabels" + }, { "name": "linux_node_config", "type": ".google.container.v1.LinuxNodeConfig" @@ -287,10 +299,18 @@ "name": "kubelet_config", "type": ".google.container.v1.NodeKubeletConfig" }, + { + "name": "node_network_config", + "type": ".google.container.v1.NodeNetworkConfig" + }, { "name": "gcfs_config", "type": ".google.container.v1.GcfsConfig" }, + { + "name": "confidential_nodes", + "type": ".google.container.v1.ConfidentialNodes" + }, { "name": "gvnic", "type": ".google.container.v1.VirtualNIC" @@ -1223,6 +1243,46 @@ } } }, + { + "regionTag": "container_v1_generated_ClusterManager_CompleteNodePoolUpgrade_async", + "title": "ClusterManager completeNodePoolUpgrade Sample", + "origin": "API_DEFINITION", + "description": " CompleteNodePoolUpgrade will signal an on-going node pool upgrade to complete.", + "canonical": true, + "file": "cluster_manager.complete_node_pool_upgrade.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CompleteNodePoolUpgrade", + "fullName": "google.container.v1.ClusterManager.CompleteNodePoolUpgrade", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ClusterManagerClient", + "fullName": "google.container.v1.ClusterManagerClient" + }, + "method": { + "shortName": "CompleteNodePoolUpgrade", + "fullName": "google.container.v1.ClusterManager.CompleteNodePoolUpgrade", + "service": { + "shortName": "ClusterManager", + "fullName": "google.container.v1.ClusterManager" + } + } + } + }, { "regionTag": "container_v1_generated_ClusterManager_RollbackNodePoolUpgrade_async", "title": "ClusterManager rollbackNodePoolUpgrade Sample", @@ -1234,7 +1294,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 56, "type": "FULL" } ], @@ -1262,6 +1322,10 @@ { "name": "name", "type": "TYPE_STRING" + }, + { + "name": "respect_pdb", + "type": "TYPE_BOOL" } ], "resultType": ".google.container.v1.Operation", diff --git a/src/v1/cluster_manager_client.ts b/src/v1/cluster_manager_client.ts index 1dfac64..6ca9f2c 100644 --- a/src/v1/cluster_manager_client.ts +++ b/src/v1/cluster_manager_client.ts @@ -69,7 +69,7 @@ export class ClusterManagerClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -92,11 +92,10 @@ export class ClusterManagerClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -237,17 +236,18 @@ export class ClusterManagerClient { 'getOperation', 'cancelOperation', 'getServerConfig', - 'getJSONWebKeys', + 'getJsonWebKeys', 'listNodePools', 'getNodePool', 'createNodePool', 'deleteNodePool', + 'completeNodePoolUpgrade', 'rollbackNodePoolUpgrade', 'setNodePoolManagement', 'setLabels', 'setLegacyAbac', - 'startIPRotation', - 'completeIPRotation', + 'startIpRotation', + 'completeIpRotation', 'setNodePoolSize', 'setNetworkPolicy', 'setMaintenancePolicy', @@ -342,7 +342,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the parent field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -438,7 +438,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -550,7 +550,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the parent field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -648,7 +648,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -749,7 +749,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -790,12 +790,29 @@ export class ClusterManagerClient { * The desired workload metadata config for the node pool. * @param {google.container.v1.NodePool.UpgradeSettings} request.upgradeSettings * Upgrade settings control disruption and speed of the upgrade. + * @param {google.container.v1.NetworkTags} request.tags + * The desired network tags to be applied to all nodes in the node pool. + * If this field is not present, the tags will not be changed. Otherwise, + * the existing network tags will be *replaced* with the provided tags. + * @param {google.container.v1.NodeTaints} request.taints + * The desired node taints to be applied to all nodes in the node pool. + * If this field is not present, the taints will not be changed. Otherwise, + * the existing node taints will be *replaced* with the provided taints. + * @param {google.container.v1.NodeLabels} request.labels + * The desired node labels to be applied to all nodes in the node pool. + * If this field is not present, the labels will not be changed. Otherwise, + * the existing node labels will be *replaced* with the provided labels. * @param {google.container.v1.LinuxNodeConfig} request.linuxNodeConfig * Parameters that can be configured on Linux nodes. * @param {google.container.v1.NodeKubeletConfig} request.kubeletConfig * Node kubelet configs. + * @param {google.container.v1.NodeNetworkConfig} request.nodeNetworkConfig + * Node network config. * @param {google.container.v1.GcfsConfig} request.gcfsConfig * GCFS config. + * @param {google.container.v1.ConfidentialNodes} request.confidentialNodes + * Confidential nodes config. + * All the nodes in the node pool will be Confidential VM once enabled. * @param {google.container.v1.VirtualNIC} request.gvnic * Enable or disable gvnic on the node pool. * @param {object} [options] @@ -885,7 +902,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1003,7 +1020,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1116,7 +1133,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1235,7 +1252,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1340,7 +1357,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1453,7 +1470,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1565,7 +1582,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1676,7 +1693,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1775,7 +1792,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the parent field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1871,7 +1888,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -1970,7 +1987,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2069,7 +2086,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2166,7 +2183,7 @@ export class ClusterManagerClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The cluster (project, location, cluster id) to get keys for. Specified in + * The cluster (project, location, cluster name) to get keys for. Specified in * the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. @@ -2242,7 +2259,7 @@ export class ClusterManagerClient { parent: request.parent || '', }); this.initialize(); - return this.innerApiCalls.getJSONWebKeys(request, options, callback); + return this.innerApiCalls.getJsonWebKeys(request, options, callback); } /** * Lists the node pools for a cluster. @@ -2251,7 +2268,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the parent field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2262,7 +2279,7 @@ export class ClusterManagerClient { * Deprecated. The name of the cluster. * This field has been deprecated and replaced by the parent field. * @param {string} request.parent - * The parent (project, location, cluster id) where the node pools will be + * The parent (project, location, cluster name) where the node pools will be * listed. Specified in the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. @@ -2350,7 +2367,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2454,7 +2471,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the parent field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2467,7 +2484,7 @@ export class ClusterManagerClient { * @param {google.container.v1.NodePool} request.nodePool * Required. The node pool to create. * @param {string} request.parent - * The parent (project, location, cluster id) where the node pool will be + * The parent (project, location, cluster name) where the node pool will be * created. Specified in the format * `projects/* /locations/* /clusters/*`. * @param {object} [options] @@ -2556,7 +2573,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2653,6 +2670,104 @@ export class ClusterManagerClient { this.initialize(); return this.innerApiCalls.deleteNodePool(request, options, callback); } + /** + * CompleteNodePoolUpgrade will signal an on-going node pool upgrade to + * complete. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The name (project, location, cluster, node pool id) of the node pool to + * complete upgrade. + * Specified in the format 'projects/* /locations/* /clusters/* /nodePools/*'. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/cluster_manager.complete_node_pool_upgrade.js + * region_tag:container_v1_generated_ClusterManager_CompleteNodePoolUpgrade_async + */ + completeNodePoolUpgrade( + request?: protos.google.container.v1.ICompleteNodePoolUpgradeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICompleteNodePoolUpgradeRequest | undefined, + {} | undefined + ] + >; + completeNodePoolUpgrade( + request: protos.google.container.v1.ICompleteNodePoolUpgradeRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.container.v1.ICompleteNodePoolUpgradeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + completeNodePoolUpgrade( + request: protos.google.container.v1.ICompleteNodePoolUpgradeRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.container.v1.ICompleteNodePoolUpgradeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + completeNodePoolUpgrade( + request?: protos.google.container.v1.ICompleteNodePoolUpgradeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.container.v1.ICompleteNodePoolUpgradeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.container.v1.ICompleteNodePoolUpgradeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.protobuf.IEmpty, + protos.google.container.v1.ICompleteNodePoolUpgradeRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.completeNodePoolUpgrade( + request, + options, + callback + ); + } /** * Rolls back a previously Aborted or Failed NodePool upgrade. * This makes no changes if the last upgrade successfully completed. @@ -2661,7 +2776,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2678,6 +2793,9 @@ export class ClusterManagerClient { * The name (project, location, cluster, node pool id) of the node poll to * rollback upgrade. * Specified in the format `projects/* /locations/* /clusters/* /nodePools/*`. + * @param {boolean} request.respectPdb + * Option for rollback to ignore the PodDisruptionBudget. + * Default value is false. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -2777,7 +2895,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2891,7 +3009,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -2911,7 +3029,7 @@ export class ClusterManagerClient { * updating or changing labels. Make a `get()` request to the * resource to get the latest fingerprint. * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set labels. + * The name (project, location, cluster name) of the cluster to set labels. * Specified in the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. @@ -2999,7 +3117,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -3012,8 +3130,8 @@ export class ClusterManagerClient { * @param {boolean} request.enabled * Required. Whether ABAC authorization will be enabled in the cluster. * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set legacy abac. - * Specified in the format `projects/* /locations/* /clusters/*`. + * The name (project, location, cluster name) of the cluster to set legacy + * abac. Specified in the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -3100,7 +3218,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -3111,7 +3229,7 @@ export class ClusterManagerClient { * Deprecated. The name of the cluster. * This field has been deprecated and replaced by the name field. * @param {string} request.name - * The name (project, location, cluster id) of the cluster to start IP + * The name (project, location, cluster name) of the cluster to start IP * rotation. Specified in the format `projects/* /locations/* /clusters/*`. * @param {boolean} request.rotateCredentials * Whether to rotate credentials during IP rotation. @@ -3192,7 +3310,7 @@ export class ClusterManagerClient { cluster_id: request.clusterId || '', }); this.initialize(); - return this.innerApiCalls.startIPRotation(request, options, callback); + return this.innerApiCalls.startIpRotation(request, options, callback); } /** * Completes master IP rotation. @@ -3201,7 +3319,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -3212,7 +3330,7 @@ export class ClusterManagerClient { * Deprecated. The name of the cluster. * This field has been deprecated and replaced by the name field. * @param {string} request.name - * The name (project, location, cluster id) of the cluster to complete IP + * The name (project, location, cluster name) of the cluster to complete IP * rotation. Specified in the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. @@ -3293,7 +3411,7 @@ export class ClusterManagerClient { cluster_id: request.clusterId || '', }); this.initialize(); - return this.innerApiCalls.completeIPRotation(request, options, callback); + return this.innerApiCalls.completeIpRotation(request, options, callback); } /** * Sets the size for a specific node pool. The new size will be used for all @@ -3304,7 +3422,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -3410,7 +3528,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Deprecated. The Google Developers Console [project ID or project - * number](https://developers.google.com/console/help/new/#projectnumber). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * This field has been deprecated and replaced by the name field. * @param {string} request.zone * Deprecated. The name of the Google Compute Engine @@ -3423,7 +3541,7 @@ export class ClusterManagerClient { * @param {google.container.v1.NetworkPolicy} request.networkPolicy * Required. Configuration options for the NetworkPolicy feature. * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set networking + * The name (project, location, cluster name) of the cluster to set networking * policy. Specified in the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. @@ -3513,7 +3631,7 @@ export class ClusterManagerClient { * The request object that will be sent. * @param {string} request.projectId * Required. The Google Developers Console [project ID or project - * number](https://support.google.com/cloud/answer/6158840). + * number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). * @param {string} request.zone * Required. The name of the Google Compute Engine * [zone](https://cloud.google.com/compute/docs/zones#available) in which the @@ -3524,8 +3642,8 @@ export class ClusterManagerClient { * Required. The maintenance policy to be set for the cluster. An empty field * clears the existing maintenance policy. * @param {string} request.name - * The name (project, location, cluster id) of the cluster to set maintenance - * policy. + * The name (project, location, cluster name) of the cluster to set + * maintenance policy. * Specified in the format `projects/* /locations/* /clusters/*`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. diff --git a/src/v1/cluster_manager_client_config.json b/src/v1/cluster_manager_client_config.json index e21140e..54689f6 100644 --- a/src/v1/cluster_manager_client_config.json +++ b/src/v1/cluster_manager_client_config.json @@ -129,6 +129,10 @@ "retry_codes_name": "idempotent", "retry_params_name": "default" }, + "CompleteNodePoolUpgrade": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, "RollbackNodePoolUpgrade": { "timeout_millis": 45000, "retry_codes_name": "non_idempotent", diff --git a/src/v1/gapic_metadata.json b/src/v1/gapic_metadata.json index 0c4b40f..bce9687 100644 --- a/src/v1/gapic_metadata.json +++ b/src/v1/gapic_metadata.json @@ -120,6 +120,11 @@ "deleteNodePool" ] }, + "CompleteNodePoolUpgrade": { + "methods": [ + "completeNodePoolUpgrade" + ] + }, "RollbackNodePoolUpgrade": { "methods": [ "rollbackNodePoolUpgrade" @@ -287,6 +292,11 @@ "deleteNodePool" ] }, + "CompleteNodePoolUpgrade": { + "methods": [ + "completeNodePoolUpgrade" + ] + }, "RollbackNodePoolUpgrade": { "methods": [ "rollbackNodePoolUpgrade" diff --git a/test/gapic_cluster_manager_v1.ts b/test/gapic_cluster_manager_v1.ts index 1431b51..225d656 100644 --- a/test/gapic_cluster_manager_v1.ts +++ b/test/gapic_cluster_manager_v1.ts @@ -2598,11 +2598,11 @@ describe('v1.ClusterManagerClient', () => { const expectedResponse = generateSampleMessage( new protos.google.container.v1.GetJSONWebKeysResponse() ); - client.innerApiCalls.getJSONWebKeys = stubSimpleCall(expectedResponse); + client.innerApiCalls.getJsonWebKeys = stubSimpleCall(expectedResponse); const [response] = await client.getJSONWebKeys(request); assert.deepStrictEqual(response, expectedResponse); assert( - (client.innerApiCalls.getJSONWebKeys as SinonStub) + (client.innerApiCalls.getJsonWebKeys as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); @@ -2629,7 +2629,7 @@ describe('v1.ClusterManagerClient', () => { const expectedResponse = generateSampleMessage( new protos.google.container.v1.GetJSONWebKeysResponse() ); - client.innerApiCalls.getJSONWebKeys = + client.innerApiCalls.getJsonWebKeys = stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getJSONWebKeys( @@ -2649,7 +2649,7 @@ describe('v1.ClusterManagerClient', () => { const response = await promise; assert.deepStrictEqual(response, expectedResponse); assert( - (client.innerApiCalls.getJSONWebKeys as SinonStub) + (client.innerApiCalls.getJsonWebKeys as SinonStub) .getCall(0) .calledWith(request, expectedOptions /*, callback defined above */) ); @@ -2674,13 +2674,13 @@ describe('v1.ClusterManagerClient', () => { }, }; const expectedError = new Error('expected'); - client.innerApiCalls.getJSONWebKeys = stubSimpleCall( + client.innerApiCalls.getJsonWebKeys = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getJSONWebKeys(request), expectedError); assert( - (client.innerApiCalls.getJSONWebKeys as SinonStub) + (client.innerApiCalls.getJsonWebKeys as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); @@ -3274,6 +3274,139 @@ describe('v1.ClusterManagerClient', () => { }); }); + describe('completeNodePoolUpgrade', () => { + it('invokes completeNodePoolUpgrade without error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.container.v1.CompleteNodePoolUpgradeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.completeNodePoolUpgrade = + stubSimpleCall(expectedResponse); + const [response] = await client.completeNodePoolUpgrade(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.completeNodePoolUpgrade as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes completeNodePoolUpgrade without error using callback', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.container.v1.CompleteNodePoolUpgradeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.completeNodePoolUpgrade = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.completeNodePoolUpgrade( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.completeNodePoolUpgrade as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes completeNodePoolUpgrade with error', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.container.v1.CompleteNodePoolUpgradeRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.completeNodePoolUpgrade = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.completeNodePoolUpgrade(request), + expectedError + ); + assert( + (client.innerApiCalls.completeNodePoolUpgrade as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes completeNodePoolUpgrade with closed client', async () => { + const client = new clustermanagerModule.v1.ClusterManagerClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.container.v1.CompleteNodePoolUpgradeRequest() + ); + request.name = ''; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.completeNodePoolUpgrade(request), + expectedError + ); + }); + }); + describe('rollbackNodePoolUpgrade', () => { it('invokes rollbackNodePoolUpgrade without error', async () => { const client = new clustermanagerModule.v1.ClusterManagerClient({ @@ -3876,11 +4009,11 @@ describe('v1.ClusterManagerClient', () => { const expectedResponse = generateSampleMessage( new protos.google.container.v1.Operation() ); - client.innerApiCalls.startIPRotation = stubSimpleCall(expectedResponse); + client.innerApiCalls.startIpRotation = stubSimpleCall(expectedResponse); const [response] = await client.startIPRotation(request); assert.deepStrictEqual(response, expectedResponse); assert( - (client.innerApiCalls.startIPRotation as SinonStub) + (client.innerApiCalls.startIpRotation as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); @@ -3910,7 +4043,7 @@ describe('v1.ClusterManagerClient', () => { const expectedResponse = generateSampleMessage( new protos.google.container.v1.Operation() ); - client.innerApiCalls.startIPRotation = + client.innerApiCalls.startIpRotation = stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.startIPRotation( @@ -3930,7 +4063,7 @@ describe('v1.ClusterManagerClient', () => { const response = await promise; assert.deepStrictEqual(response, expectedResponse); assert( - (client.innerApiCalls.startIPRotation as SinonStub) + (client.innerApiCalls.startIpRotation as SinonStub) .getCall(0) .calledWith(request, expectedOptions /*, callback defined above */) ); @@ -3958,13 +4091,13 @@ describe('v1.ClusterManagerClient', () => { }, }; const expectedError = new Error('expected'); - client.innerApiCalls.startIPRotation = stubSimpleCall( + client.innerApiCalls.startIpRotation = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.startIPRotation(request), expectedError); assert( - (client.innerApiCalls.startIPRotation as SinonStub) + (client.innerApiCalls.startIpRotation as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); @@ -4014,12 +4147,12 @@ describe('v1.ClusterManagerClient', () => { const expectedResponse = generateSampleMessage( new protos.google.container.v1.Operation() ); - client.innerApiCalls.completeIPRotation = + client.innerApiCalls.completeIpRotation = stubSimpleCall(expectedResponse); const [response] = await client.completeIPRotation(request); assert.deepStrictEqual(response, expectedResponse); assert( - (client.innerApiCalls.completeIPRotation as SinonStub) + (client.innerApiCalls.completeIpRotation as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); @@ -4049,7 +4182,7 @@ describe('v1.ClusterManagerClient', () => { const expectedResponse = generateSampleMessage( new protos.google.container.v1.Operation() ); - client.innerApiCalls.completeIPRotation = + client.innerApiCalls.completeIpRotation = stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.completeIPRotation( @@ -4069,7 +4202,7 @@ describe('v1.ClusterManagerClient', () => { const response = await promise; assert.deepStrictEqual(response, expectedResponse); assert( - (client.innerApiCalls.completeIPRotation as SinonStub) + (client.innerApiCalls.completeIpRotation as SinonStub) .getCall(0) .calledWith(request, expectedOptions /*, callback defined above */) ); @@ -4097,13 +4230,13 @@ describe('v1.ClusterManagerClient', () => { }, }; const expectedError = new Error('expected'); - client.innerApiCalls.completeIPRotation = stubSimpleCall( + client.innerApiCalls.completeIpRotation = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.completeIPRotation(request), expectedError); assert( - (client.innerApiCalls.completeIPRotation as SinonStub) + (client.innerApiCalls.completeIpRotation as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) );