Class: Google::Apis::PolicytroubleshooterV3::GoogleIamV2Policy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/policytroubleshooter_v3/classes.rb,
lib/google/apis/policytroubleshooter_v3/representations.rb,
lib/google/apis/policytroubleshooter_v3/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.



1446
1447
1448
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1446

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


1385
1386
1387
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1385

def annotations
  @annotations
end

#create_timeString

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

Returns:

  • (String)


1390
1391
1392
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1390

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)


1396
1397
1398
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1396

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)


1402
1403
1404
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1402

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)


1410
1411
1412
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1410

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)


1415
1416
1417
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1415

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)


1427
1428
1429
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1427

def name
  @name
end

#rulesArray<Google::Apis::PolicytroubleshooterV3::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



1433
1434
1435
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1433

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)


1439
1440
1441
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1439

def uid
  @uid
end

#update_timeString

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

Returns:

  • (String)


1444
1445
1446
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1444

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
# File 'lib/google/apis/policytroubleshooter_v3/classes.rb', line 1451

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