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.
4175 4176 4177 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4175 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
4109 4110 4111 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4109 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
4114 4115 4116 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4114 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
4142 4143 4144 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4142 def condition @condition end |
#etag ⇒ String
ETag of the resource.
Corresponds to the JSON property etag
4147 4148 4149 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4147 def etag @etag end |
#kind ⇒ String
The type of the API resource. This is always admin#directory#roleAssignment.
Corresponds to the JSON property kind
4152 4153 4154 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4152 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
4158 4159 4160 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4158 def org_unit_id @org_unit_id end |
#role_assignment_id ⇒ Fixnum
ID of this roleAssignment.
Corresponds to the JSON property roleAssignmentId
4163 4164 4165 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4163 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
4168 4169 4170 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4168 def role_id @role_id end |
#scope_type ⇒ String
The scope in which this role is assigned.
Corresponds to the JSON property scopeType
4173 4174 4175 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4173 def scope_type @scope_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 |
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4180 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 |