class Google::Apis::RuntimeconfigV1beta1::Policy
Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google
groups, Google
domains, and service accounts. A `role` is a named list of permissions defined by IAM. Example ` “bindings”: [ ` “role”: “roles/owner”, “members”: [ “user:mike@example.com”, “group:admins@example.com”, “domain:google.com”, “serviceAccount:my-other-app@appspot.gserviceaccount.com”, ] `, ` “role”: “roles/viewer”, “members”: [“user:sean@example.com”] ` ] ` For a description of IAM and its features, see the [IAM developer's guide](cloud.google.com/iam).
Attributes
Associates a list of `members` to a `role`. `bindings` with no members will result in an error. Corresponds to the JSON property `bindings` @return [Array<Google::Apis::RuntimeconfigV1beta1::Binding>]
`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. Corresponds to the JSON property `etag` NOTE: Values are automatically base64 encoded/decoded in the client library. @return [String]
Version of the `Policy`. The default version is 0. Corresponds to the JSON property `version` @return [Fixnum]
Public Class Methods
# File lib/rcloadenv/google/apis/runtimeconfig_v1beta1/classes.rb, line 630 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/rcloadenv/google/apis/runtimeconfig_v1beta1/classes.rb, line 635 def update!(**args) @etag = args[:etag] if args.key?(:etag) @version = args[:version] if args.key?(:version) @bindings = args[:bindings] if args.key?(:bindings) end