google-cloud-container-v1beta1 0.2.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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