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.



369
370
371
# File 'lib/google/apis/iam_v2beta/classes.rb', line 369

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


308
309
310
# File 'lib/google/apis/iam_v2beta/classes.rb', line 308

def annotations
  @annotations
end

#create_timeString

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

Returns:

  • (String)


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

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)


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

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)


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

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)


333
334
335
# File 'lib/google/apis/iam_v2beta/classes.rb', line 333

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)


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

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)


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

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



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

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)


362
363
364
# File 'lib/google/apis/iam_v2beta/classes.rb', line 362

def uid
  @uid
end

#update_timeString

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

Returns:

  • (String)


367
368
369
# File 'lib/google/apis/iam_v2beta/classes.rb', line 367

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



374
375
376
377
378
379
380
381
382
383
384
385
# File 'lib/google/apis/iam_v2beta/classes.rb', line 374

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