google-cloud-container-v1 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: 1e87bc90cbb050e9698ecc8e09d0204e0f032eac0fc4c273ab8952068d344dc3
4
- data.tar.gz: 7c99151ea60e1f1000d59034ba8de849def7f603c6b7d5266548872ac57a8581
3
+ metadata.gz: 7f4f8b94dd8f80d552a65a635d6fd81610e277832b8a394789502d5b7924f91e
4
+ data.tar.gz: f5fd834067554b714721fce1651a1074e862ac9295a8a247be539430e0a955bf
5
5
  SHA512:
6
- metadata.gz: 32eed4da1f7313a6f688ce0713a5ab8b2c1dcc689ef34fd9b1351e9366eb7ec206e873da3ecfc328bf49f8b84235435a5708f56642c0f3db15199e18fb9c2cbd
7
- data.tar.gz: cdeb1d64b142342560c84ce35282e3d421aee13082e52091f3a48ae6d110b78861bf2a33dc701fb5952cc46ebdf2084bf97c7980a1d7a053c808f96c092d58c3
6
+ metadata.gz: 981b79482f8ef14314bb3481a2faee6af5a48e4b7f3c3a8b65bdb71f70efd974e9d62dc6f1210485a3b317bb81bc8be77ee22a22ef3b39dd3ebceddd366e1476
7
+ data.tar.gz: 56d6afd267a0d30b8dc5206b35619d6983c20d6aada07c2f93782f802c950ef277d58a5ef562084352a746fcade7cd7d3d6cdea2d2fce101b8e91efb64292398
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 V1 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-v1`.
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-v1`.
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__, "v1", "_helpers.rb"
38
+ require "google/cloud/container/v1/_helpers" if ::File.file? helper_path
@@ -68,7 +68,7 @@ module Google
68
68
  initial_delay: 0.1,
69
69
  max_delay: 60.0,
70
70
  multiplier: 1.3,
71
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
71
+ retry_codes: [14, 4]
72
72
  }
73
73
 
74
74
  default_config.rpcs.get_cluster.timeout = 20.0
@@ -76,7 +76,7 @@ module Google
76
76
  initial_delay: 0.1,
77
77
  max_delay: 60.0,
78
78
  multiplier: 1.3,
79
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
79
+ retry_codes: [14, 4]
80
80
  }
81
81
 
82
82
  default_config.rpcs.create_cluster.timeout = 45.0
@@ -104,7 +104,7 @@ module Google
104
104
  initial_delay: 0.1,
105
105
  max_delay: 60.0,
106
106
  multiplier: 1.3,
107
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
107
+ retry_codes: [14, 4]
108
108
  }
109
109
 
110
110
  default_config.rpcs.list_operations.timeout = 20.0
@@ -112,7 +112,7 @@ module Google
112
112
  initial_delay: 0.1,
113
113
  max_delay: 60.0,
114
114
  multiplier: 1.3,
115
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
115
+ retry_codes: [14, 4]
116
116
  }
117
117
 
118
118
  default_config.rpcs.get_operation.timeout = 20.0
@@ -120,7 +120,7 @@ module Google
120
120
  initial_delay: 0.1,
121
121
  max_delay: 60.0,
122
122
  multiplier: 1.3,
123
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
123
+ retry_codes: [14, 4]
124
124
  }
125
125
 
126
126
  default_config.rpcs.cancel_operation.timeout = 45.0
@@ -130,7 +130,7 @@ module Google
130
130
  initial_delay: 0.1,
131
131
  max_delay: 60.0,
132
132
  multiplier: 1.3,
133
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
133
+ retry_codes: [14, 4]
134
134
  }
135
135
 
136
136
  default_config.rpcs.list_node_pools.timeout = 20.0
@@ -138,7 +138,7 @@ module Google
138
138
  initial_delay: 0.1,
139
139
  max_delay: 60.0,
140
140
  multiplier: 1.3,
141
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
141
+ retry_codes: [14, 4]
142
142
  }
143
143
 
144
144
  default_config.rpcs.get_node_pool.timeout = 20.0
@@ -146,7 +146,7 @@ module Google
146
146
  initial_delay: 0.1,
147
147
  max_delay: 60.0,
148
148
  multiplier: 1.3,
149
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
149
+ retry_codes: [14, 4]
150
150
  }
151
151
 
152
152
  default_config.rpcs.create_node_pool.timeout = 45.0
@@ -156,7 +156,7 @@ module Google
156
156
  initial_delay: 0.1,
157
157
  max_delay: 60.0,
158
158
  multiplier: 1.3,
159
- retry_codes: ["UNAVAILABLE", "DEADLINE_EXCEEDED"]
159
+ retry_codes: [14, 4]
160
160
  }
161
161
 
162
162
  default_config.rpcs.rollback_node_pool_upgrade.timeout = 45.0
@@ -238,7 +238,13 @@ module Google
238
238
 
239
239
  # Create credentials
240
240
  credentials = @config.credentials
241
- credentials ||= Credentials.default scope: @config.scope
241
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
242
+ # but only if the default endpoint does not have a region prefix.
243
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
244
+ @config.endpoint == Client.configure.endpoint &&
245
+ !@config.endpoint.split(".").first.include?("-")
246
+ credentials ||= Credentials.default scope: @config.scope,
247
+ enable_self_signed_jwt: enable_self_signed_jwt
242
248
  if credentials.is_a?(String) || credentials.is_a?(Hash)
243
249
  credentials = Credentials.new credentials, scope: @config.scope
244
250
  end
@@ -281,9 +287,9 @@ module Google
281
287
  # This field has been deprecated and replaced by the parent field.
282
288
  # @param zone [::String]
283
289
  # Deprecated. The name of the Google Compute Engine
284
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
285
- # resides, or "-" for all zones.
286
- # This field has been deprecated and replaced by the parent field.
290
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
291
+ # cluster resides, or "-" for all zones. This field has been deprecated and
292
+ # replaced by the parent field.
287
293
  # @param parent [::String]
288
294
  # The parent (project and location) where the clusters will be listed.
289
295
  # Specified in the format `projects/*/locations/*`.
@@ -358,9 +364,9 @@ module Google
358
364
  # This field has been deprecated and replaced by the name field.
359
365
  # @param zone [::String]
360
366
  # Deprecated. The name of the Google Compute Engine
361
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
362
- # resides.
363
- # This field has been deprecated and replaced by the name field.
367
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
368
+ # cluster resides. This field has been deprecated and replaced by the name
369
+ # field.
364
370
  # @param cluster_id [::String]
365
371
  # Deprecated. The name of the cluster to retrieve.
366
372
  # This field has been deprecated and replaced by the name field.
@@ -418,7 +424,8 @@ module Google
418
424
  # Compute Engine instances.
419
425
  #
420
426
  # By default, the cluster is created in the project's
421
- # [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
427
+ # [default
428
+ # network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
422
429
  #
423
430
  # One firewall is added for the cluster. After cluster creation,
424
431
  # the Kubelet creates routes for each node to allow the containers
@@ -449,12 +456,12 @@ module Google
449
456
  # This field has been deprecated and replaced by the parent field.
450
457
  # @param zone [::String]
451
458
  # Deprecated. The name of the Google Compute Engine
452
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
453
- # resides.
454
- # This field has been deprecated and replaced by the parent field.
459
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
460
+ # cluster resides. This field has been deprecated and replaced by the parent
461
+ # field.
455
462
  # @param cluster [::Google::Cloud::Container::V1::Cluster, ::Hash]
456
463
  # Required. A [cluster
457
- # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters)
464
+ # resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)
458
465
  # @param parent [::String]
459
466
  # The parent (project and location) where the cluster will be created.
460
467
  # Specified in the format `projects/*/locations/*`.
@@ -528,9 +535,9 @@ module Google
528
535
  # This field has been deprecated and replaced by the name field.
529
536
  # @param zone [::String]
530
537
  # Deprecated. The name of the Google Compute Engine
531
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
532
- # resides.
533
- # This field has been deprecated and replaced by the name field.
538
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
539
+ # cluster resides. This field has been deprecated and replaced by the name
540
+ # field.
534
541
  # @param cluster_id [::String]
535
542
  # Deprecated. The name of the cluster to upgrade.
536
543
  # This field has been deprecated and replaced by the name field.
@@ -598,7 +605,7 @@ module Google
598
605
  # @param options [::Gapic::CallOptions, ::Hash]
599
606
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
600
607
  #
601
- # @overload update_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, node_version: nil, image_type: nil, name: nil)
608
+ # @overload update_node_pool(project_id: nil, zone: nil, cluster_id: nil, node_pool_id: nil, node_version: nil, image_type: nil, name: nil, locations: nil, workload_metadata_config: nil, upgrade_settings: nil)
602
609
  # Pass arguments to `update_node_pool` via keyword arguments. Note that at
603
610
  # least one keyword argument is required. To specify no parameters, or to keep all
604
611
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -609,9 +616,9 @@ module Google
609
616
  # This field has been deprecated and replaced by the name field.
610
617
  # @param zone [::String]
611
618
  # Deprecated. The name of the Google Compute Engine
612
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
613
- # resides.
614
- # This field has been deprecated and replaced by the name field.
619
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
620
+ # cluster resides. This field has been deprecated and replaced by the name
621
+ # field.
615
622
  # @param cluster_id [::String]
616
623
  # Deprecated. The name of the cluster to upgrade.
617
624
  # This field has been deprecated and replaced by the name field.
@@ -636,6 +643,16 @@ module Google
636
643
  # The name (project, location, cluster, node pool) of the node pool to
637
644
  # update. Specified in the format
638
645
  # `projects/*/locations/*/clusters/*/nodePools/*`.
646
+ # @param locations [::Array<::String>]
647
+ # The desired list of Google Compute Engine
648
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
649
+ # node pool's nodes should be located. Changing the locations for a node pool
650
+ # will result in nodes being either created or removed from the node pool,
651
+ # depending on whether locations are being added or removed.
652
+ # @param workload_metadata_config [::Google::Cloud::Container::V1::WorkloadMetadataConfig, ::Hash]
653
+ # The desired workload metadata config for the node pool.
654
+ # @param upgrade_settings [::Google::Cloud::Container::V1::NodePool::UpgradeSettings, ::Hash]
655
+ # Upgrade settings control disruption and speed of the upgrade.
639
656
  #
640
657
  # @yield [response, operation] Access the result along with the RPC operation
641
658
  # @yieldparam response [::Google::Cloud::Container::V1::Operation]
@@ -706,9 +723,9 @@ module Google
706
723
  # This field has been deprecated and replaced by the name field.
707
724
  # @param zone [::String]
708
725
  # Deprecated. The name of the Google Compute Engine
709
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
710
- # resides.
711
- # This field has been deprecated and replaced by the name field.
726
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
727
+ # cluster resides. This field has been deprecated and replaced by the name
728
+ # field.
712
729
  # @param cluster_id [::String]
713
730
  # Deprecated. The name of the cluster to upgrade.
714
731
  # This field has been deprecated and replaced by the name field.
@@ -791,18 +808,24 @@ module Google
791
808
  # This field has been deprecated and replaced by the name field.
792
809
  # @param zone [::String]
793
810
  # Deprecated. The name of the Google Compute Engine
794
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
795
- # resides.
796
- # This field has been deprecated and replaced by the name field.
811
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
812
+ # cluster resides. This field has been deprecated and replaced by the name
813
+ # field.
797
814
  # @param cluster_id [::String]
798
815
  # Deprecated. The name of the cluster to upgrade.
799
816
  # This field has been deprecated and replaced by the name field.
800
817
  # @param logging_service [::String]
801
- # Required. The logging service the cluster should use to write metrics.
818
+ # Required. The logging service the cluster should use to write logs.
802
819
  # Currently available options:
803
820
  #
804
- # * "logging.googleapis.com" - the Google Cloud Logging service
805
- # * "none" - no metrics will be exported from the cluster
821
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
822
+ # service with a Kubernetes-native resource model
823
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
824
+ # available as of GKE 1.15).
825
+ # * `none` - no logs will be exported from the cluster.
826
+ #
827
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
828
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
806
829
  # @param name [::String]
807
830
  # The name (project, location, cluster) of the cluster to set logging.
808
831
  # Specified in the format `projects/*/locations/*/clusters/*`.
@@ -876,9 +899,9 @@ module Google
876
899
  # This field has been deprecated and replaced by the name field.
877
900
  # @param zone [::String]
878
901
  # Deprecated. The name of the Google Compute Engine
879
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
880
- # resides.
881
- # This field has been deprecated and replaced by the name field.
902
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
903
+ # cluster resides. This field has been deprecated and replaced by the name
904
+ # field.
882
905
  # @param cluster_id [::String]
883
906
  # Deprecated. The name of the cluster to upgrade.
884
907
  # This field has been deprecated and replaced by the name field.
@@ -886,10 +909,14 @@ module Google
886
909
  # Required. The monitoring service the cluster should use to write metrics.
887
910
  # Currently available options:
888
911
  #
889
- # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
890
- # service with Kubernetes-native resource model
891
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
892
- # * "none" - no metrics will be exported from the cluster
912
+ # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
913
+ # service with a Kubernetes-native resource model
914
+ # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
915
+ # longer available as of GKE 1.15).
916
+ # * `none` - No metrics will be exported from the cluster.
917
+ #
918
+ # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
919
+ # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
893
920
  # @param name [::String]
894
921
  # The name (project, location, cluster) of the cluster to set monitoring.
895
922
  # Specified in the format `projects/*/locations/*/clusters/*`.
@@ -963,9 +990,9 @@ module Google
963
990
  # This field has been deprecated and replaced by the name field.
964
991
  # @param zone [::String]
965
992
  # Deprecated. The name of the Google Compute Engine
966
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
967
- # resides.
968
- # This field has been deprecated and replaced by the name field.
993
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
994
+ # cluster resides. This field has been deprecated and replaced by the name
995
+ # field.
969
996
  # @param cluster_id [::String]
970
997
  # Deprecated. The name of the cluster to upgrade.
971
998
  # This field has been deprecated and replaced by the name field.
@@ -1023,6 +1050,9 @@ module Google
1023
1050
 
1024
1051
  ##
1025
1052
  # Sets the locations for a specific cluster.
1053
+ # Deprecated. Use
1054
+ # [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)
1055
+ # instead.
1026
1056
  #
1027
1057
  # @overload set_locations(request, options = nil)
1028
1058
  # Pass arguments to `set_locations` via a request object, either of type
@@ -1045,18 +1075,18 @@ module Google
1045
1075
  # This field has been deprecated and replaced by the name field.
1046
1076
  # @param zone [::String]
1047
1077
  # Deprecated. The name of the Google Compute Engine
1048
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1049
- # resides.
1050
- # This field has been deprecated and replaced by the name field.
1078
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1079
+ # cluster resides. This field has been deprecated and replaced by the name
1080
+ # field.
1051
1081
  # @param cluster_id [::String]
1052
1082
  # Deprecated. The name of the cluster to upgrade.
1053
1083
  # This field has been deprecated and replaced by the name field.
1054
1084
  # @param locations [::Array<::String>]
1055
1085
  # Required. The desired list of Google Compute Engine
1056
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
1057
- # should be located. Changing the locations a cluster is in will result
1058
- # in nodes being either created or removed from the cluster, depending on
1059
- # whether locations are being added or removed.
1086
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1087
+ # cluster's nodes should be located. Changing the locations a cluster is in
1088
+ # will result in nodes being either created or removed from the cluster,
1089
+ # depending on whether locations are being added or removed.
1060
1090
  #
1061
1091
  # This list must always include the cluster's primary zone.
1062
1092
  # @param name [::String]
@@ -1132,9 +1162,9 @@ module Google
1132
1162
  # This field has been deprecated and replaced by the name field.
1133
1163
  # @param zone [::String]
1134
1164
  # Deprecated. The name of the Google Compute Engine
1135
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1136
- # resides.
1137
- # This field has been deprecated and replaced by the name field.
1165
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1166
+ # cluster resides. This field has been deprecated and replaced by the name
1167
+ # field.
1138
1168
  # @param cluster_id [::String]
1139
1169
  # Deprecated. The name of the cluster to upgrade.
1140
1170
  # This field has been deprecated and replaced by the name field.
@@ -1224,9 +1254,9 @@ module Google
1224
1254
  # This field has been deprecated and replaced by the name field.
1225
1255
  # @param zone [::String]
1226
1256
  # Deprecated. The name of the Google Compute Engine
1227
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1228
- # resides.
1229
- # This field has been deprecated and replaced by the name field.
1257
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1258
+ # cluster resides. This field has been deprecated and replaced by the name
1259
+ # field.
1230
1260
  # @param cluster_id [::String]
1231
1261
  # Deprecated. The name of the cluster to upgrade.
1232
1262
  # This field has been deprecated and replaced by the name field.
@@ -1315,9 +1345,9 @@ module Google
1315
1345
  # This field has been deprecated and replaced by the name field.
1316
1346
  # @param zone [::String]
1317
1347
  # Deprecated. The name of the Google Compute Engine
1318
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1319
- # resides.
1320
- # This field has been deprecated and replaced by the name field.
1348
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1349
+ # cluster resides. This field has been deprecated and replaced by the name
1350
+ # field.
1321
1351
  # @param cluster_id [::String]
1322
1352
  # Deprecated. The name of the cluster to delete.
1323
1353
  # This field has been deprecated and replaced by the name field.
@@ -1394,8 +1424,9 @@ module Google
1394
1424
  # This field has been deprecated and replaced by the parent field.
1395
1425
  # @param zone [::String]
1396
1426
  # Deprecated. The name of the Google Compute Engine
1397
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for
1398
- # all zones. This field has been deprecated and replaced by the parent field.
1427
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
1428
+ # operations for, or `-` for all zones. This field has been deprecated and
1429
+ # replaced by the parent field.
1399
1430
  # @param parent [::String]
1400
1431
  # The parent (project and location) where the operations will be listed.
1401
1432
  # Specified in the format `projects/*/locations/*`.
@@ -1470,9 +1501,9 @@ module Google
1470
1501
  # This field has been deprecated and replaced by the name field.
1471
1502
  # @param zone [::String]
1472
1503
  # Deprecated. The name of the Google Compute Engine
1473
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1474
- # resides.
1475
- # This field has been deprecated and replaced by the name field.
1504
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1505
+ # cluster resides. This field has been deprecated and replaced by the name
1506
+ # field.
1476
1507
  # @param operation_id [::String]
1477
1508
  # Deprecated. The server-assigned `name` of the operation.
1478
1509
  # This field has been deprecated and replaced by the name field.
@@ -1549,8 +1580,9 @@ module Google
1549
1580
  # This field has been deprecated and replaced by the name field.
1550
1581
  # @param zone [::String]
1551
1582
  # Deprecated. The name of the Google Compute Engine
1552
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides.
1553
- # This field has been deprecated and replaced by the name field.
1583
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1584
+ # operation resides. This field has been deprecated and replaced by the name
1585
+ # field.
1554
1586
  # @param operation_id [::String]
1555
1587
  # Deprecated. The server-assigned `name` of the operation.
1556
1588
  # This field has been deprecated and replaced by the name field.
@@ -1627,8 +1659,9 @@ module Google
1627
1659
  # This field has been deprecated and replaced by the name field.
1628
1660
  # @param zone [::String]
1629
1661
  # Deprecated. The name of the Google Compute Engine
1630
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for.
1631
- # This field has been deprecated and replaced by the name field.
1662
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
1663
+ # operations for. This field has been deprecated and replaced by the name
1664
+ # field.
1632
1665
  # @param name [::String]
1633
1666
  # The name (project and location) of the server config to get,
1634
1667
  # specified in the format `projects/*/locations/*`.
@@ -1678,6 +1711,76 @@ module Google
1678
1711
  raise ::Google::Cloud::Error.from_error(e)
1679
1712
  end
1680
1713
 
1714
+ ##
1715
+ # Gets the public component of the cluster signing keys in
1716
+ # JSON Web Key format.
1717
+ # This API is not yet intended for general use, and is not available for all
1718
+ # clusters.
1719
+ #
1720
+ # @overload get_json_web_keys(request, options = nil)
1721
+ # Pass arguments to `get_json_web_keys` via a request object, either of type
1722
+ # {::Google::Cloud::Container::V1::GetJSONWebKeysRequest} or an equivalent Hash.
1723
+ #
1724
+ # @param request [::Google::Cloud::Container::V1::GetJSONWebKeysRequest, ::Hash]
1725
+ # A request object representing the call parameters. Required. To specify no
1726
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1727
+ # @param options [::Gapic::CallOptions, ::Hash]
1728
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1729
+ #
1730
+ # @overload get_json_web_keys(parent: nil)
1731
+ # Pass arguments to `get_json_web_keys` via keyword arguments. Note that at
1732
+ # least one keyword argument is required. To specify no parameters, or to keep all
1733
+ # the default parameter values, pass an empty Hash as a request object (see above).
1734
+ #
1735
+ # @param parent [::String]
1736
+ # The cluster (project, location, cluster id) to get keys for. Specified in
1737
+ # the format `projects/*/locations/*/clusters/*`.
1738
+ #
1739
+ # @yield [response, operation] Access the result along with the RPC operation
1740
+ # @yieldparam response [::Google::Cloud::Container::V1::GetJSONWebKeysResponse]
1741
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1742
+ #
1743
+ # @return [::Google::Cloud::Container::V1::GetJSONWebKeysResponse]
1744
+ #
1745
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1746
+ #
1747
+ def get_json_web_keys request, options = nil
1748
+ raise ::ArgumentError, "request must be provided" if request.nil?
1749
+
1750
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Container::V1::GetJSONWebKeysRequest
1751
+
1752
+ # Converts hash and nil to an options object
1753
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1754
+
1755
+ # Customize the options with defaults
1756
+ metadata = @config.rpcs.get_json_web_keys.metadata.to_h
1757
+
1758
+ # Set x-goog-api-client and x-goog-user-project headers
1759
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1760
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1761
+ gapic_version: ::Google::Cloud::Container::V1::VERSION
1762
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1763
+
1764
+ header_params = {
1765
+ "parent" => request.parent
1766
+ }
1767
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1768
+ metadata[:"x-goog-request-params"] ||= request_params_header
1769
+
1770
+ options.apply_defaults timeout: @config.rpcs.get_json_web_keys.timeout,
1771
+ metadata: metadata,
1772
+ retry_policy: @config.rpcs.get_json_web_keys.retry_policy
1773
+ options.apply_defaults metadata: @config.metadata,
1774
+ retry_policy: @config.retry_policy
1775
+
1776
+ @cluster_manager_stub.call_rpc :get_json_web_keys, request, options: options do |response, operation|
1777
+ yield response, operation if block_given?
1778
+ return response
1779
+ end
1780
+ rescue ::GRPC::BadStatus => e
1781
+ raise ::Google::Cloud::Error.from_error(e)
1782
+ end
1783
+
1681
1784
  ##
1682
1785
  # Lists the node pools for a cluster.
1683
1786
  #
@@ -1702,9 +1805,9 @@ module Google
1702
1805
  # This field has been deprecated and replaced by the parent field.
1703
1806
  # @param zone [::String]
1704
1807
  # Deprecated. The name of the Google Compute Engine
1705
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1706
- # resides.
1707
- # This field has been deprecated and replaced by the parent field.
1808
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1809
+ # cluster resides. This field has been deprecated and replaced by the parent
1810
+ # field.
1708
1811
  # @param cluster_id [::String]
1709
1812
  # Deprecated. The name of the cluster.
1710
1813
  # This field has been deprecated and replaced by the parent field.
@@ -1781,9 +1884,9 @@ module Google
1781
1884
  # This field has been deprecated and replaced by the name field.
1782
1885
  # @param zone [::String]
1783
1886
  # Deprecated. The name of the Google Compute Engine
1784
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1785
- # resides.
1786
- # This field has been deprecated and replaced by the name field.
1887
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1888
+ # cluster resides. This field has been deprecated and replaced by the name
1889
+ # field.
1787
1890
  # @param cluster_id [::String]
1788
1891
  # Deprecated. The name of the cluster.
1789
1892
  # This field has been deprecated and replaced by the name field.
@@ -1864,9 +1967,9 @@ module Google
1864
1967
  # This field has been deprecated and replaced by the parent field.
1865
1968
  # @param zone [::String]
1866
1969
  # Deprecated. The name of the Google Compute Engine
1867
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1868
- # resides.
1869
- # This field has been deprecated and replaced by the parent field.
1970
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1971
+ # cluster resides. This field has been deprecated and replaced by the parent
1972
+ # field.
1870
1973
  # @param cluster_id [::String]
1871
1974
  # Deprecated. The name of the cluster.
1872
1975
  # This field has been deprecated and replaced by the parent field.
@@ -1946,9 +2049,9 @@ module Google
1946
2049
  # This field has been deprecated and replaced by the name field.
1947
2050
  # @param zone [::String]
1948
2051
  # Deprecated. The name of the Google Compute Engine
1949
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1950
- # resides.
1951
- # This field has been deprecated and replaced by the name field.
2052
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2053
+ # cluster resides. This field has been deprecated and replaced by the name
2054
+ # field.
1952
2055
  # @param cluster_id [::String]
1953
2056
  # Deprecated. The name of the cluster.
1954
2057
  # This field has been deprecated and replaced by the name field.
@@ -2030,9 +2133,9 @@ module Google
2030
2133
  # This field has been deprecated and replaced by the name field.
2031
2134
  # @param zone [::String]
2032
2135
  # Deprecated. The name of the Google Compute Engine
2033
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2034
- # resides.
2035
- # This field has been deprecated and replaced by the name field.
2136
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2137
+ # cluster resides. This field has been deprecated and replaced by the name
2138
+ # field.
2036
2139
  # @param cluster_id [::String]
2037
2140
  # Deprecated. The name of the cluster to rollback.
2038
2141
  # This field has been deprecated and replaced by the name field.
@@ -2113,9 +2216,9 @@ module Google
2113
2216
  # This field has been deprecated and replaced by the name field.
2114
2217
  # @param zone [::String]
2115
2218
  # Deprecated. The name of the Google Compute Engine
2116
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2117
- # resides.
2118
- # This field has been deprecated and replaced by the name field.
2219
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2220
+ # cluster resides. This field has been deprecated and replaced by the name
2221
+ # field.
2119
2222
  # @param cluster_id [::String]
2120
2223
  # Deprecated. The name of the cluster to update.
2121
2224
  # This field has been deprecated and replaced by the name field.
@@ -2198,9 +2301,9 @@ module Google
2198
2301
  # This field has been deprecated and replaced by the name field.
2199
2302
  # @param zone [::String]
2200
2303
  # Deprecated. The name of the Google Compute Engine
2201
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2202
- # resides.
2203
- # This field has been deprecated and replaced by the name field.
2304
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2305
+ # cluster resides. This field has been deprecated and replaced by the name
2306
+ # field.
2204
2307
  # @param cluster_id [::String]
2205
2308
  # Deprecated. The name of the cluster.
2206
2309
  # This field has been deprecated and replaced by the name field.
@@ -2211,7 +2314,7 @@ module Google
2211
2314
  # used to detect conflicts. The fingerprint is initially generated by
2212
2315
  # Kubernetes Engine and changes after every request to modify or update
2213
2316
  # labels. You must always provide an up-to-date fingerprint hash when
2214
- # updating or changing labels. Make a <code>get()</code> request to the
2317
+ # updating or changing labels. Make a `get()` request to the
2215
2318
  # resource to get the latest fingerprint.
2216
2319
  # @param name [::String]
2217
2320
  # The name (project, location, cluster id) of the cluster to set labels.
@@ -2286,9 +2389,9 @@ module Google
2286
2389
  # This field has been deprecated and replaced by the name field.
2287
2390
  # @param zone [::String]
2288
2391
  # Deprecated. The name of the Google Compute Engine
2289
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2290
- # resides.
2291
- # This field has been deprecated and replaced by the name field.
2392
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2393
+ # cluster resides. This field has been deprecated and replaced by the name
2394
+ # field.
2292
2395
  # @param cluster_id [::String]
2293
2396
  # Deprecated. The name of the cluster to update.
2294
2397
  # This field has been deprecated and replaced by the name field.
@@ -2367,9 +2470,9 @@ module Google
2367
2470
  # This field has been deprecated and replaced by the name field.
2368
2471
  # @param zone [::String]
2369
2472
  # Deprecated. The name of the Google Compute Engine
2370
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2371
- # resides.
2372
- # This field has been deprecated and replaced by the name field.
2473
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2474
+ # cluster resides. This field has been deprecated and replaced by the name
2475
+ # field.
2373
2476
  # @param cluster_id [::String]
2374
2477
  # Deprecated. The name of the cluster.
2375
2478
  # This field has been deprecated and replaced by the name field.
@@ -2448,9 +2551,9 @@ module Google
2448
2551
  # This field has been deprecated and replaced by the name field.
2449
2552
  # @param zone [::String]
2450
2553
  # Deprecated. The name of the Google Compute Engine
2451
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2452
- # resides.
2453
- # This field has been deprecated and replaced by the name field.
2554
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2555
+ # cluster resides. This field has been deprecated and replaced by the name
2556
+ # field.
2454
2557
  # @param cluster_id [::String]
2455
2558
  # Deprecated. The name of the cluster.
2456
2559
  # This field has been deprecated and replaced by the name field.
@@ -2527,9 +2630,9 @@ module Google
2527
2630
  # This field has been deprecated and replaced by the name field.
2528
2631
  # @param zone [::String]
2529
2632
  # Deprecated. The name of the Google Compute Engine
2530
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2531
- # resides.
2532
- # This field has been deprecated and replaced by the name field.
2633
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2634
+ # cluster resides. This field has been deprecated and replaced by the name
2635
+ # field.
2533
2636
  # @param cluster_id [::String]
2534
2637
  # Deprecated. The name of the cluster to update.
2535
2638
  # This field has been deprecated and replaced by the name field.
@@ -2612,9 +2715,9 @@ module Google
2612
2715
  # This field has been deprecated and replaced by the name field.
2613
2716
  # @param zone [::String]
2614
2717
  # Deprecated. The name of the Google Compute Engine
2615
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2616
- # resides.
2617
- # This field has been deprecated and replaced by the name field.
2718
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2719
+ # cluster resides. This field has been deprecated and replaced by the name
2720
+ # field.
2618
2721
  # @param cluster_id [::String]
2619
2722
  # Deprecated. The name of the cluster.
2620
2723
  # This field has been deprecated and replaced by the name field.
@@ -2692,8 +2795,8 @@ module Google
2692
2795
  # number](https://support.google.com/cloud/answer/6158840).
2693
2796
  # @param zone [::String]
2694
2797
  # Required. The name of the Google Compute Engine
2695
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2696
- # resides.
2798
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2799
+ # cluster resides.
2697
2800
  # @param cluster_id [::String]
2698
2801
  # Required. The name of the cluster to update.
2699
2802
  # @param maintenance_policy [::Google::Cloud::Container::V1::MaintenancePolicy, ::Hash]
@@ -2915,7 +3018,7 @@ module Google
2915
3018
 
2916
3019
  config_attr :endpoint, "container.googleapis.com", ::String
2917
3020
  config_attr :credentials, nil do |value|
2918
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
3021
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
2919
3022
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
2920
3023
  allowed.any? { |klass| klass === value }
2921
3024
  end
@@ -2955,7 +3058,7 @@ module Google
2955
3058
  # Each configuration object is of type `Gapic::Config::Method` and includes
2956
3059
  # the following configuration fields:
2957
3060
  #
2958
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
3061
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
2959
3062
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
2960
3063
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
2961
3064
  # include the following keys:
@@ -3052,6 +3155,11 @@ module Google
3052
3155
  #
3053
3156
  attr_reader :get_server_config
3054
3157
  ##
3158
+ # RPC-specific configuration for `get_json_web_keys`
3159
+ # @return [::Gapic::Config::Method]
3160
+ #
3161
+ attr_reader :get_json_web_keys
3162
+ ##
3055
3163
  # RPC-specific configuration for `list_node_pools`
3056
3164
  # @return [::Gapic::Config::Method]
3057
3165
  #
@@ -3158,6 +3266,8 @@ module Google
3158
3266
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
3159
3267
  get_server_config_config = parent_rpcs&.get_server_config if parent_rpcs&.respond_to? :get_server_config
3160
3268
  @get_server_config = ::Gapic::Config::Method.new get_server_config_config
3269
+ get_json_web_keys_config = parent_rpcs&.get_json_web_keys if parent_rpcs&.respond_to? :get_json_web_keys
3270
+ @get_json_web_keys = ::Gapic::Config::Method.new get_json_web_keys_config
3161
3271
  list_node_pools_config = parent_rpcs&.list_node_pools if parent_rpcs&.respond_to? :list_node_pools
3162
3272
  @list_node_pools = ::Gapic::Config::Method.new list_node_pools_config
3163
3273
  get_node_pool_config = parent_rpcs&.get_node_pool if parent_rpcs&.respond_to? :get_node_pool