google-apis-gkehub_v1beta 0.38.0 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -217,22 +217,22 @@ module Google
217
217
  # kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
218
218
  # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
219
219
  # email address that represents a Google group. For example, `admins@example.com`
220
- # . * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
221
- # identifier) representing a user that has been recently deleted. For example, `
222
- # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
223
- # value reverts to `user:`emailid`` and the recovered user retains the role in
224
- # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
225
- # address (plus unique identifier) representing a service account that has been
226
- # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
220
+ # . * `domain:`domain``: The G Suite domain (primary) that represents all the
221
+ # users of that domain. For example, `google.com` or `example.com`. * `deleted:
222
+ # user:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
223
+ # representing a user that has been recently deleted. For example, `alice@
224
+ # example.com?uid=123456789012345678901`. If the user is recovered, this value
225
+ # reverts to `user:`emailid`` and the recovered user retains the role in the
226
+ # binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address
227
+ # (plus unique identifier) representing a service account that has been recently
228
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
227
229
  # 123456789012345678901`. If the service account is undeleted, this value
228
230
  # reverts to `serviceAccount:`emailid`` and the undeleted service account
229
231
  # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
230
232
  # An email address (plus unique identifier) representing a Google group that has
231
233
  # been recently deleted. For example, `admins@example.com?uid=
232
234
  # 123456789012345678901`. If the group is recovered, this value reverts to `
233
- # group:`emailid`` and the recovered group retains the role in the binding. * `
234
- # domain:`domain``: The G Suite domain (primary) that represents all the users
235
- # of that domain. For example, `google.com` or `example.com`.
235
+ # group:`emailid`` and the recovered group retains the role in the binding.
236
236
  # Corresponds to the JSON property `members`
237
237
  # @return [Array<String>]
238
238
  attr_accessor :members
@@ -1170,6 +1170,25 @@ module Google
1170
1170
  end
1171
1171
  end
1172
1172
 
1173
+ # State for the migration of PolicyController from ACM -> PoCo Hub.
1174
+ class ConfigManagementPolicyControllerMigration
1175
+ include Google::Apis::Core::Hashable
1176
+
1177
+ # Stage of the migration.
1178
+ # Corresponds to the JSON property `stage`
1179
+ # @return [String]
1180
+ attr_accessor :stage
1181
+
1182
+ def initialize(**args)
1183
+ update!(**args)
1184
+ end
1185
+
1186
+ # Update properties of this object
1187
+ def update!(**args)
1188
+ @stage = args[:stage] if args.key?(:stage)
1189
+ end
1190
+ end
1191
+
1173
1192
  # PolicyControllerMonitoring specifies the backends Policy Controller should
1174
1193
  # export metrics to. For example, to specify metrics should be exported to Cloud
1175
1194
  # Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"]
@@ -1201,6 +1220,11 @@ module Google
1201
1220
  # @return [Google::Apis::GkehubV1beta::ConfigManagementGatekeeperDeploymentState]
1202
1221
  attr_accessor :deployment_state
1203
1222
 
1223
+ # State for the migration of PolicyController from ACM -> PoCo Hub.
1224
+ # Corresponds to the JSON property `migration`
1225
+ # @return [Google::Apis::GkehubV1beta::ConfigManagementPolicyControllerMigration]
1226
+ attr_accessor :migration
1227
+
1204
1228
  # The build version of Gatekeeper Policy Controller is using.
1205
1229
  # Corresponds to the JSON property `version`
1206
1230
  # @return [Google::Apis::GkehubV1beta::ConfigManagementPolicyControllerVersion]
@@ -1213,6 +1237,7 @@ module Google
1213
1237
  # Update properties of this object
1214
1238
  def update!(**args)
1215
1239
  @deployment_state = args[:deployment_state] if args.key?(:deployment_state)
1240
+ @migration = args[:migration] if args.key?(:migration)
1216
1241
  @version = args[:version] if args.key?(:version)
1217
1242
  end
1218
1243
  end
@@ -1990,6 +2015,59 @@ module Google
1990
2015
  end
1991
2016
  end
1992
2017
 
2018
+ # List of MembershipBindings.
2019
+ class ListMembershipBindingsResponse
2020
+ include Google::Apis::Core::Hashable
2021
+
2022
+ # The list of membership_bindings
2023
+ # Corresponds to the JSON property `membershipBindings`
2024
+ # @return [Array<Google::Apis::GkehubV1beta::MembershipBinding>]
2025
+ attr_accessor :membership_bindings
2026
+
2027
+ # A token to request the next page of resources from the `ListMembershipBindings`
2028
+ # method. The value of an empty string means that there are no more resources
2029
+ # to return.
2030
+ # Corresponds to the JSON property `nextPageToken`
2031
+ # @return [String]
2032
+ attr_accessor :next_page_token
2033
+
2034
+ def initialize(**args)
2035
+ update!(**args)
2036
+ end
2037
+
2038
+ # Update properties of this object
2039
+ def update!(**args)
2040
+ @membership_bindings = args[:membership_bindings] if args.key?(:membership_bindings)
2041
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2042
+ end
2043
+ end
2044
+
2045
+ # List of fleet namespaces.
2046
+ class ListNamespacesResponse
2047
+ include Google::Apis::Core::Hashable
2048
+
2049
+ # The list of fleet namespaces
2050
+ # Corresponds to the JSON property `namespaces`
2051
+ # @return [Array<Google::Apis::GkehubV1beta::Namespace>]
2052
+ attr_accessor :namespaces
2053
+
2054
+ # A token to request the next page of resources from the `ListNamespaces` method.
2055
+ # The value of an empty string means that there are no more resources to return.
2056
+ # Corresponds to the JSON property `nextPageToken`
2057
+ # @return [String]
2058
+ attr_accessor :next_page_token
2059
+
2060
+ def initialize(**args)
2061
+ update!(**args)
2062
+ end
2063
+
2064
+ # Update properties of this object
2065
+ def update!(**args)
2066
+ @namespaces = args[:namespaces] if args.key?(:namespaces)
2067
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2068
+ end
2069
+ end
2070
+
1993
2071
  # The response message for Operations.ListOperations.
1994
2072
  class ListOperationsResponse
1995
2073
  include Google::Apis::Core::Hashable
@@ -2015,6 +2093,59 @@ module Google
2015
2093
  end
2016
2094
  end
2017
2095
 
2096
+ # List of RBACRoleBindings.
2097
+ class ListRbacRoleBindingsResponse
2098
+ include Google::Apis::Core::Hashable
2099
+
2100
+ # A token to request the next page of resources from the `ListRBACRoleBindings`
2101
+ # method. The value of an empty string means that there are no more resources to
2102
+ # return.
2103
+ # Corresponds to the JSON property `nextPageToken`
2104
+ # @return [String]
2105
+ attr_accessor :next_page_token
2106
+
2107
+ # The list of RBACRoleBindings
2108
+ # Corresponds to the JSON property `rbacrolebindings`
2109
+ # @return [Array<Google::Apis::GkehubV1beta::RbacRoleBinding>]
2110
+ attr_accessor :rbacrolebindings
2111
+
2112
+ def initialize(**args)
2113
+ update!(**args)
2114
+ end
2115
+
2116
+ # Update properties of this object
2117
+ def update!(**args)
2118
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2119
+ @rbacrolebindings = args[:rbacrolebindings] if args.key?(:rbacrolebindings)
2120
+ end
2121
+ end
2122
+
2123
+ # List of Scopes.
2124
+ class ListScopesResponse
2125
+ include Google::Apis::Core::Hashable
2126
+
2127
+ # A token to request the next page of resources from the `ListScopes` method.
2128
+ # The value of an empty string means that there are no more resources to return.
2129
+ # Corresponds to the JSON property `nextPageToken`
2130
+ # @return [String]
2131
+ attr_accessor :next_page_token
2132
+
2133
+ # The list of Scopes
2134
+ # Corresponds to the JSON property `scopes`
2135
+ # @return [Array<Google::Apis::GkehubV1beta::Scope>]
2136
+ attr_accessor :scopes
2137
+
2138
+ def initialize(**args)
2139
+ update!(**args)
2140
+ end
2141
+
2142
+ # Update properties of this object
2143
+ def update!(**args)
2144
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2145
+ @scopes = args[:scopes] if args.key?(:scopes)
2146
+ end
2147
+ end
2148
+
2018
2149
  # A resource that represents Google Cloud Platform location.
2019
2150
  class Location
2020
2151
  include Google::Apis::Core::Hashable
@@ -2062,6 +2193,92 @@ module Google
2062
2193
  end
2063
2194
  end
2064
2195
 
2196
+ # MembershipBinding is a subresource of a Membership, representing what Fleet
2197
+ # Scopes (or other, future Fleet resources) a Membership is bound to.
2198
+ class MembershipBinding
2199
+ include Google::Apis::Core::Hashable
2200
+
2201
+ # Output only. When the membership binding was created.
2202
+ # Corresponds to the JSON property `createTime`
2203
+ # @return [String]
2204
+ attr_accessor :create_time
2205
+
2206
+ # Output only. When the membership binding was deleted.
2207
+ # Corresponds to the JSON property `deleteTime`
2208
+ # @return [String]
2209
+ attr_accessor :delete_time
2210
+
2211
+ # Whether the membershipbinding is Fleet-wide; true means that this Membership
2212
+ # should be bound to all Namespaces in this entire Fleet.
2213
+ # Corresponds to the JSON property `fleet`
2214
+ # @return [Boolean]
2215
+ attr_accessor :fleet
2216
+ alias_method :fleet?, :fleet
2217
+
2218
+ # The resource name for the membershipbinding itself `projects/`project`/
2219
+ # locations/`location`/memberships/`membership`/bindings/`membershipbinding``
2220
+ # Corresponds to the JSON property `name`
2221
+ # @return [String]
2222
+ attr_accessor :name
2223
+
2224
+ # A Workspace resource name in the format `projects/*/locations/*/scopes/*`.
2225
+ # Corresponds to the JSON property `scope`
2226
+ # @return [String]
2227
+ attr_accessor :scope
2228
+
2229
+ # MembershipBindingLifecycleState describes the state of a Binding resource.
2230
+ # Corresponds to the JSON property `state`
2231
+ # @return [Google::Apis::GkehubV1beta::MembershipBindingLifecycleState]
2232
+ attr_accessor :state
2233
+
2234
+ # Output only. Google-generated UUID for this resource. This is unique across
2235
+ # all membershipbinding resources. If a membershipbinding resource is deleted
2236
+ # and another resource with the same name is created, it gets a different uid.
2237
+ # Corresponds to the JSON property `uid`
2238
+ # @return [String]
2239
+ attr_accessor :uid
2240
+
2241
+ # Output only. When the membership binding was last updated.
2242
+ # Corresponds to the JSON property `updateTime`
2243
+ # @return [String]
2244
+ attr_accessor :update_time
2245
+
2246
+ def initialize(**args)
2247
+ update!(**args)
2248
+ end
2249
+
2250
+ # Update properties of this object
2251
+ def update!(**args)
2252
+ @create_time = args[:create_time] if args.key?(:create_time)
2253
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
2254
+ @fleet = args[:fleet] if args.key?(:fleet)
2255
+ @name = args[:name] if args.key?(:name)
2256
+ @scope = args[:scope] if args.key?(:scope)
2257
+ @state = args[:state] if args.key?(:state)
2258
+ @uid = args[:uid] if args.key?(:uid)
2259
+ @update_time = args[:update_time] if args.key?(:update_time)
2260
+ end
2261
+ end
2262
+
2263
+ # MembershipBindingLifecycleState describes the state of a Binding resource.
2264
+ class MembershipBindingLifecycleState
2265
+ include Google::Apis::Core::Hashable
2266
+
2267
+ # Output only. The current state of the MembershipBinding resource.
2268
+ # Corresponds to the JSON property `code`
2269
+ # @return [String]
2270
+ attr_accessor :code
2271
+
2272
+ def initialize(**args)
2273
+ update!(**args)
2274
+ end
2275
+
2276
+ # Update properties of this object
2277
+ def update!(**args)
2278
+ @code = args[:code] if args.key?(:code)
2279
+ end
2280
+ end
2281
+
2065
2282
  # MembershipFeatureSpec contains configuration information for a single
2066
2283
  # Membership.
2067
2284
  class MembershipFeatureSpec
@@ -2274,6 +2491,83 @@ module Google
2274
2491
  end
2275
2492
  end
2276
2493
 
2494
+ # Namespace represents a namespace across the Fleet
2495
+ class Namespace
2496
+ include Google::Apis::Core::Hashable
2497
+
2498
+ # Output only. When the namespace was created.
2499
+ # Corresponds to the JSON property `createTime`
2500
+ # @return [String]
2501
+ attr_accessor :create_time
2502
+
2503
+ # Output only. When the namespace was deleted.
2504
+ # Corresponds to the JSON property `deleteTime`
2505
+ # @return [String]
2506
+ attr_accessor :delete_time
2507
+
2508
+ # The resource name for the namespace `projects/`project`/locations/`location`/
2509
+ # namespaces/`namespace``
2510
+ # Corresponds to the JSON property `name`
2511
+ # @return [String]
2512
+ attr_accessor :name
2513
+
2514
+ # Required. Scope associated with the namespace
2515
+ # Corresponds to the JSON property `scope`
2516
+ # @return [String]
2517
+ attr_accessor :scope
2518
+
2519
+ # NamespaceLifecycleState describes the state of a Namespace resource.
2520
+ # Corresponds to the JSON property `state`
2521
+ # @return [Google::Apis::GkehubV1beta::NamespaceLifecycleState]
2522
+ attr_accessor :state
2523
+
2524
+ # Output only. Google-generated UUID for this resource. This is unique across
2525
+ # all namespace resources. If a namespace resource is deleted and another
2526
+ # resource with the same name is created, it gets a different uid.
2527
+ # Corresponds to the JSON property `uid`
2528
+ # @return [String]
2529
+ attr_accessor :uid
2530
+
2531
+ # Output only. When the namespace was last updated.
2532
+ # Corresponds to the JSON property `updateTime`
2533
+ # @return [String]
2534
+ attr_accessor :update_time
2535
+
2536
+ def initialize(**args)
2537
+ update!(**args)
2538
+ end
2539
+
2540
+ # Update properties of this object
2541
+ def update!(**args)
2542
+ @create_time = args[:create_time] if args.key?(:create_time)
2543
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
2544
+ @name = args[:name] if args.key?(:name)
2545
+ @scope = args[:scope] if args.key?(:scope)
2546
+ @state = args[:state] if args.key?(:state)
2547
+ @uid = args[:uid] if args.key?(:uid)
2548
+ @update_time = args[:update_time] if args.key?(:update_time)
2549
+ end
2550
+ end
2551
+
2552
+ # NamespaceLifecycleState describes the state of a Namespace resource.
2553
+ class NamespaceLifecycleState
2554
+ include Google::Apis::Core::Hashable
2555
+
2556
+ # Output only. The current state of the Namespace resource.
2557
+ # Corresponds to the JSON property `code`
2558
+ # @return [String]
2559
+ attr_accessor :code
2560
+
2561
+ def initialize(**args)
2562
+ update!(**args)
2563
+ end
2564
+
2565
+ # Update properties of this object
2566
+ def update!(**args)
2567
+ @code = args[:code] if args.key?(:code)
2568
+ end
2569
+ end
2570
+
2277
2571
  # This resource represents a long-running operation that is the result of a
2278
2572
  # network API call.
2279
2573
  class Operation
@@ -2526,6 +2820,17 @@ module Google
2526
2820
  # @return [Fixnum]
2527
2821
  attr_accessor :audit_interval_seconds
2528
2822
 
2823
+ # The maximum number of audit violations to be stored in a constraint. If not
2824
+ # set, the internal default (currently 20) will be used.
2825
+ # Corresponds to the JSON property `constraintViolationLimit`
2826
+ # @return [Fixnum]
2827
+ attr_accessor :constraint_violation_limit
2828
+
2829
+ # Map of deployment configs to deployments (“admission”, “audit”, “mutation”).
2830
+ # Corresponds to the JSON property `deploymentConfigs`
2831
+ # @return [Hash<String,Google::Apis::GkehubV1beta::PolicyControllerPolicyControllerDeploymentConfig>]
2832
+ attr_accessor :deployment_configs
2833
+
2529
2834
  # The set of namespaces that are excluded from Policy Controller checks.
2530
2835
  # Namespaces do not need to currently exist on the cluster.
2531
2836
  # Corresponds to the JSON property `exemptableNamespaces`
@@ -2584,6 +2889,8 @@ module Google
2584
2889
  # Update properties of this object
2585
2890
  def update!(**args)
2586
2891
  @audit_interval_seconds = args[:audit_interval_seconds] if args.key?(:audit_interval_seconds)
2892
+ @constraint_violation_limit = args[:constraint_violation_limit] if args.key?(:constraint_violation_limit)
2893
+ @deployment_configs = args[:deployment_configs] if args.key?(:deployment_configs)
2587
2894
  @exemptable_namespaces = args[:exemptable_namespaces] if args.key?(:exemptable_namespaces)
2588
2895
  @install_spec = args[:install_spec] if args.key?(:install_spec)
2589
2896
  @log_denies_enabled = args[:log_denies_enabled] if args.key?(:log_denies_enabled)
@@ -2724,6 +3031,94 @@ module Google
2724
3031
  end
2725
3032
  end
2726
3033
 
3034
+ # Deployment-specific configuration.
3035
+ class PolicyControllerPolicyControllerDeploymentConfig
3036
+ include Google::Apis::Core::Hashable
3037
+
3038
+ # ResourceRequirements describes the compute resource requirements.
3039
+ # Corresponds to the JSON property `containerResources`
3040
+ # @return [Google::Apis::GkehubV1beta::PolicyControllerResourceRequirements]
3041
+ attr_accessor :container_resources
3042
+
3043
+ # Pod anti-affinity enablement.
3044
+ # Corresponds to the JSON property `podAntiAffinity`
3045
+ # @return [Boolean]
3046
+ attr_accessor :pod_anti_affinity
3047
+ alias_method :pod_anti_affinity?, :pod_anti_affinity
3048
+
3049
+ # Pod tolerations of node taints.
3050
+ # Corresponds to the JSON property `podTolerations`
3051
+ # @return [Array<Google::Apis::GkehubV1beta::PolicyControllerToleration>]
3052
+ attr_accessor :pod_tolerations
3053
+
3054
+ # Pod replica count.
3055
+ # Corresponds to the JSON property `replicaCount`
3056
+ # @return [Fixnum]
3057
+ attr_accessor :replica_count
3058
+
3059
+ def initialize(**args)
3060
+ update!(**args)
3061
+ end
3062
+
3063
+ # Update properties of this object
3064
+ def update!(**args)
3065
+ @container_resources = args[:container_resources] if args.key?(:container_resources)
3066
+ @pod_anti_affinity = args[:pod_anti_affinity] if args.key?(:pod_anti_affinity)
3067
+ @pod_tolerations = args[:pod_tolerations] if args.key?(:pod_tolerations)
3068
+ @replica_count = args[:replica_count] if args.key?(:replica_count)
3069
+ end
3070
+ end
3071
+
3072
+ # ResourceList contains container resource requirements.
3073
+ class PolicyControllerResourceList
3074
+ include Google::Apis::Core::Hashable
3075
+
3076
+ # CPU requirement expressed in Kubernetes resource units.
3077
+ # Corresponds to the JSON property `cpu`
3078
+ # @return [String]
3079
+ attr_accessor :cpu
3080
+
3081
+ # Memory requirement expressed in Kubernetes resource units.
3082
+ # Corresponds to the JSON property `memory`
3083
+ # @return [String]
3084
+ attr_accessor :memory
3085
+
3086
+ def initialize(**args)
3087
+ update!(**args)
3088
+ end
3089
+
3090
+ # Update properties of this object
3091
+ def update!(**args)
3092
+ @cpu = args[:cpu] if args.key?(:cpu)
3093
+ @memory = args[:memory] if args.key?(:memory)
3094
+ end
3095
+ end
3096
+
3097
+ # ResourceRequirements describes the compute resource requirements.
3098
+ class PolicyControllerResourceRequirements
3099
+ include Google::Apis::Core::Hashable
3100
+
3101
+ # ResourceList contains container resource requirements.
3102
+ # Corresponds to the JSON property `limits`
3103
+ # @return [Google::Apis::GkehubV1beta::PolicyControllerResourceList]
3104
+ attr_accessor :limits
3105
+
3106
+ # ResourceList contains container resource requirements.
3107
+ # Corresponds to the JSON property `requests`
3108
+ # @return [Google::Apis::GkehubV1beta::PolicyControllerResourceList]
3109
+ attr_accessor :requests
3110
+
3111
+ def initialize(**args)
3112
+ update!(**args)
3113
+ end
3114
+
3115
+ # Update properties of this object
3116
+ def update!(**args)
3117
+ @limits = args[:limits] if args.key?(:limits)
3118
+ @requests = args[:requests] if args.key?(:requests)
3119
+ end
3120
+ end
3121
+
2727
3122
  # The config specifying which default library templates to install.
2728
3123
  class PolicyControllerTemplateLibraryConfig
2729
3124
  include Google::Apis::Core::Hashable
@@ -2744,6 +3139,206 @@ module Google
2744
3139
  end
2745
3140
  end
2746
3141
 
3142
+ # Toleration of a node taint.
3143
+ class PolicyControllerToleration
3144
+ include Google::Apis::Core::Hashable
3145
+
3146
+ # Matches a taint effect.
3147
+ # Corresponds to the JSON property `effect`
3148
+ # @return [String]
3149
+ attr_accessor :effect
3150
+
3151
+ # Matches a taint key (not necessarily unique).
3152
+ # Corresponds to the JSON property `key`
3153
+ # @return [String]
3154
+ attr_accessor :key
3155
+
3156
+ # Matches a taint operator.
3157
+ # Corresponds to the JSON property `operator`
3158
+ # @return [String]
3159
+ attr_accessor :operator
3160
+
3161
+ # Matches a taint value.
3162
+ # Corresponds to the JSON property `value`
3163
+ # @return [String]
3164
+ attr_accessor :value
3165
+
3166
+ def initialize(**args)
3167
+ update!(**args)
3168
+ end
3169
+
3170
+ # Update properties of this object
3171
+ def update!(**args)
3172
+ @effect = args[:effect] if args.key?(:effect)
3173
+ @key = args[:key] if args.key?(:key)
3174
+ @operator = args[:operator] if args.key?(:operator)
3175
+ @value = args[:value] if args.key?(:value)
3176
+ end
3177
+ end
3178
+
3179
+ # RBACRoleBinding represents a rbacrolebinding across the Fleet
3180
+ class RbacRoleBinding
3181
+ include Google::Apis::Core::Hashable
3182
+
3183
+ # Output only. When the rbacrolebinding was created.
3184
+ # Corresponds to the JSON property `createTime`
3185
+ # @return [String]
3186
+ attr_accessor :create_time
3187
+
3188
+ # Output only. When the rbacrolebinding was deleted.
3189
+ # Corresponds to the JSON property `deleteTime`
3190
+ # @return [String]
3191
+ attr_accessor :delete_time
3192
+
3193
+ # group is the group, as seen by the kubernetes cluster.
3194
+ # Corresponds to the JSON property `group`
3195
+ # @return [String]
3196
+ attr_accessor :group
3197
+
3198
+ # The resource name for the rbacrolebinding `projects/`project`/locations/`
3199
+ # location`/namespaces/`namespace`/rbacrolebindings/`rbacrolebinding``
3200
+ # Corresponds to the JSON property `name`
3201
+ # @return [String]
3202
+ attr_accessor :name
3203
+
3204
+ # Role is the type for Kubernetes roles
3205
+ # Corresponds to the JSON property `role`
3206
+ # @return [Google::Apis::GkehubV1beta::Role]
3207
+ attr_accessor :role
3208
+
3209
+ # RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding
3210
+ # resource.
3211
+ # Corresponds to the JSON property `state`
3212
+ # @return [Google::Apis::GkehubV1beta::RbacRoleBindingLifecycleState]
3213
+ attr_accessor :state
3214
+
3215
+ # Output only. Google-generated UUID for this resource. This is unique across
3216
+ # all rbacrolebinding resources. If a rbacrolebinding resource is deleted and
3217
+ # another resource with the same name is created, it gets a different uid.
3218
+ # Corresponds to the JSON property `uid`
3219
+ # @return [String]
3220
+ attr_accessor :uid
3221
+
3222
+ # Output only. When the rbacrolebinding was last updated.
3223
+ # Corresponds to the JSON property `updateTime`
3224
+ # @return [String]
3225
+ attr_accessor :update_time
3226
+
3227
+ # user is the name of the user as seen by the kubernetes cluster, example "alice"
3228
+ # or "alice@domain.tld"
3229
+ # Corresponds to the JSON property `user`
3230
+ # @return [String]
3231
+ attr_accessor :user
3232
+
3233
+ def initialize(**args)
3234
+ update!(**args)
3235
+ end
3236
+
3237
+ # Update properties of this object
3238
+ def update!(**args)
3239
+ @create_time = args[:create_time] if args.key?(:create_time)
3240
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
3241
+ @group = args[:group] if args.key?(:group)
3242
+ @name = args[:name] if args.key?(:name)
3243
+ @role = args[:role] if args.key?(:role)
3244
+ @state = args[:state] if args.key?(:state)
3245
+ @uid = args[:uid] if args.key?(:uid)
3246
+ @update_time = args[:update_time] if args.key?(:update_time)
3247
+ @user = args[:user] if args.key?(:user)
3248
+ end
3249
+ end
3250
+
3251
+ # RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding
3252
+ # resource.
3253
+ class RbacRoleBindingLifecycleState
3254
+ include Google::Apis::Core::Hashable
3255
+
3256
+ # Output only. The current state of the rbacrolebinding resource.
3257
+ # Corresponds to the JSON property `code`
3258
+ # @return [String]
3259
+ attr_accessor :code
3260
+
3261
+ def initialize(**args)
3262
+ update!(**args)
3263
+ end
3264
+
3265
+ # Update properties of this object
3266
+ def update!(**args)
3267
+ @code = args[:code] if args.key?(:code)
3268
+ end
3269
+ end
3270
+
3271
+ # Role is the type for Kubernetes roles
3272
+ class Role
3273
+ include Google::Apis::Core::Hashable
3274
+
3275
+ # predefined_role is the Kubernetes default role to use
3276
+ # Corresponds to the JSON property `predefinedRole`
3277
+ # @return [String]
3278
+ attr_accessor :predefined_role
3279
+
3280
+ def initialize(**args)
3281
+ update!(**args)
3282
+ end
3283
+
3284
+ # Update properties of this object
3285
+ def update!(**args)
3286
+ @predefined_role = args[:predefined_role] if args.key?(:predefined_role)
3287
+ end
3288
+ end
3289
+
3290
+ # Scope represents a Scope in a Fleet.
3291
+ class Scope
3292
+ include Google::Apis::Core::Hashable
3293
+
3294
+ # Output only. When the scope was created.
3295
+ # Corresponds to the JSON property `createTime`
3296
+ # @return [String]
3297
+ attr_accessor :create_time
3298
+
3299
+ # Output only. When the scope was deleted.
3300
+ # Corresponds to the JSON property `deleteTime`
3301
+ # @return [String]
3302
+ attr_accessor :delete_time
3303
+
3304
+ # The resource name for the scope `projects/`project`/locations/`location`/
3305
+ # scopes/`scope``
3306
+ # Corresponds to the JSON property `name`
3307
+ # @return [String]
3308
+ attr_accessor :name
3309
+
3310
+ # ScopeLifecycleState describes the state of a Scope resource.
3311
+ # Corresponds to the JSON property `state`
3312
+ # @return [Google::Apis::GkehubV1beta::ScopeLifecycleState]
3313
+ attr_accessor :state
3314
+
3315
+ # Output only. Google-generated UUID for this resource. This is unique across
3316
+ # all scope resources. If a scope resource is deleted and another resource with
3317
+ # the same name is created, it gets a different uid.
3318
+ # Corresponds to the JSON property `uid`
3319
+ # @return [String]
3320
+ attr_accessor :uid
3321
+
3322
+ # Output only. When the scope was last updated.
3323
+ # Corresponds to the JSON property `updateTime`
3324
+ # @return [String]
3325
+ attr_accessor :update_time
3326
+
3327
+ def initialize(**args)
3328
+ update!(**args)
3329
+ end
3330
+
3331
+ # Update properties of this object
3332
+ def update!(**args)
3333
+ @create_time = args[:create_time] if args.key?(:create_time)
3334
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
3335
+ @name = args[:name] if args.key?(:name)
3336
+ @state = args[:state] if args.key?(:state)
3337
+ @uid = args[:uid] if args.key?(:uid)
3338
+ @update_time = args[:update_time] if args.key?(:update_time)
3339
+ end
3340
+ end
3341
+
2747
3342
  # ScopeFeatureSpec contains feature specs for a fleet scope.
2748
3343
  class ScopeFeatureSpec
2749
3344
  include Google::Apis::Core::Hashable
@@ -2778,6 +3373,25 @@ module Google
2778
3373
  end
2779
3374
  end
2780
3375
 
3376
+ # ScopeLifecycleState describes the state of a Scope resource.
3377
+ class ScopeLifecycleState
3378
+ include Google::Apis::Core::Hashable
3379
+
3380
+ # Output only. The current state of the scope resource.
3381
+ # Corresponds to the JSON property `code`
3382
+ # @return [String]
3383
+ attr_accessor :code
3384
+
3385
+ def initialize(**args)
3386
+ update!(**args)
3387
+ end
3388
+
3389
+ # Update properties of this object
3390
+ def update!(**args)
3391
+ @code = args[:code] if args.key?(:code)
3392
+ end
3393
+ end
3394
+
2781
3395
  # Status of control plane management.
2782
3396
  class ServiceMeshControlPlaneManagement
2783
3397
  include Google::Apis::Core::Hashable