mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-16 13:00:34 +02:00
feat: add confidential instance type and hyperdisk support to GKE API
feat: add private endpoint enforcement for master authorized networks feat: add swap memory configuration for node pools feat: add custom node initialization and kernel module loading policy feat: add accurate time synchronization (PTP-KVM) support feat: add advanced Kubelet configurations including image GC and parallel pulls feat: add Topology Manager and Memory Manager configurations feat: add node management features (Slurm, readiness, creation, taints) feat: add cluster disruption budgets and maintenance window configurations feat: add security and observability enhancements (secret sync, OTel, ML diagnostics) feat: add GPU Direct and network performance configuration options feat: update authentication rules with canonical scopes for ClusterManager docs: various documentation improvements PiperOrigin-RevId: 914473416
This commit is contained in:
parent
756ce919dc
commit
a0cedfb6af
3 changed files with 565 additions and 47 deletions
|
|
@ -30,9 +30,12 @@ proto_library(
|
|||
"//google/api:annotations_proto",
|
||||
"//google/api:client_proto",
|
||||
"//google/api:field_behavior_proto",
|
||||
"//google/api:field_info_proto",
|
||||
"//google/api:resource_proto",
|
||||
"//google/rpc:code_proto",
|
||||
"//google/rpc:status_proto",
|
||||
"//google/type:date_proto",
|
||||
"//google/type:timeofday_proto",
|
||||
"@com_google_protobuf//:duration_proto",
|
||||
"@com_google_protobuf//:empty_proto",
|
||||
"@com_google_protobuf//:timestamp_proto",
|
||||
|
|
@ -86,6 +89,7 @@ java_gapic_library(
|
|||
deps = [
|
||||
":container_java_proto",
|
||||
"//google/api:api_java_proto",
|
||||
"//google/type:type_java_proto",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
@ -130,6 +134,8 @@ go_grpc_library(
|
|||
"//google/api:annotations_go_proto",
|
||||
"//google/rpc:code_go_proto",
|
||||
"//google/rpc:status_go_proto",
|
||||
"//google/type:date_go_proto",
|
||||
"//google/type:timeofday_go_proto",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
@ -145,6 +151,8 @@ go_gapic_library(
|
|||
transport = "grpc+rest",
|
||||
deps = [
|
||||
":container_go_proto",
|
||||
"//google/type:date_go_proto",
|
||||
"//google/type:timeofday_go_proto",
|
||||
"@io_bazel_rules_go//proto/wkt:duration_go_proto",
|
||||
],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package google.container.v1;
|
|||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/field_info.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
|
@ -26,6 +27,8 @@ import "google/protobuf/timestamp.proto";
|
|||
import "google/protobuf/wrappers.proto";
|
||||
import "google/rpc/code.proto";
|
||||
import "google/rpc/status.proto";
|
||||
import "google/type/date.proto";
|
||||
import "google/type/timeofday.proto";
|
||||
|
||||
option csharp_namespace = "Google.Cloud.Container.V1";
|
||||
option go_package = "cloud.google.com/go/container/apiv1/containerpb;containerpb";
|
||||
|
|
@ -55,7 +58,9 @@ option (google.api.resource_definition) = {
|
|||
service ClusterManager {
|
||||
option (google.api.default_host) = "container.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/cloud-platform";
|
||||
"https://www.googleapis.com/auth/cloud-platform,"
|
||||
"https://www.googleapis.com/auth/container,"
|
||||
"https://www.googleapis.com/auth/container.read-only";
|
||||
|
||||
// Lists all clusters owned by a project in either the specified zone or all
|
||||
// zones.
|
||||
|
|
@ -538,7 +543,7 @@ service ClusterManager {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Fetch upgrade information of a specific nodepool.
|
||||
// Fetch upgrade information of a specific node pool.
|
||||
rpc FetchNodePoolUpgradeInfo(FetchNodePoolUpgradeInfoRequest)
|
||||
returns (NodePoolUpgradeInfo) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -626,6 +631,44 @@ message LinuxNodeConfig {
|
|||
TRANSPARENT_HUGEPAGE_DEFRAG_NEVER = 5;
|
||||
}
|
||||
|
||||
// Support for running custom init code while bootstrapping nodes.
|
||||
message CustomNodeInit {
|
||||
// InitScript provide a simply bash script to be executed on the node.
|
||||
message InitScript {
|
||||
// The Cloud Storage URI for storing the init script.
|
||||
// Format: gs://BUCKET_NAME/OBJECT_NAME
|
||||
// The service account on the node pool must have read access to the
|
||||
// object.
|
||||
// User can't configure both gcs_uri and gcp_secret_manager_secret_uri.
|
||||
string gcs_uri = 1;
|
||||
|
||||
// The generation of the init script stored in Gloud Storage.
|
||||
// This is the required field to identify the version of the
|
||||
// init script.
|
||||
// User can get the genetaion from
|
||||
// `gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
|
||||
// --format="value(generation)"` or from the "Version history" tab of the
|
||||
// object in the Cloud Console UI.
|
||||
int64 gcs_generation = 2;
|
||||
|
||||
// Optional. The optional arguments line to be passed to the init script.
|
||||
repeated string args = 3 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// The resource name of the secret manager secret hosting the init script.
|
||||
// Both global and regional secrets are supported with format below:
|
||||
// Global secret: projects/{project}/secrets/{secret}/versions/{version}
|
||||
// Regional secret:
|
||||
// projects/{project}/locations/{location}/secrets/{secret}/versions/{version}
|
||||
// Example: projects/1234567890/secrets/script_1/versions/1.
|
||||
// Accept version number only, not support version alias.
|
||||
// User can't configure both gcp_secret_manager_secret_uri and gcs_uri.
|
||||
string gcp_secret_manager_secret_uri = 4;
|
||||
}
|
||||
|
||||
// Optional. The init script to be executed on the node.
|
||||
InitScript init_script = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Configuration for swap memory on a node pool.
|
||||
message SwapConfig {
|
||||
// Defines encryption settings for the swap space.
|
||||
|
|
@ -691,7 +734,7 @@ message LinuxNodeConfig {
|
|||
|
||||
// Configuration for kernel module loading on nodes.
|
||||
message NodeKernelModuleLoading {
|
||||
// Defines the kernel module loading policy for nodes in the nodepool.
|
||||
// Defines the kernel module loading policy for nodes in the node pool.
|
||||
enum Policy {
|
||||
// Default behavior. GKE selects the image based on node type.
|
||||
// For CPU and TPU nodes, the image will not allow loading external
|
||||
|
|
@ -719,6 +762,13 @@ message LinuxNodeConfig {
|
|||
Policy policy = 1;
|
||||
}
|
||||
|
||||
// AccurateTimeConfig contains configuration for the accurate time
|
||||
// synchronization feature.
|
||||
message AccurateTimeConfig {
|
||||
// Enables enhanced time synchronization using PTP-KVM.
|
||||
optional bool enable_ptp_kvm_time_sync = 1;
|
||||
}
|
||||
|
||||
// The Linux kernel parameters to be applied to the nodes and all pods running
|
||||
// on the nodes.
|
||||
//
|
||||
|
|
@ -805,6 +855,10 @@ message LinuxNodeConfig {
|
|||
TransparentHugepageDefrag transparent_hugepage_defrag = 5
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Allow users to run arbitrary bash script or container on the
|
||||
// node.
|
||||
CustomNodeInit custom_node_init = 11 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Enables and configures swap space on nodes.
|
||||
// If omitted, swap is disabled.
|
||||
optional SwapConfig swap_config = 12 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
|
@ -814,6 +868,10 @@ message LinuxNodeConfig {
|
|||
// OS image that enforces kernel module signature verification.
|
||||
NodeKernelModuleLoading node_kernel_module_loading = 13
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The accurate time configuration for the node pool.
|
||||
optional AccurateTimeConfig accurate_time_config = 14
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Parameters that can be configured on Windows nodes.
|
||||
|
|
@ -838,6 +896,24 @@ message WindowsNodeConfig {
|
|||
|
||||
// Node kubelet configs.
|
||||
message NodeKubeletConfig {
|
||||
// Contains config to modify node-level parameters for container restart
|
||||
// behavior.
|
||||
message CrashLoopBackOffConfig {
|
||||
// Optional. The maximum duration the backoff delay can accrue to for
|
||||
// container restarts, minimum 1 second, maximum 300 seconds. If not set,
|
||||
// defaults to the internal crashloopbackoff maximum.
|
||||
//
|
||||
// The string must be a sequence of decimal numbers, each with optional
|
||||
// fraction and a unit suffix, such as "300ms".
|
||||
// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
|
||||
//
|
||||
// See
|
||||
// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay
|
||||
// for more details.
|
||||
string max_container_restart_period = 1
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Control the CPU management policy on the node.
|
||||
// See
|
||||
// https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
|
||||
|
|
@ -1019,6 +1095,11 @@ message NodeKubeletConfig {
|
|||
optional bool single_process_oom_kill = 22
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Contains configuration options to modify node-level parameters
|
||||
// for container restart behavior.
|
||||
CrashLoopBackOffConfig crash_loop_back_off = 24
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. shutdown_grace_period_seconds is the maximum allowed grace period
|
||||
// (in seconds) the total duration that the node should delay the shutdown
|
||||
// during a graceful shutdown. This is the total grace period for pod
|
||||
|
|
@ -1332,14 +1413,23 @@ message NodeConfig {
|
|||
// for available image types.
|
||||
string image_type = 5;
|
||||
|
||||
// The map of Kubernetes labels (key/value pairs) to be applied to each node.
|
||||
// These will added in addition to any default label(s) that
|
||||
// Kubernetes may apply to the node.
|
||||
// In case of conflict in label keys, the applied set may differ depending on
|
||||
// the Kubernetes version -- it's best to assume the behavior is undefined
|
||||
// and conflicts should be avoided.
|
||||
// For more information, including usage and the valid values, see:
|
||||
// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
// The Kubernetes labels (key/value pairs) to apply to each node. The values
|
||||
// in this field are added to the set of default labels Kubernetes applies to
|
||||
// nodes.
|
||||
//
|
||||
// This field has the following restrictions:
|
||||
//
|
||||
// * Labels must use a valid Kubernetes syntax and character set, as defined
|
||||
// in
|
||||
// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set.
|
||||
// * This field supports up to 1,024 total characters in a single request.
|
||||
//
|
||||
// Depending on the Kubernetes version, keys in this field might conflict with
|
||||
// the keys of the default labels, which might change which of your labels
|
||||
// are applied to the nodes. Assume that the behavior is unpredictable and
|
||||
// avoid label key conflicts. For more information about the default labels,
|
||||
// see:
|
||||
// https://kubernetes.io/docs/reference/labels-annotations-taints/
|
||||
map<string, string> labels = 6;
|
||||
|
||||
// The number of local SSD disks to be attached to the node.
|
||||
|
|
@ -1512,6 +1602,30 @@ message NodeConfig {
|
|||
// scale down underutilized nodes. If not set, nodes are scaled down by
|
||||
// default behavior, i.e. according to the chosen autoscaling profile.
|
||||
google.protobuf.Duration consolidation_delay = 60;
|
||||
|
||||
// Optional. The taint configuration for the node pool.
|
||||
optional TaintConfig taint_config = 62
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// TaintConfig contains the configuration for the taints of the node pool.
|
||||
message TaintConfig {
|
||||
// Controls architecture tainting behavior for a node pool.
|
||||
// New values may be added in the future.
|
||||
enum ArchitectureTaintBehavior {
|
||||
// Specifies that the behavior is unspecified, defaults to ARM.
|
||||
ARCHITECTURE_TAINT_BEHAVIOR_UNSPECIFIED = 0;
|
||||
|
||||
// Disables default architecture taints on the node pool.
|
||||
NONE = 1;
|
||||
|
||||
// Taints all the nodes in the node pool with the default ARM taint.
|
||||
ARM = 2;
|
||||
}
|
||||
|
||||
// Optional. Controls architecture tainting behavior.
|
||||
optional ArchitectureTaintBehavior architecture_taint_behavior = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Specifies options for controlling advanced machine features.
|
||||
|
|
@ -1611,7 +1725,7 @@ message NodeNetworkConfig {
|
|||
optional NetworkPerformanceConfig network_performance_config = 11;
|
||||
|
||||
// [PRIVATE FIELD]
|
||||
// Pod CIDR size overprovisioning config for the nodepool.
|
||||
// Pod CIDR size overprovisioning config for the node pool.
|
||||
//
|
||||
// Pod CIDR size per node depends on max_pods_per_node. By default, the value
|
||||
// of max_pods_per_node is rounded off to next power of 2 and we then double
|
||||
|
|
@ -1642,11 +1756,14 @@ message NodeNetworkConfig {
|
|||
// Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}
|
||||
// If the cluster is associated with multiple subnetworks, the subnetwork can
|
||||
// be either:
|
||||
// 1. A user supplied subnetwork name/full path during node pool creation.
|
||||
// Example1: my-subnet
|
||||
// Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet
|
||||
// 2. A subnetwork path picked based on the IP utilization during node pool
|
||||
// creation and is immutable.
|
||||
// - A user supplied subnetwork name during node pool creation (e.g.,
|
||||
// `my-subnet`). The name must be between 1 and 63 characters long, start
|
||||
// with a letter, contain only letters, numbers, and hyphens, and end with a
|
||||
// letter or a number.
|
||||
// - A full subnetwork path during node pool creation, such as
|
||||
// `projects/gke-project/regions/us-central1/subnetworks/my-subnet`
|
||||
// - A subnetwork path picked based on the IP utilization during node pool
|
||||
// creation and is immutable.
|
||||
string subnetwork = 19 [
|
||||
(google.api.field_behavior) = OPTIONAL,
|
||||
(google.api.resource_reference) = {
|
||||
|
|
@ -1659,6 +1776,13 @@ message NodeNetworkConfig {
|
|||
// pool's lifecycle, including during upgrades.
|
||||
NetworkTierConfig network_tier_config = 20
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Immutable. The accelerator network profile for the node pool. For now the
|
||||
// only valid value is "auto". If specified, the network configuration of the
|
||||
// nodes in this node pool will be managed by this profile for the supported
|
||||
// machine types, zone, etc.
|
||||
string accelerator_network_profile = 21
|
||||
[(google.api.field_behavior) = IMMUTABLE];
|
||||
}
|
||||
|
||||
// AdditionalNodeNetworkConfig is the configuration for additional node networks
|
||||
|
|
@ -1818,8 +1942,8 @@ message ContainerdConfig {
|
|||
// Specifying port is supported.
|
||||
// Wildcards are NOT supported.
|
||||
// Examples:
|
||||
// - my.customdomain.com
|
||||
// - 10.0.1.2:5000
|
||||
// - `my.customdomain.com`
|
||||
// - `10.0.1.2:5000`
|
||||
repeated string fqdns = 1;
|
||||
|
||||
// Certificate access config. The following are supported:
|
||||
|
|
@ -1902,12 +2026,14 @@ message ContainerdConfig {
|
|||
// HostConfig configures the registry host under a given Server.
|
||||
message HostConfig {
|
||||
// Host configures the registry host/mirror.
|
||||
// It supports fully qualified domain names (FQDN) and IP addresses:
|
||||
// Specifying port is supported.
|
||||
// It supports fully qualified domain names (FQDNs) and IP addresses.
|
||||
// Specifying scheme, port or path is supported. Scheme can only be http
|
||||
// or https.
|
||||
// Wildcards are NOT supported.
|
||||
// Examples:
|
||||
// - my.customdomain.com
|
||||
// - 10.0.1.2:5000
|
||||
// - `my.customdomain.com`
|
||||
// - `https://my.customdomain.com/path`
|
||||
// - `10.0.1.2:5000`
|
||||
string host = 1;
|
||||
|
||||
// Capabilities represent the capabilities of the registry host,
|
||||
|
|
@ -1942,11 +2068,11 @@ message ContainerdConfig {
|
|||
// Defines the host name of the registry server, which will be used to
|
||||
// create configuration file as /etc/containerd/hosts.d/<server>/hosts.toml.
|
||||
// It supports fully qualified domain names (FQDN) and IP addresses:
|
||||
// Specifying port is supported.
|
||||
// Specifying port is supported, while scheme and path are NOT supported.
|
||||
// Wildcards are NOT supported.
|
||||
// Examples:
|
||||
// - my.customdomain.com
|
||||
// - 10.0.1.2:5000
|
||||
// - `my.customdomain.com`
|
||||
// - `10.0.1.2:5000`
|
||||
string server = 1;
|
||||
|
||||
// HostConfig configures a list of host-specific configurations for the
|
||||
|
|
@ -2145,9 +2271,20 @@ message AddonsConfig {
|
|||
// Configuration for the Lustre CSI driver.
|
||||
LustreCsiDriverConfig lustre_csi_driver_config = 23;
|
||||
|
||||
// Optional. Configuration for the Pod Snapshot feature.
|
||||
PodSnapshotConfig pod_snapshot_config = 24
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Configuration for the Slurm Operator.
|
||||
SlurmOperatorConfig slurm_operator_config = 25;
|
||||
|
||||
// Optional. Configuration for the slice controller add-on.
|
||||
SliceControllerConfig slice_controller_config = 26
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Configuration for NodeReadinessController add-on.
|
||||
NodeReadinessConfig node_readiness_config = 29
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Configuration options for the HTTP (L7) load balancing controller addon,
|
||||
|
|
@ -2343,6 +2480,27 @@ message LustreCsiDriverConfig {
|
|||
// 1.33.2-gke.4655000, unless you are connecting to a Lustre instance
|
||||
// that has the `gke-support-enabled` flag.
|
||||
bool enable_legacy_lustre_port = 3 [deprecated = true];
|
||||
|
||||
// When set to true, this disables multi-NIC support for the Lustre CSI
|
||||
// driver.
|
||||
// By default, GKE enables multi-NIC support, which allows the Lustre
|
||||
// CSI driver to automatically detect and configure all suitable network
|
||||
// interfaces on a node to maximize I/O performance for demanding workloads.
|
||||
bool disable_multi_nic = 4;
|
||||
}
|
||||
|
||||
// Configuration for the Slurm Operator.
|
||||
message SlurmOperatorConfig {
|
||||
// When enabled, it runs a Slurm Operator that manages the set of compute pods
|
||||
// for Slurm Cluster.
|
||||
bool enabled = 1;
|
||||
}
|
||||
|
||||
// Configuration for the GKE Node Readiness Controller.
|
||||
message NodeReadinessConfig {
|
||||
// Optional. Whether the GKE Node Readiness Controller is enabled for this
|
||||
// cluster.
|
||||
bool enabled = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Configuration for the Slice Controller.
|
||||
|
|
@ -3026,8 +3184,9 @@ message Cluster {
|
|||
// Fleet information for the cluster.
|
||||
Fleet fleet = 140;
|
||||
|
||||
// Enable/Disable Security Posture API features for the cluster.
|
||||
SecurityPostureConfig security_posture_config = 145;
|
||||
// Optional. Enable/Disable Security Posture API features for the cluster.
|
||||
SecurityPostureConfig security_posture_config = 145
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Configuration for all cluster's control plane endpoints.
|
||||
ControlPlaneEndpointsConfig control_plane_endpoints_config = 146;
|
||||
|
|
@ -3044,8 +3203,13 @@ message Cluster {
|
|||
// Secret CSI driver configuration.
|
||||
SecretManagerConfig secret_manager_config = 150;
|
||||
|
||||
// Optional. Deprecated: Compliance Posture is no longer supported.
|
||||
// For more details, see
|
||||
// https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
|
||||
//
|
||||
// Enable/Disable Compliance Posture features for the cluster.
|
||||
CompliancePostureConfig compliance_posture_config = 151;
|
||||
CompliancePostureConfig compliance_posture_config = 151
|
||||
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. Reserved for future use.
|
||||
optional bool satisfies_pzs = 152 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
|
@ -3067,8 +3231,64 @@ message Cluster {
|
|||
// health checks.
|
||||
AnonymousAuthenticationConfig anonymous_authentication_config = 164;
|
||||
|
||||
// Optional. Configuration for scheduled upgrades.
|
||||
ScheduleUpgradeConfig schedule_upgrade_config = 165
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Configuration for sync Secret Manager secrets as k8s secrets.
|
||||
SecretSyncConfig secret_sync_config = 166;
|
||||
|
||||
// Configuration for Managed OpenTelemetry pipeline.
|
||||
ManagedOpenTelemetryConfig managed_opentelemetry_config = 168;
|
||||
|
||||
// Configuration for control plane egress control.
|
||||
ControlPlaneEgress control_plane_egress = 169;
|
||||
|
||||
// Configuration for Managed Machine Learning Diagnostics.
|
||||
ManagedMachineLearningDiagnosticsConfig
|
||||
managed_machine_learning_diagnostics_config = 171;
|
||||
|
||||
// Optional. Configuration for Node Creation Mode.
|
||||
NodeCreationConfig node_creation_config = 174
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// NodeCreationConfig defines the settings of node creation mode.
|
||||
message NodeCreationConfig {
|
||||
// The mode of node creation.
|
||||
enum Mode {
|
||||
// When no user input is provided.
|
||||
MODE_UNSPECIFIED = 0;
|
||||
|
||||
// Kubelet registers itself.
|
||||
VIA_KUBELET = 1;
|
||||
|
||||
// gcp-controller-manager automatically creates the node object after
|
||||
// CSR approval.
|
||||
VIA_CONTROL_PLANE = 2;
|
||||
}
|
||||
|
||||
// The mode of node creation.
|
||||
Mode node_creation_mode = 1;
|
||||
}
|
||||
|
||||
// ControlPlaneEgress defines the settings needed to enable
|
||||
// control plane egress control.
|
||||
message ControlPlaneEgress {
|
||||
// Mode defines the mode of control plane egress.
|
||||
enum Mode {
|
||||
// Default value not specified.
|
||||
MODE_UNSPECIFIED = 0;
|
||||
|
||||
// Control plane has public IP and no restriction on egress.
|
||||
VIA_CONTROL_PLANE = 1;
|
||||
|
||||
// No public IP on control plane and only internal allowlisted egress.
|
||||
NONE = 2;
|
||||
}
|
||||
|
||||
// Defines the mode of control plane egress.
|
||||
Mode mode = 1;
|
||||
}
|
||||
|
||||
// RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
||||
|
|
@ -3170,9 +3390,15 @@ message AnonymousAuthenticationConfig {
|
|||
Mode mode = 1;
|
||||
}
|
||||
|
||||
// Deprecated: Compliance Posture is no longer supported.
|
||||
// For more details, see
|
||||
// https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
|
||||
//
|
||||
// CompliancePostureConfig defines the settings needed to enable/disable
|
||||
// features for the Compliance Posture.
|
||||
message CompliancePostureConfig {
|
||||
option deprecated = true;
|
||||
|
||||
// Mode defines enablement mode for Compliance Posture.
|
||||
enum Mode {
|
||||
// Default value not specified.
|
||||
|
|
@ -3218,8 +3444,12 @@ message SecurityPostureConfig {
|
|||
// Applies Security Posture features on the cluster.
|
||||
BASIC = 2;
|
||||
|
||||
// Deprecated: Security Posture Enterprise features are no longer supported.
|
||||
// For more details, see
|
||||
// https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
|
||||
//
|
||||
// Applies the Security Posture off cluster Enterprise level features.
|
||||
ENTERPRISE = 3;
|
||||
ENTERPRISE = 3 [deprecated = true];
|
||||
}
|
||||
|
||||
// VulnerabilityMode defines enablement mode for vulnerability scanning.
|
||||
|
|
@ -3230,8 +3460,12 @@ message SecurityPostureConfig {
|
|||
// Disables vulnerability scanning on the cluster.
|
||||
VULNERABILITY_DISABLED = 1;
|
||||
|
||||
// Deprecated: Basic vulnerability scanning is no longer supported.
|
||||
// For more details, see
|
||||
// https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
|
||||
//
|
||||
// Applies basic vulnerability scanning on the cluster.
|
||||
VULNERABILITY_BASIC = 2;
|
||||
VULNERABILITY_BASIC = 2 [deprecated = true];
|
||||
|
||||
// Applies the Security Posture's vulnerability on cluster Enterprise level
|
||||
// features.
|
||||
|
|
@ -3557,8 +3791,13 @@ message ClusterUpdate {
|
|||
// Enable/Disable Secret Manager Config.
|
||||
optional SecretManagerConfig desired_secret_manager_config = 139;
|
||||
|
||||
// Deprecated: Compliance Posture is no longer supported.
|
||||
// For more details, see
|
||||
// https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
|
||||
//
|
||||
// Enable/Disable Compliance Posture features for the cluster.
|
||||
optional CompliancePostureConfig desired_compliance_posture_config = 140;
|
||||
optional CompliancePostureConfig desired_compliance_posture_config = 140
|
||||
[deprecated = true];
|
||||
|
||||
// The desired node kubelet config for the cluster.
|
||||
NodeKubeletConfig desired_node_kubelet_config = 141;
|
||||
|
|
@ -3613,11 +3852,28 @@ message ClusterUpdate {
|
|||
// The desired network tier configuration for the cluster.
|
||||
NetworkTierConfig desired_network_tier_config = 155;
|
||||
|
||||
// Configuration for sync Secret Manager secrets as k8s secrets.
|
||||
SecretSyncConfig desired_secret_sync_config = 158;
|
||||
|
||||
// The desired privileged admission config for the cluster.
|
||||
PrivilegedAdmissionConfig desired_privileged_admission_config = 159;
|
||||
|
||||
// The desired control plane egress control config for the cluster.
|
||||
ControlPlaneEgress desired_control_plane_egress = 160;
|
||||
|
||||
// The desired managed open telemetry configuration.
|
||||
ManagedOpenTelemetryConfig desired_managed_opentelemetry_config = 163;
|
||||
|
||||
// The desired autopilot cluster policies that to be enforced in the cluster.
|
||||
ClusterPolicyConfig desired_autopilot_cluster_policy_config = 164;
|
||||
|
||||
// The desired managed machine learning diagnostics configuration.
|
||||
ManagedMachineLearningDiagnosticsConfig
|
||||
desired_managed_machine_learning_diagnostics_config = 166;
|
||||
|
||||
// Optional. The desired NodeCreationConfig for the cluster.
|
||||
NodeCreationConfig desired_node_creation_config = 171
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// AdditionalPodRangesConfig is the configuration for additional pod secondary
|
||||
|
|
@ -3636,7 +3892,7 @@ message AdditionalPodRangesConfig {
|
|||
message AdditionalIPRangesConfig {
|
||||
// Additional subnet with DRAINING status will not be selected during new node
|
||||
// pool creation. To undrain the draining status, update the cluster to set
|
||||
// the sunbet to ACTIVE status. To remove the additional subnet, use the
|
||||
// the subnet to ACTIVE status. To remove the additional subnet, use the
|
||||
// update cluster API to remove the subnet from the
|
||||
// desired_additional_ip_ranges list. IP ranges can be removed regardless of
|
||||
// its status, as long as no node pools are using them.
|
||||
|
|
@ -4211,6 +4467,9 @@ message UpdateNodePoolRequest {
|
|||
// scale down underutilized nodes. If not set, nodes are scaled down by
|
||||
// default behavior, i.e. according to the chosen autoscaling profile.
|
||||
google.protobuf.Duration consolidation_delay = 49;
|
||||
|
||||
// The taint configuration for the node pool.
|
||||
TaintConfig taint_config = 51;
|
||||
}
|
||||
|
||||
// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
|
||||
|
|
@ -4959,19 +5218,50 @@ message NodePool {
|
|||
|
||||
// QueuedProvisioning defines the queued provisioning used by the node pool.
|
||||
message QueuedProvisioning {
|
||||
// Denotes that this nodepool is QRM specific, meaning nodes can be only
|
||||
// Denotes that this node pool is QRM specific, meaning nodes can be only
|
||||
// obtained through queuing via the Cluster Autoscaler ProvisioningRequest
|
||||
// API.
|
||||
bool enabled = 1;
|
||||
}
|
||||
|
||||
// NodeDrainConfig contains the node drain related configurations for this
|
||||
// nodepool.
|
||||
// node pool.
|
||||
message NodeDrainConfig {
|
||||
// The duration of the PDB timeout period for node drain.
|
||||
optional google.protobuf.Duration pdb_timeout_duration = 1;
|
||||
|
||||
// The duration of the grace termination period for node drain.
|
||||
optional google.protobuf.Duration grace_termination_duration = 2;
|
||||
|
||||
// Whether to respect PDB during node pool deletion.
|
||||
optional bool respect_pdb_during_node_pool_deletion = 3;
|
||||
}
|
||||
|
||||
// Defines the maintenance exclusion for the node pool.
|
||||
message ExclusionUntilEndOfSupport {
|
||||
// Optional. Indicates whether the exclusion is enabled.
|
||||
bool enabled = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. The start time of the maintenance exclusion. It is output
|
||||
// only. It is the exclusion creation time.
|
||||
google.protobuf.Timestamp start_time = 2
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The end time of the maintenance exclusion. It is output
|
||||
// only. It is the cluster control plane version's end of support time, or
|
||||
// end of extended support time when the cluster is on extended support
|
||||
// channel.
|
||||
google.protobuf.Timestamp end_time = 3
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Defines the maintenance policy for the node pool.
|
||||
message NodePoolMaintenancePolicy {
|
||||
// Optional. The exclusion until end of support for the node pool.
|
||||
ExclusionUntilEndOfSupport exclusion_until_end_of_support = 1
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// The name of the node pool.
|
||||
string name = 1;
|
||||
|
||||
|
|
@ -5066,6 +5356,10 @@ message NodePool {
|
|||
|
||||
// Specifies the node drain configuration for this node pool.
|
||||
NodeDrainConfig node_drain_config = 116;
|
||||
|
||||
// Optional. Specifies the maintenance policy for the node pool.
|
||||
NodePoolMaintenancePolicy maintenance_policy = 118
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// NodeManagement defines the set of node management services turned on for the
|
||||
|
|
@ -5124,6 +5418,33 @@ message MaintenancePolicy {
|
|||
// Make a `get()` request to the cluster to get the current
|
||||
// resource version and include it with requests to set the policy.
|
||||
string resource_version = 3;
|
||||
|
||||
// Optional. The upgrade disruption budget for the cluster control plane.
|
||||
DisruptionBudget disruption_budget = 4
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// DisruptionBudget defines the upgrade disruption budget for the cluster
|
||||
// control plane.
|
||||
message DisruptionBudget {
|
||||
// Optional. The minimum duration between two minor version upgrades of the
|
||||
// control plane.
|
||||
google.protobuf.Duration minor_version_disruption_interval = 1
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The minimum duration between two patch version upgrades of the
|
||||
// control plane.
|
||||
google.protobuf.Duration patch_version_disruption_interval = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. The last time a minor version upgrade was performed on the
|
||||
// control plane.
|
||||
google.protobuf.Timestamp last_minor_version_disruption_time = 3
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The last time a disruption was performed on the control plane.
|
||||
google.protobuf.Timestamp last_disruption_time = 5
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// MaintenanceWindow defines the maintenance window to be used for the cluster.
|
||||
|
|
@ -5136,6 +5457,12 @@ message MaintenanceWindow {
|
|||
// maintenance to occur. The time windows may be overlapping. If no
|
||||
// maintenance windows are set, maintenance can occur at any time.
|
||||
RecurringTimeWindow recurring_window = 3;
|
||||
|
||||
// RecurringMaintenanceWindow specifies some number of recurring time
|
||||
// periods for maintenance to occur. The time windows may be overlapping.
|
||||
// If no maintenance windows are set, maintenance can occur at any time.
|
||||
// Alternative to RecurringWindow, with renamed fields.
|
||||
RecurringMaintenanceWindow recurring_maintenance_window = 5;
|
||||
}
|
||||
|
||||
// Exceptions to maintenance window. Non-emergency maintenance should not
|
||||
|
|
@ -5237,6 +5564,41 @@ message RecurringTimeWindow {
|
|||
string recurrence = 2;
|
||||
}
|
||||
|
||||
// Represents an arbitrary window of time that recurs.
|
||||
// Will replace RecurringTimeWindow.
|
||||
message RecurringMaintenanceWindow {
|
||||
// Optional. Specifies the date before which will not be scheduled.
|
||||
// Depending on the recurrence, this may be the date the first window appears.
|
||||
// Days are measured in the UTC timezone. This setting must be used when
|
||||
// INTERVAL>1 or FREQ=WEEKLY/MONTHLY and no BYDAY specified.
|
||||
optional google.type.Date delay_until = 1
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Required. Start time of the window on days that it is scheduled,
|
||||
// assuming UTC timezone.
|
||||
google.type.TimeOfDay window_start_time = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. Duration of the window.
|
||||
google.protobuf.Duration window_duration = 3
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)
|
||||
// for how this window recurs.
|
||||
//
|
||||
// For example, to have something repeat every weekday, you'd use:
|
||||
// `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
|
||||
//
|
||||
// To repeat some window daily (equivalent to the DailyMaintenanceWindow):
|
||||
// `FREQ=DAILY`
|
||||
//
|
||||
// For the first weekend of every month:
|
||||
// `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
|
||||
//
|
||||
// The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
|
||||
string recurrence = 4 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Time window specified for daily maintenance operations.
|
||||
message DailyMaintenanceWindow {
|
||||
// Time within the maintenance window to start the maintenance operations.
|
||||
|
|
@ -5384,6 +5746,9 @@ message ClusterAutoscaling {
|
|||
|
||||
// Avoid extra IP consumption.
|
||||
NO_PERFORMANCE = 1;
|
||||
|
||||
// Use default configuration.
|
||||
NONE = 2;
|
||||
}
|
||||
|
||||
// Enables automatic node pool creation and deletion.
|
||||
|
|
@ -5497,7 +5862,7 @@ message DefaultComputeClassConfig {
|
|||
// 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.
|
||||
// node pool.
|
||||
enum LocationPolicy {
|
||||
// Not set.
|
||||
LOCATION_POLICY_UNSPECIFIED = 0;
|
||||
|
|
@ -5524,7 +5889,7 @@ message NodePoolAutoscaling {
|
|||
// Can this node pool be deleted automatically.
|
||||
bool autoprovisioned = 4;
|
||||
|
||||
// Location policy used when scaling up a nodepool.
|
||||
// Location policy used when scaling up a node pool.
|
||||
LocationPolicy location_policy = 5;
|
||||
|
||||
// Minimum number of nodes in the node pool. Must be greater than or equal
|
||||
|
|
@ -6244,6 +6609,11 @@ message DatabaseEncryption {
|
|||
// Secrets in etcd are stored in plain text (at etcd level) - this is
|
||||
// unrelated to Compute Engine level full disk encryption.
|
||||
DECRYPTED = 2;
|
||||
|
||||
// Encryption of all objects in the storage is enabled. There is no
|
||||
// guarantee that all objects in the storage are encrypted, but eventually
|
||||
// they will be.
|
||||
ALL_OBJECTS_ENCRYPTION_ENABLED = 3;
|
||||
}
|
||||
|
||||
// Current State of etcd encryption.
|
||||
|
|
@ -6271,6 +6641,17 @@ message DatabaseEncryption {
|
|||
|
||||
// De-crypting Secrets to plain text in etcd encountered an error.
|
||||
CURRENT_STATE_DECRYPTION_ERROR = 6;
|
||||
|
||||
// Encryption of all objects in the storage is enabled.
|
||||
// It does not guarantee that all objects in the storage are encrypted,
|
||||
// but eventually they will be.
|
||||
CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_ENABLED = 8;
|
||||
|
||||
// Enablement of the encryption of all objects in storage is pending.
|
||||
CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_PENDING = 9;
|
||||
|
||||
// Enabling encryption of all objects in storage encountered an error.
|
||||
CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_ERROR = 10;
|
||||
}
|
||||
|
||||
// OperationError records errors seen from CloudKMS keys
|
||||
|
|
@ -6618,6 +6999,9 @@ message UpgradeInfoEvent {
|
|||
// STATE_UNSPECIFIED indicates the state is unspecified.
|
||||
STATE_UNSPECIFIED = 0;
|
||||
|
||||
// SCHEDULED indicates the upgrade was scheduled.
|
||||
SCHEDULED = 1;
|
||||
|
||||
// STARTED indicates the upgrade has started.
|
||||
STARTED = 3;
|
||||
|
||||
|
|
@ -6812,6 +7196,27 @@ message Autopilot {
|
|||
// PrivilegedAdmissionConfig is the configuration related to privileged
|
||||
// admission control.
|
||||
PrivilegedAdmissionConfig privileged_admission_config = 4;
|
||||
|
||||
// ClusterPolicyConfig denotes cluster level policies that are enforced for
|
||||
// the cluster.
|
||||
ClusterPolicyConfig cluster_policy_config = 5;
|
||||
}
|
||||
|
||||
// ClusterPolicyConfig stores the configuration for cluster wide policies.
|
||||
message ClusterPolicyConfig {
|
||||
// Denotes that preventing creation and mutation of resources in GKE
|
||||
// managed namespaces and cluster-scoped GKE managed resources .
|
||||
optional bool no_system_mutation = 1;
|
||||
|
||||
// Denotes preventing impersonation and CSRs for GKE System users.
|
||||
optional bool no_system_impersonation = 2;
|
||||
|
||||
// Denotes preventing unsafe webhooks.
|
||||
optional bool no_unsafe_webhooks = 3;
|
||||
|
||||
// Denotes preventing standard node pools and requiring only autopilot node
|
||||
// pools.
|
||||
optional bool no_standard_node_pools = 5;
|
||||
}
|
||||
|
||||
// PrivilegedAdmissionConfig stores the list of authorized allowlist
|
||||
|
|
@ -6938,7 +7343,7 @@ message RayClusterMonitoringConfig {
|
|||
bool enabled = 1;
|
||||
}
|
||||
|
||||
// NodePoolLoggingConfig specifies logging configuration for nodepools.
|
||||
// NodePoolLoggingConfig specifies logging configuration for node pools.
|
||||
message NodePoolLoggingConfig {
|
||||
// Logging variant configuration.
|
||||
LoggingVariantConfig variant_config = 1;
|
||||
|
|
@ -7047,8 +7452,8 @@ enum NodePoolUpdateStrategy {
|
|||
SURGE = 3;
|
||||
|
||||
// SHORT_LIVED is the dedicated upgrade strategy for
|
||||
// QueuedProvisioning and flex start nodepools scaled up only by enqueueing to
|
||||
// the Dynamic Workload Scheduler (DWS).
|
||||
// QueuedProvisioning and flex start node pools scaled up only by enqueueing
|
||||
// to the Dynamic Workload Scheduler (DWS).
|
||||
SHORT_LIVED = 5;
|
||||
}
|
||||
|
||||
|
|
@ -7339,7 +7744,7 @@ message SecretManagerConfig {
|
|||
optional RotationConfig rotation_config = 2;
|
||||
}
|
||||
|
||||
// BootDisk specifies the boot disk configuration for nodepools.
|
||||
// BootDisk specifies the boot disk configuration for node pools.
|
||||
message BootDisk {
|
||||
// Disk type of the boot disk.
|
||||
// (i.e. Hyperdisk-Balanced, PD-Balanced, etc.)
|
||||
|
|
@ -7527,9 +7932,9 @@ message UpgradeDetails {
|
|||
}
|
||||
|
||||
// FetchNodePoolUpgradeInfoRequest fetches the upgrade information of a
|
||||
// nodepool.
|
||||
// node pool.
|
||||
message FetchNodePoolUpgradeInfoRequest {
|
||||
// Required. The name (project, location, cluster, nodepool) of the nodepool
|
||||
// Required. The name (project, location, cluster, node pool) of the node pool
|
||||
// to get. Specified in the format
|
||||
// `projects/*/locations/*/clusters/*/nodePools/*` or
|
||||
// `projects/*/zones/*/clusters/*/nodePools/*`.
|
||||
|
|
@ -7539,7 +7944,7 @@ message FetchNodePoolUpgradeInfoRequest {
|
|||
string version = 100;
|
||||
}
|
||||
|
||||
// NodePoolUpgradeInfo contains the upgrade information of a nodepool.
|
||||
// NodePoolUpgradeInfo contains the upgrade information of a node pool.
|
||||
message NodePoolUpgradeInfo {
|
||||
// AutoUpgradeStatus indicates the status of auto upgrade.
|
||||
enum AutoUpgradeStatus {
|
||||
|
|
@ -7594,13 +7999,19 @@ message NodePoolUpgradeInfo {
|
|||
// The list of past auto upgrades.
|
||||
repeated UpgradeDetails upgrade_details = 5;
|
||||
|
||||
// The nodepool's current minor version's end of standard support timestamp.
|
||||
// The node pool's current minor version's end of standard support timestamp.
|
||||
optional string end_of_standard_support_timestamp = 6;
|
||||
|
||||
// The nodepool's current minor version's end of extended support timestamp.
|
||||
// The node pool's current minor version's end of extended support timestamp.
|
||||
optional string end_of_extended_support_timestamp = 7;
|
||||
}
|
||||
|
||||
// Configuration for scheduled upgrades on the cluster.
|
||||
message ScheduleUpgradeConfig {
|
||||
// Optional. Whether or not scheduled upgrades are enabled.
|
||||
bool enabled = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// GkeAutoUpgradeConfig is the configuration for GKE auto upgrades.
|
||||
message GkeAutoUpgradeConfig {
|
||||
// PatchMode specifies how auto upgrade patch builds should be
|
||||
|
|
@ -7648,6 +8059,25 @@ message NetworkTierConfig {
|
|||
NetworkTier network_tier = 1;
|
||||
}
|
||||
|
||||
// Configuration for sync Secret Manager secrets as k8s secrets.
|
||||
message SecretSyncConfig {
|
||||
// SyncRotationConfig is config for secret manager auto rotation.
|
||||
message SyncRotationConfig {
|
||||
// Whether the rotation is enabled.
|
||||
optional bool enabled = 1;
|
||||
|
||||
// The interval between two consecutive rotations. Default rotation interval
|
||||
// is 2 minutes.
|
||||
optional google.protobuf.Duration rotation_interval = 2;
|
||||
}
|
||||
|
||||
// Enable/Disable Secret Sync Config.
|
||||
optional bool enabled = 1;
|
||||
|
||||
// Rotation config for secret manager.
|
||||
optional SyncRotationConfig rotation_config = 2;
|
||||
}
|
||||
|
||||
// ManagedOpenTelemetryConfig is the configuration for the GKE Managed
|
||||
// OpenTelemetry pipeline.
|
||||
message ManagedOpenTelemetryConfig {
|
||||
|
|
@ -7667,3 +8097,16 @@ message ManagedOpenTelemetryConfig {
|
|||
// Scope of the Managed OpenTelemetry pipeline.
|
||||
optional Scope scope = 1;
|
||||
}
|
||||
|
||||
// ManagedMachineLearningDiagnosticsConfig is the configuration for the GKE
|
||||
// Managed Machine Learning Diagnostics pipeline.
|
||||
message ManagedMachineLearningDiagnosticsConfig {
|
||||
// Enable/Disable Managed Machine Learning Diagnostics.
|
||||
optional bool enabled = 1;
|
||||
}
|
||||
|
||||
// PodSnapshotConfig is the configuration for GKE Pod Snapshots feature.
|
||||
message PodSnapshotConfig {
|
||||
// Whether or not the Pod Snapshots feature is enabled.
|
||||
bool enabled = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,74 @@ authentication:
|
|||
- selector: 'google.container.v1.ClusterManager.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container
|
||||
- selector: google.container.v1.ClusterManager.CheckAutopilotCompatibility
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.FetchClusterUpgradeInfo
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.FetchNodePoolUpgradeInfo
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.GetCluster
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.GetNodePool
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.GetOperation
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.GetServerConfig
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.ListClusters
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.ListNodePools
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.ListOperations
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
- selector: google.container.v1.ClusterManager.ListUsableSubnetworks
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/container,
|
||||
https://www.googleapis.com/auth/container.read-only
|
||||
|
||||
publishing:
|
||||
library_settings:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue