From 283d098d0cc66663d19568f95ea8f35d8385cd3e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 14 Dec 2022 19:29:25 -0800 Subject: [PATCH] feat: Add support for specifying stack type for clusters. This will allow clusters to be created as dual stack or toggled between IPV4 and dual stack (#3754) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Add support for specifying stack type for clusters. This will allow clusters to be created as dual stack or toggled between IPV4 and dual stack Clients can now configure dual stack clusters by specifying a stack type of IPV4_IPV6 during cluster creation, or with an update command. When used with a cluster creation command that creates a new subnet, the ipv6_access_type field can be used to specify whether the subnet has internal or external IPv6 access. When used with a cluster update command, the subnet must already be dual stack. PiperOrigin-RevId: 495438580 Source-Link: https://github.com/googleapis/googleapis/commit/483c1eec5c4acf25bb9f7095d092d53770fb6ccb Source-Link: https://github.com/googleapis/googleapis-gen/commit/20bdefcf6cff3cea34a69f7f8f57112aaa602c57 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiMjBiZGVmY2Y2Y2ZmM2NlYTM0YTY5ZjdmOGY1NzExMmFhYTYwMmM1NyJ9 * 🦉 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 Co-authored-by: sofisl <55454395+sofisl@users.noreply.github.com> --- .../google/container/v1/cluster_service.proto | 5 ++ packages/google-container/protos/protos.d.ts | 6 +++ packages/google-container/protos/protos.js | 47 +++++++++++++++++++ packages/google-container/protos/protos.json | 4 ++ 4 files changed, 62 insertions(+) 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 9fe74f68fbd..40b8ac7ea68 100644 --- a/packages/google-container/protos/google/container/v1/cluster_service.proto +++ b/packages/google-container/protos/google/container/v1/cluster_service.proto @@ -1951,6 +1951,11 @@ message ClusterUpdate { // The desired node pool logging configuration defaults for the cluster. NodePoolLoggingConfig desired_node_pool_logging_config = 116; + + // The desired stack type of the cluster. + // If a stack type is provided and does not match the current stack type of + // the cluster, update will attempt to change the stack type to the new type. + StackType desired_stack_type = 119; } // This operation resource represents operations that may have happened or are diff --git a/packages/google-container/protos/protos.d.ts b/packages/google-container/protos/protos.d.ts index 9f0d2a3e481..7fa8aa38068 100644 --- a/packages/google-container/protos/protos.d.ts +++ b/packages/google-container/protos/protos.d.ts @@ -5829,6 +5829,9 @@ export namespace google { /** ClusterUpdate desiredNodePoolLoggingConfig */ desiredNodePoolLoggingConfig?: (google.container.v1.INodePoolLoggingConfig|null); + + /** ClusterUpdate desiredStackType */ + desiredStackType?: (google.container.v1.StackType|keyof typeof google.container.v1.StackType|null); } /** Represents a ClusterUpdate. */ @@ -5954,6 +5957,9 @@ export namespace google { /** ClusterUpdate desiredNodePoolLoggingConfig. */ public desiredNodePoolLoggingConfig?: (google.container.v1.INodePoolLoggingConfig|null); + /** ClusterUpdate desiredStackType. */ + public desiredStackType: (google.container.v1.StackType|keyof typeof google.container.v1.StackType); + /** ClusterUpdate _desiredEnablePrivateEndpoint. */ public _desiredEnablePrivateEndpoint?: "desiredEnablePrivateEndpoint"; diff --git a/packages/google-container/protos/protos.js b/packages/google-container/protos/protos.js index e2b9a0687ab..528ee8a68ce 100644 --- a/packages/google-container/protos/protos.js +++ b/packages/google-container/protos/protos.js @@ -14281,6 +14281,7 @@ * @property {google.container.v1.INetworkTags|null} [desiredNodePoolAutoConfigNetworkTags] ClusterUpdate desiredNodePoolAutoConfigNetworkTags * @property {google.container.v1.IGatewayAPIConfig|null} [desiredGatewayApiConfig] ClusterUpdate desiredGatewayApiConfig * @property {google.container.v1.INodePoolLoggingConfig|null} [desiredNodePoolLoggingConfig] ClusterUpdate desiredNodePoolLoggingConfig + * @property {google.container.v1.StackType|null} [desiredStackType] ClusterUpdate desiredStackType */ /** @@ -14603,6 +14604,14 @@ */ ClusterUpdate.prototype.desiredNodePoolLoggingConfig = null; + /** + * ClusterUpdate desiredStackType. + * @member {google.container.v1.StackType} desiredStackType + * @memberof google.container.v1.ClusterUpdate + * @instance + */ + ClusterUpdate.prototype.desiredStackType = 0; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -14718,6 +14727,8 @@ $root.google.container.v1.GatewayAPIConfig.encode(message.desiredGatewayApiConfig, writer.uint32(/* id 114, wireType 2 =*/914).fork()).ldelim(); if (message.desiredNodePoolLoggingConfig != null && Object.hasOwnProperty.call(message, "desiredNodePoolLoggingConfig")) $root.google.container.v1.NodePoolLoggingConfig.encode(message.desiredNodePoolLoggingConfig, writer.uint32(/* id 116, wireType 2 =*/930).fork()).ldelim(); + if (message.desiredStackType != null && Object.hasOwnProperty.call(message, "desiredStackType")) + writer.uint32(/* id 119, wireType 0 =*/952).int32(message.desiredStackType); return writer; }; @@ -14906,6 +14917,10 @@ message.desiredNodePoolLoggingConfig = $root.google.container.v1.NodePoolLoggingConfig.decode(reader, reader.uint32()); break; } + case 119: { + message.desiredStackType = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -15131,6 +15146,15 @@ if (error) return "desiredNodePoolLoggingConfig." + error; } + if (message.desiredStackType != null && message.hasOwnProperty("desiredStackType")) + switch (message.desiredStackType) { + default: + return "desiredStackType: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -15351,6 +15375,26 @@ throw TypeError(".google.container.v1.ClusterUpdate.desiredNodePoolLoggingConfig: object expected"); message.desiredNodePoolLoggingConfig = $root.google.container.v1.NodePoolLoggingConfig.fromObject(object.desiredNodePoolLoggingConfig); } + switch (object.desiredStackType) { + default: + if (typeof object.desiredStackType === "number") { + message.desiredStackType = object.desiredStackType; + break; + } + break; + case "STACK_TYPE_UNSPECIFIED": + case 0: + message.desiredStackType = 0; + break; + case "IPV4": + case 1: + message.desiredStackType = 1; + break; + case "IPV4_IPV6": + case 2: + message.desiredStackType = 2; + break; + } return message; }; @@ -15406,6 +15450,7 @@ object.desiredNodePoolAutoConfigNetworkTags = null; object.desiredGatewayApiConfig = null; object.desiredNodePoolLoggingConfig = null; + object.desiredStackType = options.enums === String ? "STACK_TYPE_UNSPECIFIED" : 0; } if (message.desiredNodeVersion != null && message.hasOwnProperty("desiredNodeVersion")) object.desiredNodeVersion = message.desiredNodeVersion; @@ -15489,6 +15534,8 @@ object.desiredGatewayApiConfig = $root.google.container.v1.GatewayAPIConfig.toObject(message.desiredGatewayApiConfig, options); if (message.desiredNodePoolLoggingConfig != null && message.hasOwnProperty("desiredNodePoolLoggingConfig")) object.desiredNodePoolLoggingConfig = $root.google.container.v1.NodePoolLoggingConfig.toObject(message.desiredNodePoolLoggingConfig, options); + if (message.desiredStackType != null && message.hasOwnProperty("desiredStackType")) + object.desiredStackType = options.enums === String ? $root.google.container.v1.StackType[message.desiredStackType] === undefined ? message.desiredStackType : $root.google.container.v1.StackType[message.desiredStackType] : message.desiredStackType; return object; }; diff --git a/packages/google-container/protos/protos.json b/packages/google-container/protos/protos.json index c73de796a86..1fac0eb59a4 100644 --- a/packages/google-container/protos/protos.json +++ b/packages/google-container/protos/protos.json @@ -2161,6 +2161,10 @@ "desiredNodePoolLoggingConfig": { "type": "NodePoolLoggingConfig", "id": 116 + }, + "desiredStackType": { + "type": "StackType", + "id": 119 } } },