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.



356
357
358
# File 'lib/google/apis/iam_v2beta/classes.rb', line 356

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


295
296
297
# File 'lib/google/apis/iam_v2beta/classes.rb', line 295

def annotations
  @annotations
end

#create_timeString

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

Returns:

  • (String)


300
301
302
# File 'lib/google/apis/iam_v2beta/classes.rb', line 300

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)


306
307
308
# File 'lib/google/apis/iam_v2beta/classes.rb', line 306

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)


312
313
314
# File 'lib/google/apis/iam_v2beta/classes.rb', line 312

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 CreatePolicy request, the value is ignored. Corresponds to the JSON property etag

Returns:

  • (String)


320
321
322
# File 'lib/google/apis/iam_v2beta/classes.rb', line 320

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)


325
326
327
# File 'lib/google/apis/iam_v2beta/classes.rb', line 325

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)


337
338
339
# File 'lib/google/apis/iam_v2beta/classes.rb', line 337

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



343
344
345
# File 'lib/google/apis/iam_v2beta/classes.rb', line 343

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)


349
350
351
# File 'lib/google/apis/iam_v2beta/classes.rb', line 349

def uid
  @uid
end

#update_timeString

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

Returns:

  • (String)


354
355
356
# File 'lib/google/apis/iam_v2beta/classes.rb', line 354

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



361
362
363
364
365
366
367
368
369
370
371
372
# File 'lib/google/apis/iam_v2beta/classes.rb', line 361

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