Class: Google::Apis::AdminDirectoryV1::RoleAssignment

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RoleAssignment

Returns a new instance of RoleAssignment.



4017
4018
4019
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4017

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#assigned_toString

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

Returns:

  • (String)


3950
3951
3952
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 3950

def assigned_to
  @assigned_to
end

#assignee_typeString

Output only. The type of the assignee (USER or GROUP). Corresponds to the JSON property assigneeType

Returns:

  • (String)


3955
3956
3957
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 3955

def assignee_type
  @assignee_type
end

#conditionString

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. Additional conditions related to Locked Groups are available under Open Beta. - 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

Returns:

  • (String)


3984
3985
3986
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 3984

def condition
  @condition
end

#etagString

ETag of the resource. Corresponds to the JSON property etag

Returns:

  • (String)


3989
3990
3991
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 3989

def etag
  @etag
end

#kindString

The type of the API resource. This is always admin#directory#roleAssignment. Corresponds to the JSON property kind

Returns:

  • (String)


3994
3995
3996
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 3994

def kind
  @kind
end

#org_unit_idString

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

Returns:

  • (String)


4000
4001
4002
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4000

def org_unit_id
  @org_unit_id
end

#role_assignment_idFixnum

ID of this roleAssignment. Corresponds to the JSON property roleAssignmentId

Returns:

  • (Fixnum)


4005
4006
4007
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4005

def role_assignment_id
  @role_assignment_id
end

#role_idFixnum

The ID of the role that is assigned. Corresponds to the JSON property roleId

Returns:

  • (Fixnum)


4010
4011
4012
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4010

def role_id
  @role_id
end

#scope_typeString

The scope in which this role is assigned. Corresponds to the JSON property scopeType

Returns:

  • (String)


4015
4016
4017
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4015

def scope_type
  @scope_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
# File 'lib/google/apis/admin_directory_v1/classes.rb', line 4022

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