Class: Google::Apis::IamV1::Rule
- Inherits:
-
Object
- Object
- Google::Apis::IamV1::Rule
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/iam_v1/classes.rb,
generated/google/apis/iam_v1/representations.rb,
generated/google/apis/iam_v1/representations.rb
Overview
A rule to be applied in a Policy.
Instance Attribute Summary collapse
-
#action ⇒ String
Required Corresponds to the JSON property
action
. -
#conditions ⇒ Array<Google::Apis::IamV1::Condition>
Additional restrictions that must be met Corresponds to the JSON property
conditions
. -
#description ⇒ String
Human-readable description of the rule.
-
#in ⇒ Array<String>
The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.
-
#log_config ⇒ Array<Google::Apis::IamV1::LogConfig>
The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.
-
#not_in ⇒ Array<String>
The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of entries.
-
#permissions ⇒ Array<String>
A permission is a string of form '..' (e.g., 'storage.buckets.list').
Instance Method Summary collapse
-
#initialize(**args) ⇒ Rule
constructor
A new instance of Rule.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Rule
Returns a new instance of Rule.
437 438 439 |
# File 'generated/google/apis/iam_v1/classes.rb', line 437 def initialize(**args) update!(**args) end |
Instance Attribute Details
#action ⇒ String
Required
Corresponds to the JSON property action
412 413 414 |
# File 'generated/google/apis/iam_v1/classes.rb', line 412 def action @action end |
#conditions ⇒ Array<Google::Apis::IamV1::Condition>
Additional restrictions that must be met
Corresponds to the JSON property conditions
429 430 431 |
# File 'generated/google/apis/iam_v1/classes.rb', line 429 def conditions @conditions end |
#description ⇒ String
Human-readable description of the rule.
Corresponds to the JSON property description
400 401 402 |
# File 'generated/google/apis/iam_v1/classes.rb', line 400 def description @description end |
#in ⇒ Array<String>
The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.
Corresponds to the JSON property in
417 418 419 |
# File 'generated/google/apis/iam_v1/classes.rb', line 417 def in @in end |
#log_config ⇒ Array<Google::Apis::IamV1::LogConfig>
The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
that match the LOG action.
Corresponds to the JSON property logConfig
435 436 437 |
# File 'generated/google/apis/iam_v1/classes.rb', line 435 def log_config @log_config end |
#not_in ⇒ Array<String>
The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of
entries. The format for in and not_in entries is the same as for members in a
Binding (see google/iam/v1/policy.proto).
Corresponds to the JSON property notIn
424 425 426 |
# File 'generated/google/apis/iam_v1/classes.rb', line 424 def not_in @not_in end |
#permissions ⇒ Array<String>
A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value
of '' matches all permissions, and a verb part of '' (e.g., 'storage.buckets.
*') matches all verbs.
Corresponds to the JSON property permissions
407 408 409 |
# File 'generated/google/apis/iam_v1/classes.rb', line 407 def @permissions end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
442 443 444 445 446 447 448 449 450 |
# File 'generated/google/apis/iam_v1/classes.rb', line 442 def update!(**args) @description = args[:description] if args.key?(:description) @permissions = args[:permissions] if args.key?(:permissions) @action = args[:action] if args.key?(:action) @in = args[:in] if args.key?(:in) @not_in = args[:not_in] if args.key?(:not_in) @conditions = args[:conditions] if args.key?(:conditions) @log_config = args[:log_config] if args.key?(:log_config) end |