Class: Google::Apis::IamV2beta::GoogleIamV2betaPolicy

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

Overview

Data for an IAM policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleIamV2betaPolicy

Returns a new instance of GoogleIamV2betaPolicy.



483
484
485
# File 'lib/google/apis/iam_v2beta/classes.rb', line 483

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

Instance Attribute Details

#annotationsHash<String,String>

A key-value map to store arbitrary metadata for the Policy. Keys can be up to 63 characters. Values can be up to 255 characters. Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


422
423
424
# File 'lib/google/apis/iam_v2beta/classes.rb', line 422

def annotations
  @annotations
end

#create_timeString

Output only. The time when the Policy was created. Corresponds to the JSON property createTime

Returns:

  • (String)


427
428
429
# File 'lib/google/apis/iam_v2beta/classes.rb', line 427

def create_time
  @create_time
end

#delete_timeString

Output only. The time when the Policy was deleted. Empty if the policy is not deleted. Corresponds to the JSON property deleteTime

Returns:

  • (String)


433
434
435
# File 'lib/google/apis/iam_v2beta/classes.rb', line 433

def delete_time
  @delete_time
end

#display_nameString

A user-specified description of the Policy. This value can be up to 63 characters. Corresponds to the JSON property displayName

Returns:

  • (String)


439
440
441
# File 'lib/google/apis/iam_v2beta/classes.rb', line 439

def display_name
  @display_name
end

#etagString

An opaque tag that identifies the current version of the Policy. IAM uses this value to help manage concurrent updates, so they do not cause one update to be overwritten by another. If this field is present in a CreatePolicyRequest, the value is ignored. Corresponds to the JSON property etag

Returns:

  • (String)


447
448
449
# File 'lib/google/apis/iam_v2beta/classes.rb', line 447

def etag
  @etag
end

#kindString

Output only. The kind of the Policy. Always contains the value DenyPolicy. Corresponds to the JSON property kind

Returns:

  • (String)


452
453
454
# File 'lib/google/apis/iam_v2beta/classes.rb', line 452

def kind
  @kind
end

#nameString

Immutable. The resource name of the Policy, which must be unique. Format: policies/attachment_point/denypolicies/policy_id`The attachment point is identified by its URL-encoded full resource name, which means that the forward- slash character,/, must be written as%2F. For example,policies/ cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my- deny-policy. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. Corresponds to the JSON propertyname`

Returns:

  • (String)


464
465
466
# File 'lib/google/apis/iam_v2beta/classes.rb', line 464

def name
  @name
end

#rulesArray<Google::Apis::IamV2beta::GoogleIamV2betaPolicyRule>

A list of rules that specify the behavior of the Policy. All of the rules should be of the kind specified in the Policy. Corresponds to the JSON property rules



470
471
472
# File 'lib/google/apis/iam_v2beta/classes.rb', line 470

def rules
  @rules
end

#uidString

Immutable. The globally unique ID of the Policy. Assigned automatically when the Policy is created. Corresponds to the JSON property uid

Returns:

  • (String)


476
477
478
# File 'lib/google/apis/iam_v2beta/classes.rb', line 476

def uid
  @uid
end

#update_timeString

Output only. The time when the Policy was last updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


481
482
483
# File 'lib/google/apis/iam_v2beta/classes.rb', line 481

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



488
489
490
491
492
493
494
495
496
497
498
499
# File 'lib/google/apis/iam_v2beta/classes.rb', line 488

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @create_time = args[:create_time] if args.key?(:create_time)
  @delete_time = args[:delete_time] if args.key?(:delete_time)
  @display_name = args[:display_name] if args.key?(:display_name)
  @etag = args[:etag] if args.key?(:etag)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @rules = args[:rules] if args.key?(:rules)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end