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.



450
451
452
# File 'lib/google/apis/iam_v2/classes.rb', line 450

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


389
390
391
# File 'lib/google/apis/iam_v2/classes.rb', line 389

def annotations
  @annotations
end

#create_timeString

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

Returns:

  • (String)


394
395
396
# File 'lib/google/apis/iam_v2/classes.rb', line 394

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)


400
401
402
# File 'lib/google/apis/iam_v2/classes.rb', line 400

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)


406
407
408
# File 'lib/google/apis/iam_v2/classes.rb', line 406

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)


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

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)


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

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)


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

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



437
438
439
# File 'lib/google/apis/iam_v2/classes.rb', line 437

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)


443
444
445
# File 'lib/google/apis/iam_v2/classes.rb', line 443

def uid
  @uid
end

#update_timeString

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

Returns:

  • (String)


448
449
450
# File 'lib/google/apis/iam_v2/classes.rb', line 448

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



455
456
457
458
459
460
461
462
463
464
465
466
# File 'lib/google/apis/iam_v2/classes.rb', line 455

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