Class: Google::Apis::AdminDirectoryV1::RoleAssignment
- Inherits:
-
Object
- Object
- Google::Apis::AdminDirectoryV1::RoleAssignment
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/admin_directory_v1/classes.rb,
lib/google/apis/admin_directory_v1/representations.rb,
lib/google/apis/admin_directory_v1/representations.rb
Overview
Defines an assignment of a role.
Instance Attribute Summary collapse
-
#assigned_to ⇒ String
The unique ID of the entity this role is assigned to—either the
user_idof a user, thegroup_idof a group, or theuniqueIdof a service account as defined in Identity and Access Management (IAM). -
#assignee_type ⇒ String
Output only.
-
#condition ⇒ String
Optional.
-
#etag ⇒ String
ETag of the resource.
-
#kind ⇒ String
The type of the API resource.
-
#org_unit_id ⇒ String
If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to.
-
#role_assignment_id ⇒ Fixnum
ID of this roleAssignment.
-
#role_id ⇒ Fixnum
The ID of the role that is assigned.
-
#scope_type ⇒ String
The scope in which this role is assigned.
Instance Method Summary collapse
-
#initialize(**args) ⇒ RoleAssignment
constructor
A new instance of RoleAssignment.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ RoleAssignment
Returns a new instance of RoleAssignment.
4141 4142 4143 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4141 def initialize(**args) update!(**args) end |
Instance Attribute Details
#assigned_to ⇒ String
The unique ID of the entity this role is assigned to—either the user_id of a
user, the group_id of a group, or the uniqueId of a service account as
defined in Identity and Access Management (IAM).
Corresponds to the JSON property assignedTo
4075 4076 4077 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4075 def assigned_to @assigned_to end |
#assignee_type ⇒ String
Output only. The type of the assignee (USER or GROUP).
Corresponds to the JSON property assigneeType
4080 4081 4082 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4080 def assignee_type @assignee_type end |
#condition ⇒ String
Optional. The condition associated with this role assignment. Note: Feature is
available to Enterprise Standard, Enterprise Plus, Google Workspace for
Education Plus and Cloud Identity Premium customers. A RoleAssignment with
the condition field set will only take effect when the resource being
accessed meets the condition. If condition is empty, the role (role_id) is
applied to the actor (assigned_to) at the scope (scope_type)
unconditionally. Currently, the following conditions are supported: - To make
the RoleAssignment only applicable to Security Groups: api.getAttribute('cloudidentity.
googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.
type == 'cloudidentity.googleapis.com/Group' - To make the RoleAssignment
not applicable to Security Groups: !api.getAttribute('cloudidentity.googleapis.com/groups.
labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.
googleapis.com/Group' Currently, the condition strings have to be verbatim
and they only work with the following pre-built administrator roles: - Groups Editor - Groups Reader The
condition follows Cloud IAM condition syntax. - To make the RoleAssignment not applicable to
Locked Groups: !
api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['
groups.locked']) && resource.type == 'cloudidentity.googleapis.com/Group'
This condition can also be used in conjunction with a Security-related
condition.
Corresponds to the JSON property condition
4108 4109 4110 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4108 def condition @condition end |
#etag ⇒ String
ETag of the resource.
Corresponds to the JSON property etag
4113 4114 4115 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4113 def etag @etag end |
#kind ⇒ String
The type of the API resource. This is always admin#directory#roleAssignment.
Corresponds to the JSON property kind
4118 4119 4120 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4118 def kind @kind end |
#org_unit_id ⇒ String
If the role is restricted to an organization unit, this contains the ID for
the organization unit the exercise of this role is restricted to.
Corresponds to the JSON property orgUnitId
4124 4125 4126 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4124 def org_unit_id @org_unit_id end |
#role_assignment_id ⇒ Fixnum
ID of this roleAssignment.
Corresponds to the JSON property roleAssignmentId
4129 4130 4131 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4129 def role_assignment_id @role_assignment_id end |
#role_id ⇒ Fixnum
The ID of the role that is assigned.
Corresponds to the JSON property roleId
4134 4135 4136 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4134 def role_id @role_id end |
#scope_type ⇒ String
The scope in which this role is assigned.
Corresponds to the JSON property scopeType
4139 4140 4141 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4139 def scope_type @scope_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4146 def update!(**args) @assigned_to = args[:assigned_to] if args.key?(:assigned_to) @assignee_type = args[:assignee_type] if args.key?(:assignee_type) @condition = args[:condition] if args.key?(:condition) @etag = args[:etag] if args.key?(:etag) @kind = args[:kind] if args.key?(:kind) @org_unit_id = args[:org_unit_id] if args.key?(:org_unit_id) @role_assignment_id = args[:role_assignment_id] if args.key?(:role_assignment_id) @role_id = args[:role_id] if args.key?(:role_id) @scope_type = args[:scope_type] if args.key?(:scope_type) end |