google-apis-gkehub_v1alpha 0.12.0 → 0.16.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.
@@ -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
@@ -147,7 +179,7 @@ module Google
147
179
  end
148
180
  end
149
181
 
150
- # Associates `members` with a `role`.
182
+ # Associates `members`, or principals, with a `role`.
151
183
  class Binding
152
184
  include Google::Apis::Core::Hashable
153
185
 
@@ -170,7 +202,7 @@ module Google
170
202
  # @return [Google::Apis::GkehubV1alpha::Expr]
171
203
  attr_accessor :condition
172
204
 
173
- # Specifies the identities requesting access for a Cloud Platform resource. `
205
+ # Specifies the principals requesting access for a Cloud Platform resource. `
174
206
  # members` can have the following values: * `allUsers`: A special identifier
175
207
  # that represents anyone who is on the internet; with or without a Google
176
208
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -200,8 +232,8 @@ module Google
200
232
  # @return [Array<String>]
201
233
  attr_accessor :members
202
234
 
203
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
204
- # , 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`.
205
237
  # Corresponds to the JSON property `role`
206
238
  # @return [String]
207
239
  attr_accessor :role
@@ -258,6 +290,11 @@ module Google
258
290
  class CommonFeatureSpec
259
291
  include Google::Apis::Core::Hashable
260
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
+
261
298
  # **Cloud Audit Logging**: Spec for Audit Logging Allowlisting.
262
299
  # Corresponds to the JSON property `cloudauditlogging`
263
300
  # @return [Google::Apis::GkehubV1alpha::CloudAuditLoggingFeatureSpec]
@@ -275,6 +312,7 @@ module Google
275
312
 
276
313
  # Update properties of this object
277
314
  def update!(**args)
315
+ @appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
278
316
  @cloudauditlogging = args[:cloudauditlogging] if args.key?(:cloudauditlogging)
279
317
  @multiclusteringress = args[:multiclusteringress] if args.key?(:multiclusteringress)
280
318
  end
@@ -284,6 +322,11 @@ module Google
284
322
  class CommonFeatureState
285
323
  include Google::Apis::Core::Hashable
286
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
+
287
330
  # **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub
288
331
  # Controller.
289
332
  # Corresponds to the JSON property `servicemesh`
@@ -303,6 +346,7 @@ module Google
303
346
 
304
347
  # Update properties of this object
305
348
  def update!(**args)
349
+ @appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
306
350
  @servicemesh = args[:servicemesh] if args.key?(:servicemesh)
307
351
  @state = args[:state] if args.key?(:state)
308
352
  end
@@ -391,6 +435,14 @@ module Google
391
435
  # @return [Google::Apis::GkehubV1alpha::ConfigManagementGitConfig]
392
436
  attr_accessor :git
393
437
 
438
+ # Set to true to enable the Config Sync admission webhook to prevent drifts. If
439
+ # set to `false`, disables the Config Sync admission webhook and does not
440
+ # prevent drifts.
441
+ # Corresponds to the JSON property `preventDrift`
442
+ # @return [Boolean]
443
+ attr_accessor :prevent_drift
444
+ alias_method :prevent_drift?, :prevent_drift
445
+
394
446
  # Specifies whether the Config Sync Repo is in “hierarchical” or “unstructured”
395
447
  # mode.
396
448
  # Corresponds to the JSON property `sourceFormat`
@@ -405,6 +457,7 @@ module Google
405
457
  def update!(**args)
406
458
  @enabled = args[:enabled] if args.key?(:enabled)
407
459
  @git = args[:git] if args.key?(:git)
460
+ @prevent_drift = args[:prevent_drift] if args.key?(:prevent_drift)
408
461
  @source_format = args[:source_format] if args.key?(:source_format)
409
462
  end
410
463
  end
@@ -639,7 +692,9 @@ module Google
639
692
  # @return [String]
640
693
  attr_accessor :policy_dir
641
694
 
642
- # Type of secret configured for access to the Git repo.
695
+ # Type of secret configured for access to the Git repo. Must be one of ssh,
696
+ # cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this
697
+ # is case-sensitive. Required.
643
698
  # Corresponds to the JSON property `secretType`
644
699
  # @return [String]
645
700
  attr_accessor :secret_type
@@ -1173,6 +1228,33 @@ module Google
1173
1228
  end
1174
1229
  end
1175
1230
 
1231
+ # ConnectAgentResource represents a Kubernetes resource manifest for Connect
1232
+ # Agent deployment.
1233
+ class ConnectAgentResource
1234
+ include Google::Apis::Core::Hashable
1235
+
1236
+ # YAML manifest of the resource.
1237
+ # Corresponds to the JSON property `manifest`
1238
+ # @return [String]
1239
+ attr_accessor :manifest
1240
+
1241
+ # TypeMeta is the type information needed for content unmarshalling of
1242
+ # Kubernetes resources in the manifest.
1243
+ # Corresponds to the JSON property `type`
1244
+ # @return [Google::Apis::GkehubV1alpha::TypeMeta]
1245
+ attr_accessor :type
1246
+
1247
+ def initialize(**args)
1248
+ update!(**args)
1249
+ end
1250
+
1251
+ # Update properties of this object
1252
+ def update!(**args)
1253
+ @manifest = args[:manifest] if args.key?(:manifest)
1254
+ @type = args[:type] if args.key?(:type)
1255
+ end
1256
+ end
1257
+
1176
1258
  # A generic empty message that you can re-use to avoid defining duplicated empty
1177
1259
  # messages in your APIs. A typical example is to use it as the request or the
1178
1260
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -1389,6 +1471,93 @@ module Google
1389
1471
  end
1390
1472
  end
1391
1473
 
1474
+ # Fleet contains the Fleet-wide metadata and configuration.
1475
+ class Fleet
1476
+ include Google::Apis::Core::Hashable
1477
+
1478
+ # Output only. When the Fleet was created.
1479
+ # Corresponds to the JSON property `createTime`
1480
+ # @return [String]
1481
+ attr_accessor :create_time
1482
+
1483
+ # Output only. When the Fleet was deleted.
1484
+ # Corresponds to the JSON property `deleteTime`
1485
+ # @return [String]
1486
+ attr_accessor :delete_time
1487
+
1488
+ # Optional. A user-assigned display name of the Fleet. When present, it must be
1489
+ # between 4 to 30 characters. Allowed characters are: lowercase and uppercase
1490
+ # letters, numbers, hyphen, single-quote, double-quote, space, and exclamation
1491
+ # point. Example: `Production Fleet`
1492
+ # Corresponds to the JSON property `displayName`
1493
+ # @return [String]
1494
+ attr_accessor :display_name
1495
+
1496
+ # The name for the fleet. The name must meet the following constraints: + The
1497
+ # name of a fleet should be unique within the organization; + It must consist of
1498
+ # lower case alphanumeric characters or `-`; + The length of the name must be
1499
+ # less than or equal to 63; + Unicode names must be expressed in Punycode format
1500
+ # (rfc3492). Examples: + prod-fleet + xn--wlq33vhyw9jb (Punycode form for "生产环境")
1501
+ # Corresponds to the JSON property `fleetName`
1502
+ # @return [String]
1503
+ attr_accessor :fleet_name
1504
+
1505
+ # Output only. The full, unique resource name of this fleet in the format of `
1506
+ # projects/`project`/locations/`location`/fleets/`fleet``. Each GCP project can
1507
+ # have at most one fleet resource, named "default".
1508
+ # Corresponds to the JSON property `name`
1509
+ # @return [String]
1510
+ attr_accessor :name
1511
+
1512
+ # Output only. Google-generated UUID for this resource. This is unique across
1513
+ # all Fleet resources. If a Fleet resource is deleted and another resource with
1514
+ # the same name is created, it gets a different uid.
1515
+ # Corresponds to the JSON property `uid`
1516
+ # @return [String]
1517
+ attr_accessor :uid
1518
+
1519
+ # Output only. When the Fleet was last updated.
1520
+ # Corresponds to the JSON property `updateTime`
1521
+ # @return [String]
1522
+ attr_accessor :update_time
1523
+
1524
+ def initialize(**args)
1525
+ update!(**args)
1526
+ end
1527
+
1528
+ # Update properties of this object
1529
+ def update!(**args)
1530
+ @create_time = args[:create_time] if args.key?(:create_time)
1531
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1532
+ @display_name = args[:display_name] if args.key?(:display_name)
1533
+ @fleet_name = args[:fleet_name] if args.key?(:fleet_name)
1534
+ @name = args[:name] if args.key?(:name)
1535
+ @uid = args[:uid] if args.key?(:uid)
1536
+ @update_time = args[:update_time] if args.key?(:update_time)
1537
+ end
1538
+ end
1539
+
1540
+ # GenerateConnectManifestResponse contains manifest information for installing/
1541
+ # upgrading a Connect agent.
1542
+ class GenerateConnectManifestResponse
1543
+ include Google::Apis::Core::Hashable
1544
+
1545
+ # The ordered list of Kubernetes resources that need to be applied to the
1546
+ # cluster for GKE Connect agent installation/upgrade.
1547
+ # Corresponds to the JSON property `manifest`
1548
+ # @return [Array<Google::Apis::GkehubV1alpha::ConnectAgentResource>]
1549
+ attr_accessor :manifest
1550
+
1551
+ def initialize(**args)
1552
+ update!(**args)
1553
+ end
1554
+
1555
+ # Update properties of this object
1556
+ def update!(**args)
1557
+ @manifest = args[:manifest] if args.key?(:manifest)
1558
+ end
1559
+ end
1560
+
1392
1561
  # GkeCluster contains information specific to GKE clusters.
1393
1562
  class GkeCluster
1394
1563
  include Google::Apis::Core::Hashable
@@ -1685,6 +1854,61 @@ module Google
1685
1854
  end
1686
1855
  end
1687
1856
 
1857
+ # KubernetesResource contains the YAML manifests and configuration for
1858
+ # Membership Kubernetes resources in the cluster. After CreateMembership or
1859
+ # UpdateMembership, these resources should be re-applied in the cluster.
1860
+ class KubernetesResource
1861
+ include Google::Apis::Core::Hashable
1862
+
1863
+ # Output only. The Kubernetes resources for installing the GKE Connect agent
1864
+ # This field is only populated in the Membership returned from a successful long-
1865
+ # running operation from CreateMembership or UpdateMembership. It is not
1866
+ # populated during normal GetMembership or ListMemberships requests. To get the
1867
+ # resource manifest after the initial registration, the caller should make a
1868
+ # UpdateMembership call with an empty field mask.
1869
+ # Corresponds to the JSON property `connectResources`
1870
+ # @return [Array<Google::Apis::GkehubV1alpha::ResourceManifest>]
1871
+ attr_accessor :connect_resources
1872
+
1873
+ # Input only. The YAML representation of the Membership CR. This field is
1874
+ # ignored for GKE clusters where Hub can read the CR directly. Callers should
1875
+ # provide the CR that is currently present in the cluster during
1876
+ # CreateMembership or UpdateMembership, or leave this field empty if none exists.
1877
+ # The CR manifest is used to validate the cluster has not been registered with
1878
+ # another Membership.
1879
+ # Corresponds to the JSON property `membershipCrManifest`
1880
+ # @return [String]
1881
+ attr_accessor :membership_cr_manifest
1882
+
1883
+ # Output only. Additional Kubernetes resources that need to be applied to the
1884
+ # cluster after Membership creation, and after every update. This field is only
1885
+ # populated in the Membership returned from a successful long-running operation
1886
+ # from CreateMembership or UpdateMembership. It is not populated during normal
1887
+ # GetMembership or ListMemberships requests. To get the resource manifest after
1888
+ # the initial registration, the caller should make a UpdateMembership call with
1889
+ # an empty field mask.
1890
+ # Corresponds to the JSON property `membershipResources`
1891
+ # @return [Array<Google::Apis::GkehubV1alpha::ResourceManifest>]
1892
+ attr_accessor :membership_resources
1893
+
1894
+ # ResourceOptions represent options for Kubernetes resource generation.
1895
+ # Corresponds to the JSON property `resourceOptions`
1896
+ # @return [Google::Apis::GkehubV1alpha::ResourceOptions]
1897
+ attr_accessor :resource_options
1898
+
1899
+ def initialize(**args)
1900
+ update!(**args)
1901
+ end
1902
+
1903
+ # Update properties of this object
1904
+ def update!(**args)
1905
+ @connect_resources = args[:connect_resources] if args.key?(:connect_resources)
1906
+ @membership_cr_manifest = args[:membership_cr_manifest] if args.key?(:membership_cr_manifest)
1907
+ @membership_resources = args[:membership_resources] if args.key?(:membership_resources)
1908
+ @resource_options = args[:resource_options] if args.key?(:resource_options)
1909
+ end
1910
+ end
1911
+
1688
1912
  # Response message for the `GkeHub.ListAdminClusterMemberships` method.
1689
1913
  class ListAdminClusterMembershipsResponse
1690
1914
  include Google::Apis::Core::Hashable
@@ -1769,6 +1993,39 @@ module Google
1769
1993
  end
1770
1994
  end
1771
1995
 
1996
+ # Response message for the `GkeHub.ListMemberships` method.
1997
+ class ListMembershipsResponse
1998
+ include Google::Apis::Core::Hashable
1999
+
2000
+ # A token to request the next page of resources from the `ListMemberships`
2001
+ # method. The value of an empty string means that there are no more resources to
2002
+ # return.
2003
+ # Corresponds to the JSON property `nextPageToken`
2004
+ # @return [String]
2005
+ attr_accessor :next_page_token
2006
+
2007
+ # The list of matching Memberships.
2008
+ # Corresponds to the JSON property `resources`
2009
+ # @return [Array<Google::Apis::GkehubV1alpha::Membership>]
2010
+ attr_accessor :resources
2011
+
2012
+ # List of locations that could not be reached while fetching this list.
2013
+ # Corresponds to the JSON property `unreachable`
2014
+ # @return [Array<String>]
2015
+ attr_accessor :unreachable
2016
+
2017
+ def initialize(**args)
2018
+ update!(**args)
2019
+ end
2020
+
2021
+ # Update properties of this object
2022
+ def update!(**args)
2023
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2024
+ @resources = args[:resources] if args.key?(:resources)
2025
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2026
+ end
2027
+ end
2028
+
1772
2029
  # The response message for Operations.ListOperations.
1773
2030
  class ListOperationsResponse
1774
2031
  include Google::Apis::Core::Hashable
@@ -1960,6 +2217,13 @@ module Google
1960
2217
  # @return [Google::Apis::GkehubV1alpha::KubernetesMetadata]
1961
2218
  attr_accessor :kubernetes_metadata
1962
2219
 
2220
+ # KubernetesResource contains the YAML manifests and configuration for
2221
+ # Membership Kubernetes resources in the cluster. After CreateMembership or
2222
+ # UpdateMembership, these resources should be re-applied in the cluster.
2223
+ # Corresponds to the JSON property `kubernetesResource`
2224
+ # @return [Google::Apis::GkehubV1alpha::KubernetesResource]
2225
+ attr_accessor :kubernetes_resource
2226
+
1963
2227
  # MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
1964
2228
  # Corresponds to the JSON property `multiCloudCluster`
1965
2229
  # @return [Google::Apis::GkehubV1alpha::MultiCloudCluster]
@@ -1978,6 +2242,7 @@ module Google
1978
2242
  def update!(**args)
1979
2243
  @gke_cluster = args[:gke_cluster] if args.key?(:gke_cluster)
1980
2244
  @kubernetes_metadata = args[:kubernetes_metadata] if args.key?(:kubernetes_metadata)
2245
+ @kubernetes_resource = args[:kubernetes_resource] if args.key?(:kubernetes_resource)
1981
2246
  @multi_cloud_cluster = args[:multi_cloud_cluster] if args.key?(:multi_cloud_cluster)
1982
2247
  @on_prem_cluster = args[:on_prem_cluster] if args.key?(:on_prem_cluster)
1983
2248
  end
@@ -1999,6 +2264,11 @@ module Google
1999
2264
  # @return [Google::Apis::GkehubV1alpha::IdentityServiceMembershipSpec]
2000
2265
  attr_accessor :identityservice
2001
2266
 
2267
+ # **Service Mesh**: Spec for a single Membership for the servicemesh feature
2268
+ # Corresponds to the JSON property `mesh`
2269
+ # @return [Google::Apis::GkehubV1alpha::ServiceMeshMembershipSpec]
2270
+ attr_accessor :mesh
2271
+
2002
2272
  def initialize(**args)
2003
2273
  update!(**args)
2004
2274
  end
@@ -2007,6 +2277,7 @@ module Google
2007
2277
  def update!(**args)
2008
2278
  @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
2009
2279
  @identityservice = args[:identityservice] if args.key?(:identityservice)
2280
+ @mesh = args[:mesh] if args.key?(:mesh)
2010
2281
  end
2011
2282
  end
2012
2283
 
@@ -2015,6 +2286,11 @@ module Google
2015
2286
  class MembershipFeatureState
2016
2287
  include Google::Apis::Core::Hashable
2017
2288
 
2289
+ # State for App Dev Exp Feature.
2290
+ # Corresponds to the JSON property `appdevexperience`
2291
+ # @return [Google::Apis::GkehubV1alpha::AppDevExperienceFeatureState]
2292
+ attr_accessor :appdevexperience
2293
+
2018
2294
  # **Anthos Config Management**: State for a single cluster.
2019
2295
  # Corresponds to the JSON property `configmanagement`
2020
2296
  # @return [Google::Apis::GkehubV1alpha::ConfigManagementMembershipState]
@@ -2049,6 +2325,7 @@ module Google
2049
2325
 
2050
2326
  # Update properties of this object
2051
2327
  def update!(**args)
2328
+ @appdevexperience = args[:appdevexperience] if args.key?(:appdevexperience)
2052
2329
  @configmanagement = args[:configmanagement] if args.key?(:configmanagement)
2053
2330
  @identityservice = args[:identityservice] if args.key?(:identityservice)
2054
2331
  @metering = args[:metering] if args.key?(:metering)
@@ -2321,31 +2598,31 @@ module Google
2321
2598
 
2322
2599
  # An Identity and Access Management (IAM) policy, which specifies access
2323
2600
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2324
- # A `binding` binds one or more `members` to a single `role`. Members can be
2325
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
2326
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
2327
- # role or a user-created custom role. For some types of Google Cloud resources,
2328
- # a `binding` can also specify a `condition`, which is a logical expression that
2329
- # allows access to a resource only if the expression evaluates to `true`. A
2330
- # condition can add constraints based on attributes of the request, the resource,
2331
- # or both. To learn which resources support conditions in their IAM policies,
2332
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2333
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2334
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2335
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2336
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2337
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2338
- # title": "expirable access", "description": "Does not grant access after Sep
2339
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2340
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2341
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
2342
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2343
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2344
- # roles/resourcemanager.organizationViewer condition: title: expirable access
2345
- # description: Does not grant access after Sep 2020 expression: request.time <
2346
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
2347
- # description of IAM and its features, see the [IAM documentation](https://cloud.
2348
- # google.com/iam/docs/).
2601
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
2602
+ # Principals can be user accounts, service accounts, Google groups, and domains (
2603
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
2604
+ # an IAM predefined role or a user-created custom role. For some types of Google
2605
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
2606
+ # logical expression that allows access to a resource only if the expression
2607
+ # evaluates to `true`. A condition can add constraints based on attributes of
2608
+ # the request, the resource, or both. To learn which resources support
2609
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
2610
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
2611
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
2612
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
2613
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
2614
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
2615
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
2616
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
2617
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
2618
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
2619
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
2620
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
2621
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
2622
+ # access description: Does not grant access after Sep 2020 expression: request.
2623
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
2624
+ # a description of IAM and its features, see the [IAM documentation](https://
2625
+ # cloud.google.com/iam/docs/).
2349
2626
  class Policy
2350
2627
  include Google::Apis::Core::Hashable
2351
2628
 
@@ -2354,9 +2631,14 @@ module Google
2354
2631
  # @return [Array<Google::Apis::GkehubV1alpha::AuditConfig>]
2355
2632
  attr_accessor :audit_configs
2356
2633
 
2357
- # Associates a list of `members` to a `role`. Optionally, may specify a `
2358
- # condition` that determines how and when the `bindings` are applied. Each of
2359
- # the `bindings` must contain at least one member.
2634
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
2635
+ # specify a `condition` that determines how and when the `bindings` are applied.
2636
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
2637
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
2638
+ # can be Google groups. Each occurrence of a principal counts towards these
2639
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
2640
+ # example.com`, and not to any other principal, then you can add another 1,450
2641
+ # principals to the `bindings` in the `Policy`.
2360
2642
  # Corresponds to the JSON property `bindings`
2361
2643
  # @return [Array<Google::Apis::GkehubV1alpha::Binding>]
2362
2644
  attr_accessor :bindings
@@ -2409,6 +2691,65 @@ module Google
2409
2691
  end
2410
2692
  end
2411
2693
 
2694
+ # ResourceManifest represents a single Kubernetes resource to be applied to the
2695
+ # cluster.
2696
+ class ResourceManifest
2697
+ include Google::Apis::Core::Hashable
2698
+
2699
+ # Whether the resource provided in the manifest is `cluster_scoped`. If unset,
2700
+ # the manifest is assumed to be namespace scoped. This field is used for REST
2701
+ # mapping when applying the resource in a cluster.
2702
+ # Corresponds to the JSON property `clusterScoped`
2703
+ # @return [Boolean]
2704
+ attr_accessor :cluster_scoped
2705
+ alias_method :cluster_scoped?, :cluster_scoped
2706
+
2707
+ # YAML manifest of the resource.
2708
+ # Corresponds to the JSON property `manifest`
2709
+ # @return [String]
2710
+ attr_accessor :manifest
2711
+
2712
+ def initialize(**args)
2713
+ update!(**args)
2714
+ end
2715
+
2716
+ # Update properties of this object
2717
+ def update!(**args)
2718
+ @cluster_scoped = args[:cluster_scoped] if args.key?(:cluster_scoped)
2719
+ @manifest = args[:manifest] if args.key?(:manifest)
2720
+ end
2721
+ end
2722
+
2723
+ # ResourceOptions represent options for Kubernetes resource generation.
2724
+ class ResourceOptions
2725
+ include Google::Apis::Core::Hashable
2726
+
2727
+ # Optional. The Connect agent version to use for connect_resources. Defaults to
2728
+ # the latest GKE Connect version. The version must be a currently supported
2729
+ # version, obsolete versions will be rejected.
2730
+ # Corresponds to the JSON property `connectVersion`
2731
+ # @return [String]
2732
+ attr_accessor :connect_version
2733
+
2734
+ # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for
2735
+ # CustomResourceDefinition resources. This option should be set for clusters
2736
+ # with Kubernetes apiserver versions <1.16.
2737
+ # Corresponds to the JSON property `v1beta1Crd`
2738
+ # @return [Boolean]
2739
+ attr_accessor :v1beta1_crd
2740
+ alias_method :v1beta1_crd?, :v1beta1_crd
2741
+
2742
+ def initialize(**args)
2743
+ update!(**args)
2744
+ end
2745
+
2746
+ # Update properties of this object
2747
+ def update!(**args)
2748
+ @connect_version = args[:connect_version] if args.key?(:connect_version)
2749
+ @v1beta1_crd = args[:v1beta1_crd] if args.key?(:v1beta1_crd)
2750
+ end
2751
+ end
2752
+
2412
2753
  # AnalysisMessage is a single message produced by an analyzer, and it used to
2413
2754
  # communicate to the end user about the state of their Service Mesh
2414
2755
  # configuration.
@@ -2511,6 +2852,19 @@ module Google
2511
2852
  end
2512
2853
  end
2513
2854
 
2855
+ # **Service Mesh**: Spec for a single Membership for the servicemesh feature
2856
+ class ServiceMeshMembershipSpec
2857
+ include Google::Apis::Core::Hashable
2858
+
2859
+ def initialize(**args)
2860
+ update!(**args)
2861
+ end
2862
+
2863
+ # Update properties of this object
2864
+ def update!(**args)
2865
+ end
2866
+ end
2867
+
2514
2868
  # **Service Mesh**: State for a single Membership, as analyzed by the Service
2515
2869
  # Mesh Hub Controller.
2516
2870
  class ServiceMeshMembershipState
@@ -2570,31 +2924,31 @@ module Google
2570
2924
 
2571
2925
  # An Identity and Access Management (IAM) policy, which specifies access
2572
2926
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2573
- # A `binding` binds one or more `members` to a single `role`. Members can be
2574
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
2575
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
2576
- # role or a user-created custom role. For some types of Google Cloud resources,
2577
- # a `binding` can also specify a `condition`, which is a logical expression that
2578
- # allows access to a resource only if the expression evaluates to `true`. A
2579
- # condition can add constraints based on attributes of the request, the resource,
2580
- # or both. To learn which resources support conditions in their IAM policies,
2581
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2582
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2583
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2584
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2585
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2586
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2587
- # title": "expirable access", "description": "Does not grant access after Sep
2588
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2589
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2590
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
2591
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2592
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2593
- # roles/resourcemanager.organizationViewer condition: title: expirable access
2594
- # description: Does not grant access after Sep 2020 expression: request.time <
2595
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
2596
- # description of IAM and its features, see the [IAM documentation](https://cloud.
2597
- # google.com/iam/docs/).
2927
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
2928
+ # Principals can be user accounts, service accounts, Google groups, and domains (
2929
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
2930
+ # an IAM predefined role or a user-created custom role. For some types of Google
2931
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
2932
+ # logical expression that allows access to a resource only if the expression
2933
+ # evaluates to `true`. A condition can add constraints based on attributes of
2934
+ # the request, the resource, or both. To learn which resources support
2935
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
2936
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
2937
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
2938
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
2939
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
2940
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
2941
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
2942
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
2943
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
2944
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
2945
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
2946
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
2947
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
2948
+ # access description: Does not grant access after Sep 2020 expression: request.
2949
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
2950
+ # a description of IAM and its features, see the [IAM documentation](https://
2951
+ # cloud.google.com/iam/docs/).
2598
2952
  # Corresponds to the JSON property `policy`
2599
2953
  # @return [Google::Apis::GkehubV1alpha::Policy]
2600
2954
  attr_accessor :policy
@@ -2617,6 +2971,31 @@ module Google
2617
2971
  end
2618
2972
  end
2619
2973
 
2974
+ # Status specifies state for the subcomponent.
2975
+ class Status
2976
+ include Google::Apis::Core::Hashable
2977
+
2978
+ # Code specifies AppDevExperienceFeature's subcomponent ready state.
2979
+ # Corresponds to the JSON property `code`
2980
+ # @return [String]
2981
+ attr_accessor :code
2982
+
2983
+ # Description is populated if Code is Failed, explaining why it has failed.
2984
+ # Corresponds to the JSON property `description`
2985
+ # @return [String]
2986
+ attr_accessor :description
2987
+
2988
+ def initialize(**args)
2989
+ update!(**args)
2990
+ end
2991
+
2992
+ # Update properties of this object
2993
+ def update!(**args)
2994
+ @code = args[:code] if args.key?(:code)
2995
+ @description = args[:description] if args.key?(:description)
2996
+ end
2997
+ end
2998
+
2620
2999
  # Request message for `TestIamPermissions` method.
2621
3000
  class TestIamPermissionsRequest
2622
3001
  include Google::Apis::Core::Hashable
@@ -2656,6 +3035,32 @@ module Google
2656
3035
  @permissions = args[:permissions] if args.key?(:permissions)
2657
3036
  end
2658
3037
  end
3038
+
3039
+ # TypeMeta is the type information needed for content unmarshalling of
3040
+ # Kubernetes resources in the manifest.
3041
+ class TypeMeta
3042
+ include Google::Apis::Core::Hashable
3043
+
3044
+ # APIVersion of the resource (e.g. v1).
3045
+ # Corresponds to the JSON property `apiVersion`
3046
+ # @return [String]
3047
+ attr_accessor :api_version
3048
+
3049
+ # Kind of the resource (e.g. Deployment).
3050
+ # Corresponds to the JSON property `kind`
3051
+ # @return [String]
3052
+ attr_accessor :kind
3053
+
3054
+ def initialize(**args)
3055
+ update!(**args)
3056
+ end
3057
+
3058
+ # Update properties of this object
3059
+ def update!(**args)
3060
+ @api_version = args[:api_version] if args.key?(:api_version)
3061
+ @kind = args[:kind] if args.key?(:kind)
3062
+ end
3063
+ end
2659
3064
  end
2660
3065
  end
2661
3066
  end