Class: Google::Apis::StorageV1::Policy

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

Overview

A bucket/object IAM policy.

Defined Under Namespace

Classes: Binding

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Policy

Returns a new instance of Policy.


1869
1870
1871
# File 'generated/google/apis/storage_v1/classes.rb', line 1869

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

Instance Attribute Details

#bindingsArray<Google::Apis::StorageV1::Policy::Binding>

An association between a role, which comes with a set of permissions, and members who may assume that role. Corresponds to the JSON property bindings


1840
1841
1842
# File 'generated/google/apis/storage_v1/classes.rb', line 1840

def bindings
  @bindings
end

#etagString

HTTP 1.1 Entity tag for the policy. Corresponds to the JSON property etag NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)

1846
1847
1848
# File 'generated/google/apis/storage_v1/classes.rb', line 1846

def etag
  @etag
end

#kindString

The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. Corresponds to the JSON property kind

Returns:

  • (String)

1852
1853
1854
# File 'generated/google/apis/storage_v1/classes.rb', line 1852

def kind
  @kind
end

#resource_idString

The ID of the resource to which this policy belongs. Will be of the form projects//buckets/bucket for buckets, and projects//buckets/bucket/objects/ object for objects. A specific generation may be specified by appending # generationNumber to the end of the object name, e.g. projects/_/buckets/my- bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. Corresponds to the JSON property resourceId

Returns:

  • (String)

1862
1863
1864
# File 'generated/google/apis/storage_v1/classes.rb', line 1862

def resource_id
  @resource_id
end

#versionFixnum

The IAM policy format version. Corresponds to the JSON property version

Returns:

  • (Fixnum)

1867
1868
1869
# File 'generated/google/apis/storage_v1/classes.rb', line 1867

def version
  @version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


1874
1875
1876
1877
1878
1879
1880
# File 'generated/google/apis/storage_v1/classes.rb', line 1874

def update!(**args)
  @bindings = args[:bindings] if args.key?(:bindings)
  @etag = args[:etag] if args.key?(:etag)
  @kind = args[:kind] if args.key?(:kind)
  @resource_id = args[:resource_id] if args.key?(:resource_id)
  @version = args[:version] if args.key?(:version)
end