From e62ec4df1773c683cc60cbb1adafeffc98970a61 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:02:32 -0700 Subject: [PATCH] feat: [container] A new message `HugepagesConfig` is added (#5447) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: A new method_signature `parent` is added to method `ListOperations` in service `ClusterManager` PiperOrigin-RevId: 641218734 Source-Link: https://github.com/googleapis/googleapis/commit/067ac21d1eaab8692cec9d102c02acd2991abc91 Source-Link: https://github.com/googleapis/googleapis-gen/commit/2b38d68cfd75735df69d604d084d9691d20f203b Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiMmIzOGQ2OGNmZDc1NzM1ZGY2OWQ2MDRkMDg0ZDk2OTFkMjBmMjAzYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: A new message `HugepagesConfig` is added feat: A new field `hugepages` is added to message `.google.container.v1.LinuxNodeConfig` feat: A new field `containerd_config` is added to message `.google.container.v1.NodeConfig` feat: A new field `enable_nested_virtualization` is added to message `.google.container.v1.AdvancedMachineFeatures` feat: A new message `ContainerdConfig` is added feat: A new field `satisfies_pzs` is added to message `.google.container.v1.Cluster` feat: A new field `satisfies_pzi` is added to message `.google.container.v1.Cluster` feat: A new value `ENTERPRISE` is added to enum `Mode` feat: A new field `node_kubelet_config` is added to message `.google.container.v1.NodePoolAutoConfig` feat: A new field `containerd_config` is added to message `.google.container.v1.NodeConfigDefaults` feat: A new field `node_kubelet_config` is added to message `.google.container.v1.NodeConfigDefaults` feat: A new field `desired_containerd_config` is added to message `.google.container.v1.ClusterUpdate` feat: A new field `desired_node_kubelet_config` is added to message `.google.container.v1.ClusterUpdate` feat: A new field `desired_node_pool_auto_config_kubelet_config` is added to message `.google.container.v1.ClusterUpdate` feat: A new field `accelerators` is added to message `.google.container.v1.UpdateNodePoolRequest` feat: A new field `containerd_config` is added to message `.google.container.v1.UpdateNodePoolRequest` feat: A new value `MPS` is added to enum `GPUSharingStrategy` feat: A new field `additive_vpc_scope_dns_domain` is added to message `.google.container.v1.DNSConfig` feat: A new value `CADVISOR` is added to enum `Component` feat: A new value `KUBELET` is added to enum `Component` docs: A comment for field `desired_private_cluster_config` in message `.google.container.v1.ClusterUpdate` is changed docs: A comment for field `in_transit_encryption_config` in message `.google.container.v1.NetworkConfig` is changed PiperOrigin-RevId: 641308642 Source-Link: https://github.com/googleapis/googleapis/commit/9516e70a70d6f7e0cd000ddd370d73656da09b96 Source-Link: https://github.com/googleapis/googleapis-gen/commit/83800e1fffd8774259ea91b9379f9e5a316d23e4 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiODM4MDBlMWZmZmQ4Nzc0MjU5ZWE5MWI5Mzc5ZjllNWEzMTZkMjNlNCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- .../google/container/v1/cluster_service.proto | 130 +- packages/google-container/protos/protos.d.ts | 815 +++++++- packages/google-container/protos/protos.js | 1669 ++++++++++++++++- packages/google-container/protos/protos.json | 199 +- .../v1/cluster_manager.update_node_pool.js | 12 + .../snippet_metadata_google.container.v1.json | 10 +- .../src/v1/cluster_manager_client.ts | 8 + 7 files changed, 2739 insertions(+), 104 deletions(-) diff --git a/packages/google-container/protos/google/container/v1/cluster_service.proto b/packages/google-container/protos/google/container/v1/cluster_service.proto index 941f81f0bfc..b9f6f53ff9a 100644 --- a/packages/google-container/protos/google/container/v1/cluster_service.proto +++ b/packages/google-container/protos/google/container/v1/cluster_service.proto @@ -258,6 +258,7 @@ service ClusterManager { } }; option (google.api.method_signature) = "project_id,zone"; + option (google.api.method_signature) = "parent"; } // Gets the specified operation. @@ -531,6 +532,15 @@ message LinuxNodeConfig { CGROUP_MODE_V2 = 2; } + // Hugepages amount in both 2m and 1g size + message HugepagesConfig { + // Optional. Amount of 2M hugepages + optional int32 hugepage_size2m = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Amount of 1G hugepages + optional int32 hugepage_size1g = 2 [(google.api.field_behavior) = OPTIONAL]; + } + // The Linux kernel parameters to be applied to the nodes and all pods running // on the nodes. // @@ -551,6 +561,10 @@ message LinuxNodeConfig { // cgroup_mode specifies the cgroup mode to be used on the node. CgroupMode cgroup_mode = 2; + + // Optional. Amounts for 2M and 1G hugepages + optional HugepagesConfig hugepages = 3 + [(google.api.field_behavior) = OPTIONAL]; } // Parameters that can be configured on Windows nodes. @@ -830,6 +844,9 @@ message NodeConfig { // Parameters for node pools to be backed by shared sole tenant node groups. SoleTenantConfig sole_tenant_config = 42; + // Parameters for containerd customization. + ContainerdConfig containerd_config = 43; + // A map of resource manager tag keys and values to be attached to the nodes. ResourceManagerTags resource_manager_tags = 45; @@ -851,6 +868,9 @@ message AdvancedMachineFeatures { // multithreading (SMT) set this to 1. If unset, the maximum number of threads // supported per core by the underlying processor is assumed. optional int64 threads_per_core = 1; + + // Whether or not to enable nested virtualization (defaults to false). + optional bool enable_nested_virtualization = 2; } // Parameters for node pool-level network config. @@ -1079,6 +1099,53 @@ message SoleTenantConfig { repeated NodeAffinity node_affinities = 1; } +// ContainerdConfig contains configuration to customize containerd. +message ContainerdConfig { + // PrivateRegistryAccessConfig contains access configuration for + // private container registries. + message PrivateRegistryAccessConfig { + // CertificateAuthorityDomainConfig configures one or more fully qualified + // domain names (FQDN) to a specific certificate. + message CertificateAuthorityDomainConfig { + // GCPSecretManagerCertificateConfig configures a secret from + // [Google Secret Manager](https://cloud.google.com/secret-manager). + message GCPSecretManagerCertificateConfig { + // Secret URI, in the form + // "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION". + // Version can be fixed (e.g. "2") or "latest" + string secret_uri = 1; + } + + // List of fully qualified domain names (FQDN). + // Specifying port is supported. + // Wilcards are NOT supported. + // Examples: + // - my.customdomain.com + // - 10.0.1.2:5000 + repeated string fqdns = 1; + + // Certificate access config. The following are supported: + // - GCPSecretManagerCertificateConfig + oneof certificate_config { + // Google Secret Manager (GCP) certificate configuration. + GCPSecretManagerCertificateConfig + gcp_secret_manager_certificate_config = 2; + } + } + + // Private registry access is enabled. + bool enabled = 1; + + // Private registry access configuration. + repeated CertificateAuthorityDomainConfig + certificate_authority_domain_config = 2; + } + + // PrivateRegistryAccessConfig is used to configure access configuration + // for private container registries. + PrivateRegistryAccessConfig private_registry_access_config = 1; +} + // Kubernetes taint is composed of three fields: key, value, and effect. Effect // can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. // @@ -1997,6 +2064,12 @@ message Cluster { // GKE Enterprise Configuration. EnterpriseConfig enterprise_config = 149; + + // Output only. Reserved for future use. + optional bool satisfies_pzs = 152 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Reserved for future use. + optional bool satisfies_pzi = 153 [(google.api.field_behavior) = OUTPUT_ONLY]; } // K8sBetaAPIConfig , configuration for beta APIs @@ -2018,6 +2091,9 @@ message SecurityPostureConfig { // Applies Security Posture features on the cluster. BASIC = 2; + + // Applies the Security Posture off cluster Enterprise level features. + ENTERPRISE = 3; } // VulnerabilityMode defines enablement mode for vulnerability scanning. @@ -2055,6 +2131,11 @@ message NodePoolAutoConfig { // Resource manager tag keys and values to be attached to the nodes // for managing Compute Engine firewalls using Network Firewall Policies. ResourceManagerTags resource_manager_tags = 2; + + // NodeKubeletConfig controls the defaults for autoprovisioned node-pools. + // + // Currently only `insecure_kubelet_readonly_port_enabled` can be set here. + NodeKubeletConfig node_kubelet_config = 3; } // Subset of Nodepool message that has defaults. @@ -2070,6 +2151,14 @@ message NodeConfigDefaults { // Logging configuration for node pools. NodePoolLoggingConfig logging_config = 3; + + // Parameters for containerd customization. + ContainerdConfig containerd_config = 4; + + // NodeKubeletConfig controls the defaults for new node-pools. + // + // Currently only `insecure_kubelet_readonly_port_enabled` can be set here. + NodeKubeletConfig node_kubelet_config = 6; } // ClusterUpdate describes an update to the cluster. Exactly one update can @@ -2178,7 +2267,12 @@ message ClusterUpdate { // Cluster-level Vertical Pod Autoscaling configuration. VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22; - // The desired private cluster configuration. + // The desired private cluster configuration. master_global_access_config is + // the only field that can be changed via this field. + // See also + // [ClusterUpdate.desired_enable_private_endpoint][google.container.v1.ClusterUpdate.desired_enable_private_endpoint] + // for modifying other fields within + // [PrivateClusterConfig][google.container.v1.PrivateClusterConfig]. PrivateClusterConfig desired_private_cluster_config = 25; // The desired config of Intra-node visibility. @@ -2287,6 +2381,9 @@ message ClusterUpdate { // Desired Beta APIs to be enabled for cluster. K8sBetaAPIConfig desired_k8s_beta_apis = 131; + // The desired containerd config for the cluster. + ContainerdConfig desired_containerd_config = 134; + // Enable/Disable Multi-Networking for the cluster optional bool desired_enable_multi_networking = 135; @@ -2299,6 +2396,13 @@ message ClusterUpdate { // Enable/Disable Cilium Clusterwide Network Policy for the cluster. optional bool desired_enable_cilium_clusterwide_network_policy = 138; + + // The desired node kubelet config for the cluster. + NodeKubeletConfig desired_node_kubelet_config = 141; + + // The desired node kubelet config for all auto-provisioned node pools + // in autopilot clusters and node auto-provisioning enabled clusters. + NodeKubeletConfig desired_node_pool_auto_config_kubelet_config = 142; } // AdditionalPodRangesConfig is the configuration for additional pod secondary @@ -2758,6 +2862,11 @@ message UpdateNodePoolRequest { // Parameters that can be configured on Windows nodes. WindowsNodeConfig windows_node_config = 34; + // A list of hardware accelerators to be attached to each node. + // See https://cloud.google.com/compute/docs/gpus for more information about + // support for GPUs. + repeated AcceleratorConfig accelerators = 35; + // Optional. The desired [Google Compute Engine machine // type](https://cloud.google.com/compute/docs/machine-types) for nodes in the // node pool. Initiates an upgrade operation that migrates the nodes in the @@ -2781,6 +2890,11 @@ message UpdateNodePoolRequest { // Existing tags will be replaced with new values. ResourceManagerTags resource_manager_tags = 39; + // The desired containerd config for nodes in the node pool. + // Initiates an upgrade operation that recreates the nodes with the new + // config. + ContainerdConfig containerd_config = 40; + // Specifies the configuration of queued provisioning. NodePool.QueuedProvisioning queued_provisioning = 42; } @@ -4186,6 +4300,9 @@ message GPUSharingConfig { // GPUs are time-shared between containers. TIME_SHARING = 1; + + // GPUs are shared between containers with NVIDIA MPS. + MPS = 2; } // The max number of containers that can share a physical GPU. @@ -4405,6 +4522,7 @@ message NetworkConfig { optional bool enable_fqdn_network_policy = 19; // Specify the details of in-transit encryption. + // Now named inter-node transparent encryption. optional InTransitEncryptionConfig in_transit_encryption_config = 20; // Whether CiliumClusterwideNetworkPolicy is enabled on this cluster. @@ -4668,6 +4786,10 @@ message DNSConfig { // cluster_dns_domain is the suffix used for all cluster service records. string cluster_dns_domain = 3; + + // Optional. The domain used in Additive VPC scope. + string additive_vpc_scope_dns_domain = 5 + [(google.api.field_behavior) = OPTIONAL]; } // Constraints applied to pods. @@ -5258,6 +5380,12 @@ message MonitoringComponentConfig { // Statefulset STATEFULSET = 12; + + // CADVISOR + CADVISOR = 13; + + // KUBELET + KUBELET = 14; } // Select components to collect metrics. An empty set would disable all diff --git a/packages/google-container/protos/protos.d.ts b/packages/google-container/protos/protos.d.ts index 974d350c2ec..4e6c475f96c 100644 --- a/packages/google-container/protos/protos.d.ts +++ b/packages/google-container/protos/protos.d.ts @@ -769,6 +769,9 @@ export namespace google { /** LinuxNodeConfig cgroupMode */ cgroupMode?: (google.container.v1.LinuxNodeConfig.CgroupMode|keyof typeof google.container.v1.LinuxNodeConfig.CgroupMode|null); + + /** LinuxNodeConfig hugepages */ + hugepages?: (google.container.v1.LinuxNodeConfig.IHugepagesConfig|null); } /** Represents a LinuxNodeConfig. */ @@ -786,6 +789,12 @@ export namespace google { /** LinuxNodeConfig cgroupMode. */ public cgroupMode: (google.container.v1.LinuxNodeConfig.CgroupMode|keyof typeof google.container.v1.LinuxNodeConfig.CgroupMode); + /** LinuxNodeConfig hugepages. */ + public hugepages?: (google.container.v1.LinuxNodeConfig.IHugepagesConfig|null); + + /** LinuxNodeConfig _hugepages. */ + public _hugepages?: "hugepages"; + /** * Creates a new LinuxNodeConfig instance using the specified properties. * @param [properties] Properties to set @@ -872,6 +881,115 @@ export namespace google { CGROUP_MODE_V1 = 1, CGROUP_MODE_V2 = 2 } + + /** Properties of a HugepagesConfig. */ + interface IHugepagesConfig { + + /** HugepagesConfig hugepageSize2m */ + hugepageSize2m?: (number|null); + + /** HugepagesConfig hugepageSize1g */ + hugepageSize1g?: (number|null); + } + + /** Represents a HugepagesConfig. */ + class HugepagesConfig implements IHugepagesConfig { + + /** + * Constructs a new HugepagesConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.LinuxNodeConfig.IHugepagesConfig); + + /** HugepagesConfig hugepageSize2m. */ + public hugepageSize2m?: (number|null); + + /** HugepagesConfig hugepageSize1g. */ + public hugepageSize1g?: (number|null); + + /** HugepagesConfig _hugepageSize2m. */ + public _hugepageSize2m?: "hugepageSize2m"; + + /** HugepagesConfig _hugepageSize1g. */ + public _hugepageSize1g?: "hugepageSize1g"; + + /** + * Creates a new HugepagesConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns HugepagesConfig instance + */ + public static create(properties?: google.container.v1.LinuxNodeConfig.IHugepagesConfig): google.container.v1.LinuxNodeConfig.HugepagesConfig; + + /** + * Encodes the specified HugepagesConfig message. Does not implicitly {@link google.container.v1.LinuxNodeConfig.HugepagesConfig.verify|verify} messages. + * @param message HugepagesConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.LinuxNodeConfig.IHugepagesConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HugepagesConfig message, length delimited. Does not implicitly {@link google.container.v1.LinuxNodeConfig.HugepagesConfig.verify|verify} messages. + * @param message HugepagesConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.LinuxNodeConfig.IHugepagesConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HugepagesConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HugepagesConfig + * @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.LinuxNodeConfig.HugepagesConfig; + + /** + * Decodes a HugepagesConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HugepagesConfig + * @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.LinuxNodeConfig.HugepagesConfig; + + /** + * Verifies a HugepagesConfig 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 HugepagesConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HugepagesConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.LinuxNodeConfig.HugepagesConfig; + + /** + * Creates a plain object from a HugepagesConfig message. Also converts values to other types if specified. + * @param message HugepagesConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.LinuxNodeConfig.HugepagesConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HugepagesConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HugepagesConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } /** Properties of a WindowsNodeConfig. */ @@ -1210,6 +1328,9 @@ export namespace google { /** NodeConfig soleTenantConfig */ soleTenantConfig?: (google.container.v1.ISoleTenantConfig|null); + /** NodeConfig containerdConfig */ + containerdConfig?: (google.container.v1.IContainerdConfig|null); + /** NodeConfig resourceManagerTags */ resourceManagerTags?: (google.container.v1.IResourceManagerTags|null); @@ -1334,6 +1455,9 @@ export namespace google { /** NodeConfig soleTenantConfig. */ public soleTenantConfig?: (google.container.v1.ISoleTenantConfig|null); + /** NodeConfig containerdConfig. */ + public containerdConfig?: (google.container.v1.IContainerdConfig|null); + /** NodeConfig resourceManagerTags. */ public resourceManagerTags?: (google.container.v1.IResourceManagerTags|null); @@ -1435,6 +1559,9 @@ export namespace google { /** AdvancedMachineFeatures threadsPerCore */ threadsPerCore?: (number|Long|string|null); + + /** AdvancedMachineFeatures enableNestedVirtualization */ + enableNestedVirtualization?: (boolean|null); } /** Represents an AdvancedMachineFeatures. */ @@ -1449,9 +1576,15 @@ export namespace google { /** AdvancedMachineFeatures threadsPerCore. */ public threadsPerCore?: (number|Long|string|null); + /** AdvancedMachineFeatures enableNestedVirtualization. */ + public enableNestedVirtualization?: (boolean|null); + /** AdvancedMachineFeatures _threadsPerCore. */ public _threadsPerCore?: "threadsPerCore"; + /** AdvancedMachineFeatures _enableNestedVirtualization. */ + public _enableNestedVirtualization?: "enableNestedVirtualization"; + /** * Creates a new AdvancedMachineFeatures instance using the specified properties. * @param [properties] Properties to set @@ -2536,119 +2669,531 @@ export namespace google { /** Properties of a NodeAffinity. */ interface INodeAffinity { - /** NodeAffinity key */ - key?: (string|null); + /** NodeAffinity key */ + key?: (string|null); + + /** NodeAffinity operator */ + operator?: (google.container.v1.SoleTenantConfig.NodeAffinity.Operator|keyof typeof google.container.v1.SoleTenantConfig.NodeAffinity.Operator|null); + + /** NodeAffinity values */ + values?: (string[]|null); + } + + /** Represents a NodeAffinity. */ + class NodeAffinity implements INodeAffinity { + + /** + * Constructs a new NodeAffinity. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.SoleTenantConfig.INodeAffinity); + + /** NodeAffinity key. */ + public key: string; + + /** NodeAffinity operator. */ + public operator: (google.container.v1.SoleTenantConfig.NodeAffinity.Operator|keyof typeof google.container.v1.SoleTenantConfig.NodeAffinity.Operator); + + /** NodeAffinity values. */ + public values: string[]; + + /** + * Creates a new NodeAffinity instance using the specified properties. + * @param [properties] Properties to set + * @returns NodeAffinity instance + */ + public static create(properties?: google.container.v1.SoleTenantConfig.INodeAffinity): google.container.v1.SoleTenantConfig.NodeAffinity; + + /** + * Encodes the specified NodeAffinity message. Does not implicitly {@link google.container.v1.SoleTenantConfig.NodeAffinity.verify|verify} messages. + * @param message NodeAffinity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.SoleTenantConfig.INodeAffinity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodeAffinity message, length delimited. Does not implicitly {@link google.container.v1.SoleTenantConfig.NodeAffinity.verify|verify} messages. + * @param message NodeAffinity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.SoleTenantConfig.INodeAffinity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodeAffinity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodeAffinity + * @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.SoleTenantConfig.NodeAffinity; + + /** + * Decodes a NodeAffinity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodeAffinity + * @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.SoleTenantConfig.NodeAffinity; + + /** + * Verifies a NodeAffinity 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 NodeAffinity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodeAffinity + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.SoleTenantConfig.NodeAffinity; + + /** + * Creates a plain object from a NodeAffinity message. Also converts values to other types if specified. + * @param message NodeAffinity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.SoleTenantConfig.NodeAffinity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodeAffinity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NodeAffinity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace NodeAffinity { + + /** Operator enum. */ + enum Operator { + OPERATOR_UNSPECIFIED = 0, + IN = 1, + NOT_IN = 2 + } + } + } + + /** Properties of a ContainerdConfig. */ + interface IContainerdConfig { + + /** ContainerdConfig privateRegistryAccessConfig */ + privateRegistryAccessConfig?: (google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig|null); + } + + /** Represents a ContainerdConfig. */ + class ContainerdConfig implements IContainerdConfig { + + /** + * Constructs a new ContainerdConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.IContainerdConfig); + + /** ContainerdConfig privateRegistryAccessConfig. */ + public privateRegistryAccessConfig?: (google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig|null); + + /** + * Creates a new ContainerdConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ContainerdConfig instance + */ + public static create(properties?: google.container.v1.IContainerdConfig): google.container.v1.ContainerdConfig; + + /** + * Encodes the specified ContainerdConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.verify|verify} messages. + * @param message ContainerdConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.IContainerdConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ContainerdConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.verify|verify} messages. + * @param message ContainerdConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.IContainerdConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ContainerdConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ContainerdConfig + * @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.ContainerdConfig; + + /** + * Decodes a ContainerdConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ContainerdConfig + * @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.ContainerdConfig; + + /** + * Verifies a ContainerdConfig 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 ContainerdConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ContainerdConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.ContainerdConfig; + + /** + * Creates a plain object from a ContainerdConfig message. Also converts values to other types if specified. + * @param message ContainerdConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.ContainerdConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ContainerdConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ContainerdConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ContainerdConfig { + + /** Properties of a PrivateRegistryAccessConfig. */ + interface IPrivateRegistryAccessConfig { + + /** PrivateRegistryAccessConfig enabled */ + enabled?: (boolean|null); + + /** PrivateRegistryAccessConfig certificateAuthorityDomainConfig */ + certificateAuthorityDomainConfig?: (google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig[]|null); + } + + /** Represents a PrivateRegistryAccessConfig. */ + class PrivateRegistryAccessConfig implements IPrivateRegistryAccessConfig { + + /** + * Constructs a new PrivateRegistryAccessConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig); + + /** PrivateRegistryAccessConfig enabled. */ + public enabled: boolean; + + /** PrivateRegistryAccessConfig certificateAuthorityDomainConfig. */ + public certificateAuthorityDomainConfig: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig[]; + + /** + * Creates a new PrivateRegistryAccessConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns PrivateRegistryAccessConfig instance + */ + public static create(properties?: google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig): google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig; + + /** + * Encodes the specified PrivateRegistryAccessConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.verify|verify} messages. + * @param message PrivateRegistryAccessConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PrivateRegistryAccessConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.verify|verify} messages. + * @param message PrivateRegistryAccessConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PrivateRegistryAccessConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PrivateRegistryAccessConfig + * @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.ContainerdConfig.PrivateRegistryAccessConfig; + + /** + * Decodes a PrivateRegistryAccessConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PrivateRegistryAccessConfig + * @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.ContainerdConfig.PrivateRegistryAccessConfig; + + /** + * Verifies a PrivateRegistryAccessConfig 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 PrivateRegistryAccessConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PrivateRegistryAccessConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig; + + /** + * Creates a plain object from a PrivateRegistryAccessConfig message. Also converts values to other types if specified. + * @param message PrivateRegistryAccessConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PrivateRegistryAccessConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PrivateRegistryAccessConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace PrivateRegistryAccessConfig { + + /** Properties of a CertificateAuthorityDomainConfig. */ + interface ICertificateAuthorityDomainConfig { + + /** CertificateAuthorityDomainConfig fqdns */ + fqdns?: (string[]|null); + + /** CertificateAuthorityDomainConfig gcpSecretManagerCertificateConfig */ + gcpSecretManagerCertificateConfig?: (google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig|null); + } + + /** Represents a CertificateAuthorityDomainConfig. */ + class CertificateAuthorityDomainConfig implements ICertificateAuthorityDomainConfig { + + /** + * Constructs a new CertificateAuthorityDomainConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig); + + /** CertificateAuthorityDomainConfig fqdns. */ + public fqdns: string[]; + + /** CertificateAuthorityDomainConfig gcpSecretManagerCertificateConfig. */ + public gcpSecretManagerCertificateConfig?: (google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig|null); + + /** CertificateAuthorityDomainConfig certificateConfig. */ + public certificateConfig?: "gcpSecretManagerCertificateConfig"; + + /** + * Creates a new CertificateAuthorityDomainConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns CertificateAuthorityDomainConfig instance + */ + public static create(properties?: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig): google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig; + + /** + * Encodes the specified CertificateAuthorityDomainConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.verify|verify} messages. + * @param message CertificateAuthorityDomainConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CertificateAuthorityDomainConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.verify|verify} messages. + * @param message CertificateAuthorityDomainConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CertificateAuthorityDomainConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CertificateAuthorityDomainConfig + * @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.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig; + + /** + * Decodes a CertificateAuthorityDomainConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CertificateAuthorityDomainConfig + * @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.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig; + + /** + * Verifies a CertificateAuthorityDomainConfig 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 CertificateAuthorityDomainConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CertificateAuthorityDomainConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig; - /** NodeAffinity operator */ - operator?: (google.container.v1.SoleTenantConfig.NodeAffinity.Operator|keyof typeof google.container.v1.SoleTenantConfig.NodeAffinity.Operator|null); + /** + * Creates a plain object from a CertificateAuthorityDomainConfig message. Also converts values to other types if specified. + * @param message CertificateAuthorityDomainConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** NodeAffinity values */ - values?: (string[]|null); - } + /** + * Converts this CertificateAuthorityDomainConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; - /** Represents a NodeAffinity. */ - class NodeAffinity implements INodeAffinity { + /** + * Gets the default type url for CertificateAuthorityDomainConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } - /** - * Constructs a new NodeAffinity. - * @param [properties] Properties to set - */ - constructor(properties?: google.container.v1.SoleTenantConfig.INodeAffinity); + namespace CertificateAuthorityDomainConfig { - /** NodeAffinity key. */ - public key: string; + /** Properties of a GCPSecretManagerCertificateConfig. */ + interface IGCPSecretManagerCertificateConfig { - /** NodeAffinity operator. */ - public operator: (google.container.v1.SoleTenantConfig.NodeAffinity.Operator|keyof typeof google.container.v1.SoleTenantConfig.NodeAffinity.Operator); + /** GCPSecretManagerCertificateConfig secretUri */ + secretUri?: (string|null); + } - /** NodeAffinity values. */ - public values: string[]; + /** Represents a GCPSecretManagerCertificateConfig. */ + class GCPSecretManagerCertificateConfig implements IGCPSecretManagerCertificateConfig { - /** - * Creates a new NodeAffinity instance using the specified properties. - * @param [properties] Properties to set - * @returns NodeAffinity instance - */ - public static create(properties?: google.container.v1.SoleTenantConfig.INodeAffinity): google.container.v1.SoleTenantConfig.NodeAffinity; + /** + * Constructs a new GCPSecretManagerCertificateConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig); - /** - * Encodes the specified NodeAffinity message. Does not implicitly {@link google.container.v1.SoleTenantConfig.NodeAffinity.verify|verify} messages. - * @param message NodeAffinity message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.container.v1.SoleTenantConfig.INodeAffinity, writer?: $protobuf.Writer): $protobuf.Writer; + /** GCPSecretManagerCertificateConfig secretUri. */ + public secretUri: string; - /** - * Encodes the specified NodeAffinity message, length delimited. Does not implicitly {@link google.container.v1.SoleTenantConfig.NodeAffinity.verify|verify} messages. - * @param message NodeAffinity message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.container.v1.SoleTenantConfig.INodeAffinity, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Creates a new GCPSecretManagerCertificateConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns GCPSecretManagerCertificateConfig instance + */ + public static create(properties?: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig): google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig; - /** - * Decodes a NodeAffinity message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NodeAffinity - * @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.SoleTenantConfig.NodeAffinity; + /** + * Encodes the specified GCPSecretManagerCertificateConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.verify|verify} messages. + * @param message GCPSecretManagerCertificateConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Decodes a NodeAffinity message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NodeAffinity - * @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.SoleTenantConfig.NodeAffinity; + /** + * Encodes the specified GCPSecretManagerCertificateConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.verify|verify} messages. + * @param message GCPSecretManagerCertificateConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Verifies a NodeAffinity 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); + /** + * Decodes a GCPSecretManagerCertificateConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GCPSecretManagerCertificateConfig + * @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.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig; - /** - * Creates a NodeAffinity message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NodeAffinity - */ - public static fromObject(object: { [k: string]: any }): google.container.v1.SoleTenantConfig.NodeAffinity; + /** + * Decodes a GCPSecretManagerCertificateConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GCPSecretManagerCertificateConfig + * @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.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig; - /** - * Creates a plain object from a NodeAffinity message. Also converts values to other types if specified. - * @param message NodeAffinity - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.container.v1.SoleTenantConfig.NodeAffinity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** + * Verifies a GCPSecretManagerCertificateConfig 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); - /** - * Converts this NodeAffinity to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; + /** + * Creates a GCPSecretManagerCertificateConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GCPSecretManagerCertificateConfig + */ + public static fromObject(object: { [k: string]: any }): google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig; - /** - * Gets the default type url for NodeAffinity - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } + /** + * Creates a plain object from a GCPSecretManagerCertificateConfig message. Also converts values to other types if specified. + * @param message GCPSecretManagerCertificateConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; - namespace NodeAffinity { + /** + * Converts this GCPSecretManagerCertificateConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; - /** Operator enum. */ - enum Operator { - OPERATOR_UNSPECIFIED = 0, - IN = 1, - NOT_IN = 2 + /** + * Gets the default type url for GCPSecretManagerCertificateConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } } } @@ -6118,6 +6663,12 @@ export namespace google { /** Cluster enterpriseConfig */ enterpriseConfig?: (google.container.v1.IEnterpriseConfig|null); + + /** Cluster satisfiesPzs */ + satisfiesPzs?: (boolean|null); + + /** Cluster satisfiesPzi */ + satisfiesPzi?: (boolean|null); } /** Represents a Cluster. */ @@ -6330,9 +6881,21 @@ export namespace google { /** Cluster enterpriseConfig. */ public enterpriseConfig?: (google.container.v1.IEnterpriseConfig|null); + /** Cluster satisfiesPzs. */ + public satisfiesPzs?: (boolean|null); + + /** Cluster satisfiesPzi. */ + public satisfiesPzi?: (boolean|null); + /** Cluster _nodePoolDefaults. */ public _nodePoolDefaults?: "nodePoolDefaults"; + /** Cluster _satisfiesPzs. */ + public _satisfiesPzs?: "satisfiesPzs"; + + /** Cluster _satisfiesPzi. */ + public _satisfiesPzi?: "satisfiesPzi"; + /** * Creates a new Cluster instance using the specified properties. * @param [properties] Properties to set @@ -6637,7 +7200,8 @@ export namespace google { enum Mode { MODE_UNSPECIFIED = 0, DISABLED = 1, - BASIC = 2 + BASIC = 2, + ENTERPRISE = 3 } /** VulnerabilityMode enum. */ @@ -6657,6 +7221,9 @@ export namespace google { /** NodePoolAutoConfig resourceManagerTags */ resourceManagerTags?: (google.container.v1.IResourceManagerTags|null); + + /** NodePoolAutoConfig nodeKubeletConfig */ + nodeKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); } /** Represents a NodePoolAutoConfig. */ @@ -6674,6 +7241,9 @@ export namespace google { /** NodePoolAutoConfig resourceManagerTags. */ public resourceManagerTags?: (google.container.v1.IResourceManagerTags|null); + /** NodePoolAutoConfig nodeKubeletConfig. */ + public nodeKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + /** * Creates a new NodePoolAutoConfig instance using the specified properties. * @param [properties] Properties to set @@ -6857,6 +7427,12 @@ export namespace google { /** NodeConfigDefaults loggingConfig */ loggingConfig?: (google.container.v1.INodePoolLoggingConfig|null); + + /** NodeConfigDefaults containerdConfig */ + containerdConfig?: (google.container.v1.IContainerdConfig|null); + + /** NodeConfigDefaults nodeKubeletConfig */ + nodeKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); } /** Represents a NodeConfigDefaults. */ @@ -6874,6 +7450,12 @@ export namespace google { /** NodeConfigDefaults loggingConfig. */ public loggingConfig?: (google.container.v1.INodePoolLoggingConfig|null); + /** NodeConfigDefaults containerdConfig. */ + public containerdConfig?: (google.container.v1.IContainerdConfig|null); + + /** NodeConfigDefaults nodeKubeletConfig. */ + public nodeKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + /** * Creates a new NodeConfigDefaults instance using the specified properties. * @param [properties] Properties to set @@ -7102,6 +7684,9 @@ export namespace google { /** ClusterUpdate desiredK8sBetaApis */ desiredK8sBetaApis?: (google.container.v1.IK8sBetaAPIConfig|null); + /** ClusterUpdate desiredContainerdConfig */ + desiredContainerdConfig?: (google.container.v1.IContainerdConfig|null); + /** ClusterUpdate desiredEnableMultiNetworking */ desiredEnableMultiNetworking?: (boolean|null); @@ -7113,6 +7698,12 @@ export namespace google { /** ClusterUpdate desiredEnableCiliumClusterwideNetworkPolicy */ desiredEnableCiliumClusterwideNetworkPolicy?: (boolean|null); + + /** ClusterUpdate desiredNodeKubeletConfig */ + desiredNodeKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + + /** ClusterUpdate desiredNodePoolAutoConfigKubeletConfig */ + desiredNodePoolAutoConfigKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); } /** Represents a ClusterUpdate. */ @@ -7271,6 +7862,9 @@ export namespace google { /** ClusterUpdate desiredK8sBetaApis. */ public desiredK8sBetaApis?: (google.container.v1.IK8sBetaAPIConfig|null); + /** ClusterUpdate desiredContainerdConfig. */ + public desiredContainerdConfig?: (google.container.v1.IContainerdConfig|null); + /** ClusterUpdate desiredEnableMultiNetworking. */ public desiredEnableMultiNetworking?: (boolean|null); @@ -7283,6 +7877,12 @@ export namespace google { /** ClusterUpdate desiredEnableCiliumClusterwideNetworkPolicy. */ public desiredEnableCiliumClusterwideNetworkPolicy?: (boolean|null); + /** ClusterUpdate desiredNodeKubeletConfig. */ + public desiredNodeKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + + /** ClusterUpdate desiredNodePoolAutoConfigKubeletConfig. */ + public desiredNodePoolAutoConfigKubeletConfig?: (google.container.v1.INodeKubeletConfig|null); + /** ClusterUpdate _desiredEnablePrivateEndpoint. */ public _desiredEnablePrivateEndpoint?: "desiredEnablePrivateEndpoint"; @@ -8460,6 +9060,9 @@ export namespace google { /** UpdateNodePoolRequest windowsNodeConfig */ windowsNodeConfig?: (google.container.v1.IWindowsNodeConfig|null); + /** UpdateNodePoolRequest accelerators */ + accelerators?: (google.container.v1.IAcceleratorConfig[]|null); + /** UpdateNodePoolRequest machineType */ machineType?: (string|null); @@ -8472,6 +9075,9 @@ export namespace google { /** UpdateNodePoolRequest resourceManagerTags */ resourceManagerTags?: (google.container.v1.IResourceManagerTags|null); + /** UpdateNodePoolRequest containerdConfig */ + containerdConfig?: (google.container.v1.IContainerdConfig|null); + /** UpdateNodePoolRequest queuedProvisioning */ queuedProvisioning?: (google.container.v1.NodePool.IQueuedProvisioning|null); } @@ -8557,6 +9163,9 @@ export namespace google { /** UpdateNodePoolRequest windowsNodeConfig. */ public windowsNodeConfig?: (google.container.v1.IWindowsNodeConfig|null); + /** UpdateNodePoolRequest accelerators. */ + public accelerators: google.container.v1.IAcceleratorConfig[]; + /** UpdateNodePoolRequest machineType. */ public machineType: string; @@ -8569,6 +9178,9 @@ export namespace google { /** UpdateNodePoolRequest resourceManagerTags. */ public resourceManagerTags?: (google.container.v1.IResourceManagerTags|null); + /** UpdateNodePoolRequest containerdConfig. */ + public containerdConfig?: (google.container.v1.IContainerdConfig|null); + /** UpdateNodePoolRequest queuedProvisioning. */ public queuedProvisioning?: (google.container.v1.NodePool.IQueuedProvisioning|null); @@ -14940,7 +15552,8 @@ export namespace google { /** GPUSharingStrategy enum. */ enum GPUSharingStrategy { GPU_SHARING_STRATEGY_UNSPECIFIED = 0, - TIME_SHARING = 1 + TIME_SHARING = 1, + MPS = 2 } } @@ -17351,6 +17964,9 @@ export namespace google { /** DNSConfig clusterDnsDomain */ clusterDnsDomain?: (string|null); + + /** DNSConfig additiveVpcScopeDnsDomain */ + additiveVpcScopeDnsDomain?: (string|null); } /** Represents a DNSConfig. */ @@ -17371,6 +17987,9 @@ export namespace google { /** DNSConfig clusterDnsDomain. */ public clusterDnsDomain: string; + /** DNSConfig additiveVpcScopeDnsDomain. */ + public additiveVpcScopeDnsDomain: string; + /** * Creates a new DNSConfig instance using the specified properties. * @param [properties] Properties to set @@ -21136,7 +21755,9 @@ export namespace google { POD = 9, DAEMONSET = 10, DEPLOYMENT = 11, - STATEFULSET = 12 + STATEFULSET = 12, + CADVISOR = 13, + KUBELET = 14 } } diff --git a/packages/google-container/protos/protos.js b/packages/google-container/protos/protos.js index 725235bdfd9..86d429a1e4c 100644 --- a/packages/google-container/protos/protos.js +++ b/packages/google-container/protos/protos.js @@ -1222,6 +1222,7 @@ * @interface ILinuxNodeConfig * @property {Object.|null} [sysctls] LinuxNodeConfig sysctls * @property {google.container.v1.LinuxNodeConfig.CgroupMode|null} [cgroupMode] LinuxNodeConfig cgroupMode + * @property {google.container.v1.LinuxNodeConfig.IHugepagesConfig|null} [hugepages] LinuxNodeConfig hugepages */ /** @@ -1256,6 +1257,28 @@ */ LinuxNodeConfig.prototype.cgroupMode = 0; + /** + * LinuxNodeConfig hugepages. + * @member {google.container.v1.LinuxNodeConfig.IHugepagesConfig|null|undefined} hugepages + * @memberof google.container.v1.LinuxNodeConfig + * @instance + */ + LinuxNodeConfig.prototype.hugepages = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * LinuxNodeConfig _hugepages. + * @member {"hugepages"|undefined} _hugepages + * @memberof google.container.v1.LinuxNodeConfig + * @instance + */ + Object.defineProperty(LinuxNodeConfig.prototype, "_hugepages", { + get: $util.oneOfGetter($oneOfFields = ["hugepages"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new LinuxNodeConfig instance using the specified properties. * @function create @@ -1285,6 +1308,8 @@ 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.sysctls[keys[i]]).ldelim(); if (message.cgroupMode != null && Object.hasOwnProperty.call(message, "cgroupMode")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.cgroupMode); + if (message.hugepages != null && Object.hasOwnProperty.call(message, "hugepages")) + $root.google.container.v1.LinuxNodeConfig.HugepagesConfig.encode(message.hugepages, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -1346,6 +1371,10 @@ message.cgroupMode = reader.int32(); break; } + case 3: { + message.hugepages = $root.google.container.v1.LinuxNodeConfig.HugepagesConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -1381,6 +1410,7 @@ LinuxNodeConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.sysctls != null && message.hasOwnProperty("sysctls")) { if (!$util.isObject(message.sysctls)) return "sysctls: object expected"; @@ -1398,6 +1428,14 @@ case 2: break; } + if (message.hugepages != null && message.hasOwnProperty("hugepages")) { + properties._hugepages = 1; + { + var error = $root.google.container.v1.LinuxNodeConfig.HugepagesConfig.verify(message.hugepages); + if (error) + return "hugepages." + error; + } + } return null; }; @@ -1440,6 +1478,11 @@ message.cgroupMode = 2; break; } + if (object.hugepages != null) { + if (typeof object.hugepages !== "object") + throw TypeError(".google.container.v1.LinuxNodeConfig.hugepages: object expected"); + message.hugepages = $root.google.container.v1.LinuxNodeConfig.HugepagesConfig.fromObject(object.hugepages); + } return message; }; @@ -1468,6 +1511,11 @@ } if (message.cgroupMode != null && message.hasOwnProperty("cgroupMode")) object.cgroupMode = options.enums === String ? $root.google.container.v1.LinuxNodeConfig.CgroupMode[message.cgroupMode] === undefined ? message.cgroupMode : $root.google.container.v1.LinuxNodeConfig.CgroupMode[message.cgroupMode] : message.cgroupMode; + if (message.hugepages != null && message.hasOwnProperty("hugepages")) { + object.hugepages = $root.google.container.v1.LinuxNodeConfig.HugepagesConfig.toObject(message.hugepages, options); + if (options.oneofs) + object._hugepages = "hugepages"; + } return object; }; @@ -1513,6 +1561,265 @@ return values; })(); + LinuxNodeConfig.HugepagesConfig = (function() { + + /** + * Properties of a HugepagesConfig. + * @memberof google.container.v1.LinuxNodeConfig + * @interface IHugepagesConfig + * @property {number|null} [hugepageSize2m] HugepagesConfig hugepageSize2m + * @property {number|null} [hugepageSize1g] HugepagesConfig hugepageSize1g + */ + + /** + * Constructs a new HugepagesConfig. + * @memberof google.container.v1.LinuxNodeConfig + * @classdesc Represents a HugepagesConfig. + * @implements IHugepagesConfig + * @constructor + * @param {google.container.v1.LinuxNodeConfig.IHugepagesConfig=} [properties] Properties to set + */ + function HugepagesConfig(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]]; + } + + /** + * HugepagesConfig hugepageSize2m. + * @member {number|null|undefined} hugepageSize2m + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @instance + */ + HugepagesConfig.prototype.hugepageSize2m = null; + + /** + * HugepagesConfig hugepageSize1g. + * @member {number|null|undefined} hugepageSize1g + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @instance + */ + HugepagesConfig.prototype.hugepageSize1g = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * HugepagesConfig _hugepageSize2m. + * @member {"hugepageSize2m"|undefined} _hugepageSize2m + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @instance + */ + Object.defineProperty(HugepagesConfig.prototype, "_hugepageSize2m", { + get: $util.oneOfGetter($oneOfFields = ["hugepageSize2m"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * HugepagesConfig _hugepageSize1g. + * @member {"hugepageSize1g"|undefined} _hugepageSize1g + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @instance + */ + Object.defineProperty(HugepagesConfig.prototype, "_hugepageSize1g", { + get: $util.oneOfGetter($oneOfFields = ["hugepageSize1g"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new HugepagesConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {google.container.v1.LinuxNodeConfig.IHugepagesConfig=} [properties] Properties to set + * @returns {google.container.v1.LinuxNodeConfig.HugepagesConfig} HugepagesConfig instance + */ + HugepagesConfig.create = function create(properties) { + return new HugepagesConfig(properties); + }; + + /** + * Encodes the specified HugepagesConfig message. Does not implicitly {@link google.container.v1.LinuxNodeConfig.HugepagesConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {google.container.v1.LinuxNodeConfig.IHugepagesConfig} message HugepagesConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HugepagesConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hugepageSize2m != null && Object.hasOwnProperty.call(message, "hugepageSize2m")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.hugepageSize2m); + if (message.hugepageSize1g != null && Object.hasOwnProperty.call(message, "hugepageSize1g")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.hugepageSize1g); + return writer; + }; + + /** + * Encodes the specified HugepagesConfig message, length delimited. Does not implicitly {@link google.container.v1.LinuxNodeConfig.HugepagesConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {google.container.v1.LinuxNodeConfig.IHugepagesConfig} message HugepagesConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HugepagesConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HugepagesConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.LinuxNodeConfig.HugepagesConfig} HugepagesConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HugepagesConfig.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.LinuxNodeConfig.HugepagesConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.hugepageSize2m = reader.int32(); + break; + } + case 2: { + message.hugepageSize1g = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HugepagesConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.LinuxNodeConfig.HugepagesConfig} HugepagesConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HugepagesConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HugepagesConfig message. + * @function verify + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HugepagesConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.hugepageSize2m != null && message.hasOwnProperty("hugepageSize2m")) { + properties._hugepageSize2m = 1; + if (!$util.isInteger(message.hugepageSize2m)) + return "hugepageSize2m: integer expected"; + } + if (message.hugepageSize1g != null && message.hasOwnProperty("hugepageSize1g")) { + properties._hugepageSize1g = 1; + if (!$util.isInteger(message.hugepageSize1g)) + return "hugepageSize1g: integer expected"; + } + return null; + }; + + /** + * Creates a HugepagesConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.LinuxNodeConfig.HugepagesConfig} HugepagesConfig + */ + HugepagesConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.LinuxNodeConfig.HugepagesConfig) + return object; + var message = new $root.google.container.v1.LinuxNodeConfig.HugepagesConfig(); + if (object.hugepageSize2m != null) + message.hugepageSize2m = object.hugepageSize2m | 0; + if (object.hugepageSize1g != null) + message.hugepageSize1g = object.hugepageSize1g | 0; + return message; + }; + + /** + * Creates a plain object from a HugepagesConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {google.container.v1.LinuxNodeConfig.HugepagesConfig} message HugepagesConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HugepagesConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.hugepageSize2m != null && message.hasOwnProperty("hugepageSize2m")) { + object.hugepageSize2m = message.hugepageSize2m; + if (options.oneofs) + object._hugepageSize2m = "hugepageSize2m"; + } + if (message.hugepageSize1g != null && message.hasOwnProperty("hugepageSize1g")) { + object.hugepageSize1g = message.hugepageSize1g; + if (options.oneofs) + object._hugepageSize1g = "hugepageSize1g"; + } + return object; + }; + + /** + * Converts this HugepagesConfig to JSON. + * @function toJSON + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @instance + * @returns {Object.} JSON object + */ + HugepagesConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for HugepagesConfig + * @function getTypeUrl + * @memberof google.container.v1.LinuxNodeConfig.HugepagesConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HugepagesConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.container.v1.LinuxNodeConfig.HugepagesConfig"; + }; + + return HugepagesConfig; + })(); + return LinuxNodeConfig; })(); @@ -2133,6 +2440,7 @@ * @property {google.container.v1.ILocalNvmeSsdBlockConfig|null} [localNvmeSsdBlockConfig] NodeConfig localNvmeSsdBlockConfig * @property {google.container.v1.IEphemeralStorageLocalSsdConfig|null} [ephemeralStorageLocalSsdConfig] NodeConfig ephemeralStorageLocalSsdConfig * @property {google.container.v1.ISoleTenantConfig|null} [soleTenantConfig] NodeConfig soleTenantConfig + * @property {google.container.v1.IContainerdConfig|null} [containerdConfig] NodeConfig containerdConfig * @property {google.container.v1.IResourceManagerTags|null} [resourceManagerTags] NodeConfig resourceManagerTags * @property {boolean|null} [enableConfidentialStorage] NodeConfig enableConfidentialStorage * @property {Array.|null} [secondaryBootDisks] NodeConfig secondaryBootDisks @@ -2434,6 +2742,14 @@ */ NodeConfig.prototype.soleTenantConfig = null; + /** + * NodeConfig containerdConfig. + * @member {google.container.v1.IContainerdConfig|null|undefined} containerdConfig + * @memberof google.container.v1.NodeConfig + * @instance + */ + NodeConfig.prototype.containerdConfig = null; + /** * NodeConfig resourceManagerTags. * @member {google.container.v1.IResourceManagerTags|null|undefined} resourceManagerTags @@ -2590,6 +2906,8 @@ $root.google.container.v1.EphemeralStorageLocalSsdConfig.encode(message.ephemeralStorageLocalSsdConfig, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); if (message.soleTenantConfig != null && Object.hasOwnProperty.call(message, "soleTenantConfig")) $root.google.container.v1.SoleTenantConfig.encode(message.soleTenantConfig, writer.uint32(/* id 42, wireType 2 =*/338).fork()).ldelim(); + if (message.containerdConfig != null && Object.hasOwnProperty.call(message, "containerdConfig")) + $root.google.container.v1.ContainerdConfig.encode(message.containerdConfig, writer.uint32(/* id 43, wireType 2 =*/346).fork()).ldelim(); if (message.resourceManagerTags != null && Object.hasOwnProperty.call(message, "resourceManagerTags")) $root.google.container.v1.ResourceManagerTags.encode(message.resourceManagerTags, writer.uint32(/* id 45, wireType 2 =*/362).fork()).ldelim(); if (message.enableConfidentialStorage != null && Object.hasOwnProperty.call(message, "enableConfidentialStorage")) @@ -2834,6 +3152,10 @@ message.soleTenantConfig = $root.google.container.v1.SoleTenantConfig.decode(reader, reader.uint32()); break; } + case 43: { + message.containerdConfig = $root.google.container.v1.ContainerdConfig.decode(reader, reader.uint32()); + break; + } case 45: { message.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.decode(reader, reader.uint32()); break; @@ -3060,6 +3382,11 @@ if (error) return "soleTenantConfig." + error; } + if (message.containerdConfig != null && message.hasOwnProperty("containerdConfig")) { + var error = $root.google.container.v1.ContainerdConfig.verify(message.containerdConfig); + if (error) + return "containerdConfig." + error; + } if (message.resourceManagerTags != null && message.hasOwnProperty("resourceManagerTags")) { var error = $root.google.container.v1.ResourceManagerTags.verify(message.resourceManagerTags); if (error) @@ -3257,6 +3584,11 @@ throw TypeError(".google.container.v1.NodeConfig.soleTenantConfig: object expected"); message.soleTenantConfig = $root.google.container.v1.SoleTenantConfig.fromObject(object.soleTenantConfig); } + if (object.containerdConfig != null) { + if (typeof object.containerdConfig !== "object") + throw TypeError(".google.container.v1.NodeConfig.containerdConfig: object expected"); + message.containerdConfig = $root.google.container.v1.ContainerdConfig.fromObject(object.containerdConfig); + } if (object.resourceManagerTags != null) { if (typeof object.resourceManagerTags !== "object") throw TypeError(".google.container.v1.NodeConfig.resourceManagerTags: object expected"); @@ -3334,6 +3666,7 @@ object.localNvmeSsdBlockConfig = null; object.ephemeralStorageLocalSsdConfig = null; object.soleTenantConfig = null; + object.containerdConfig = null; object.resourceManagerTags = null; object.enableConfidentialStorage = false; } @@ -3430,6 +3763,8 @@ object.ephemeralStorageLocalSsdConfig = $root.google.container.v1.EphemeralStorageLocalSsdConfig.toObject(message.ephemeralStorageLocalSsdConfig, options); if (message.soleTenantConfig != null && message.hasOwnProperty("soleTenantConfig")) object.soleTenantConfig = $root.google.container.v1.SoleTenantConfig.toObject(message.soleTenantConfig, options); + if (message.containerdConfig != null && message.hasOwnProperty("containerdConfig")) + object.containerdConfig = $root.google.container.v1.ContainerdConfig.toObject(message.containerdConfig, options); if (message.resourceManagerTags != null && message.hasOwnProperty("resourceManagerTags")) object.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.toObject(message.resourceManagerTags, options); if (message.enableConfidentialStorage != null && message.hasOwnProperty("enableConfidentialStorage")) @@ -3483,6 +3818,7 @@ * @memberof google.container.v1 * @interface IAdvancedMachineFeatures * @property {number|Long|null} [threadsPerCore] AdvancedMachineFeatures threadsPerCore + * @property {boolean|null} [enableNestedVirtualization] AdvancedMachineFeatures enableNestedVirtualization */ /** @@ -3508,6 +3844,14 @@ */ AdvancedMachineFeatures.prototype.threadsPerCore = null; + /** + * AdvancedMachineFeatures enableNestedVirtualization. + * @member {boolean|null|undefined} enableNestedVirtualization + * @memberof google.container.v1.AdvancedMachineFeatures + * @instance + */ + AdvancedMachineFeatures.prototype.enableNestedVirtualization = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -3522,6 +3866,17 @@ set: $util.oneOfSetter($oneOfFields) }); + /** + * AdvancedMachineFeatures _enableNestedVirtualization. + * @member {"enableNestedVirtualization"|undefined} _enableNestedVirtualization + * @memberof google.container.v1.AdvancedMachineFeatures + * @instance + */ + Object.defineProperty(AdvancedMachineFeatures.prototype, "_enableNestedVirtualization", { + get: $util.oneOfGetter($oneOfFields = ["enableNestedVirtualization"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new AdvancedMachineFeatures instance using the specified properties. * @function create @@ -3548,6 +3903,8 @@ writer = $Writer.create(); if (message.threadsPerCore != null && Object.hasOwnProperty.call(message, "threadsPerCore")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.threadsPerCore); + if (message.enableNestedVirtualization != null && Object.hasOwnProperty.call(message, "enableNestedVirtualization")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.enableNestedVirtualization); return writer; }; @@ -3586,6 +3943,10 @@ message.threadsPerCore = reader.int64(); break; } + case 2: { + message.enableNestedVirtualization = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -3627,6 +3988,11 @@ if (!$util.isInteger(message.threadsPerCore) && !(message.threadsPerCore && $util.isInteger(message.threadsPerCore.low) && $util.isInteger(message.threadsPerCore.high))) return "threadsPerCore: integer|Long expected"; } + if (message.enableNestedVirtualization != null && message.hasOwnProperty("enableNestedVirtualization")) { + properties._enableNestedVirtualization = 1; + if (typeof message.enableNestedVirtualization !== "boolean") + return "enableNestedVirtualization: boolean expected"; + } return null; }; @@ -3651,6 +4017,8 @@ message.threadsPerCore = object.threadsPerCore; else if (typeof object.threadsPerCore === "object") message.threadsPerCore = new $util.LongBits(object.threadsPerCore.low >>> 0, object.threadsPerCore.high >>> 0).toNumber(); + if (object.enableNestedVirtualization != null) + message.enableNestedVirtualization = Boolean(object.enableNestedVirtualization); return message; }; @@ -3675,6 +4043,11 @@ if (options.oneofs) object._threadsPerCore = "threadsPerCore"; } + if (message.enableNestedVirtualization != null && message.hasOwnProperty("enableNestedVirtualization")) { + object.enableNestedVirtualization = message.enableNestedVirtualization; + if (options.oneofs) + object._enableNestedVirtualization = "enableNestedVirtualization"; + } return object; }; @@ -6451,6 +6824,932 @@ return SoleTenantConfig; })(); + v1.ContainerdConfig = (function() { + + /** + * Properties of a ContainerdConfig. + * @memberof google.container.v1 + * @interface IContainerdConfig + * @property {google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig|null} [privateRegistryAccessConfig] ContainerdConfig privateRegistryAccessConfig + */ + + /** + * Constructs a new ContainerdConfig. + * @memberof google.container.v1 + * @classdesc Represents a ContainerdConfig. + * @implements IContainerdConfig + * @constructor + * @param {google.container.v1.IContainerdConfig=} [properties] Properties to set + */ + function ContainerdConfig(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]]; + } + + /** + * ContainerdConfig privateRegistryAccessConfig. + * @member {google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig|null|undefined} privateRegistryAccessConfig + * @memberof google.container.v1.ContainerdConfig + * @instance + */ + ContainerdConfig.prototype.privateRegistryAccessConfig = null; + + /** + * Creates a new ContainerdConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {google.container.v1.IContainerdConfig=} [properties] Properties to set + * @returns {google.container.v1.ContainerdConfig} ContainerdConfig instance + */ + ContainerdConfig.create = function create(properties) { + return new ContainerdConfig(properties); + }; + + /** + * Encodes the specified ContainerdConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {google.container.v1.IContainerdConfig} message ContainerdConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContainerdConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.privateRegistryAccessConfig != null && Object.hasOwnProperty.call(message, "privateRegistryAccessConfig")) + $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.encode(message.privateRegistryAccessConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContainerdConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {google.container.v1.IContainerdConfig} message ContainerdConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContainerdConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContainerdConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.ContainerdConfig} ContainerdConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContainerdConfig.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.ContainerdConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.privateRegistryAccessConfig = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContainerdConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.ContainerdConfig} ContainerdConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContainerdConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContainerdConfig message. + * @function verify + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContainerdConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.privateRegistryAccessConfig != null && message.hasOwnProperty("privateRegistryAccessConfig")) { + var error = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.verify(message.privateRegistryAccessConfig); + if (error) + return "privateRegistryAccessConfig." + error; + } + return null; + }; + + /** + * Creates a ContainerdConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.ContainerdConfig} ContainerdConfig + */ + ContainerdConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.ContainerdConfig) + return object; + var message = new $root.google.container.v1.ContainerdConfig(); + if (object.privateRegistryAccessConfig != null) { + if (typeof object.privateRegistryAccessConfig !== "object") + throw TypeError(".google.container.v1.ContainerdConfig.privateRegistryAccessConfig: object expected"); + message.privateRegistryAccessConfig = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.fromObject(object.privateRegistryAccessConfig); + } + return message; + }; + + /** + * Creates a plain object from a ContainerdConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {google.container.v1.ContainerdConfig} message ContainerdConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContainerdConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.privateRegistryAccessConfig = null; + if (message.privateRegistryAccessConfig != null && message.hasOwnProperty("privateRegistryAccessConfig")) + object.privateRegistryAccessConfig = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.toObject(message.privateRegistryAccessConfig, options); + return object; + }; + + /** + * Converts this ContainerdConfig to JSON. + * @function toJSON + * @memberof google.container.v1.ContainerdConfig + * @instance + * @returns {Object.} JSON object + */ + ContainerdConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ContainerdConfig + * @function getTypeUrl + * @memberof google.container.v1.ContainerdConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ContainerdConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.container.v1.ContainerdConfig"; + }; + + ContainerdConfig.PrivateRegistryAccessConfig = (function() { + + /** + * Properties of a PrivateRegistryAccessConfig. + * @memberof google.container.v1.ContainerdConfig + * @interface IPrivateRegistryAccessConfig + * @property {boolean|null} [enabled] PrivateRegistryAccessConfig enabled + * @property {Array.|null} [certificateAuthorityDomainConfig] PrivateRegistryAccessConfig certificateAuthorityDomainConfig + */ + + /** + * Constructs a new PrivateRegistryAccessConfig. + * @memberof google.container.v1.ContainerdConfig + * @classdesc Represents a PrivateRegistryAccessConfig. + * @implements IPrivateRegistryAccessConfig + * @constructor + * @param {google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig=} [properties] Properties to set + */ + function PrivateRegistryAccessConfig(properties) { + this.certificateAuthorityDomainConfig = []; + 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]]; + } + + /** + * PrivateRegistryAccessConfig enabled. + * @member {boolean} enabled + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @instance + */ + PrivateRegistryAccessConfig.prototype.enabled = false; + + /** + * PrivateRegistryAccessConfig certificateAuthorityDomainConfig. + * @member {Array.} certificateAuthorityDomainConfig + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @instance + */ + PrivateRegistryAccessConfig.prototype.certificateAuthorityDomainConfig = $util.emptyArray; + + /** + * Creates a new PrivateRegistryAccessConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig=} [properties] Properties to set + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig} PrivateRegistryAccessConfig instance + */ + PrivateRegistryAccessConfig.create = function create(properties) { + return new PrivateRegistryAccessConfig(properties); + }; + + /** + * Encodes the specified PrivateRegistryAccessConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig} message PrivateRegistryAccessConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PrivateRegistryAccessConfig.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); + if (message.certificateAuthorityDomainConfig != null && message.certificateAuthorityDomainConfig.length) + for (var i = 0; i < message.certificateAuthorityDomainConfig.length; ++i) + $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.encode(message.certificateAuthorityDomainConfig[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PrivateRegistryAccessConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {google.container.v1.ContainerdConfig.IPrivateRegistryAccessConfig} message PrivateRegistryAccessConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PrivateRegistryAccessConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PrivateRegistryAccessConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig} PrivateRegistryAccessConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PrivateRegistryAccessConfig.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.ContainerdConfig.PrivateRegistryAccessConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.enabled = reader.bool(); + break; + } + case 2: { + if (!(message.certificateAuthorityDomainConfig && message.certificateAuthorityDomainConfig.length)) + message.certificateAuthorityDomainConfig = []; + message.certificateAuthorityDomainConfig.push($root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PrivateRegistryAccessConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig} PrivateRegistryAccessConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PrivateRegistryAccessConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PrivateRegistryAccessConfig message. + * @function verify + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PrivateRegistryAccessConfig.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"; + if (message.certificateAuthorityDomainConfig != null && message.hasOwnProperty("certificateAuthorityDomainConfig")) { + if (!Array.isArray(message.certificateAuthorityDomainConfig)) + return "certificateAuthorityDomainConfig: array expected"; + for (var i = 0; i < message.certificateAuthorityDomainConfig.length; ++i) { + var error = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.verify(message.certificateAuthorityDomainConfig[i]); + if (error) + return "certificateAuthorityDomainConfig." + error; + } + } + return null; + }; + + /** + * Creates a PrivateRegistryAccessConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig} PrivateRegistryAccessConfig + */ + PrivateRegistryAccessConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig) + return object; + var message = new $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig(); + if (object.enabled != null) + message.enabled = Boolean(object.enabled); + if (object.certificateAuthorityDomainConfig) { + if (!Array.isArray(object.certificateAuthorityDomainConfig)) + throw TypeError(".google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.certificateAuthorityDomainConfig: array expected"); + message.certificateAuthorityDomainConfig = []; + for (var i = 0; i < object.certificateAuthorityDomainConfig.length; ++i) { + if (typeof object.certificateAuthorityDomainConfig[i] !== "object") + throw TypeError(".google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.certificateAuthorityDomainConfig: object expected"); + message.certificateAuthorityDomainConfig[i] = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.fromObject(object.certificateAuthorityDomainConfig[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a PrivateRegistryAccessConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig} message PrivateRegistryAccessConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PrivateRegistryAccessConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.certificateAuthorityDomainConfig = []; + if (options.defaults) + object.enabled = false; + if (message.enabled != null && message.hasOwnProperty("enabled")) + object.enabled = message.enabled; + if (message.certificateAuthorityDomainConfig && message.certificateAuthorityDomainConfig.length) { + object.certificateAuthorityDomainConfig = []; + for (var j = 0; j < message.certificateAuthorityDomainConfig.length; ++j) + object.certificateAuthorityDomainConfig[j] = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.toObject(message.certificateAuthorityDomainConfig[j], options); + } + return object; + }; + + /** + * Converts this PrivateRegistryAccessConfig to JSON. + * @function toJSON + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @instance + * @returns {Object.} JSON object + */ + PrivateRegistryAccessConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PrivateRegistryAccessConfig + * @function getTypeUrl + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PrivateRegistryAccessConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig"; + }; + + PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig = (function() { + + /** + * Properties of a CertificateAuthorityDomainConfig. + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @interface ICertificateAuthorityDomainConfig + * @property {Array.|null} [fqdns] CertificateAuthorityDomainConfig fqdns + * @property {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig|null} [gcpSecretManagerCertificateConfig] CertificateAuthorityDomainConfig gcpSecretManagerCertificateConfig + */ + + /** + * Constructs a new CertificateAuthorityDomainConfig. + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig + * @classdesc Represents a CertificateAuthorityDomainConfig. + * @implements ICertificateAuthorityDomainConfig + * @constructor + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig=} [properties] Properties to set + */ + function CertificateAuthorityDomainConfig(properties) { + this.fqdns = []; + 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]]; + } + + /** + * CertificateAuthorityDomainConfig fqdns. + * @member {Array.} fqdns + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @instance + */ + CertificateAuthorityDomainConfig.prototype.fqdns = $util.emptyArray; + + /** + * CertificateAuthorityDomainConfig gcpSecretManagerCertificateConfig. + * @member {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig|null|undefined} gcpSecretManagerCertificateConfig + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @instance + */ + CertificateAuthorityDomainConfig.prototype.gcpSecretManagerCertificateConfig = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * CertificateAuthorityDomainConfig certificateConfig. + * @member {"gcpSecretManagerCertificateConfig"|undefined} certificateConfig + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @instance + */ + Object.defineProperty(CertificateAuthorityDomainConfig.prototype, "certificateConfig", { + get: $util.oneOfGetter($oneOfFields = ["gcpSecretManagerCertificateConfig"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new CertificateAuthorityDomainConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig=} [properties] Properties to set + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig} CertificateAuthorityDomainConfig instance + */ + CertificateAuthorityDomainConfig.create = function create(properties) { + return new CertificateAuthorityDomainConfig(properties); + }; + + /** + * Encodes the specified CertificateAuthorityDomainConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig} message CertificateAuthorityDomainConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CertificateAuthorityDomainConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.fqdns != null && message.fqdns.length) + for (var i = 0; i < message.fqdns.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.fqdns[i]); + if (message.gcpSecretManagerCertificateConfig != null && Object.hasOwnProperty.call(message, "gcpSecretManagerCertificateConfig")) + $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.encode(message.gcpSecretManagerCertificateConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CertificateAuthorityDomainConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.ICertificateAuthorityDomainConfig} message CertificateAuthorityDomainConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CertificateAuthorityDomainConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CertificateAuthorityDomainConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig} CertificateAuthorityDomainConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CertificateAuthorityDomainConfig.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.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.fqdns && message.fqdns.length)) + message.fqdns = []; + message.fqdns.push(reader.string()); + break; + } + case 2: { + message.gcpSecretManagerCertificateConfig = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CertificateAuthorityDomainConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig} CertificateAuthorityDomainConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CertificateAuthorityDomainConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CertificateAuthorityDomainConfig message. + * @function verify + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CertificateAuthorityDomainConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.fqdns != null && message.hasOwnProperty("fqdns")) { + if (!Array.isArray(message.fqdns)) + return "fqdns: array expected"; + for (var i = 0; i < message.fqdns.length; ++i) + if (!$util.isString(message.fqdns[i])) + return "fqdns: string[] expected"; + } + if (message.gcpSecretManagerCertificateConfig != null && message.hasOwnProperty("gcpSecretManagerCertificateConfig")) { + properties.certificateConfig = 1; + { + var error = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.verify(message.gcpSecretManagerCertificateConfig); + if (error) + return "gcpSecretManagerCertificateConfig." + error; + } + } + return null; + }; + + /** + * Creates a CertificateAuthorityDomainConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig} CertificateAuthorityDomainConfig + */ + CertificateAuthorityDomainConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig) + return object; + var message = new $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig(); + if (object.fqdns) { + if (!Array.isArray(object.fqdns)) + throw TypeError(".google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.fqdns: array expected"); + message.fqdns = []; + for (var i = 0; i < object.fqdns.length; ++i) + message.fqdns[i] = String(object.fqdns[i]); + } + if (object.gcpSecretManagerCertificateConfig != null) { + if (typeof object.gcpSecretManagerCertificateConfig !== "object") + throw TypeError(".google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.gcpSecretManagerCertificateConfig: object expected"); + message.gcpSecretManagerCertificateConfig = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.fromObject(object.gcpSecretManagerCertificateConfig); + } + return message; + }; + + /** + * Creates a plain object from a CertificateAuthorityDomainConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig} message CertificateAuthorityDomainConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CertificateAuthorityDomainConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.fqdns = []; + if (message.fqdns && message.fqdns.length) { + object.fqdns = []; + for (var j = 0; j < message.fqdns.length; ++j) + object.fqdns[j] = message.fqdns[j]; + } + if (message.gcpSecretManagerCertificateConfig != null && message.hasOwnProperty("gcpSecretManagerCertificateConfig")) { + object.gcpSecretManagerCertificateConfig = $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.toObject(message.gcpSecretManagerCertificateConfig, options); + if (options.oneofs) + object.certificateConfig = "gcpSecretManagerCertificateConfig"; + } + return object; + }; + + /** + * Converts this CertificateAuthorityDomainConfig to JSON. + * @function toJSON + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @instance + * @returns {Object.} JSON object + */ + CertificateAuthorityDomainConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CertificateAuthorityDomainConfig + * @function getTypeUrl + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CertificateAuthorityDomainConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig"; + }; + + CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig = (function() { + + /** + * Properties of a GCPSecretManagerCertificateConfig. + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @interface IGCPSecretManagerCertificateConfig + * @property {string|null} [secretUri] GCPSecretManagerCertificateConfig secretUri + */ + + /** + * Constructs a new GCPSecretManagerCertificateConfig. + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig + * @classdesc Represents a GCPSecretManagerCertificateConfig. + * @implements IGCPSecretManagerCertificateConfig + * @constructor + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig=} [properties] Properties to set + */ + function GCPSecretManagerCertificateConfig(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]]; + } + + /** + * GCPSecretManagerCertificateConfig secretUri. + * @member {string} secretUri + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @instance + */ + GCPSecretManagerCertificateConfig.prototype.secretUri = ""; + + /** + * Creates a new GCPSecretManagerCertificateConfig instance using the specified properties. + * @function create + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig=} [properties] Properties to set + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig} GCPSecretManagerCertificateConfig instance + */ + GCPSecretManagerCertificateConfig.create = function create(properties) { + return new GCPSecretManagerCertificateConfig(properties); + }; + + /** + * Encodes the specified GCPSecretManagerCertificateConfig message. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.verify|verify} messages. + * @function encode + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig} message GCPSecretManagerCertificateConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GCPSecretManagerCertificateConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.secretUri != null && Object.hasOwnProperty.call(message, "secretUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.secretUri); + return writer; + }; + + /** + * Encodes the specified GCPSecretManagerCertificateConfig message, length delimited. Does not implicitly {@link google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.IGCPSecretManagerCertificateConfig} message GCPSecretManagerCertificateConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GCPSecretManagerCertificateConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GCPSecretManagerCertificateConfig message from the specified reader or buffer. + * @function decode + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig} GCPSecretManagerCertificateConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GCPSecretManagerCertificateConfig.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.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.secretUri = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GCPSecretManagerCertificateConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig} GCPSecretManagerCertificateConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GCPSecretManagerCertificateConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GCPSecretManagerCertificateConfig message. + * @function verify + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GCPSecretManagerCertificateConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.secretUri != null && message.hasOwnProperty("secretUri")) + if (!$util.isString(message.secretUri)) + return "secretUri: string expected"; + return null; + }; + + /** + * Creates a GCPSecretManagerCertificateConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {Object.} object Plain object + * @returns {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig} GCPSecretManagerCertificateConfig + */ + GCPSecretManagerCertificateConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig) + return object; + var message = new $root.google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig(); + if (object.secretUri != null) + message.secretUri = String(object.secretUri); + return message; + }; + + /** + * Creates a plain object from a GCPSecretManagerCertificateConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig} message GCPSecretManagerCertificateConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GCPSecretManagerCertificateConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.secretUri = ""; + if (message.secretUri != null && message.hasOwnProperty("secretUri")) + object.secretUri = message.secretUri; + return object; + }; + + /** + * Converts this GCPSecretManagerCertificateConfig to JSON. + * @function toJSON + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @instance + * @returns {Object.} JSON object + */ + GCPSecretManagerCertificateConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GCPSecretManagerCertificateConfig + * @function getTypeUrl + * @memberof google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GCPSecretManagerCertificateConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig"; + }; + + return GCPSecretManagerCertificateConfig; + })(); + + return CertificateAuthorityDomainConfig; + })(); + + return PrivateRegistryAccessConfig; + })(); + + return ContainerdConfig; + })(); + v1.NodeTaint = (function() { /** @@ -14233,6 +15532,8 @@ * @property {google.container.v1.ISecurityPostureConfig|null} [securityPostureConfig] Cluster securityPostureConfig * @property {google.container.v1.IK8sBetaAPIConfig|null} [enableK8sBetaApis] Cluster enableK8sBetaApis * @property {google.container.v1.IEnterpriseConfig|null} [enterpriseConfig] Cluster enterpriseConfig + * @property {boolean|null} [satisfiesPzs] Cluster satisfiesPzs + * @property {boolean|null} [satisfiesPzi] Cluster satisfiesPzi */ /** @@ -14791,6 +16092,22 @@ */ Cluster.prototype.enterpriseConfig = null; + /** + * Cluster satisfiesPzs. + * @member {boolean|null|undefined} satisfiesPzs + * @memberof google.container.v1.Cluster + * @instance + */ + Cluster.prototype.satisfiesPzs = null; + + /** + * Cluster satisfiesPzi. + * @member {boolean|null|undefined} satisfiesPzi + * @memberof google.container.v1.Cluster + * @instance + */ + Cluster.prototype.satisfiesPzi = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -14805,6 +16122,28 @@ set: $util.oneOfSetter($oneOfFields) }); + /** + * Cluster _satisfiesPzs. + * @member {"satisfiesPzs"|undefined} _satisfiesPzs + * @memberof google.container.v1.Cluster + * @instance + */ + Object.defineProperty(Cluster.prototype, "_satisfiesPzs", { + get: $util.oneOfGetter($oneOfFields = ["satisfiesPzs"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Cluster _satisfiesPzi. + * @member {"satisfiesPzi"|undefined} _satisfiesPzi + * @memberof google.container.v1.Cluster + * @instance + */ + Object.defineProperty(Cluster.prototype, "_satisfiesPzi", { + get: $util.oneOfGetter($oneOfFields = ["satisfiesPzi"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new Cluster instance using the specified properties. * @function create @@ -14968,6 +16307,10 @@ $root.google.container.v1.SecurityPostureConfig.encode(message.securityPostureConfig, writer.uint32(/* id 145, wireType 2 =*/1162).fork()).ldelim(); if (message.enterpriseConfig != null && Object.hasOwnProperty.call(message, "enterpriseConfig")) $root.google.container.v1.EnterpriseConfig.encode(message.enterpriseConfig, writer.uint32(/* id 149, wireType 2 =*/1194).fork()).ldelim(); + if (message.satisfiesPzs != null && Object.hasOwnProperty.call(message, "satisfiesPzs")) + writer.uint32(/* id 152, wireType 0 =*/1216).bool(message.satisfiesPzs); + if (message.satisfiesPzi != null && Object.hasOwnProperty.call(message, "satisfiesPzi")) + writer.uint32(/* id 153, wireType 0 =*/1224).bool(message.satisfiesPzi); return writer; }; @@ -15297,6 +16640,14 @@ message.enterpriseConfig = $root.google.container.v1.EnterpriseConfig.decode(reader, reader.uint32()); break; } + case 152: { + message.satisfiesPzs = reader.bool(); + break; + } + case 153: { + message.satisfiesPzi = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -15640,6 +16991,16 @@ if (error) return "enterpriseConfig." + error; } + if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs")) { + properties._satisfiesPzs = 1; + if (typeof message.satisfiesPzs !== "boolean") + return "satisfiesPzs: boolean expected"; + } + if (message.satisfiesPzi != null && message.hasOwnProperty("satisfiesPzi")) { + properties._satisfiesPzi = 1; + if (typeof message.satisfiesPzi !== "boolean") + return "satisfiesPzi: boolean expected"; + } return null; }; @@ -15956,6 +17317,10 @@ throw TypeError(".google.container.v1.Cluster.enterpriseConfig: object expected"); message.enterpriseConfig = $root.google.container.v1.EnterpriseConfig.fromObject(object.enterpriseConfig); } + if (object.satisfiesPzs != null) + message.satisfiesPzs = Boolean(object.satisfiesPzs); + if (object.satisfiesPzi != null) + message.satisfiesPzi = Boolean(object.satisfiesPzi); return message; }; @@ -16196,6 +17561,16 @@ object.securityPostureConfig = $root.google.container.v1.SecurityPostureConfig.toObject(message.securityPostureConfig, options); if (message.enterpriseConfig != null && message.hasOwnProperty("enterpriseConfig")) object.enterpriseConfig = $root.google.container.v1.EnterpriseConfig.toObject(message.enterpriseConfig, options); + if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs")) { + object.satisfiesPzs = message.satisfiesPzs; + if (options.oneofs) + object._satisfiesPzs = "satisfiesPzs"; + } + if (message.satisfiesPzi != null && message.hasOwnProperty("satisfiesPzi")) { + object.satisfiesPzi = message.satisfiesPzi; + if (options.oneofs) + object._satisfiesPzi = "satisfiesPzi"; + } return object; }; @@ -16651,6 +18026,7 @@ case 0: case 1: case 2: + case 3: break; } } @@ -16700,6 +18076,10 @@ case 2: message.mode = 2; break; + case "ENTERPRISE": + case 3: + message.mode = 3; + break; } switch (object.vulnerabilityMode) { default: @@ -16787,12 +18167,14 @@ * @property {number} MODE_UNSPECIFIED=0 MODE_UNSPECIFIED value * @property {number} DISABLED=1 DISABLED value * @property {number} BASIC=2 BASIC value + * @property {number} ENTERPRISE=3 ENTERPRISE value */ SecurityPostureConfig.Mode = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "MODE_UNSPECIFIED"] = 0; values[valuesById[1] = "DISABLED"] = 1; values[valuesById[2] = "BASIC"] = 2; + values[valuesById[3] = "ENTERPRISE"] = 3; return values; })(); @@ -16825,6 +18207,7 @@ * @interface INodePoolAutoConfig * @property {google.container.v1.INetworkTags|null} [networkTags] NodePoolAutoConfig networkTags * @property {google.container.v1.IResourceManagerTags|null} [resourceManagerTags] NodePoolAutoConfig resourceManagerTags + * @property {google.container.v1.INodeKubeletConfig|null} [nodeKubeletConfig] NodePoolAutoConfig nodeKubeletConfig */ /** @@ -16858,6 +18241,14 @@ */ NodePoolAutoConfig.prototype.resourceManagerTags = null; + /** + * NodePoolAutoConfig nodeKubeletConfig. + * @member {google.container.v1.INodeKubeletConfig|null|undefined} nodeKubeletConfig + * @memberof google.container.v1.NodePoolAutoConfig + * @instance + */ + NodePoolAutoConfig.prototype.nodeKubeletConfig = null; + /** * Creates a new NodePoolAutoConfig instance using the specified properties. * @function create @@ -16886,6 +18277,8 @@ $root.google.container.v1.NetworkTags.encode(message.networkTags, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.resourceManagerTags != null && Object.hasOwnProperty.call(message, "resourceManagerTags")) $root.google.container.v1.ResourceManagerTags.encode(message.resourceManagerTags, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nodeKubeletConfig != null && Object.hasOwnProperty.call(message, "nodeKubeletConfig")) + $root.google.container.v1.NodeKubeletConfig.encode(message.nodeKubeletConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -16928,6 +18321,10 @@ message.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.decode(reader, reader.uint32()); break; } + case 3: { + message.nodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -16973,6 +18370,11 @@ if (error) return "resourceManagerTags." + error; } + if (message.nodeKubeletConfig != null && message.hasOwnProperty("nodeKubeletConfig")) { + var error = $root.google.container.v1.NodeKubeletConfig.verify(message.nodeKubeletConfig); + if (error) + return "nodeKubeletConfig." + error; + } return null; }; @@ -16998,6 +18400,11 @@ throw TypeError(".google.container.v1.NodePoolAutoConfig.resourceManagerTags: object expected"); message.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.fromObject(object.resourceManagerTags); } + if (object.nodeKubeletConfig != null) { + if (typeof object.nodeKubeletConfig !== "object") + throw TypeError(".google.container.v1.NodePoolAutoConfig.nodeKubeletConfig: object expected"); + message.nodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.fromObject(object.nodeKubeletConfig); + } return message; }; @@ -17017,11 +18424,14 @@ if (options.defaults) { object.networkTags = null; object.resourceManagerTags = null; + object.nodeKubeletConfig = null; } if (message.networkTags != null && message.hasOwnProperty("networkTags")) object.networkTags = $root.google.container.v1.NetworkTags.toObject(message.networkTags, options); if (message.resourceManagerTags != null && message.hasOwnProperty("resourceManagerTags")) object.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.toObject(message.resourceManagerTags, options); + if (message.nodeKubeletConfig != null && message.hasOwnProperty("nodeKubeletConfig")) + object.nodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.toObject(message.nodeKubeletConfig, options); return object; }; @@ -17270,6 +18680,8 @@ * @interface INodeConfigDefaults * @property {google.container.v1.IGcfsConfig|null} [gcfsConfig] NodeConfigDefaults gcfsConfig * @property {google.container.v1.INodePoolLoggingConfig|null} [loggingConfig] NodeConfigDefaults loggingConfig + * @property {google.container.v1.IContainerdConfig|null} [containerdConfig] NodeConfigDefaults containerdConfig + * @property {google.container.v1.INodeKubeletConfig|null} [nodeKubeletConfig] NodeConfigDefaults nodeKubeletConfig */ /** @@ -17303,6 +18715,22 @@ */ NodeConfigDefaults.prototype.loggingConfig = null; + /** + * NodeConfigDefaults containerdConfig. + * @member {google.container.v1.IContainerdConfig|null|undefined} containerdConfig + * @memberof google.container.v1.NodeConfigDefaults + * @instance + */ + NodeConfigDefaults.prototype.containerdConfig = null; + + /** + * NodeConfigDefaults nodeKubeletConfig. + * @member {google.container.v1.INodeKubeletConfig|null|undefined} nodeKubeletConfig + * @memberof google.container.v1.NodeConfigDefaults + * @instance + */ + NodeConfigDefaults.prototype.nodeKubeletConfig = null; + /** * Creates a new NodeConfigDefaults instance using the specified properties. * @function create @@ -17331,6 +18759,10 @@ $root.google.container.v1.GcfsConfig.encode(message.gcfsConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.loggingConfig != null && Object.hasOwnProperty.call(message, "loggingConfig")) $root.google.container.v1.NodePoolLoggingConfig.encode(message.loggingConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.containerdConfig != null && Object.hasOwnProperty.call(message, "containerdConfig")) + $root.google.container.v1.ContainerdConfig.encode(message.containerdConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.nodeKubeletConfig != null && Object.hasOwnProperty.call(message, "nodeKubeletConfig")) + $root.google.container.v1.NodeKubeletConfig.encode(message.nodeKubeletConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -17373,6 +18805,14 @@ message.loggingConfig = $root.google.container.v1.NodePoolLoggingConfig.decode(reader, reader.uint32()); break; } + case 4: { + message.containerdConfig = $root.google.container.v1.ContainerdConfig.decode(reader, reader.uint32()); + break; + } + case 6: { + message.nodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -17418,6 +18858,16 @@ if (error) return "loggingConfig." + error; } + if (message.containerdConfig != null && message.hasOwnProperty("containerdConfig")) { + var error = $root.google.container.v1.ContainerdConfig.verify(message.containerdConfig); + if (error) + return "containerdConfig." + error; + } + if (message.nodeKubeletConfig != null && message.hasOwnProperty("nodeKubeletConfig")) { + var error = $root.google.container.v1.NodeKubeletConfig.verify(message.nodeKubeletConfig); + if (error) + return "nodeKubeletConfig." + error; + } return null; }; @@ -17443,6 +18893,16 @@ throw TypeError(".google.container.v1.NodeConfigDefaults.loggingConfig: object expected"); message.loggingConfig = $root.google.container.v1.NodePoolLoggingConfig.fromObject(object.loggingConfig); } + if (object.containerdConfig != null) { + if (typeof object.containerdConfig !== "object") + throw TypeError(".google.container.v1.NodeConfigDefaults.containerdConfig: object expected"); + message.containerdConfig = $root.google.container.v1.ContainerdConfig.fromObject(object.containerdConfig); + } + if (object.nodeKubeletConfig != null) { + if (typeof object.nodeKubeletConfig !== "object") + throw TypeError(".google.container.v1.NodeConfigDefaults.nodeKubeletConfig: object expected"); + message.nodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.fromObject(object.nodeKubeletConfig); + } return message; }; @@ -17462,11 +18922,17 @@ if (options.defaults) { object.gcfsConfig = null; object.loggingConfig = null; + object.containerdConfig = null; + object.nodeKubeletConfig = null; } if (message.gcfsConfig != null && message.hasOwnProperty("gcfsConfig")) object.gcfsConfig = $root.google.container.v1.GcfsConfig.toObject(message.gcfsConfig, options); if (message.loggingConfig != null && message.hasOwnProperty("loggingConfig")) object.loggingConfig = $root.google.container.v1.NodePoolLoggingConfig.toObject(message.loggingConfig, options); + if (message.containerdConfig != null && message.hasOwnProperty("containerdConfig")) + object.containerdConfig = $root.google.container.v1.ContainerdConfig.toObject(message.containerdConfig, options); + if (message.nodeKubeletConfig != null && message.hasOwnProperty("nodeKubeletConfig")) + object.nodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.toObject(message.nodeKubeletConfig, options); return object; }; @@ -17554,10 +19020,13 @@ * @property {boolean|null} [desiredEnableFqdnNetworkPolicy] ClusterUpdate desiredEnableFqdnNetworkPolicy * @property {google.container.v1.IWorkloadPolicyConfig|null} [desiredAutopilotWorkloadPolicyConfig] ClusterUpdate desiredAutopilotWorkloadPolicyConfig * @property {google.container.v1.IK8sBetaAPIConfig|null} [desiredK8sBetaApis] ClusterUpdate desiredK8sBetaApis + * @property {google.container.v1.IContainerdConfig|null} [desiredContainerdConfig] ClusterUpdate desiredContainerdConfig * @property {boolean|null} [desiredEnableMultiNetworking] ClusterUpdate desiredEnableMultiNetworking * @property {google.container.v1.IResourceManagerTags|null} [desiredNodePoolAutoConfigResourceManagerTags] ClusterUpdate desiredNodePoolAutoConfigResourceManagerTags * @property {google.container.v1.InTransitEncryptionConfig|null} [desiredInTransitEncryptionConfig] ClusterUpdate desiredInTransitEncryptionConfig * @property {boolean|null} [desiredEnableCiliumClusterwideNetworkPolicy] ClusterUpdate desiredEnableCiliumClusterwideNetworkPolicy + * @property {google.container.v1.INodeKubeletConfig|null} [desiredNodeKubeletConfig] ClusterUpdate desiredNodeKubeletConfig + * @property {google.container.v1.INodeKubeletConfig|null} [desiredNodePoolAutoConfigKubeletConfig] ClusterUpdate desiredNodePoolAutoConfigKubeletConfig */ /** @@ -17968,6 +19437,14 @@ */ ClusterUpdate.prototype.desiredK8sBetaApis = null; + /** + * ClusterUpdate desiredContainerdConfig. + * @member {google.container.v1.IContainerdConfig|null|undefined} desiredContainerdConfig + * @memberof google.container.v1.ClusterUpdate + * @instance + */ + ClusterUpdate.prototype.desiredContainerdConfig = null; + /** * ClusterUpdate desiredEnableMultiNetworking. * @member {boolean|null|undefined} desiredEnableMultiNetworking @@ -18000,6 +19477,22 @@ */ ClusterUpdate.prototype.desiredEnableCiliumClusterwideNetworkPolicy = null; + /** + * ClusterUpdate desiredNodeKubeletConfig. + * @member {google.container.v1.INodeKubeletConfig|null|undefined} desiredNodeKubeletConfig + * @memberof google.container.v1.ClusterUpdate + * @instance + */ + ClusterUpdate.prototype.desiredNodeKubeletConfig = null; + + /** + * ClusterUpdate desiredNodePoolAutoConfigKubeletConfig. + * @member {google.container.v1.INodeKubeletConfig|null|undefined} desiredNodePoolAutoConfigKubeletConfig + * @memberof google.container.v1.ClusterUpdate + * @instance + */ + ClusterUpdate.prototype.desiredNodePoolAutoConfigKubeletConfig = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -18181,6 +19674,8 @@ $root.google.container.v1.WorkloadPolicyConfig.encode(message.desiredAutopilotWorkloadPolicyConfig, writer.uint32(/* id 128, wireType 2 =*/1026).fork()).ldelim(); if (message.desiredK8sBetaApis != null && Object.hasOwnProperty.call(message, "desiredK8sBetaApis")) $root.google.container.v1.K8sBetaAPIConfig.encode(message.desiredK8sBetaApis, writer.uint32(/* id 131, wireType 2 =*/1050).fork()).ldelim(); + if (message.desiredContainerdConfig != null && Object.hasOwnProperty.call(message, "desiredContainerdConfig")) + $root.google.container.v1.ContainerdConfig.encode(message.desiredContainerdConfig, writer.uint32(/* id 134, wireType 2 =*/1074).fork()).ldelim(); if (message.desiredEnableMultiNetworking != null && Object.hasOwnProperty.call(message, "desiredEnableMultiNetworking")) writer.uint32(/* id 135, wireType 0 =*/1080).bool(message.desiredEnableMultiNetworking); if (message.desiredNodePoolAutoConfigResourceManagerTags != null && Object.hasOwnProperty.call(message, "desiredNodePoolAutoConfigResourceManagerTags")) @@ -18189,6 +19684,10 @@ writer.uint32(/* id 137, wireType 0 =*/1096).int32(message.desiredInTransitEncryptionConfig); if (message.desiredEnableCiliumClusterwideNetworkPolicy != null && Object.hasOwnProperty.call(message, "desiredEnableCiliumClusterwideNetworkPolicy")) writer.uint32(/* id 138, wireType 0 =*/1104).bool(message.desiredEnableCiliumClusterwideNetworkPolicy); + if (message.desiredNodeKubeletConfig != null && Object.hasOwnProperty.call(message, "desiredNodeKubeletConfig")) + $root.google.container.v1.NodeKubeletConfig.encode(message.desiredNodeKubeletConfig, writer.uint32(/* id 141, wireType 2 =*/1130).fork()).ldelim(); + if (message.desiredNodePoolAutoConfigKubeletConfig != null && Object.hasOwnProperty.call(message, "desiredNodePoolAutoConfigKubeletConfig")) + $root.google.container.v1.NodeKubeletConfig.encode(message.desiredNodePoolAutoConfigKubeletConfig, writer.uint32(/* id 142, wireType 2 =*/1138).fork()).ldelim(); return writer; }; @@ -18421,6 +19920,10 @@ message.desiredK8sBetaApis = $root.google.container.v1.K8sBetaAPIConfig.decode(reader, reader.uint32()); break; } + case 134: { + message.desiredContainerdConfig = $root.google.container.v1.ContainerdConfig.decode(reader, reader.uint32()); + break; + } case 135: { message.desiredEnableMultiNetworking = reader.bool(); break; @@ -18437,6 +19940,14 @@ message.desiredEnableCiliumClusterwideNetworkPolicy = reader.bool(); break; } + case 141: { + message.desiredNodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.decode(reader, reader.uint32()); + break; + } + case 142: { + message.desiredNodePoolAutoConfigKubeletConfig = $root.google.container.v1.NodeKubeletConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -18719,6 +20230,11 @@ if (error) return "desiredK8sBetaApis." + error; } + if (message.desiredContainerdConfig != null && message.hasOwnProperty("desiredContainerdConfig")) { + var error = $root.google.container.v1.ContainerdConfig.verify(message.desiredContainerdConfig); + if (error) + return "desiredContainerdConfig." + error; + } if (message.desiredEnableMultiNetworking != null && message.hasOwnProperty("desiredEnableMultiNetworking")) { properties._desiredEnableMultiNetworking = 1; if (typeof message.desiredEnableMultiNetworking !== "boolean") @@ -18745,6 +20261,16 @@ if (typeof message.desiredEnableCiliumClusterwideNetworkPolicy !== "boolean") return "desiredEnableCiliumClusterwideNetworkPolicy: boolean expected"; } + if (message.desiredNodeKubeletConfig != null && message.hasOwnProperty("desiredNodeKubeletConfig")) { + var error = $root.google.container.v1.NodeKubeletConfig.verify(message.desiredNodeKubeletConfig); + if (error) + return "desiredNodeKubeletConfig." + error; + } + if (message.desiredNodePoolAutoConfigKubeletConfig != null && message.hasOwnProperty("desiredNodePoolAutoConfigKubeletConfig")) { + var error = $root.google.container.v1.NodeKubeletConfig.verify(message.desiredNodePoolAutoConfigKubeletConfig); + if (error) + return "desiredNodePoolAutoConfigKubeletConfig." + error; + } return null; }; @@ -19029,6 +20555,11 @@ throw TypeError(".google.container.v1.ClusterUpdate.desiredK8sBetaApis: object expected"); message.desiredK8sBetaApis = $root.google.container.v1.K8sBetaAPIConfig.fromObject(object.desiredK8sBetaApis); } + if (object.desiredContainerdConfig != null) { + if (typeof object.desiredContainerdConfig !== "object") + throw TypeError(".google.container.v1.ClusterUpdate.desiredContainerdConfig: object expected"); + message.desiredContainerdConfig = $root.google.container.v1.ContainerdConfig.fromObject(object.desiredContainerdConfig); + } if (object.desiredEnableMultiNetworking != null) message.desiredEnableMultiNetworking = Boolean(object.desiredEnableMultiNetworking); if (object.desiredNodePoolAutoConfigResourceManagerTags != null) { @@ -19058,6 +20589,16 @@ } if (object.desiredEnableCiliumClusterwideNetworkPolicy != null) message.desiredEnableCiliumClusterwideNetworkPolicy = Boolean(object.desiredEnableCiliumClusterwideNetworkPolicy); + if (object.desiredNodeKubeletConfig != null) { + if (typeof object.desiredNodeKubeletConfig !== "object") + throw TypeError(".google.container.v1.ClusterUpdate.desiredNodeKubeletConfig: object expected"); + message.desiredNodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.fromObject(object.desiredNodeKubeletConfig); + } + if (object.desiredNodePoolAutoConfigKubeletConfig != null) { + if (typeof object.desiredNodePoolAutoConfigKubeletConfig !== "object") + throw TypeError(".google.container.v1.ClusterUpdate.desiredNodePoolAutoConfigKubeletConfig: object expected"); + message.desiredNodePoolAutoConfigKubeletConfig = $root.google.container.v1.NodeKubeletConfig.fromObject(object.desiredNodePoolAutoConfigKubeletConfig); + } return message; }; @@ -19123,7 +20664,10 @@ object.desiredNetworkPerformanceConfig = null; object.desiredAutopilotWorkloadPolicyConfig = null; object.desiredK8sBetaApis = null; + object.desiredContainerdConfig = null; object.desiredNodePoolAutoConfigResourceManagerTags = null; + object.desiredNodeKubeletConfig = null; + object.desiredNodePoolAutoConfigKubeletConfig = null; } if (message.desiredNodeVersion != null && message.hasOwnProperty("desiredNodeVersion")) object.desiredNodeVersion = message.desiredNodeVersion; @@ -19232,6 +20776,8 @@ object.desiredAutopilotWorkloadPolicyConfig = $root.google.container.v1.WorkloadPolicyConfig.toObject(message.desiredAutopilotWorkloadPolicyConfig, options); if (message.desiredK8sBetaApis != null && message.hasOwnProperty("desiredK8sBetaApis")) object.desiredK8sBetaApis = $root.google.container.v1.K8sBetaAPIConfig.toObject(message.desiredK8sBetaApis, options); + if (message.desiredContainerdConfig != null && message.hasOwnProperty("desiredContainerdConfig")) + object.desiredContainerdConfig = $root.google.container.v1.ContainerdConfig.toObject(message.desiredContainerdConfig, options); if (message.desiredEnableMultiNetworking != null && message.hasOwnProperty("desiredEnableMultiNetworking")) { object.desiredEnableMultiNetworking = message.desiredEnableMultiNetworking; if (options.oneofs) @@ -19249,6 +20795,10 @@ if (options.oneofs) object._desiredEnableCiliumClusterwideNetworkPolicy = "desiredEnableCiliumClusterwideNetworkPolicy"; } + if (message.desiredNodeKubeletConfig != null && message.hasOwnProperty("desiredNodeKubeletConfig")) + object.desiredNodeKubeletConfig = $root.google.container.v1.NodeKubeletConfig.toObject(message.desiredNodeKubeletConfig, options); + if (message.desiredNodePoolAutoConfigKubeletConfig != null && message.hasOwnProperty("desiredNodePoolAutoConfigKubeletConfig")) + object.desiredNodePoolAutoConfigKubeletConfig = $root.google.container.v1.NodeKubeletConfig.toObject(message.desiredNodePoolAutoConfigKubeletConfig, options); return object; }; @@ -22104,10 +23654,12 @@ * @property {google.container.v1.INodePoolLoggingConfig|null} [loggingConfig] UpdateNodePoolRequest loggingConfig * @property {google.container.v1.IResourceLabels|null} [resourceLabels] UpdateNodePoolRequest resourceLabels * @property {google.container.v1.IWindowsNodeConfig|null} [windowsNodeConfig] UpdateNodePoolRequest windowsNodeConfig + * @property {Array.|null} [accelerators] UpdateNodePoolRequest accelerators * @property {string|null} [machineType] UpdateNodePoolRequest machineType * @property {string|null} [diskType] UpdateNodePoolRequest diskType * @property {number|Long|null} [diskSizeGb] UpdateNodePoolRequest diskSizeGb * @property {google.container.v1.IResourceManagerTags|null} [resourceManagerTags] UpdateNodePoolRequest resourceManagerTags + * @property {google.container.v1.IContainerdConfig|null} [containerdConfig] UpdateNodePoolRequest containerdConfig * @property {google.container.v1.NodePool.IQueuedProvisioning|null} [queuedProvisioning] UpdateNodePoolRequest queuedProvisioning */ @@ -22121,6 +23673,7 @@ */ function UpdateNodePoolRequest(properties) { this.locations = []; + this.accelerators = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22319,6 +23872,14 @@ */ UpdateNodePoolRequest.prototype.windowsNodeConfig = null; + /** + * UpdateNodePoolRequest accelerators. + * @member {Array.} accelerators + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.accelerators = $util.emptyArray; + /** * UpdateNodePoolRequest machineType. * @member {string} machineType @@ -22351,6 +23912,14 @@ */ UpdateNodePoolRequest.prototype.resourceManagerTags = null; + /** + * UpdateNodePoolRequest containerdConfig. + * @member {google.container.v1.IContainerdConfig|null|undefined} containerdConfig + * @memberof google.container.v1.UpdateNodePoolRequest + * @instance + */ + UpdateNodePoolRequest.prototype.containerdConfig = null; + /** * UpdateNodePoolRequest queuedProvisioning. * @member {google.container.v1.NodePool.IQueuedProvisioning|null|undefined} queuedProvisioning @@ -22432,6 +24001,9 @@ $root.google.container.v1.ResourceLabels.encode(message.resourceLabels, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); if (message.windowsNodeConfig != null && Object.hasOwnProperty.call(message, "windowsNodeConfig")) $root.google.container.v1.WindowsNodeConfig.encode(message.windowsNodeConfig, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); + if (message.accelerators != null && message.accelerators.length) + for (var i = 0; i < message.accelerators.length; ++i) + $root.google.container.v1.AcceleratorConfig.encode(message.accelerators[i], writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); if (message.machineType != null && Object.hasOwnProperty.call(message, "machineType")) writer.uint32(/* id 36, wireType 2 =*/290).string(message.machineType); if (message.diskType != null && Object.hasOwnProperty.call(message, "diskType")) @@ -22440,6 +24012,8 @@ writer.uint32(/* id 38, wireType 0 =*/304).int64(message.diskSizeGb); if (message.resourceManagerTags != null && Object.hasOwnProperty.call(message, "resourceManagerTags")) $root.google.container.v1.ResourceManagerTags.encode(message.resourceManagerTags, writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); + if (message.containerdConfig != null && Object.hasOwnProperty.call(message, "containerdConfig")) + $root.google.container.v1.ContainerdConfig.encode(message.containerdConfig, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); if (message.queuedProvisioning != null && Object.hasOwnProperty.call(message, "queuedProvisioning")) $root.google.container.v1.NodePool.QueuedProvisioning.encode(message.queuedProvisioning, writer.uint32(/* id 42, wireType 2 =*/338).fork()).ldelim(); return writer; @@ -22574,6 +24148,12 @@ message.windowsNodeConfig = $root.google.container.v1.WindowsNodeConfig.decode(reader, reader.uint32()); break; } + case 35: { + if (!(message.accelerators && message.accelerators.length)) + message.accelerators = []; + message.accelerators.push($root.google.container.v1.AcceleratorConfig.decode(reader, reader.uint32())); + break; + } case 36: { message.machineType = reader.string(); break; @@ -22590,6 +24170,10 @@ message.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.decode(reader, reader.uint32()); break; } + case 40: { + message.containerdConfig = $root.google.container.v1.ContainerdConfig.decode(reader, reader.uint32()); + break; + } case 42: { message.queuedProvisioning = $root.google.container.v1.NodePool.QueuedProvisioning.decode(reader, reader.uint32()); break; @@ -22735,6 +24319,15 @@ if (error) return "windowsNodeConfig." + error; } + if (message.accelerators != null && message.hasOwnProperty("accelerators")) { + if (!Array.isArray(message.accelerators)) + return "accelerators: array expected"; + for (var i = 0; i < message.accelerators.length; ++i) { + var error = $root.google.container.v1.AcceleratorConfig.verify(message.accelerators[i]); + if (error) + return "accelerators." + error; + } + } if (message.machineType != null && message.hasOwnProperty("machineType")) if (!$util.isString(message.machineType)) return "machineType: string expected"; @@ -22749,6 +24342,11 @@ if (error) return "resourceManagerTags." + error; } + if (message.containerdConfig != null && message.hasOwnProperty("containerdConfig")) { + var error = $root.google.container.v1.ContainerdConfig.verify(message.containerdConfig); + if (error) + return "containerdConfig." + error; + } if (message.queuedProvisioning != null && message.hasOwnProperty("queuedProvisioning")) { var error = $root.google.container.v1.NodePool.QueuedProvisioning.verify(message.queuedProvisioning); if (error) @@ -22867,6 +24465,16 @@ throw TypeError(".google.container.v1.UpdateNodePoolRequest.windowsNodeConfig: object expected"); message.windowsNodeConfig = $root.google.container.v1.WindowsNodeConfig.fromObject(object.windowsNodeConfig); } + if (object.accelerators) { + if (!Array.isArray(object.accelerators)) + throw TypeError(".google.container.v1.UpdateNodePoolRequest.accelerators: array expected"); + message.accelerators = []; + for (var i = 0; i < object.accelerators.length; ++i) { + if (typeof object.accelerators[i] !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.accelerators: object expected"); + message.accelerators[i] = $root.google.container.v1.AcceleratorConfig.fromObject(object.accelerators[i]); + } + } if (object.machineType != null) message.machineType = String(object.machineType); if (object.diskType != null) @@ -22885,6 +24493,11 @@ throw TypeError(".google.container.v1.UpdateNodePoolRequest.resourceManagerTags: object expected"); message.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.fromObject(object.resourceManagerTags); } + if (object.containerdConfig != null) { + if (typeof object.containerdConfig !== "object") + throw TypeError(".google.container.v1.UpdateNodePoolRequest.containerdConfig: object expected"); + message.containerdConfig = $root.google.container.v1.ContainerdConfig.fromObject(object.containerdConfig); + } if (object.queuedProvisioning != null) { if (typeof object.queuedProvisioning !== "object") throw TypeError(".google.container.v1.UpdateNodePoolRequest.queuedProvisioning: object expected"); @@ -22906,8 +24519,10 @@ if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) + if (options.arrays || options.defaults) { object.locations = []; + object.accelerators = []; + } if (options.defaults) { object.projectId = ""; object.zone = ""; @@ -22940,6 +24555,7 @@ } else object.diskSizeGb = options.longs === String ? "0" : 0; object.resourceManagerTags = null; + object.containerdConfig = null; object.queuedProvisioning = null; } if (message.projectId != null && message.hasOwnProperty("projectId")) @@ -22993,6 +24609,11 @@ object.resourceLabels = $root.google.container.v1.ResourceLabels.toObject(message.resourceLabels, options); if (message.windowsNodeConfig != null && message.hasOwnProperty("windowsNodeConfig")) object.windowsNodeConfig = $root.google.container.v1.WindowsNodeConfig.toObject(message.windowsNodeConfig, options); + if (message.accelerators && message.accelerators.length) { + object.accelerators = []; + for (var j = 0; j < message.accelerators.length; ++j) + object.accelerators[j] = $root.google.container.v1.AcceleratorConfig.toObject(message.accelerators[j], options); + } if (message.machineType != null && message.hasOwnProperty("machineType")) object.machineType = message.machineType; if (message.diskType != null && message.hasOwnProperty("diskType")) @@ -23004,6 +24625,8 @@ object.diskSizeGb = options.longs === String ? $util.Long.prototype.toString.call(message.diskSizeGb) : options.longs === Number ? new $util.LongBits(message.diskSizeGb.low >>> 0, message.diskSizeGb.high >>> 0).toNumber() : message.diskSizeGb; if (message.resourceManagerTags != null && message.hasOwnProperty("resourceManagerTags")) object.resourceManagerTags = $root.google.container.v1.ResourceManagerTags.toObject(message.resourceManagerTags, options); + if (message.containerdConfig != null && message.hasOwnProperty("containerdConfig")) + object.containerdConfig = $root.google.container.v1.ContainerdConfig.toObject(message.containerdConfig, options); if (message.queuedProvisioning != null && message.hasOwnProperty("queuedProvisioning")) object.queuedProvisioning = $root.google.container.v1.NodePool.QueuedProvisioning.toObject(message.queuedProvisioning, options); return object; @@ -38939,6 +40562,7 @@ return "gpuSharingStrategy: enum value expected"; case 0: case 1: + case 2: break; } } @@ -38981,6 +40605,10 @@ case 1: message.gpuSharingStrategy = 1; break; + case "MPS": + case 2: + message.gpuSharingStrategy = 2; + break; } return message; }; @@ -39049,11 +40677,13 @@ * @enum {number} * @property {number} GPU_SHARING_STRATEGY_UNSPECIFIED=0 GPU_SHARING_STRATEGY_UNSPECIFIED value * @property {number} TIME_SHARING=1 TIME_SHARING value + * @property {number} MPS=2 MPS value */ GPUSharingConfig.GPUSharingStrategy = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "GPU_SHARING_STRATEGY_UNSPECIFIED"] = 0; values[valuesById[1] = "TIME_SHARING"] = 1; + values[valuesById[2] = "MPS"] = 2; return values; })(); @@ -45118,6 +46748,7 @@ * @property {google.container.v1.DNSConfig.Provider|null} [clusterDns] DNSConfig clusterDns * @property {google.container.v1.DNSConfig.DNSScope|null} [clusterDnsScope] DNSConfig clusterDnsScope * @property {string|null} [clusterDnsDomain] DNSConfig clusterDnsDomain + * @property {string|null} [additiveVpcScopeDnsDomain] DNSConfig additiveVpcScopeDnsDomain */ /** @@ -45159,6 +46790,14 @@ */ DNSConfig.prototype.clusterDnsDomain = ""; + /** + * DNSConfig additiveVpcScopeDnsDomain. + * @member {string} additiveVpcScopeDnsDomain + * @memberof google.container.v1.DNSConfig + * @instance + */ + DNSConfig.prototype.additiveVpcScopeDnsDomain = ""; + /** * Creates a new DNSConfig instance using the specified properties. * @function create @@ -45189,6 +46828,8 @@ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.clusterDnsScope); if (message.clusterDnsDomain != null && Object.hasOwnProperty.call(message, "clusterDnsDomain")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.clusterDnsDomain); + if (message.additiveVpcScopeDnsDomain != null && Object.hasOwnProperty.call(message, "additiveVpcScopeDnsDomain")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.additiveVpcScopeDnsDomain); return writer; }; @@ -45235,6 +46876,10 @@ message.clusterDnsDomain = reader.string(); break; } + case 5: { + message.additiveVpcScopeDnsDomain = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -45292,6 +46937,9 @@ if (message.clusterDnsDomain != null && message.hasOwnProperty("clusterDnsDomain")) if (!$util.isString(message.clusterDnsDomain)) return "clusterDnsDomain: string expected"; + if (message.additiveVpcScopeDnsDomain != null && message.hasOwnProperty("additiveVpcScopeDnsDomain")) + if (!$util.isString(message.additiveVpcScopeDnsDomain)) + return "additiveVpcScopeDnsDomain: string expected"; return null; }; @@ -45353,6 +47001,8 @@ } if (object.clusterDnsDomain != null) message.clusterDnsDomain = String(object.clusterDnsDomain); + if (object.additiveVpcScopeDnsDomain != null) + message.additiveVpcScopeDnsDomain = String(object.additiveVpcScopeDnsDomain); return message; }; @@ -45373,6 +47023,7 @@ object.clusterDns = options.enums === String ? "PROVIDER_UNSPECIFIED" : 0; object.clusterDnsScope = options.enums === String ? "DNS_SCOPE_UNSPECIFIED" : 0; object.clusterDnsDomain = ""; + object.additiveVpcScopeDnsDomain = ""; } if (message.clusterDns != null && message.hasOwnProperty("clusterDns")) object.clusterDns = options.enums === String ? $root.google.container.v1.DNSConfig.Provider[message.clusterDns] === undefined ? message.clusterDns : $root.google.container.v1.DNSConfig.Provider[message.clusterDns] : message.clusterDns; @@ -45380,6 +47031,8 @@ object.clusterDnsScope = options.enums === String ? $root.google.container.v1.DNSConfig.DNSScope[message.clusterDnsScope] === undefined ? message.clusterDnsScope : $root.google.container.v1.DNSConfig.DNSScope[message.clusterDnsScope] : message.clusterDnsScope; if (message.clusterDnsDomain != null && message.hasOwnProperty("clusterDnsDomain")) object.clusterDnsDomain = message.clusterDnsDomain; + if (message.additiveVpcScopeDnsDomain != null && message.hasOwnProperty("additiveVpcScopeDnsDomain")) + object.additiveVpcScopeDnsDomain = message.additiveVpcScopeDnsDomain; return object; }; @@ -54045,6 +55698,8 @@ case 10: case 11: case 12: + case 13: + case 14: break; } } @@ -54118,6 +55773,14 @@ case 12: message.enableComponents[i] = 12; break; + case "CADVISOR": + case 13: + message.enableComponents[i] = 13; + break; + case "KUBELET": + case 14: + message.enableComponents[i] = 14; + break; } } return message; @@ -54187,6 +55850,8 @@ * @property {number} DAEMONSET=10 DAEMONSET value * @property {number} DEPLOYMENT=11 DEPLOYMENT value * @property {number} STATEFULSET=12 STATEFULSET value + * @property {number} CADVISOR=13 CADVISOR value + * @property {number} KUBELET=14 KUBELET value */ MonitoringComponentConfig.Component = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -54201,6 +55866,8 @@ values[valuesById[10] = "DAEMONSET"] = 10; values[valuesById[11] = "DEPLOYMENT"] = 11; values[valuesById[12] = "STATEFULSET"] = 12; + values[valuesById[13] = "CADVISOR"] = 13; + values[valuesById[14] = "KUBELET"] = 14; return values; })(); diff --git a/packages/google-container/protos/protos.json b/packages/google-container/protos/protos.json index ca760a5a6e5..8cb664888dd 100644 --- a/packages/google-container/protos/protos.json +++ b/packages/google-container/protos/protos.json @@ -377,7 +377,7 @@ "options": { "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/operations", "(google.api.http).additional_bindings.get": "/v1/projects/{project_id}/zones/{zone}/operations", - "(google.api.method_signature)": "project_id,zone" + "(google.api.method_signature)": "parent" }, "parsedOptions": [ { @@ -390,6 +390,9 @@ }, { "(google.api.method_signature)": "project_id,zone" + }, + { + "(google.api.method_signature)": "parent" } ] }, @@ -877,6 +880,13 @@ } }, "LinuxNodeConfig": { + "oneofs": { + "_hugepages": { + "oneof": [ + "hugepages" + ] + } + }, "fields": { "sysctls": { "keyType": "string", @@ -886,6 +896,14 @@ "cgroupMode": { "type": "CgroupMode", "id": 2 + }, + "hugepages": { + "type": "HugepagesConfig", + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "proto3_optional": true + } } }, "nested": { @@ -895,6 +913,38 @@ "CGROUP_MODE_V1": 1, "CGROUP_MODE_V2": 2 } + }, + "HugepagesConfig": { + "oneofs": { + "_hugepageSize2m": { + "oneof": [ + "hugepageSize2m" + ] + }, + "_hugepageSize1g": { + "oneof": [ + "hugepageSize1g" + ] + } + }, + "fields": { + "hugepageSize2m": { + "type": "int32", + "id": 1, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "proto3_optional": true + } + }, + "hugepageSize1g": { + "type": "int32", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "proto3_optional": true + } + } + } } } }, @@ -1109,6 +1159,10 @@ "type": "SoleTenantConfig", "id": 42 }, + "containerdConfig": { + "type": "ContainerdConfig", + "id": 43 + }, "resourceManagerTags": { "type": "ResourceManagerTags", "id": 45 @@ -1140,6 +1194,11 @@ "oneof": [ "threadsPerCore" ] + }, + "_enableNestedVirtualization": { + "oneof": [ + "enableNestedVirtualization" + ] } }, "fields": { @@ -1149,6 +1208,13 @@ "options": { "proto3_optional": true } + }, + "enableNestedVirtualization": { + "type": "bool", + "id": 2, + "options": { + "proto3_optional": true + } } } }, @@ -1384,6 +1450,61 @@ } } }, + "ContainerdConfig": { + "fields": { + "privateRegistryAccessConfig": { + "type": "PrivateRegistryAccessConfig", + "id": 1 + } + }, + "nested": { + "PrivateRegistryAccessConfig": { + "fields": { + "enabled": { + "type": "bool", + "id": 1 + }, + "certificateAuthorityDomainConfig": { + "rule": "repeated", + "type": "CertificateAuthorityDomainConfig", + "id": 2 + } + }, + "nested": { + "CertificateAuthorityDomainConfig": { + "oneofs": { + "certificateConfig": { + "oneof": [ + "gcpSecretManagerCertificateConfig" + ] + } + }, + "fields": { + "fqdns": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "gcpSecretManagerCertificateConfig": { + "type": "GCPSecretManagerCertificateConfig", + "id": 2 + } + }, + "nested": { + "GCPSecretManagerCertificateConfig": { + "fields": { + "secretUri": { + "type": "string", + "id": 1 + } + } + } + } + } + } + } + } + }, "NodeTaint": { "fields": { "key": { @@ -1923,6 +2044,16 @@ "oneof": [ "nodePoolDefaults" ] + }, + "_satisfiesPzs": { + "oneof": [ + "satisfiesPzs" + ] + }, + "_satisfiesPzi": { + "oneof": [ + "satisfiesPzi" + ] } }, "fields": { @@ -2225,6 +2356,22 @@ "enterpriseConfig": { "type": "EnterpriseConfig", "id": 149 + }, + "satisfiesPzs": { + "type": "bool", + "id": 152, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY", + "proto3_optional": true + } + }, + "satisfiesPzi": { + "type": "bool", + "id": 153, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY", + "proto3_optional": true + } } }, "nested": { @@ -2284,7 +2431,8 @@ "values": { "MODE_UNSPECIFIED": 0, "DISABLED": 1, - "BASIC": 2 + "BASIC": 2, + "ENTERPRISE": 3 } }, "VulnerabilityMode": { @@ -2306,6 +2454,10 @@ "resourceManagerTags": { "type": "ResourceManagerTags", "id": 2 + }, + "nodeKubeletConfig": { + "type": "NodeKubeletConfig", + "id": 3 } } }, @@ -2326,6 +2478,14 @@ "loggingConfig": { "type": "NodePoolLoggingConfig", "id": 3 + }, + "containerdConfig": { + "type": "ContainerdConfig", + "id": 4 + }, + "nodeKubeletConfig": { + "type": "NodeKubeletConfig", + "id": 6 } } }, @@ -2561,6 +2721,10 @@ "type": "K8sBetaAPIConfig", "id": 131 }, + "desiredContainerdConfig": { + "type": "ContainerdConfig", + "id": 134 + }, "desiredEnableMultiNetworking": { "type": "bool", "id": 135, @@ -2585,6 +2749,14 @@ "options": { "proto3_optional": true } + }, + "desiredNodeKubeletConfig": { + "type": "NodeKubeletConfig", + "id": 141 + }, + "desiredNodePoolAutoConfigKubeletConfig": { + "type": "NodeKubeletConfig", + "id": 142 } } }, @@ -3023,6 +3195,11 @@ "type": "WindowsNodeConfig", "id": 34 }, + "accelerators": { + "rule": "repeated", + "type": "AcceleratorConfig", + "id": 35 + }, "machineType": { "type": "string", "id": 36, @@ -3048,6 +3225,10 @@ "type": "ResourceManagerTags", "id": 39 }, + "containerdConfig": { + "type": "ContainerdConfig", + "id": 40 + }, "queuedProvisioning": { "type": "NodePool.QueuedProvisioning", "id": 42 @@ -4641,7 +4822,8 @@ "GPUSharingStrategy": { "values": { "GPU_SHARING_STRATEGY_UNSPECIFIED": 0, - "TIME_SHARING": 1 + "TIME_SHARING": 1, + "MPS": 2 } } } @@ -5156,6 +5338,13 @@ "clusterDnsDomain": { "type": "string", "id": 3 + }, + "additiveVpcScopeDnsDomain": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } }, "nested": { @@ -5767,7 +5956,9 @@ "POD": 9, "DAEMONSET": 10, "DEPLOYMENT": 11, - "STATEFULSET": 12 + "STATEFULSET": 12, + "CADVISOR": 13, + "KUBELET": 14 } } } diff --git a/packages/google-container/samples/generated/v1/cluster_manager.update_node_pool.js b/packages/google-container/samples/generated/v1/cluster_manager.update_node_pool.js index 2a04ed01082..fca19ba4d00 100644 --- a/packages/google-container/samples/generated/v1/cluster_manager.update_node_pool.js +++ b/packages/google-container/samples/generated/v1/cluster_manager.update_node_pool.js @@ -134,6 +134,12 @@ function main(nodeVersion, imageType) { * Parameters that can be configured on Windows nodes. */ // const windowsNodeConfig = {} + /** + * A list of hardware accelerators to be attached to each node. + * See https://cloud.google.com/compute/docs/gpus for more information about + * support for GPUs. + */ + // const accelerators = [1,2,3,4] /** * Optional. The desired Google Compute Engine machine * type (https://cloud.google.com/compute/docs/machine-types) for nodes in the @@ -161,6 +167,12 @@ function main(nodeVersion, imageType) { * Existing tags will be replaced with new values. */ // const resourceManagerTags = {} + /** + * The desired containerd config for nodes in the node pool. + * Initiates an upgrade operation that recreates the nodes with the new + * config. + */ + // const containerdConfig = {} /** * Specifies the configuration of queued provisioning. */ diff --git a/packages/google-container/samples/generated/v1/snippet_metadata_google.container.v1.json b/packages/google-container/samples/generated/v1/snippet_metadata_google.container.v1.json index 8b24e1faa90..27ef83f410a 100644 --- a/packages/google-container/samples/generated/v1/snippet_metadata_google.container.v1.json +++ b/packages/google-container/samples/generated/v1/snippet_metadata_google.container.v1.json @@ -230,7 +230,7 @@ "segments": [ { "start": 25, - "end": 187, + "end": 199, "type": "FULL" } ], @@ -335,6 +335,10 @@ "name": "windows_node_config", "type": ".google.container.v1.WindowsNodeConfig" }, + { + "name": "accelerators", + "type": "TYPE_MESSAGE[]" + }, { "name": "machine_type", "type": "TYPE_STRING" @@ -351,6 +355,10 @@ "name": "resource_manager_tags", "type": ".google.container.v1.ResourceManagerTags" }, + { + "name": "containerd_config", + "type": ".google.container.v1.ContainerdConfig" + }, { "name": "queued_provisioning", "type": ".google.container.v1.NodePool.QueuedProvisioning" diff --git a/packages/google-container/src/v1/cluster_manager_client.ts b/packages/google-container/src/v1/cluster_manager_client.ts index f993a3a2d23..d6b90addb44 100644 --- a/packages/google-container/src/v1/cluster_manager_client.ts +++ b/packages/google-container/src/v1/cluster_manager_client.ts @@ -895,6 +895,10 @@ export class ClusterManagerClient { * Google Compute Engine resources. * @param {google.container.v1.WindowsNodeConfig} request.windowsNodeConfig * Parameters that can be configured on Windows nodes. + * @param {number[]} request.accelerators + * A list of hardware accelerators to be attached to each node. + * See https://cloud.google.com/compute/docs/gpus for more information about + * support for GPUs. * @param {string} [request.machineType] * Optional. The desired [Google Compute Engine machine * type](https://cloud.google.com/compute/docs/machine-types) for nodes in the @@ -914,6 +918,10 @@ export class ClusterManagerClient { * Desired resource manager tag keys and values to be attached to the nodes * for managing Compute Engine firewalls using Network Firewall Policies. * Existing tags will be replaced with new values. + * @param {google.container.v1.ContainerdConfig} request.containerdConfig + * The desired containerd config for nodes in the node pool. + * Initiates an upgrade operation that recreates the nodes with the new + * config. * @param {google.container.v1.NodePool.QueuedProvisioning} request.queuedProvisioning * Specifies the configuration of queued provisioning. * @param {object} [options]