Class: Google::Apis::DatafusionV1beta1::IamPolicy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/datafusion_v1beta1/classes.rb,
lib/google/apis/datafusion_v1beta1/representations.rb,
lib/google/apis/datafusion_v1beta1/representations.rb

Overview

IAMPolicy encapsulates the IAM policy name, definition and status of policy fetching.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ IamPolicy

Returns a new instance of IamPolicy.



588
589
590
# File 'lib/google/apis/datafusion_v1beta1/classes.rb', line 588

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#policyGoogle::Apis::DatafusionV1beta1::Policy

An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains ( such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation. JSON example: ` " bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", " serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": " roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00: 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` YAML example: bindings: - members: - user:mike@example.com - group:admins@ example.com - domain:google.com - serviceAccount:my-project-id@appspot. gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation. Corresponds to the JSON property policy



576
577
578
# File 'lib/google/apis/datafusion_v1beta1/classes.rb', line 576

def policy
  @policy
end

#statusGoogle::Apis::DatafusionV1beta1::Status

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Corresponds to the JSON property status



586
587
588
# File 'lib/google/apis/datafusion_v1beta1/classes.rb', line 586

def status
  @status
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



593
594
595
596
# File 'lib/google/apis/datafusion_v1beta1/classes.rb', line 593

def update!(**args)
  @policy = args[:policy] if args.key?(:policy)
  @status = args[:status] if args.key?(:status)
end