Class: Google::Apis::IamV2::GoogleIamV2Policy

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

Overview

Data for an IAM policy.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleIamV2Policy

Returns a new instance of GoogleIamV2Policy.



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

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>)


415
416
417
# File 'lib/google/apis/iam_v2/classes.rb', line 415

def annotations
  @annotations
end

#create_timeString

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

Returns:

  • (String)


420
421
422
# File 'lib/google/apis/iam_v2/classes.rb', line 420

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)


426
427
428
# File 'lib/google/apis/iam_v2/classes.rb', line 426

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)


432
433
434
# File 'lib/google/apis/iam_v2/classes.rb', line 432

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)


440
441
442
# File 'lib/google/apis/iam_v2/classes.rb', line 440

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)


445
446
447
# File 'lib/google/apis/iam_v2/classes.rb', line 445

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)


457
458
459
# File 'lib/google/apis/iam_v2/classes.rb', line 457

def name
  @name
end

#rulesArray<Google::Apis::IamV2::GoogleIamV2PolicyRule>

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



463
464
465
# File 'lib/google/apis/iam_v2/classes.rb', line 463

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)


469
470
471
# File 'lib/google/apis/iam_v2/classes.rb', line 469

def uid
  @uid
end

#update_timeString

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

Returns:

  • (String)


474
475
476
# File 'lib/google/apis/iam_v2/classes.rb', line 474

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



481
482
483
484
485
486
487
488
489
490
491
492
# File 'lib/google/apis/iam_v2/classes.rb', line 481

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