google-cloud-container-v1beta1 0.2.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de5f10c59d9f31d9e63146c55d2bea978113c3f05824e3daa1b14fcd173db0ba
4
- data.tar.gz: fe3acc5c99e880ddf5378a9d869b5ed605ba83c7d2a7cf69ebfda2f14ad94cba
3
+ metadata.gz: 447936c338744e1a0668018dd2deac14d3c0370f475fb4cf6a9cabea749ede33
4
+ data.tar.gz: 7d918aa93b3547775e77bfa4fd81460f5f7ea033001dc2e4f1e985a0700280a5
5
5
  SHA512:
6
- metadata.gz: 5190b1bf14add88d20f381b929aa6e8da782f75db39b1b1068b47bea71ed7d0349e4685031ca7cfb0246b52a7611bea78cf55413835ee38e6fd1e9d7246b204d
7
- data.tar.gz: db33855053cdd25437113959d5f5b2f0598c3539686206db5d79195f4eea32a5933af859c6cdaafb8c977a1707ac49520d1ad5b2832fe62e3c36d2f1031d3b46
6
+ metadata.gz: 76a00bf27a973d821c429eb9aa85c4bcbddf2f09cd04bbf93f795efaa2eedb5b9036abc0e0a5ad71e529175878ac89b61c80369c8fd45cce35eecf7c5f9bcdf2
7
+ data.tar.gz: 5bbe0c1ec6b07ede02e84af7a501573b585d428696f222120cd41a96aa7c05f5ffd02c1a51037052b016bc6edc323b3a4cfec83152fd7d0f5f61669002e50c4d
data/README.md CHANGED
@@ -6,6 +6,12 @@ Builds and manages container-based applications, powered by the open source Kube
6
6
 
7
7
  https://github.com/googleapis/google-cloud-ruby
8
8
 
9
+ This gem is a _versioned_ client. It provides basic client classes for a
10
+ specific version of the Kubernetes Engine V1beta1 API. Most users should consider using
11
+ the main client gem,
12
+ [google-cloud-container](https://rubygems.org/gems/google-cloud-container).
13
+ See the section below titled *Which client should I use?* for more information.
14
+
9
15
  ## Installation
10
16
 
11
17
  ```
@@ -73,3 +79,61 @@ in security maintenance, and not end of life. Currently, this means Ruby 2.4
73
79
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
74
80
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
75
81
  about the Ruby support schedule.
82
+
83
+ ## Which client should I use?
84
+
85
+ Most modern Ruby client libraries for Google APIs come in two flavors: the main
86
+ client library with a name such as `google-cloud-container`,
87
+ and lower-level _versioned_ client libraries with names such as
88
+ `google-cloud-container-v1beta1`.
89
+ _In most cases, you should install the main client._
90
+
91
+ ### What's the difference between the main client and a versioned client?
92
+
93
+ A _versioned client_ provides a basic set of data types and client classes for
94
+ a _single version_ of a specific service. (That is, for a service with multiple
95
+ versions, there might be a separate versioned client for each service version.)
96
+ Most versioned clients are written and maintained by a code generator.
97
+
98
+ The _main client_ is designed to provide you with the _recommended_ client
99
+ interfaces for the service. There will be only one main client for any given
100
+ service, even a service with multiple versions. The main client includes
101
+ factory methods for constructing the client objects we recommend for most
102
+ users. In some cases, those will be classes provided by an underlying versioned
103
+ client; in other cases, they will be handwritten higher-level client objects
104
+ with additional capabilities, convenience methods, or best practices built in.
105
+ Generally, the main client will default to a recommended service version,
106
+ although in some cases you can override this if you need to talk to a specific
107
+ service version.
108
+
109
+ ### Why would I want to use the main client?
110
+
111
+ We recommend that most users install the main client gem for a service. You can
112
+ identify this gem as the one _without_ a version in its name, e.g.
113
+ `google-cloud-container`.
114
+ The main client is recommended because it will embody the best practices for
115
+ accessing the service, and may also provide more convenient interfaces or
116
+ tighter integration into frameworks and third-party libraries. In addition, the
117
+ documentation and samples published by Google will generally demonstrate use of
118
+ the main client.
119
+
120
+ ### Why would I want to use a versioned client?
121
+
122
+ You can use a versioned client if you are content with a possibly lower-level
123
+ class interface, you explicitly want to avoid features provided by the main
124
+ client, or you want to access a specific service version not be covered by the
125
+ main client. You can identify versioned client gems because the service version
126
+ is part of the name, e.g. `google-cloud-container-v1beta1`.
127
+
128
+ ### What about the google-apis-<name> clients?
129
+
130
+ Client library gems with names that begin with `google-apis-` are based on an
131
+ older code generation technology. They talk to a REST/JSON backend (whereas
132
+ most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
133
+ not offer the same performance, features, and ease of use provided by more
134
+ modern clients.
135
+
136
+ The `google-apis-` clients have wide coverage across Google services, so you
137
+ might need to use one if there is no modern client available for the service.
138
+ However, if a modern client is available, we generally recommend it over the
139
+ older `google-apis-` clients.
@@ -33,3 +33,6 @@ module Google
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ helper_path = ::File.join __dir__, "v1beta1", "_helpers.rb"
38
+ require "google/cloud/container/v1beta1/_helpers" if ::File.file? helper_path
@@ -23,6 +23,7 @@ require "gapic/config/method"
23
23
  require "google/cloud/container/v1beta1/version"
24
24
 
25
25
  require "google/cloud/container/v1beta1/cluster_manager/credentials"
26
+ require "google/cloud/container/v1beta1/cluster_manager/paths"
26
27
  require "google/cloud/container/v1beta1/cluster_manager/client"
27
28
 
28
29
  module Google
@@ -30,6 +30,8 @@ module Google
30
30
  # Google Kubernetes Engine Cluster Manager v1beta1
31
31
  #
32
32
  class Client
33
+ include Paths
34
+
33
35
  # @private
34
36
  attr_reader :cluster_manager_stub
35
37
 
@@ -68,7 +70,7 @@ module Google
68
70
  initial_delay: 0.1,
69
71
  max_delay: 60.0,
70
72
  multiplier: 1.3,
71
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
73
+ retry_codes: [14, 4]
72
74
  }
73
75
 
74
76
  default_config.rpcs.get_cluster.timeout = 20.0
@@ -76,7 +78,7 @@ module Google
76
78
  initial_delay: 0.1,
77
79
  max_delay: 60.0,
78
80
  multiplier: 1.3,
79
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
81
+ retry_codes: [14, 4]
80
82
  }
81
83
 
82
84
  default_config.rpcs.create_cluster.timeout = 45.0
@@ -104,7 +106,7 @@ module Google
104
106
  initial_delay: 0.1,
105
107
  max_delay: 60.0,
106
108
  multiplier: 1.3,
107
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
109
+ retry_codes: [14, 4]
108
110
  }
109
111
 
110
112
  default_config.rpcs.list_operations.timeout = 20.0
@@ -112,7 +114,7 @@ module Google
112
114
  initial_delay: 0.1,
113
115
  max_delay: 60.0,
114
116
  multiplier: 1.3,
115
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
117
+ retry_codes: [14, 4]
116
118
  }
117
119
 
118
120
  default_config.rpcs.get_operation.timeout = 20.0
@@ -120,7 +122,7 @@ module Google
120
122
  initial_delay: 0.1,
121
123
  max_delay: 60.0,
122
124
  multiplier: 1.3,
123
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
125
+ retry_codes: [14, 4]
124
126
  }
125
127
 
126
128
  default_config.rpcs.cancel_operation.timeout = 45.0
@@ -130,7 +132,7 @@ module Google
130
132
  initial_delay: 0.1,
131
133
  max_delay: 60.0,
132
134
  multiplier: 1.3,
133
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
135
+ retry_codes: [14, 4]
134
136
  }
135
137
 
136
138
  default_config.rpcs.list_node_pools.timeout = 20.0
@@ -138,7 +140,7 @@ module Google
138
140
  initial_delay: 0.1,
139
141
  max_delay: 60.0,
140
142
  multiplier: 1.3,
141
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
143
+ retry_codes: [14, 4]
142
144
  }
143
145
 
144
146
  default_config.rpcs.get_node_pool.timeout = 20.0
@@ -146,7 +148,7 @@ module Google
146
148
  initial_delay: 0.1,
147
149
  max_delay: 60.0,
148
150
  multiplier: 1.3,
149
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
151
+ retry_codes: [14, 4]
150
152
  }
151
153
 
152
154
  default_config.rpcs.create_node_pool.timeout = 45.0
@@ -156,7 +158,7 @@ module Google
156
158
  initial_delay: 0.1,
157
159
  max_delay: 60.0,
158
160
  multiplier: 1.3,
159
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
161
+ retry_codes: [14, 4]
160
162
  }
161
163
 
162
164
  default_config.rpcs.rollback_node_pool_upgrade.timeout = 45.0
@@ -182,7 +184,7 @@ module Google
182
184
  initial_delay: 0.1,
183
185
  max_delay: 60.0,
184
186
  multiplier: 1.3,
185
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
187
+ retry_codes: [14, 4]
186
188
  }
187
189
 
188
190
  default_config.rpcs.list_locations.timeout = 20.0
@@ -190,7 +192,7 @@ module Google
190
192
  initial_delay: 0.1,
191
193
  max_delay: 60.0,
192
194
  multiplier: 1.3,
193
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
195
+ retry_codes: [14, 4]
194
196
  }
195
197
 
196
198
  default_config
@@ -254,7 +256,13 @@ module Google
254
256
 
255
257
  # Create credentials
256
258
  credentials = @config.credentials
257
- credentials ||= Credentials.default scope: @config.scope
259
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
260
+ # but only if the default endpoint does not have a region prefix.
261
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
262
+ @config.endpoint == Client.configure.endpoint &&
263
+ !@config.endpoint.split(".").first.include?("-")
264
+ credentials ||= Credentials.default scope: @config.scope,
265
+ enable_self_signed_jwt: enable_self_signed_jwt
258
266
  if credentials.is_a?(String) || credentials.is_a?(Hash)
259
267
  credentials = Credentials.new credentials, scope: @config.scope
260
268
  end
@@ -297,9 +305,9 @@ module Google
297
305
  # This field has been deprecated and replaced by the parent field.
298
306
  # @param zone [::String]
299
307
  # Required. Deprecated. The name of the Google Compute Engine
300
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
301
- # resides, or "-" for all zones.
302
- # This field has been deprecated and replaced by the parent field.
308
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
309
+ # cluster resides, or "-" for all zones. This field has been deprecated and
310
+ # replaced by the parent field.
303
311
  # @param parent [::String]
304
312
  # The parent (project and location) where the clusters will be listed.
305
313
  # Specified in the format `projects/*/locations/*`.
@@ -374,9 +382,9 @@ module Google
374
382
  # This field has been deprecated and replaced by the name field.
375
383
  # @param zone [::String]
376
384
  # Required. Deprecated. The name of the Google Compute Engine
377
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
378
- # resides.
379
- # This field has been deprecated and replaced by the name field.
385
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
386
+ # cluster resides. This field has been deprecated and replaced by the name
387
+ # field.
380
388
  # @param cluster_id [::String]
381
389
  # Required. Deprecated. The name of the cluster to retrieve.
382
390
  # This field has been deprecated and replaced by the name field.
@@ -434,7 +442,8 @@ module Google
434
442
  # Compute Engine instances.
435
443
  #
436
444
  # By default, the cluster is created in the project's
437
- # [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
445
+ # [default
446
+ # network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
438
447
  #
439
448
  # One firewall is added for the cluster. After cluster creation,
440
449
  # the Kubelet creates routes for each node to allow the containers
@@ -465,12 +474,12 @@ module Google
465
474
  # This field has been deprecated and replaced by the parent field.
466
475
  # @param zone [::String]
467
476
  # Required. Deprecated. The name of the Google Compute Engine
468
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
469
- # resides.
470
- # This field has been deprecated and replaced by the parent field.
477
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
478
+ # cluster resides. This field has been deprecated and replaced by the parent
479
+ # field.
471
480
  # @param cluster [::Google::Cloud::Container::V1beta1::Cluster, ::Hash]
472
481
  # Required. A [cluster
473
- # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters)
482
+ # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)
474
483
  # @param parent [::String]
475
484
  # The parent (project and location) where the cluster will be created.
476
485
  # Specified in the format `projects/*/locations/*`.
@@ -544,9 +553,9 @@ module Google
544
553
  # This field has been deprecated and replaced by the name field.
545
554
  # @param zone [::String]
546
555
  # Required. Deprecated. The name of the Google Compute Engine
547
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
548
- # resides.
549
- # This field has been deprecated and replaced by the name field.
556
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
557
+ # cluster resides. This field has been deprecated and replaced by the name
558
+ # field.
550
559
  # @param cluster_id [::String]
551
560
  # Required. Deprecated. The name of the cluster to upgrade.
552
561
  # This field has been deprecated and replaced by the name field.
@@ -614,7 +623,7 @@ module Google
614
623
  # @param options [::Gapic::CallOptions, ::Hash]
615
624
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
616
625
  #
617
- # @overload update_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, node_version: nil, image_type: nil, workload_metadata_config: nil, name: nil)
626
+ # @overload update_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, node_version: nil, image_type: nil, locations: nil, workload_metadata_config: nil, name: nil, upgrade_settings: nil, linux_node_config: nil, kubelet_config: nil)
618
627
  # Pass arguments to `update_node_pool` via keyword arguments. Note that at
619
628
  # least one keyword argument is required. To specify no parameters, or to keep all
620
629
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -625,9 +634,9 @@ module Google
625
634
  # This field has been deprecated and replaced by the name field.
626
635
  # @param zone [::String]
627
636
  # Required. Deprecated. The name of the Google Compute Engine
628
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
629
- # resides.
630
- # This field has been deprecated and replaced by the name field.
637
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
638
+ # cluster resides. This field has been deprecated and replaced by the name
639
+ # field.
631
640
  # @param cluster_id [::String]
632
641
  # Required. Deprecated. The name of the cluster to upgrade.
633
642
  # This field has been deprecated and replaced by the name field.
@@ -648,12 +657,24 @@ module Google
648
657
  # - "-": picks the Kubernetes master version
649
658
  # @param image_type [::String]
650
659
  # Required. The desired image type for the node pool.
660
+ # @param locations [::Array<::String>]
661
+ # The desired list of Google Compute Engine
662
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
663
+ # node pool's nodes should be located. Changing the locations for a node pool
664
+ # will result in nodes being either created or removed from the node pool,
665
+ # depending on whether locations are being added or removed.
651
666
  # @param workload_metadata_config [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig, ::Hash]
652
- # The desired image type for the node pool.
667
+ # The desired workload metadata config for the node pool.
653
668
  # @param name [::String]
654
669
  # The name (project, location, cluster, node pool) of the node pool to
655
670
  # update. Specified in the format
656
671
  # `projects/*/locations/*/clusters/*/nodePools/*`.
672
+ # @param upgrade_settings [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings, ::Hash]
673
+ # Upgrade settings control disruption and speed of the upgrade.
674
+ # @param linux_node_config [::Google::Cloud::Container::V1beta1::LinuxNodeConfig, ::Hash]
675
+ # Parameters that can be configured on Linux nodes.
676
+ # @param kubelet_config [::Google::Cloud::Container::V1beta1::NodeKubeletConfig, ::Hash]
677
+ # Node kubelet configs.
657
678
  #
658
679
  # @yield [response, operation] Access the result along with the RPC operation
659
680
  # @yieldparam response [::Google::Cloud::Container::V1beta1::Operation]
@@ -724,9 +745,9 @@ module Google
724
745
  # This field has been deprecated and replaced by the name field.
725
746
  # @param zone [::String]
726
747
  # Required. Deprecated. The name of the Google Compute Engine
727
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
728
- # resides.
729
- # This field has been deprecated and replaced by the name field.
748
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
749
+ # cluster resides. This field has been deprecated and replaced by the name
750
+ # field.
730
751
  # @param cluster_id [::String]
731
752
  # Required. Deprecated. The name of the cluster to upgrade.
732
753
  # This field has been deprecated and replaced by the name field.
@@ -809,18 +830,24 @@ module Google
809
830
  # This field has been deprecated and replaced by the name field.
810
831
  # @param zone [::String]
811
832
  # Required. Deprecated. The name of the Google Compute Engine
812
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
813
- # resides.
814
- # This field has been deprecated and replaced by the name field.
833
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
834
+ # cluster resides. This field has been deprecated and replaced by the name
835
+ # field.
815
836
  # @param cluster_id [::String]
816
837
  # Required. Deprecated. The name of the cluster to upgrade.
817
838
  # This field has been deprecated and replaced by the name field.
818
839
  # @param logging_service [::String]
819
- # Required. The logging service the cluster should use to write metrics.
840
+ # Required. The logging service the cluster should use to write logs.
820
841
  # Currently available options:
821
842
  #
822
- # * "logging.googleapis.com" - the Google Cloud Logging service
823
- # * "none" - no metrics will be exported from the cluster
843
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
844
+ # service with a Kubernetes-native resource model
845
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
846
+ # available as of GKE 1.15).
847
+ # * `none` - no logs will be exported from the cluster.
848
+ #
849
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
850
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
824
851
  # @param name [::String]
825
852
  # The name (project, location, cluster) of the cluster to set logging.
826
853
  # Specified in the format `projects/*/locations/*/clusters/*`.
@@ -894,9 +921,9 @@ module Google
894
921
  # This field has been deprecated and replaced by the name field.
895
922
  # @param zone [::String]
896
923
  # Required. Deprecated. The name of the Google Compute Engine
897
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
898
- # resides.
899
- # This field has been deprecated and replaced by the name field.
924
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
925
+ # cluster resides. This field has been deprecated and replaced by the name
926
+ # field.
900
927
  # @param cluster_id [::String]
901
928
  # Required. Deprecated. The name of the cluster to upgrade.
902
929
  # This field has been deprecated and replaced by the name field.
@@ -904,8 +931,14 @@ module Google
904
931
  # Required. The monitoring service the cluster should use to write metrics.
905
932
  # Currently available options:
906
933
  #
907
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
908
- # * "none" - no metrics will be exported from the cluster
934
+ # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
935
+ # service with a Kubernetes-native resource model
936
+ # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
937
+ # longer available as of GKE 1.15).
938
+ # * `none` - No metrics will be exported from the cluster.
939
+ #
940
+ # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
941
+ # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
909
942
  # @param name [::String]
910
943
  # The name (project, location, cluster) of the cluster to set monitoring.
911
944
  # Specified in the format `projects/*/locations/*/clusters/*`.
@@ -979,9 +1012,9 @@ module Google
979
1012
  # This field has been deprecated and replaced by the name field.
980
1013
  # @param zone [::String]
981
1014
  # Required. Deprecated. The name of the Google Compute Engine
982
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
983
- # resides.
984
- # This field has been deprecated and replaced by the name field.
1015
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1016
+ # cluster resides. This field has been deprecated and replaced by the name
1017
+ # field.
985
1018
  # @param cluster_id [::String]
986
1019
  # Required. Deprecated. The name of the cluster to upgrade.
987
1020
  # This field has been deprecated and replaced by the name field.
@@ -1039,6 +1072,9 @@ module Google
1039
1072
 
1040
1073
  ##
1041
1074
  # Sets the locations for a specific cluster.
1075
+ # Deprecated. Use
1076
+ # [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)
1077
+ # instead.
1042
1078
  #
1043
1079
  # @overload set_locations(request, options = nil)
1044
1080
  # Pass arguments to `set_locations` via a request object, either of type
@@ -1061,18 +1097,18 @@ module Google
1061
1097
  # This field has been deprecated and replaced by the name field.
1062
1098
  # @param zone [::String]
1063
1099
  # Required. Deprecated. The name of the Google Compute Engine
1064
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1065
- # resides.
1066
- # This field has been deprecated and replaced by the name field.
1100
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1101
+ # cluster resides. This field has been deprecated and replaced by the name
1102
+ # field.
1067
1103
  # @param cluster_id [::String]
1068
1104
  # Required. Deprecated. The name of the cluster to upgrade.
1069
1105
  # This field has been deprecated and replaced by the name field.
1070
1106
  # @param locations [::Array<::String>]
1071
1107
  # Required. The desired list of Google Compute Engine
1072
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
1073
- # should be located. Changing the locations a cluster is in will result
1074
- # in nodes being either created or removed from the cluster, depending on
1075
- # whether locations are being added or removed.
1108
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1109
+ # cluster's nodes should be located. Changing the locations a cluster is in
1110
+ # will result in nodes being either created or removed from the cluster,
1111
+ # depending on whether locations are being added or removed.
1076
1112
  #
1077
1113
  # This list must always include the cluster's primary zone.
1078
1114
  # @param name [::String]
@@ -1148,9 +1184,9 @@ module Google
1148
1184
  # This field has been deprecated and replaced by the name field.
1149
1185
  # @param zone [::String]
1150
1186
  # Required. Deprecated. The name of the Google Compute Engine
1151
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1152
- # resides.
1153
- # This field has been deprecated and replaced by the name field.
1187
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1188
+ # cluster resides. This field has been deprecated and replaced by the name
1189
+ # field.
1154
1190
  # @param cluster_id [::String]
1155
1191
  # Required. Deprecated. The name of the cluster to upgrade.
1156
1192
  # This field has been deprecated and replaced by the name field.
@@ -1240,9 +1276,9 @@ module Google
1240
1276
  # This field has been deprecated and replaced by the name field.
1241
1277
  # @param zone [::String]
1242
1278
  # Required. Deprecated. The name of the Google Compute Engine
1243
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1244
- # resides.
1245
- # This field has been deprecated and replaced by the name field.
1279
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1280
+ # cluster resides. This field has been deprecated and replaced by the name
1281
+ # field.
1246
1282
  # @param cluster_id [::String]
1247
1283
  # Required. Deprecated. The name of the cluster to upgrade.
1248
1284
  # This field has been deprecated and replaced by the name field.
@@ -1331,9 +1367,9 @@ module Google
1331
1367
  # This field has been deprecated and replaced by the name field.
1332
1368
  # @param zone [::String]
1333
1369
  # Required. Deprecated. The name of the Google Compute Engine
1334
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1335
- # resides.
1336
- # This field has been deprecated and replaced by the name field.
1370
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1371
+ # cluster resides. This field has been deprecated and replaced by the name
1372
+ # field.
1337
1373
  # @param cluster_id [::String]
1338
1374
  # Required. Deprecated. The name of the cluster to delete.
1339
1375
  # This field has been deprecated and replaced by the name field.
@@ -1410,8 +1446,9 @@ module Google
1410
1446
  # This field has been deprecated and replaced by the parent field.
1411
1447
  # @param zone [::String]
1412
1448
  # Required. Deprecated. The name of the Google Compute Engine
1413
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for
1414
- # all zones. This field has been deprecated and replaced by the parent field.
1449
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
1450
+ # operations for, or `-` for all zones. This field has been deprecated and
1451
+ # replaced by the parent field.
1415
1452
  # @param parent [::String]
1416
1453
  # The parent (project and location) where the operations will be listed.
1417
1454
  # Specified in the format `projects/*/locations/*`.
@@ -1486,9 +1523,9 @@ module Google
1486
1523
  # This field has been deprecated and replaced by the name field.
1487
1524
  # @param zone [::String]
1488
1525
  # Required. Deprecated. The name of the Google Compute Engine
1489
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1490
- # resides.
1491
- # This field has been deprecated and replaced by the name field.
1526
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1527
+ # cluster resides. This field has been deprecated and replaced by the name
1528
+ # field.
1492
1529
  # @param operation_id [::String]
1493
1530
  # Required. Deprecated. The server-assigned `name` of the operation.
1494
1531
  # This field has been deprecated and replaced by the name field.
@@ -1565,8 +1602,9 @@ module Google
1565
1602
  # This field has been deprecated and replaced by the name field.
1566
1603
  # @param zone [::String]
1567
1604
  # Required. Deprecated. The name of the Google Compute Engine
1568
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides.
1569
- # This field has been deprecated and replaced by the name field.
1605
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1606
+ # operation resides. This field has been deprecated and replaced by the name
1607
+ # field.
1570
1608
  # @param operation_id [::String]
1571
1609
  # Required. Deprecated. The server-assigned `name` of the operation.
1572
1610
  # This field has been deprecated and replaced by the name field.
@@ -1643,8 +1681,9 @@ module Google
1643
1681
  # This field has been deprecated and replaced by the name field.
1644
1682
  # @param zone [::String]
1645
1683
  # Required. Deprecated. The name of the Google Compute Engine
1646
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for.
1647
- # This field has been deprecated and replaced by the name field.
1684
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
1685
+ # operations for. This field has been deprecated and replaced by the name
1686
+ # field.
1648
1687
  # @param name [::String]
1649
1688
  # The name (project and location) of the server config to get,
1650
1689
  # specified in the format `projects/*/locations/*`.
@@ -1718,9 +1757,9 @@ module Google
1718
1757
  # This field has been deprecated and replaced by the parent field.
1719
1758
  # @param zone [::String]
1720
1759
  # Required. Deprecated. The name of the Google Compute Engine
1721
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1722
- # resides.
1723
- # This field has been deprecated and replaced by the parent field.
1760
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1761
+ # cluster resides. This field has been deprecated and replaced by the parent
1762
+ # field.
1724
1763
  # @param cluster_id [::String]
1725
1764
  # Required. Deprecated. The name of the cluster.
1726
1765
  # This field has been deprecated and replaced by the parent field.
@@ -1773,6 +1812,76 @@ module Google
1773
1812
  raise ::Google::Cloud::Error.from_error(e)
1774
1813
  end
1775
1814
 
1815
+ ##
1816
+ # Gets the public component of the cluster signing keys in
1817
+ # JSON Web Key format.
1818
+ # This API is not yet intended for general use, and is not available for all
1819
+ # clusters.
1820
+ #
1821
+ # @overload get_json_web_keys(request, options = nil)
1822
+ # Pass arguments to `get_json_web_keys` via a request object, either of type
1823
+ # {::Google::Cloud::Container::V1beta1::GetJSONWebKeysRequest} or an equivalent Hash.
1824
+ #
1825
+ # @param request [::Google::Cloud::Container::V1beta1::GetJSONWebKeysRequest, ::Hash]
1826
+ # A request object representing the call parameters. Required. To specify no
1827
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1828
+ # @param options [::Gapic::CallOptions, ::Hash]
1829
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1830
+ #
1831
+ # @overload get_json_web_keys(parent: nil)
1832
+ # Pass arguments to `get_json_web_keys` via keyword arguments. Note that at
1833
+ # least one keyword argument is required. To specify no parameters, or to keep all
1834
+ # the default parameter values, pass an empty Hash as a request object (see above).
1835
+ #
1836
+ # @param parent [::String]
1837
+ # The cluster (project, location, cluster id) to get keys for. Specified in
1838
+ # the format `projects/*/locations/*/clusters/*`.
1839
+ #
1840
+ # @yield [response, operation] Access the result along with the RPC operation
1841
+ # @yieldparam response [::Google::Cloud::Container::V1beta1::GetJSONWebKeysResponse]
1842
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1843
+ #
1844
+ # @return [::Google::Cloud::Container::V1beta1::GetJSONWebKeysResponse]
1845
+ #
1846
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1847
+ #
1848
+ def get_json_web_keys request, options = nil
1849
+ raise ::ArgumentError, "request must be provided" if request.nil?
1850
+
1851
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1beta1::GetJSONWebKeysRequest
1852
+
1853
+ # Converts hash and nil to an options object
1854
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1855
+
1856
+ # Customize the options with defaults
1857
+ metadata = @config.rpcs.get_json_web_keys.metadata.to_h
1858
+
1859
+ # Set x-goog-api-client and x-goog-user-project headers
1860
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1861
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1862
+ gapic_version: ::Google::Cloud::Container::V1beta1::VERSION
1863
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1864
+
1865
+ header_params = {
1866
+ "parent" => request.parent
1867
+ }
1868
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1869
+ metadata[:"x-goog-request-params"] ||= request_params_header
1870
+
1871
+ options.apply_defaults timeout: @config.rpcs.get_json_web_keys.timeout,
1872
+ metadata: metadata,
1873
+ retry_policy: @config.rpcs.get_json_web_keys.retry_policy
1874
+ options.apply_defaults metadata: @config.metadata,
1875
+ retry_policy: @config.retry_policy
1876
+
1877
+ @cluster_manager_stub.call_rpc :get_json_web_keys, request, options: options do |response, operation|
1878
+ yield response, operation if block_given?
1879
+ return response
1880
+ end
1881
+ rescue ::GRPC::BadStatus => e
1882
+ raise ::Google::Cloud::Error.from_error(e)
1883
+ end
1884
+
1776
1885
  ##
1777
1886
  # Retrieves the requested node pool.
1778
1887
  #
@@ -1797,9 +1906,9 @@ module Google
1797
1906
  # This field has been deprecated and replaced by the name field.
1798
1907
  # @param zone [::String]
1799
1908
  # Required. Deprecated. The name of the Google Compute Engine
1800
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1801
- # resides.
1802
- # This field has been deprecated and replaced by the name field.
1909
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1910
+ # cluster resides. This field has been deprecated and replaced by the name
1911
+ # field.
1803
1912
  # @param cluster_id [::String]
1804
1913
  # Required. Deprecated. The name of the cluster.
1805
1914
  # This field has been deprecated and replaced by the name field.
@@ -1880,9 +1989,9 @@ module Google
1880
1989
  # This field has been deprecated and replaced by the parent field.
1881
1990
  # @param zone [::String]
1882
1991
  # Required. Deprecated. The name of the Google Compute Engine
1883
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1884
- # resides.
1885
- # This field has been deprecated and replaced by the parent field.
1992
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1993
+ # cluster resides. This field has been deprecated and replaced by the parent
1994
+ # field.
1886
1995
  # @param cluster_id [::String]
1887
1996
  # Required. Deprecated. The name of the cluster.
1888
1997
  # This field has been deprecated and replaced by the parent field.
@@ -1962,9 +2071,9 @@ module Google
1962
2071
  # This field has been deprecated and replaced by the name field.
1963
2072
  # @param zone [::String]
1964
2073
  # Required. Deprecated. The name of the Google Compute Engine
1965
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1966
- # resides.
1967
- # This field has been deprecated and replaced by the name field.
2074
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2075
+ # cluster resides. This field has been deprecated and replaced by the name
2076
+ # field.
1968
2077
  # @param cluster_id [::String]
1969
2078
  # Required. Deprecated. The name of the cluster.
1970
2079
  # This field has been deprecated and replaced by the name field.
@@ -2046,9 +2155,9 @@ module Google
2046
2155
  # This field has been deprecated and replaced by the name field.
2047
2156
  # @param zone [::String]
2048
2157
  # Required. Deprecated. The name of the Google Compute Engine
2049
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2050
- # resides.
2051
- # This field has been deprecated and replaced by the name field.
2158
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2159
+ # cluster resides. This field has been deprecated and replaced by the name
2160
+ # field.
2052
2161
  # @param cluster_id [::String]
2053
2162
  # Required. Deprecated. The name of the cluster to rollback.
2054
2163
  # This field has been deprecated and replaced by the name field.
@@ -2129,9 +2238,9 @@ module Google
2129
2238
  # This field has been deprecated and replaced by the name field.
2130
2239
  # @param zone [::String]
2131
2240
  # Required. Deprecated. The name of the Google Compute Engine
2132
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2133
- # resides.
2134
- # This field has been deprecated and replaced by the name field.
2241
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2242
+ # cluster resides. This field has been deprecated and replaced by the name
2243
+ # field.
2135
2244
  # @param cluster_id [::String]
2136
2245
  # Required. Deprecated. The name of the cluster to update.
2137
2246
  # This field has been deprecated and replaced by the name field.
@@ -2214,9 +2323,9 @@ module Google
2214
2323
  # This field has been deprecated and replaced by the name field.
2215
2324
  # @param zone [::String]
2216
2325
  # Required. Deprecated. The name of the Google Compute Engine
2217
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2218
- # resides.
2219
- # This field has been deprecated and replaced by the name field.
2326
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2327
+ # cluster resides. This field has been deprecated and replaced by the name
2328
+ # field.
2220
2329
  # @param cluster_id [::String]
2221
2330
  # Required. Deprecated. The name of the cluster.
2222
2331
  # This field has been deprecated and replaced by the name field.
@@ -2227,7 +2336,7 @@ module Google
2227
2336
  # used to detect conflicts. The fingerprint is initially generated by
2228
2337
  # Kubernetes Engine and changes after every request to modify or update
2229
2338
  # labels. You must always provide an up-to-date fingerprint hash when
2230
- # updating or changing labels. Make a <code>get()</code> request to the
2339
+ # updating or changing labels. Make a `get()` request to the
2231
2340
  # resource to get the latest fingerprint.
2232
2341
  # @param name [::String]
2233
2342
  # The name (project, location, cluster id) of the cluster to set labels.
@@ -2302,9 +2411,9 @@ module Google
2302
2411
  # This field has been deprecated and replaced by the name field.
2303
2412
  # @param zone [::String]
2304
2413
  # Required. Deprecated. The name of the Google Compute Engine
2305
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2306
- # resides.
2307
- # This field has been deprecated and replaced by the name field.
2414
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2415
+ # cluster resides. This field has been deprecated and replaced by the name
2416
+ # field.
2308
2417
  # @param cluster_id [::String]
2309
2418
  # Required. Deprecated. The name of the cluster to update.
2310
2419
  # This field has been deprecated and replaced by the name field.
@@ -2383,9 +2492,9 @@ module Google
2383
2492
  # This field has been deprecated and replaced by the name field.
2384
2493
  # @param zone [::String]
2385
2494
  # Required. Deprecated. The name of the Google Compute Engine
2386
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2387
- # resides.
2388
- # This field has been deprecated and replaced by the name field.
2495
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2496
+ # cluster resides. This field has been deprecated and replaced by the name
2497
+ # field.
2389
2498
  # @param cluster_id [::String]
2390
2499
  # Required. Deprecated. The name of the cluster.
2391
2500
  # This field has been deprecated and replaced by the name field.
@@ -2464,9 +2573,9 @@ module Google
2464
2573
  # This field has been deprecated and replaced by the name field.
2465
2574
  # @param zone [::String]
2466
2575
  # Required. Deprecated. The name of the Google Compute Engine
2467
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2468
- # resides.
2469
- # This field has been deprecated and replaced by the name field.
2576
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2577
+ # cluster resides. This field has been deprecated and replaced by the name
2578
+ # field.
2470
2579
  # @param cluster_id [::String]
2471
2580
  # Required. Deprecated. The name of the cluster.
2472
2581
  # This field has been deprecated and replaced by the name field.
@@ -2543,9 +2652,9 @@ module Google
2543
2652
  # This field has been deprecated and replaced by the name field.
2544
2653
  # @param zone [::String]
2545
2654
  # Required. Deprecated. The name of the Google Compute Engine
2546
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2547
- # resides.
2548
- # This field has been deprecated and replaced by the name field.
2655
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2656
+ # cluster resides. This field has been deprecated and replaced by the name
2657
+ # field.
2549
2658
  # @param cluster_id [::String]
2550
2659
  # Required. Deprecated. The name of the cluster to update.
2551
2660
  # This field has been deprecated and replaced by the name field.
@@ -2628,9 +2737,9 @@ module Google
2628
2737
  # This field has been deprecated and replaced by the name field.
2629
2738
  # @param zone [::String]
2630
2739
  # Required. Deprecated. The name of the Google Compute Engine
2631
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2632
- # resides.
2633
- # This field has been deprecated and replaced by the name field.
2740
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2741
+ # cluster resides. This field has been deprecated and replaced by the name
2742
+ # field.
2634
2743
  # @param cluster_id [::String]
2635
2744
  # Required. Deprecated. The name of the cluster.
2636
2745
  # This field has been deprecated and replaced by the name field.
@@ -2708,8 +2817,8 @@ module Google
2708
2817
  # number](https://support.google.com/cloud/answer/6158840).
2709
2818
  # @param zone [::String]
2710
2819
  # Required. The name of the Google Compute Engine
2711
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2712
- # resides.
2820
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2821
+ # cluster resides.
2713
2822
  # @param cluster_id [::String]
2714
2823
  # Required. The name of the cluster to update.
2715
2824
  # @param maintenance_policy [::Google::Cloud::Container::V1beta1::MaintenancePolicy, ::Hash]
@@ -2998,7 +3107,7 @@ module Google
2998
3107
 
2999
3108
  config_attr :endpoint, "container.googleapis.com", ::String
3000
3109
  config_attr :credentials, nil do |value|
3001
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
3110
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
3002
3111
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
3003
3112
  allowed.any? { |klass| klass === value }
3004
3113
  end
@@ -3038,7 +3147,7 @@ module Google
3038
3147
  # Each configuration object is of type `Gapic::Config::Method` and includes
3039
3148
  # the following configuration fields:
3040
3149
  #
3041
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
3150
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
3042
3151
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
3043
3152
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
3044
3153
  # include the following keys:
@@ -3140,6 +3249,11 @@ module Google
3140
3249
  #
3141
3250
  attr_reader :list_node_pools
3142
3251
  ##
3252
+ # RPC-specific configuration for `get_json_web_keys`
3253
+ # @return [::Gapic::Config::Method]
3254
+ #
3255
+ attr_reader :get_json_web_keys
3256
+ ##
3143
3257
  # RPC-specific configuration for `get_node_pool`
3144
3258
  # @return [::Gapic::Config::Method]
3145
3259
  #
@@ -3248,6 +3362,8 @@ module Google
3248
3362
  @get_server_config = ::Gapic::Config::Method.new get_server_config_config
3249
3363
  list_node_pools_config = parent_rpcs&.list_node_pools if parent_rpcs&.respond_to? :list_node_pools
3250
3364
  @list_node_pools = ::Gapic::Config::Method.new list_node_pools_config
3365
+ get_json_web_keys_config = parent_rpcs&.get_json_web_keys if parent_rpcs&.respond_to? :get_json_web_keys
3366
+ @get_json_web_keys = ::Gapic::Config::Method.new get_json_web_keys_config
3251
3367
  get_node_pool_config = parent_rpcs&.get_node_pool if parent_rpcs&.respond_to? :get_node_pool
3252
3368
  @get_node_pool = ::Gapic::Config::Method.new get_node_pool_config
3253
3369
  create_node_pool_config = parent_rpcs&.create_node_pool if parent_rpcs&.respond_to? :create_node_pool