google-apis-gkehub_v1alpha 0.10.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,38 @@ module Google
22
22
  module Apis
23
23
  module GkehubV1alpha
24
24
 
25
+ # Spec for App Dev Experience Feature.
26
+ class AppDevExperienceFeatureSpec
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # State for App Dev Exp Feature.
39
+ class AppDevExperienceFeatureState
40
+ include Google::Apis::Core::Hashable
41
+
42
+ # Status specifies state for the subcomponent.
43
+ # Corresponds to the JSON property `networkingInstallSucceeded`
44
+ # @return [Google::Apis::GkehubV1alpha::Status]
45
+ attr_accessor :networking_install_succeeded
46
+
47
+ def initialize(**args)
48
+ update!(**args)
49
+ end
50
+
51
+ # Update properties of this object
52
+ def update!(**args)
53
+ @networking_install_succeeded = args[:networking_install_succeeded] if args.key?(:networking_install_succeeded)
54
+ end
55
+ end
56
+
25
57
  # Specifies the audit configuration for a service. The configuration determines
26
58
  # which permission types are logged, and what identities, if any, are exempted
27
59
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -93,7 +125,61 @@ module Google
93
125
  end
94
126
  end
95
127
 
96
- # Associates `members` with a `role`.
128
+ # Authority encodes how Google will recognize identities from this Membership.
129
+ # See the workload identity documentation for more details: https://cloud.google.
130
+ # com/kubernetes-engine/docs/how-to/workload-identity
131
+ class Authority
132
+ include Google::Apis::Core::Hashable
133
+
134
+ # Output only. An identity provider that reflects the `issuer` in the workload
135
+ # identity pool.
136
+ # Corresponds to the JSON property `identityProvider`
137
+ # @return [String]
138
+ attr_accessor :identity_provider
139
+
140
+ # Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://
141
+ # ` and be a valid URL with length <2000 characters. If set, then Google will
142
+ # allow valid OIDC tokens from this issuer to authenticate within the
143
+ # workload_identity_pool. OIDC discovery will be performed on this URI to
144
+ # validate tokens from the issuer. Clearing `issuer` disables Workload Identity.
145
+ # `issuer` cannot be directly modified; it must be cleared (and Workload
146
+ # Identity disabled) before using a new issuer (and re-enabling Workload
147
+ # Identity).
148
+ # Corresponds to the JSON property `issuer`
149
+ # @return [String]
150
+ attr_accessor :issuer
151
+
152
+ # Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517).
153
+ # When this field is set, OIDC discovery will NOT be performed on `issuer`, and
154
+ # instead OIDC tokens will be validated using this field.
155
+ # Corresponds to the JSON property `oidcJwks`
156
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
157
+ # @return [String]
158
+ attr_accessor :oidc_jwks
159
+
160
+ # Output only. The name of the workload identity pool in which `issuer` will be
161
+ # recognized. There is a single Workload Identity Pool per Hub that is shared
162
+ # between all Memberships that belong to that Hub. For a Hub hosted in `
163
+ # PROJECT_ID`, the workload pool format is ``PROJECT_ID`.hub.id.goog`, although
164
+ # this is subject to change in newer versions of this API.
165
+ # Corresponds to the JSON property `workloadIdentityPool`
166
+ # @return [String]
167
+ attr_accessor :workload_identity_pool
168
+
169
+ def initialize(**args)
170
+ update!(**args)
171
+ end
172
+
173
+ # Update properties of this object
174
+ def update!(**args)
175
+ @identity_provider = args[:identity_provider] if args.key?(:identity_provider)
176
+ @issuer = args[:issuer] if args.key?(:issuer)
177
+ @oidc_jwks = args[:oidc_jwks] if args.key?(:oidc_jwks)
178
+ @workload_identity_pool = args[:workload_identity_pool] if args.key?(:workload_identity_pool)
179
+ end
180
+ end
181
+
182
+ # Associates `members`, or principals, with a `role`.
97
183
  class Binding
98
184
  include Google::Apis::Core::Hashable
99
185
 
@@ -116,7 +202,7 @@ module Google
116
202
  # @return [Google::Apis::GkehubV1alpha::Expr]
117
203
  attr_accessor :condition
118
204
 
119
- # Specifies the identities requesting access for a Cloud Platform resource. `
205
+ # Specifies the principals requesting access for a Cloud Platform resource. `
120
206
  # members` can have the following values: * `allUsers`: A special identifier
121
207
  # that represents anyone who is on the internet; with or without a Google
122
208
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -146,8 +232,8 @@ module Google
146
232
  # @return [Array<String>]
147
233
  attr_accessor :members
148
234
 
149
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
150
- # , or `roles/owner`.
235
+ # Role that is assigned to the list of `members`, or principals. For example, `
236
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
151
237
  # Corresponds to the JSON property `role`
152
238
  # @return [String]
153
239
  attr_accessor :role
@@ -204,6 +290,11 @@ module Google
204
290
  class CommonFeatureSpec
205
291
  include Google::Apis::Core::Hashable
206
292
 
293
+ # Spec for App Dev Experience Feature.
294
+ # Corresponds to the JSON property `appdevexperience`
295
+ # @return [Google::Apis::GkehubV1alpha::AppDevExperienceFeatureSpec]
296
+ attr_accessor :appdevexperience
297
+
207
298
  # **Cloud Audit Logging**: Spec for Audit Logging Allowlisting.
208
299
  # Corresponds to the JSON property `cloudauditlogging`
209
300
  # @return [Google::Apis::GkehubV1alpha::CloudAuditLoggingFeatureSpec]
@@ -221,6 +312,7 @@ module Google
221
312
 
222
313
  # Update properties of this object
223
314
  def update!(**args)
315
+ @appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
224
316
  @cloudauditlogging = args[:cloudauditlogging] if args.key?(:cloudauditlogging)
225
317
  @multiclusteringress = args[:multiclusteringress] if args.key?(:multiclusteringress)
226
318
  end
@@ -230,6 +322,11 @@ module Google
230
322
  class CommonFeatureState
231
323
  include Google::Apis::Core::Hashable
232
324
 
325
+ # State for App Dev Exp Feature.
326
+ # Corresponds to the JSON property `appdevexperience`
327
+ # @return [Google::Apis::GkehubV1alpha::AppDevExperienceFeatureState]
328
+ attr_accessor :appdevexperience
329
+
233
330
  # **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub
234
331
  # Controller.
235
332
  # Corresponds to the JSON property `servicemesh`
@@ -249,6 +346,7 @@ module Google
249
346
 
250
347
  # Update properties of this object
251
348
  def update!(**args)
349
+ @appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
252
350
  @servicemesh = args[:servicemesh] if args.key?(:servicemesh)
253
351
  @state = args[:state] if args.key?(:state)
254
352
  end
@@ -322,6 +420,16 @@ module Google
322
420
  class ConfigManagementConfigSync
323
421
  include Google::Apis::Core::Hashable
324
422
 
423
+ # Enables the installation of ConfigSync. If set to true, ConfigSync resources
424
+ # will be created and the other ConfigSync fields will be applied if exist. If
425
+ # set to false, all other ConfigSync fields will be ignored, ConfigSync
426
+ # resources will be deleted. If omitted, ConfigSync resources will be managed
427
+ # depends on the presence of git field.
428
+ # Corresponds to the JSON property `enabled`
429
+ # @return [Boolean]
430
+ attr_accessor :enabled
431
+ alias_method :enabled?, :enabled
432
+
325
433
  # Git repo configuration for a single cluster.
326
434
  # Corresponds to the JSON property `git`
327
435
  # @return [Google::Apis::GkehubV1alpha::ConfigManagementGitConfig]
@@ -339,6 +447,7 @@ module Google
339
447
 
340
448
  # Update properties of this object
341
449
  def update!(**args)
450
+ @enabled = args[:enabled] if args.key?(:enabled)
342
451
  @git = args[:git] if args.key?(:git)
343
452
  @source_format = args[:source_format] if args.key?(:source_format)
344
453
  end
@@ -348,6 +457,11 @@ module Google
348
457
  class ConfigManagementConfigSyncDeploymentState
349
458
  include Google::Apis::Core::Hashable
350
459
 
460
+ # Deployment state of admission-webhook
461
+ # Corresponds to the JSON property `admissionWebhook`
462
+ # @return [String]
463
+ attr_accessor :admission_webhook
464
+
351
465
  # Deployment state of the git-sync pod
352
466
  # Corresponds to the JSON property `gitSync`
353
467
  # @return [String]
@@ -384,6 +498,7 @@ module Google
384
498
 
385
499
  # Update properties of this object
386
500
  def update!(**args)
501
+ @admission_webhook = args[:admission_webhook] if args.key?(:admission_webhook)
387
502
  @git_sync = args[:git_sync] if args.key?(:git_sync)
388
503
  @importer = args[:importer] if args.key?(:importer)
389
504
  @monitor = args[:monitor] if args.key?(:monitor)
@@ -428,6 +543,11 @@ module Google
428
543
  class ConfigManagementConfigSyncVersion
429
544
  include Google::Apis::Core::Hashable
430
545
 
546
+ # Version of the deployed admission_webhook pod
547
+ # Corresponds to the JSON property `admissionWebhook`
548
+ # @return [String]
549
+ attr_accessor :admission_webhook
550
+
431
551
  # Version of the deployed git-sync pod
432
552
  # Corresponds to the JSON property `gitSync`
433
553
  # @return [String]
@@ -464,6 +584,7 @@ module Google
464
584
 
465
585
  # Update properties of this object
466
586
  def update!(**args)
587
+ @admission_webhook = args[:admission_webhook] if args.key?(:admission_webhook)
467
588
  @git_sync = args[:git_sync] if args.key?(:git_sync)
468
589
  @importer = args[:importer] if args.key?(:importer)
469
590
  @monitor = args[:monitor] if args.key?(:monitor)
@@ -1096,6 +1217,33 @@ module Google
1096
1217
  end
1097
1218
  end
1098
1219
 
1220
+ # ConnectAgentResource represents a Kubernetes resource manifest for Connect
1221
+ # Agent deployment.
1222
+ class ConnectAgentResource
1223
+ include Google::Apis::Core::Hashable
1224
+
1225
+ # YAML manifest of the resource.
1226
+ # Corresponds to the JSON property `manifest`
1227
+ # @return [String]
1228
+ attr_accessor :manifest
1229
+
1230
+ # TypeMeta is the type information needed for content unmarshalling of
1231
+ # Kubernetes resources in the manifest.
1232
+ # Corresponds to the JSON property `type`
1233
+ # @return [Google::Apis::GkehubV1alpha::TypeMeta]
1234
+ attr_accessor :type
1235
+
1236
+ def initialize(**args)
1237
+ update!(**args)
1238
+ end
1239
+
1240
+ # Update properties of this object
1241
+ def update!(**args)
1242
+ @manifest = args[:manifest] if args.key?(:manifest)
1243
+ @type = args[:type] if args.key?(:type)
1244
+ end
1245
+ end
1246
+
1099
1247
  # A generic empty message that you can re-use to avoid defining duplicated empty
1100
1248
  # messages in your APIs. A typical example is to use it as the request or the
1101
1249
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -1312,6 +1460,56 @@ module Google
1312
1460
  end
1313
1461
  end
1314
1462
 
1463
+ # GenerateConnectManifestResponse contains manifest information for installing/
1464
+ # upgrading a Connect agent.
1465
+ class GenerateConnectManifestResponse
1466
+ include Google::Apis::Core::Hashable
1467
+
1468
+ # The ordered list of Kubernetes resources that need to be applied to the
1469
+ # cluster for GKE Connect agent installation/upgrade.
1470
+ # Corresponds to the JSON property `manifest`
1471
+ # @return [Array<Google::Apis::GkehubV1alpha::ConnectAgentResource>]
1472
+ attr_accessor :manifest
1473
+
1474
+ def initialize(**args)
1475
+ update!(**args)
1476
+ end
1477
+
1478
+ # Update properties of this object
1479
+ def update!(**args)
1480
+ @manifest = args[:manifest] if args.key?(:manifest)
1481
+ end
1482
+ end
1483
+
1484
+ # GkeCluster contains information specific to GKE clusters.
1485
+ class GkeCluster
1486
+ include Google::Apis::Core::Hashable
1487
+
1488
+ # Output only. If cluster_missing is set then it denotes that the GKE cluster no
1489
+ # longer exists in the GKE Control Plane.
1490
+ # Corresponds to the JSON property `clusterMissing`
1491
+ # @return [Boolean]
1492
+ attr_accessor :cluster_missing
1493
+ alias_method :cluster_missing?, :cluster_missing
1494
+
1495
+ # Immutable. Self-link of the GCP resource for the GKE cluster. For example: //
1496
+ # container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-
1497
+ # cluster Zonal clusters are also supported.
1498
+ # Corresponds to the JSON property `resourceLink`
1499
+ # @return [String]
1500
+ attr_accessor :resource_link
1501
+
1502
+ def initialize(**args)
1503
+ update!(**args)
1504
+ end
1505
+
1506
+ # Update properties of this object
1507
+ def update!(**args)
1508
+ @cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
1509
+ @resource_link = args[:resource_link] if args.key?(:resource_link)
1510
+ end
1511
+ end
1512
+
1315
1513
  # The `Status` type defines a logical error model that is suitable for different
1316
1514
  # programming environments, including REST APIs and RPC APIs. It is used by [
1317
1515
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1523,6 +1721,95 @@ module Google
1523
1721
  end
1524
1722
  end
1525
1723
 
1724
+ # KubernetesMetadata provides informational metadata for Memberships
1725
+ # representing Kubernetes clusters.
1726
+ class KubernetesMetadata
1727
+ include Google::Apis::Core::Hashable
1728
+
1729
+ # Output only. Kubernetes API server version string as reported by `/version`.
1730
+ # Corresponds to the JSON property `kubernetesApiServerVersion`
1731
+ # @return [String]
1732
+ attr_accessor :kubernetes_api_server_version
1733
+
1734
+ # Output only. The total memory capacity as reported by the sum of all
1735
+ # Kubernetes nodes resources, defined in MB.
1736
+ # Corresponds to the JSON property `memoryMb`
1737
+ # @return [Fixnum]
1738
+ attr_accessor :memory_mb
1739
+
1740
+ # Output only. Node count as reported by Kubernetes nodes resources.
1741
+ # Corresponds to the JSON property `nodeCount`
1742
+ # @return [Fixnum]
1743
+ attr_accessor :node_count
1744
+
1745
+ # Output only. Node providerID as reported by the first node in the list of
1746
+ # nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-
1747
+ # node clusters (like GKE-on-GCP), the node_count will be zero and the
1748
+ # node_provider_id will be empty.
1749
+ # Corresponds to the JSON property `nodeProviderId`
1750
+ # @return [String]
1751
+ attr_accessor :node_provider_id
1752
+
1753
+ # Output only. The time at which these details were last updated. This
1754
+ # update_time is different from the Membership-level update_time since
1755
+ # EndpointDetails are updated internally for API consumers.
1756
+ # Corresponds to the JSON property `updateTime`
1757
+ # @return [String]
1758
+ attr_accessor :update_time
1759
+
1760
+ # Output only. vCPU count as reported by Kubernetes nodes resources.
1761
+ # Corresponds to the JSON property `vcpuCount`
1762
+ # @return [Fixnum]
1763
+ attr_accessor :vcpu_count
1764
+
1765
+ def initialize(**args)
1766
+ update!(**args)
1767
+ end
1768
+
1769
+ # Update properties of this object
1770
+ def update!(**args)
1771
+ @kubernetes_api_server_version = args[:kubernetes_api_server_version] if args.key?(:kubernetes_api_server_version)
1772
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
1773
+ @node_count = args[:node_count] if args.key?(:node_count)
1774
+ @node_provider_id = args[:node_provider_id] if args.key?(:node_provider_id)
1775
+ @update_time = args[:update_time] if args.key?(:update_time)
1776
+ @vcpu_count = args[:vcpu_count] if args.key?(:vcpu_count)
1777
+ end
1778
+ end
1779
+
1780
+ # Response message for the `GkeHub.ListAdminClusterMemberships` method.
1781
+ class ListAdminClusterMembershipsResponse
1782
+ include Google::Apis::Core::Hashable
1783
+
1784
+ # The list of matching Memberships of admin clusters.
1785
+ # Corresponds to the JSON property `adminClusterMemberships`
1786
+ # @return [Array<Google::Apis::GkehubV1alpha::Membership>]
1787
+ attr_accessor :admin_cluster_memberships
1788
+
1789
+ # A token to request the next page of resources from the `
1790
+ # ListAdminClusterMemberships` method. The value of an empty string means that
1791
+ # there are no more resources to return.
1792
+ # Corresponds to the JSON property `nextPageToken`
1793
+ # @return [String]
1794
+ attr_accessor :next_page_token
1795
+
1796
+ # List of locations that could not be reached while fetching this list.
1797
+ # Corresponds to the JSON property `unreachable`
1798
+ # @return [Array<String>]
1799
+ attr_accessor :unreachable
1800
+
1801
+ def initialize(**args)
1802
+ update!(**args)
1803
+ end
1804
+
1805
+ # Update properties of this object
1806
+ def update!(**args)
1807
+ @admin_cluster_memberships = args[:admin_cluster_memberships] if args.key?(:admin_cluster_memberships)
1808
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1809
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1810
+ end
1811
+ end
1812
+
1526
1813
  # Response message for the `GkeHub.ListFeatures` method.
1527
1814
  class ListFeaturesResponse
1528
1815
  include Google::Apis::Core::Hashable
@@ -1574,6 +1861,39 @@ module Google
1574
1861
  end
1575
1862
  end
1576
1863
 
1864
+ # Response message for the `GkeHub.ListMemberships` method.
1865
+ class ListMembershipsResponse
1866
+ include Google::Apis::Core::Hashable
1867
+
1868
+ # A token to request the next page of resources from the `ListMemberships`
1869
+ # method. The value of an empty string means that there are no more resources to
1870
+ # return.
1871
+ # Corresponds to the JSON property `nextPageToken`
1872
+ # @return [String]
1873
+ attr_accessor :next_page_token
1874
+
1875
+ # The list of matching Memberships.
1876
+ # Corresponds to the JSON property `resources`
1877
+ # @return [Array<Google::Apis::GkehubV1alpha::Membership>]
1878
+ attr_accessor :resources
1879
+
1880
+ # List of locations that could not be reached while fetching this list.
1881
+ # Corresponds to the JSON property `unreachable`
1882
+ # @return [Array<String>]
1883
+ attr_accessor :unreachable
1884
+
1885
+ def initialize(**args)
1886
+ update!(**args)
1887
+ end
1888
+
1889
+ # Update properties of this object
1890
+ def update!(**args)
1891
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1892
+ @resources = args[:resources] if args.key?(:resources)
1893
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1894
+ end
1895
+ end
1896
+
1577
1897
  # The response message for Operations.ListOperations.
1578
1898
  class ListOperationsResponse
1579
1899
  include Google::Apis::Core::Hashable
@@ -1646,6 +1966,148 @@ module Google
1646
1966
  end
1647
1967
  end
1648
1968
 
1969
+ # Membership contains information about a member cluster.
1970
+ class Membership
1971
+ include Google::Apis::Core::Hashable
1972
+
1973
+ # Authority encodes how Google will recognize identities from this Membership.
1974
+ # See the workload identity documentation for more details: https://cloud.google.
1975
+ # com/kubernetes-engine/docs/how-to/workload-identity
1976
+ # Corresponds to the JSON property `authority`
1977
+ # @return [Google::Apis::GkehubV1alpha::Authority]
1978
+ attr_accessor :authority
1979
+
1980
+ # Output only. When the Membership was created.
1981
+ # Corresponds to the JSON property `createTime`
1982
+ # @return [String]
1983
+ attr_accessor :create_time
1984
+
1985
+ # Output only. When the Membership was deleted.
1986
+ # Corresponds to the JSON property `deleteTime`
1987
+ # @return [String]
1988
+ attr_accessor :delete_time
1989
+
1990
+ # Output only. Description of this membership, limited to 63 characters. Must
1991
+ # match the regex: `a-zA-Z0-9*` This field is present for legacy purposes.
1992
+ # Corresponds to the JSON property `description`
1993
+ # @return [String]
1994
+ attr_accessor :description
1995
+
1996
+ # MembershipEndpoint contains information needed to contact a Kubernetes API,
1997
+ # endpoint and any additional Kubernetes metadata.
1998
+ # Corresponds to the JSON property `endpoint`
1999
+ # @return [Google::Apis::GkehubV1alpha::MembershipEndpoint]
2000
+ attr_accessor :endpoint
2001
+
2002
+ # Optional. An externally-generated and managed ID for this Membership. This ID
2003
+ # may be modified after creation, but this is not recommended. The ID must match
2004
+ # the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster,
2005
+ # this value should be set to the UID of the `kube-system` namespace object.
2006
+ # Corresponds to the JSON property `externalId`
2007
+ # @return [String]
2008
+ attr_accessor :external_id
2009
+
2010
+ # Optional. GCP labels for this membership.
2011
+ # Corresponds to the JSON property `labels`
2012
+ # @return [Hash<String,String>]
2013
+ attr_accessor :labels
2014
+
2015
+ # Output only. For clusters using Connect, the timestamp of the most recent
2016
+ # connection established with Google Cloud. This time is updated every several
2017
+ # minutes, not continuously. For clusters that do not use GKE Connect, or that
2018
+ # have never connected successfully, this field will be unset.
2019
+ # Corresponds to the JSON property `lastConnectionTime`
2020
+ # @return [String]
2021
+ attr_accessor :last_connection_time
2022
+
2023
+ # Output only. The full, unique name of this Membership resource in the format `
2024
+ # projects/*/locations/*/memberships/`membership_id``, set during creation. `
2025
+ # membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63
2026
+ # characters in length 2. It must consist of lower case alphanumeric characters
2027
+ # or `-` 3. It must start and end with an alphanumeric character Which can be
2028
+ # expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length
2029
+ # of 63 characters.
2030
+ # Corresponds to the JSON property `name`
2031
+ # @return [String]
2032
+ attr_accessor :name
2033
+
2034
+ # MembershipState describes the state of a Membership resource.
2035
+ # Corresponds to the JSON property `state`
2036
+ # @return [Google::Apis::GkehubV1alpha::MembershipState]
2037
+ attr_accessor :state
2038
+
2039
+ # Output only. Google-generated UUID for this resource. This is unique across
2040
+ # all Membership resources. If a Membership resource is deleted and another
2041
+ # resource with the same name is created, it gets a different unique_id.
2042
+ # Corresponds to the JSON property `uniqueId`
2043
+ # @return [String]
2044
+ attr_accessor :unique_id
2045
+
2046
+ # Output only. When the Membership was last updated.
2047
+ # Corresponds to the JSON property `updateTime`
2048
+ # @return [String]
2049
+ attr_accessor :update_time
2050
+
2051
+ def initialize(**args)
2052
+ update!(**args)
2053
+ end
2054
+
2055
+ # Update properties of this object
2056
+ def update!(**args)
2057
+ @authority = args[:authority] if args.key?(:authority)
2058
+ @create_time = args[:create_time] if args.key?(:create_time)
2059
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
2060
+ @description = args[:description] if args.key?(:description)
2061
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
2062
+ @external_id = args[:external_id] if args.key?(:external_id)
2063
+ @labels = args[:labels] if args.key?(:labels)
2064
+ @last_connection_time = args[:last_connection_time] if args.key?(:last_connection_time)
2065
+ @name = args[:name] if args.key?(:name)
2066
+ @state = args[:state] if args.key?(:state)
2067
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
2068
+ @update_time = args[:update_time] if args.key?(:update_time)
2069
+ end
2070
+ end
2071
+
2072
+ # MembershipEndpoint contains information needed to contact a Kubernetes API,
2073
+ # endpoint and any additional Kubernetes metadata.
2074
+ class MembershipEndpoint
2075
+ include Google::Apis::Core::Hashable
2076
+
2077
+ # GkeCluster contains information specific to GKE clusters.
2078
+ # Corresponds to the JSON property `gkeCluster`
2079
+ # @return [Google::Apis::GkehubV1alpha::GkeCluster]
2080
+ attr_accessor :gke_cluster
2081
+
2082
+ # KubernetesMetadata provides informational metadata for Memberships
2083
+ # representing Kubernetes clusters.
2084
+ # Corresponds to the JSON property `kubernetesMetadata`
2085
+ # @return [Google::Apis::GkehubV1alpha::KubernetesMetadata]
2086
+ attr_accessor :kubernetes_metadata
2087
+
2088
+ # MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
2089
+ # Corresponds to the JSON property `multiCloudCluster`
2090
+ # @return [Google::Apis::GkehubV1alpha::MultiCloudCluster]
2091
+ attr_accessor :multi_cloud_cluster
2092
+
2093
+ # OnPremCluster contains information specific to GKE On-Prem clusters.
2094
+ # Corresponds to the JSON property `onPremCluster`
2095
+ # @return [Google::Apis::GkehubV1alpha::OnPremCluster]
2096
+ attr_accessor :on_prem_cluster
2097
+
2098
+ def initialize(**args)
2099
+ update!(**args)
2100
+ end
2101
+
2102
+ # Update properties of this object
2103
+ def update!(**args)
2104
+ @gke_cluster = args[:gke_cluster] if args.key?(:gke_cluster)
2105
+ @kubernetes_metadata = args[:kubernetes_metadata] if args.key?(:kubernetes_metadata)
2106
+ @multi_cloud_cluster = args[:multi_cloud_cluster] if args.key?(:multi_cloud_cluster)
2107
+ @on_prem_cluster = args[:on_prem_cluster] if args.key?(:on_prem_cluster)
2108
+ end
2109
+ end
2110
+
1649
2111
  # MembershipFeatureSpec contains configuration information for a single
1650
2112
  # Membership.
1651
2113
  class MembershipFeatureSpec
@@ -1662,6 +2124,11 @@ module Google
1662
2124
  # @return [Google::Apis::GkehubV1alpha::IdentityServiceMembershipSpec]
1663
2125
  attr_accessor :identityservice
1664
2126
 
2127
+ # **Service Mesh**: Spec for a single Membership for the servicemesh feature
2128
+ # Corresponds to the JSON property `mesh`
2129
+ # @return [Google::Apis::GkehubV1alpha::ServiceMeshMembershipSpec]
2130
+ attr_accessor :mesh
2131
+
1665
2132
  def initialize(**args)
1666
2133
  update!(**args)
1667
2134
  end
@@ -1670,6 +2137,7 @@ module Google
1670
2137
  def update!(**args)
1671
2138
  @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
1672
2139
  @identityservice = args[:identityservice] if args.key?(:identityservice)
2140
+ @mesh = args[:mesh] if args.key?(:mesh)
1673
2141
  end
1674
2142
  end
1675
2143
 
@@ -1678,6 +2146,11 @@ module Google
1678
2146
  class MembershipFeatureState
1679
2147
  include Google::Apis::Core::Hashable
1680
2148
 
2149
+ # State for App Dev Exp Feature.
2150
+ # Corresponds to the JSON property `appdevexperience`
2151
+ # @return [Google::Apis::GkehubV1alpha::AppDevExperienceFeatureState]
2152
+ attr_accessor :appdevexperience
2153
+
1681
2154
  # **Anthos Config Management**: State for a single cluster.
1682
2155
  # Corresponds to the JSON property `configmanagement`
1683
2156
  # @return [Google::Apis::GkehubV1alpha::ConfigManagementMembershipState]
@@ -1712,6 +2185,7 @@ module Google
1712
2185
 
1713
2186
  # Update properties of this object
1714
2187
  def update!(**args)
2188
+ @appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
1715
2189
  @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
1716
2190
  @identityservice = args[:identityservice] if args.key?(:identityservice)
1717
2191
  @metering = args[:metering] if args.key?(:metering)
@@ -1720,6 +2194,25 @@ module Google
1720
2194
  end
1721
2195
  end
1722
2196
 
2197
+ # MembershipState describes the state of a Membership resource.
2198
+ class MembershipState
2199
+ include Google::Apis::Core::Hashable
2200
+
2201
+ # Output only. The current state of the Membership resource.
2202
+ # Corresponds to the JSON property `code`
2203
+ # @return [String]
2204
+ attr_accessor :code
2205
+
2206
+ def initialize(**args)
2207
+ update!(**args)
2208
+ end
2209
+
2210
+ # Update properties of this object
2211
+ def update!(**args)
2212
+ @code = args[:code] if args.key?(:code)
2213
+ end
2214
+ end
2215
+
1723
2216
  # **Metering**: Per-Membership Feature State.
1724
2217
  class MeteringMembershipState
1725
2218
  include Google::Apis::Core::Hashable
@@ -1747,6 +2240,36 @@ module Google
1747
2240
  end
1748
2241
  end
1749
2242
 
2243
+ # MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
2244
+ class MultiCloudCluster
2245
+ include Google::Apis::Core::Hashable
2246
+
2247
+ # Output only. If cluster_missing is set then it denotes that API(gkemulticloud.
2248
+ # googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists.
2249
+ # Corresponds to the JSON property `clusterMissing`
2250
+ # @return [Boolean]
2251
+ attr_accessor :cluster_missing
2252
+ alias_method :cluster_missing?, :cluster_missing
2253
+
2254
+ # Immutable. Self-link of the GCP resource for the GKE Multi-Cloud cluster. For
2255
+ # example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-
2256
+ # a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/
2257
+ # locations/us-west1-a/azureClusters/my-cluster
2258
+ # Corresponds to the JSON property `resourceLink`
2259
+ # @return [String]
2260
+ attr_accessor :resource_link
2261
+
2262
+ def initialize(**args)
2263
+ update!(**args)
2264
+ end
2265
+
2266
+ # Update properties of this object
2267
+ def update!(**args)
2268
+ @cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
2269
+ @resource_link = args[:resource_link] if args.key?(:resource_link)
2270
+ end
2271
+ end
2272
+
1750
2273
  # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
1751
2274
  # feature.
1752
2275
  class MultiClusterIngressFeatureSpec
@@ -1775,6 +2298,43 @@ module Google
1775
2298
  end
1776
2299
  end
1777
2300
 
2301
+ # OnPremCluster contains information specific to GKE On-Prem clusters.
2302
+ class OnPremCluster
2303
+ include Google::Apis::Core::Hashable
2304
+
2305
+ # Immutable. Whether the cluster is an admin cluster.
2306
+ # Corresponds to the JSON property `adminCluster`
2307
+ # @return [Boolean]
2308
+ attr_accessor :admin_cluster
2309
+ alias_method :admin_cluster?, :admin_cluster
2310
+
2311
+ # Output only. If cluster_missing is set then it denotes that API(gkeonprem.
2312
+ # googleapis.com) resource for this GKE On-Prem cluster no longer exists.
2313
+ # Corresponds to the JSON property `clusterMissing`
2314
+ # @return [Boolean]
2315
+ attr_accessor :cluster_missing
2316
+ alias_method :cluster_missing?, :cluster_missing
2317
+
2318
+ # Immutable. Self-link of the GCP resource for the GKE On-Prem cluster. For
2319
+ # example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/
2320
+ # vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/
2321
+ # locations/us-west1-a/bareMetalClusters/my-cluster
2322
+ # Corresponds to the JSON property `resourceLink`
2323
+ # @return [String]
2324
+ attr_accessor :resource_link
2325
+
2326
+ def initialize(**args)
2327
+ update!(**args)
2328
+ end
2329
+
2330
+ # Update properties of this object
2331
+ def update!(**args)
2332
+ @admin_cluster = args[:admin_cluster] if args.key?(:admin_cluster)
2333
+ @cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
2334
+ @resource_link = args[:resource_link] if args.key?(:resource_link)
2335
+ end
2336
+ end
2337
+
1778
2338
  # This resource represents a long-running operation that is the result of a
1779
2339
  # network API call.
1780
2340
  class Operation
@@ -1898,31 +2458,31 @@ module Google
1898
2458
 
1899
2459
  # An Identity and Access Management (IAM) policy, which specifies access
1900
2460
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1901
- # A `binding` binds one or more `members` to a single `role`. Members can be
1902
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
1903
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
1904
- # role or a user-created custom role. For some types of Google Cloud resources,
1905
- # a `binding` can also specify a `condition`, which is a logical expression that
1906
- # allows access to a resource only if the expression evaluates to `true`. A
1907
- # condition can add constraints based on attributes of the request, the resource,
1908
- # or both. To learn which resources support conditions in their IAM policies,
1909
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1910
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1911
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1912
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1913
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1914
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1915
- # title": "expirable access", "description": "Does not grant access after Sep
1916
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1917
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1918
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
1919
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1920
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1921
- # roles/resourcemanager.organizationViewer condition: title: expirable access
1922
- # description: Does not grant access after Sep 2020 expression: request.time <
1923
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
1924
- # description of IAM and its features, see the [IAM documentation](https://cloud.
1925
- # google.com/iam/docs/).
2461
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
2462
+ # Principals can be user accounts, service accounts, Google groups, and domains (
2463
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
2464
+ # an IAM predefined role or a user-created custom role. For some types of Google
2465
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
2466
+ # logical expression that allows access to a resource only if the expression
2467
+ # evaluates to `true`. A condition can add constraints based on attributes of
2468
+ # the request, the resource, or both. To learn which resources support
2469
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
2470
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
2471
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
2472
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
2473
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
2474
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
2475
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
2476
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
2477
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
2478
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
2479
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
2480
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
2481
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
2482
+ # access description: Does not grant access after Sep 2020 expression: request.
2483
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
2484
+ # a description of IAM and its features, see the [IAM documentation](https://
2485
+ # cloud.google.com/iam/docs/).
1926
2486
  class Policy
1927
2487
  include Google::Apis::Core::Hashable
1928
2488
 
@@ -1931,9 +2491,14 @@ module Google
1931
2491
  # @return [Array<Google::Apis::GkehubV1alpha::AuditConfig>]
1932
2492
  attr_accessor :audit_configs
1933
2493
 
1934
- # Associates a list of `members` to a `role`. Optionally, may specify a `
1935
- # condition` that determines how and when the `bindings` are applied. Each of
1936
- # the `bindings` must contain at least one member.
2494
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
2495
+ # specify a `condition` that determines how and when the `bindings` are applied.
2496
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
2497
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
2498
+ # can be Google groups. Each occurrence of a principal counts towards these
2499
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
2500
+ # example.com`, and not to any other principal, then you can add another 1,450
2501
+ # principals to the `bindings` in the `Policy`.
1937
2502
  # Corresponds to the JSON property `bindings`
1938
2503
  # @return [Array<Google::Apis::GkehubV1alpha::Binding>]
1939
2504
  attr_accessor :bindings
@@ -2088,6 +2653,19 @@ module Google
2088
2653
  end
2089
2654
  end
2090
2655
 
2656
+ # **Service Mesh**: Spec for a single Membership for the servicemesh feature
2657
+ class ServiceMeshMembershipSpec
2658
+ include Google::Apis::Core::Hashable
2659
+
2660
+ def initialize(**args)
2661
+ update!(**args)
2662
+ end
2663
+
2664
+ # Update properties of this object
2665
+ def update!(**args)
2666
+ end
2667
+ end
2668
+
2091
2669
  # **Service Mesh**: State for a single Membership, as analyzed by the Service
2092
2670
  # Mesh Hub Controller.
2093
2671
  class ServiceMeshMembershipState
@@ -2147,31 +2725,31 @@ module Google
2147
2725
 
2148
2726
  # An Identity and Access Management (IAM) policy, which specifies access
2149
2727
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2150
- # A `binding` binds one or more `members` to a single `role`. Members can be
2151
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
2152
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
2153
- # role or a user-created custom role. For some types of Google Cloud resources,
2154
- # a `binding` can also specify a `condition`, which is a logical expression that
2155
- # allows access to a resource only if the expression evaluates to `true`. A
2156
- # condition can add constraints based on attributes of the request, the resource,
2157
- # or both. To learn which resources support conditions in their IAM policies,
2158
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2159
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2160
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2161
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2162
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2163
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2164
- # title": "expirable access", "description": "Does not grant access after Sep
2165
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2166
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2167
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
2168
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2169
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2170
- # roles/resourcemanager.organizationViewer condition: title: expirable access
2171
- # description: Does not grant access after Sep 2020 expression: request.time <
2172
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
2173
- # description of IAM and its features, see the [IAM documentation](https://cloud.
2174
- # google.com/iam/docs/).
2728
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
2729
+ # Principals can be user accounts, service accounts, Google groups, and domains (
2730
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
2731
+ # an IAM predefined role or a user-created custom role. For some types of Google
2732
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
2733
+ # logical expression that allows access to a resource only if the expression
2734
+ # evaluates to `true`. A condition can add constraints based on attributes of
2735
+ # the request, the resource, or both. To learn which resources support
2736
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
2737
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
2738
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
2739
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
2740
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
2741
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
2742
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
2743
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
2744
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
2745
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
2746
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
2747
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
2748
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
2749
+ # access description: Does not grant access after Sep 2020 expression: request.
2750
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
2751
+ # a description of IAM and its features, see the [IAM documentation](https://
2752
+ # cloud.google.com/iam/docs/).
2175
2753
  # Corresponds to the JSON property `policy`
2176
2754
  # @return [Google::Apis::GkehubV1alpha::Policy]
2177
2755
  attr_accessor :policy
@@ -2194,6 +2772,31 @@ module Google
2194
2772
  end
2195
2773
  end
2196
2774
 
2775
+ # Status specifies state for the subcomponent.
2776
+ class Status
2777
+ include Google::Apis::Core::Hashable
2778
+
2779
+ # Code specifies AppDevExperienceFeature's subcomponent ready state.
2780
+ # Corresponds to the JSON property `code`
2781
+ # @return [String]
2782
+ attr_accessor :code
2783
+
2784
+ # Description is populated if Code is Failed, explaining why it has failed.
2785
+ # Corresponds to the JSON property `description`
2786
+ # @return [String]
2787
+ attr_accessor :description
2788
+
2789
+ def initialize(**args)
2790
+ update!(**args)
2791
+ end
2792
+
2793
+ # Update properties of this object
2794
+ def update!(**args)
2795
+ @code = args[:code] if args.key?(:code)
2796
+ @description = args[:description] if args.key?(:description)
2797
+ end
2798
+ end
2799
+
2197
2800
  # Request message for `TestIamPermissions` method.
2198
2801
  class TestIamPermissionsRequest
2199
2802
  include Google::Apis::Core::Hashable
@@ -2233,6 +2836,32 @@ module Google
2233
2836
  @permissions = args[:permissions] if args.key?(:permissions)
2234
2837
  end
2235
2838
  end
2839
+
2840
+ # TypeMeta is the type information needed for content unmarshalling of
2841
+ # Kubernetes resources in the manifest.
2842
+ class TypeMeta
2843
+ include Google::Apis::Core::Hashable
2844
+
2845
+ # APIVersion of the resource (e.g. v1).
2846
+ # Corresponds to the JSON property `apiVersion`
2847
+ # @return [String]
2848
+ attr_accessor :api_version
2849
+
2850
+ # Kind of the resource (e.g. Deployment).
2851
+ # Corresponds to the JSON property `kind`
2852
+ # @return [String]
2853
+ attr_accessor :kind
2854
+
2855
+ def initialize(**args)
2856
+ update!(**args)
2857
+ end
2858
+
2859
+ # Update properties of this object
2860
+ def update!(**args)
2861
+ @api_version = args[:api_version] if args.key?(:api_version)
2862
+ @kind = args[:kind] if args.key?(:kind)
2863
+ end
2864
+ end
2236
2865
  end
2237
2866
  end
2238
2867
  end