Class: Google::Apis::PubsubV1beta2::Policy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable
Defined in:
generated/google/apis/pubsub_v1beta2/classes.rb,
generated/google/apis/pubsub_v1beta2/representations.rb,
generated/google/apis/pubsub_v1beta2/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Policy

Returns a new instance of Policy



83
84
85
# File 'generated/google/apis/pubsub_v1beta2/classes.rb', line 83

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

Instance Attribute Details

#bindingsArray<Google::Apis::PubsubV1beta2::Binding>

Associates a list of members to a role. Multiple bindings must not be specified for the same role. bindings with no members will result in an error. Corresponds to the JSON property bindings



76
77
78
# File 'generated/google/apis/pubsub_v1beta2/classes.rb', line 76

def bindings
  @bindings
end

#etagString

Can be used to perform a read-modify-write. Corresponds to the JSON property etag

Returns:

  • (String)


81
82
83
# File 'generated/google/apis/pubsub_v1beta2/classes.rb', line 81

def etag
  @etag
end

#versionFixnum

Version of the Policy. The default version is 0. Corresponds to the JSON property version

Returns:

  • (Fixnum)


69
70
71
# File 'generated/google/apis/pubsub_v1beta2/classes.rb', line 69

def version
  @version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



88
89
90
91
92
# File 'generated/google/apis/pubsub_v1beta2/classes.rb', line 88

def update!(**args)
  @version = args[:version] unless args[:version].nil?
  @bindings = args[:bindings] unless args[:bindings].nil?
  @etag = args[:etag] unless args[:etag].nil?
end