Class: MicrosoftGraph::Models::UnifiedRoleAssignmentScheduleRequest

Inherits:
Request
  • Object
show all
Includes:
MicrosoftKiotaAbstractions::Parsable
Defined in:
lib/models/unified_role_assignment_schedule_request.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Request

#approval_id, #approval_id=, #completed_date_time, #completed_date_time=, #created_by, #created_by=, #created_date_time, #created_date_time=, #custom_data, #custom_data=, #status, #status=

Methods inherited from Entity

#additional_data, #additional_data=, #id, #id=, #odata_type, #odata_type=

Constructor Details

#initializeObject

Instantiates a new unifiedRoleAssignmentScheduleRequest and sets the default values.



121
122
123
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 121

def initialize()
    super
end

Class Method Details

.create_from_discriminator_value(parse_node) ⇒ Object

Creates a new instance of the appropriate class based on discriminator value

Parameters:

  • parse_node

    The parse node to use to read the discriminator value and create the object

Returns:

  • a unified_role_assignment_schedule_request

Raises:

  • (StandardError)


129
130
131
132
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 129

def self.create_from_discriminator_value(parse_node)
    raise StandardError, 'parse_node cannot be null' if parse_node.nil?
    return UnifiedRoleAssignmentScheduleRequest.new
end

Instance Method Details

#actionObject

Gets the action property value. Represents the type of the operation on the role assignment request. The possible values are: adminAssign, adminUpdate, adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, unknownFutureValue. adminAssign: For administrators to assign roles to principals.adminRemove: For administrators to remove principals from roles. adminUpdate: For administrators to change existing role assignments.adminExtend: For administrators to extend expiring assignments.adminRenew: For administrators to renew expired assignments.selfActivate: For principals to activate their assignments.selfDeactivate: For principals to deactivate their active assignments.selfExtend: For principals to request to extend their expiring assignments.selfRenew: For principals to request to renew their expired assignments.

Returns:

  • a unified_role_schedule_request_actions



61
62
63
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 61

def action
    return @action
end

#action=(value) ⇒ Object

Sets the action property value. Represents the type of the operation on the role assignment request. The possible values are: adminAssign, adminUpdate, adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, unknownFutureValue. adminAssign: For administrators to assign roles to principals.adminRemove: For administrators to remove principals from roles. adminUpdate: For administrators to change existing role assignments.adminExtend: For administrators to extend expiring assignments.adminRenew: For administrators to renew expired assignments.selfActivate: For principals to activate their assignments.selfDeactivate: For principals to deactivate their active assignments.selfExtend: For principals to request to extend their expiring assignments.selfRenew: For principals to request to renew their expired assignments.

Parameters:

  • value

    Value to set for the action property.

Returns:

  • a void



69
70
71
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 69

def action=(value)
    @action = value
end

#activated_usingObject

Gets the activatedUsing property value. If the request is from an eligible administrator to activate a role, this parameter will show the related eligible assignment for that activation. Otherwise, it’s null. Supports $expand.

Returns:

  • a unified_role_eligibility_schedule



76
77
78
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 76

def activated_using
    return @activated_using
end

#activated_using=(value) ⇒ Object

Sets the activatedUsing property value. If the request is from an eligible administrator to activate a role, this parameter will show the related eligible assignment for that activation. Otherwise, it’s null. Supports $expand.

Parameters:

  • value

    Value to set for the activatedUsing property.

Returns:

  • a void



84
85
86
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 84

def activated_using=(value)
    @activated_using = value
end

#app_scopeObject

Gets the appScope property value. Read-only property with details of the app-specific scope when the assignment is scoped to an app. Nullable. Supports $expand.

Returns:

  • a app_scope



91
92
93
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 91

def app_scope
    return @app_scope
end

#app_scope=(value) ⇒ Object

Sets the appScope property value. Read-only property with details of the app-specific scope when the assignment is scoped to an app. Nullable. Supports $expand.

Parameters:

  • value

    Value to set for the appScope property.

Returns:

  • a void



99
100
101
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 99

def app_scope=(value)
    @app_scope = value
end

#app_scope_idObject

Gets the appScopeId property value. Identifier of the app-specific scope when the assignment is scoped to an app. The scope of an assignment determines the set of resources for which the principal has been granted access. App scopes are scopes that are defined and understood by this application only. Use / for tenant-wide app scopes. Use directoryScopeId to limit the scope to particular directory objects, for example, administrative units. Supports $filter (eq, ne, and on null values).

Returns:

  • a string



106
107
108
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 106

def app_scope_id
    return @app_scope_id
end

#app_scope_id=(value) ⇒ Object

Sets the appScopeId property value. Identifier of the app-specific scope when the assignment is scoped to an app. The scope of an assignment determines the set of resources for which the principal has been granted access. App scopes are scopes that are defined and understood by this application only. Use / for tenant-wide app scopes. Use directoryScopeId to limit the scope to particular directory objects, for example, administrative units. Supports $filter (eq, ne, and on null values).

Parameters:

  • value

    Value to set for the appScopeId property.

Returns:

  • a void



114
115
116
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 114

def app_scope_id=(value)
    @app_scope_id = value
end

#directory_scopeObject

Gets the directoryScope property value. The directory object that is the scope of the assignment. Read-only. Supports $expand.

Returns:

  • a directory_object



137
138
139
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 137

def directory_scope
    return @directory_scope
end

#directory_scope=(value) ⇒ Object

Sets the directoryScope property value. The directory object that is the scope of the assignment. Read-only. Supports $expand.

Parameters:

  • value

    Value to set for the directoryScope property.

Returns:

  • a void



145
146
147
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 145

def directory_scope=(value)
    @directory_scope = value
end

#directory_scope_idObject

Gets the directoryScopeId property value. Identifier of the directory object representing the scope of the assignment. The scope of an assignment determines the set of resources for which the principal has been granted access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications. Use / for tenant-wide scope. Use appScopeId to limit the scope to an application only. Supports $filter (eq, ne, and on null values).

Returns:

  • a string



152
153
154
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 152

def directory_scope_id
    return @directory_scope_id
end

#directory_scope_id=(value) ⇒ Object

Sets the directoryScopeId property value. Identifier of the directory object representing the scope of the assignment. The scope of an assignment determines the set of resources for which the principal has been granted access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications. Use / for tenant-wide scope. Use appScopeId to limit the scope to an application only. Supports $filter (eq, ne, and on null values).

Parameters:

  • value

    Value to set for the directoryScopeId property.

Returns:

  • a void



160
161
162
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 160

def directory_scope_id=(value)
    @directory_scope_id = value
end

#get_field_deserializersObject

The deserialization information for the current model

Returns:

  • a i_dictionary



167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 167

def get_field_deserializers()
    return super.merge({
        "action" => lambda {|n| @action = n.get_enum_value(MicrosoftGraph::Models::UnifiedRoleScheduleRequestActions) },
        "activatedUsing" => lambda {|n| @activated_using = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::UnifiedRoleEligibilitySchedule.create_from_discriminator_value(pn) }) },
        "appScope" => lambda {|n| @app_scope = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::AppScope.create_from_discriminator_value(pn) }) },
        "appScopeId" => lambda {|n| @app_scope_id = n.get_string_value() },
        "directoryScope" => lambda {|n| @directory_scope = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::DirectoryObject.create_from_discriminator_value(pn) }) },
        "directoryScopeId" => lambda {|n| @directory_scope_id = n.get_string_value() },
        "isValidationOnly" => lambda {|n| @is_validation_only = n.get_boolean_value() },
        "justification" => lambda {|n| @justification = n.get_string_value() },
        "principal" => lambda {|n| @principal = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::DirectoryObject.create_from_discriminator_value(pn) }) },
        "principalId" => lambda {|n| @principal_id = n.get_string_value() },
        "roleDefinition" => lambda {|n| @role_definition = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::UnifiedRoleDefinition.create_from_discriminator_value(pn) }) },
        "roleDefinitionId" => lambda {|n| @role_definition_id = n.get_string_value() },
        "scheduleInfo" => lambda {|n| @schedule_info = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::RequestSchedule.create_from_discriminator_value(pn) }) },
        "targetSchedule" => lambda {|n| @target_schedule = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::UnifiedRoleAssignmentSchedule.create_from_discriminator_value(pn) }) },
        "targetScheduleId" => lambda {|n| @target_schedule_id = n.get_string_value() },
        "ticketInfo" => lambda {|n| @ticket_info = n.get_object_value(lambda {|pn| MicrosoftGraph::Models::TicketInfo.create_from_discriminator_value(pn) }) },
    })
end

#is_validation_onlyObject

Gets the isValidationOnly property value. Determines whether the call is a validation or an actual call. Only set this property if you want to check whether an activation is subject to additional rules like MFA before actually submitting the request.

Returns:

  • a boolean



191
192
193
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 191

def is_validation_only
    return @is_validation_only
end

#is_validation_only=(value) ⇒ Object

Sets the isValidationOnly property value. Determines whether the call is a validation or an actual call. Only set this property if you want to check whether an activation is subject to additional rules like MFA before actually submitting the request.

Parameters:

  • value

    Value to set for the isValidationOnly property.

Returns:

  • a void



199
200
201
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 199

def is_validation_only=(value)
    @is_validation_only = value
end

#justificationObject

Gets the justification property value. A message provided by users and administrators when create they create the unifiedRoleAssignmentScheduleRequest object.

Returns:

  • a string



206
207
208
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 206

def justification
    return @justification
end

#justification=(value) ⇒ Object

Sets the justification property value. A message provided by users and administrators when create they create the unifiedRoleAssignmentScheduleRequest object.

Parameters:

  • value

    Value to set for the justification property.

Returns:

  • a void



214
215
216
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 214

def justification=(value)
    @justification = value
end

#principalObject

Gets the principal property value. The principal that’s getting a role assignment through the request. Supports $expand.

Returns:

  • a directory_object



221
222
223
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 221

def principal
    return @principal
end

#principal=(value) ⇒ Object

Sets the principal property value. The principal that’s getting a role assignment through the request. Supports $expand.

Parameters:

  • value

    Value to set for the principal property.

Returns:

  • a void



229
230
231
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 229

def principal=(value)
    @principal = value
end

#principal_idObject

Gets the principalId property value. Identifier of the principal that has been granted the assignment. Can be a user, role-assignable group, or a service principal. Supports $filter (eq, ne).

Returns:

  • a string



236
237
238
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 236

def principal_id
    return @principal_id
end

#principal_id=(value) ⇒ Object

Sets the principalId property value. Identifier of the principal that has been granted the assignment. Can be a user, role-assignable group, or a service principal. Supports $filter (eq, ne).

Parameters:

  • value

    Value to set for the principalId property.

Returns:

  • a void



244
245
246
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 244

def principal_id=(value)
    @principal_id = value
end

#role_definitionObject

Gets the roleDefinition property value. Detailed information for the unifiedRoleDefinition object that is referenced through the roleDefinitionId property. Supports $expand.

Returns:

  • a unified_role_definition



251
252
253
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 251

def role_definition
    return @role_definition
end

#role_definition=(value) ⇒ Object

Sets the roleDefinition property value. Detailed information for the unifiedRoleDefinition object that is referenced through the roleDefinitionId property. Supports $expand.

Parameters:

  • value

    Value to set for the roleDefinition property.

Returns:

  • a void



259
260
261
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 259

def role_definition=(value)
    @role_definition = value
end

#role_definition_idObject

Gets the roleDefinitionId property value. Identifier of the unifiedRoleDefinition object that is being assigned to the principal. Supports $filter (eq, ne).

Returns:

  • a string



266
267
268
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 266

def role_definition_id
    return @role_definition_id
end

#role_definition_id=(value) ⇒ Object

Sets the roleDefinitionId property value. Identifier of the unifiedRoleDefinition object that is being assigned to the principal. Supports $filter (eq, ne).

Parameters:

  • value

    Value to set for the roleDefinitionId property.

Returns:

  • a void



274
275
276
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 274

def role_definition_id=(value)
    @role_definition_id = value
end

#schedule_infoObject

Gets the scheduleInfo property value. The period of the role assignment. Recurring schedules are currently unsupported.

Returns:

  • a request_schedule



281
282
283
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 281

def schedule_info
    return @schedule_info
end

#schedule_info=(value) ⇒ Object

Sets the scheduleInfo property value. The period of the role assignment. Recurring schedules are currently unsupported.

Parameters:

  • value

    Value to set for the scheduleInfo property.

Returns:

  • a void



289
290
291
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 289

def schedule_info=(value)
    @schedule_info = value
end

#serialize(writer) ⇒ Object

Serializes information the current object

Parameters:

  • writer

    Serialization writer to use to serialize this model

Returns:

  • a void

Raises:

  • (StandardError)


297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 297

def serialize(writer)
    raise StandardError, 'writer cannot be null' if writer.nil?
    super
    writer.write_enum_value("action", @action)
    writer.write_object_value("activatedUsing", @activated_using)
    writer.write_object_value("appScope", @app_scope)
    writer.write_string_value("appScopeId", @app_scope_id)
    writer.write_object_value("directoryScope", @directory_scope)
    writer.write_string_value("directoryScopeId", @directory_scope_id)
    writer.write_boolean_value("isValidationOnly", @is_validation_only)
    writer.write_string_value("justification", @justification)
    writer.write_object_value("principal", @principal)
    writer.write_string_value("principalId", @principal_id)
    writer.write_object_value("roleDefinition", @role_definition)
    writer.write_string_value("roleDefinitionId", @role_definition_id)
    writer.write_object_value("scheduleInfo", @schedule_info)
    writer.write_object_value("targetSchedule", @target_schedule)
    writer.write_string_value("targetScheduleId", @target_schedule_id)
    writer.write_object_value("ticketInfo", @ticket_info)
end

#target_scheduleObject

Gets the targetSchedule property value. The schedule for an eligible role assignment that is referenced through the targetScheduleId property. Supports $expand.

Returns:

  • a unified_role_assignment_schedule



321
322
323
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 321

def target_schedule
    return @target_schedule
end

#target_schedule=(value) ⇒ Object

Sets the targetSchedule property value. The schedule for an eligible role assignment that is referenced through the targetScheduleId property. Supports $expand.

Parameters:

  • value

    Value to set for the targetSchedule property.

Returns:

  • a void



329
330
331
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 329

def target_schedule=(value)
    @target_schedule = value
end

#target_schedule_idObject

Gets the targetScheduleId property value. Identifier of the schedule object that’s linked to the assignment request. Supports $filter (eq, ne).

Returns:

  • a string



336
337
338
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 336

def target_schedule_id
    return @target_schedule_id
end

#target_schedule_id=(value) ⇒ Object

Sets the targetScheduleId property value. Identifier of the schedule object that’s linked to the assignment request. Supports $filter (eq, ne).

Parameters:

  • value

    Value to set for the targetScheduleId property.

Returns:

  • a void



344
345
346
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 344

def target_schedule_id=(value)
    @target_schedule_id = value
end

#ticket_infoObject

Gets the ticketInfo property value. Ticket details linked to the role assignment request including details of the ticket number and ticket system.

Returns:

  • a ticket_info



351
352
353
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 351

def ticket_info
    return @ticket_info
end

#ticket_info=(value) ⇒ Object

Sets the ticketInfo property value. Ticket details linked to the role assignment request including details of the ticket number and ticket system.

Parameters:

  • value

    Value to set for the ticketInfo property.

Returns:

  • a void



359
360
361
# File 'lib/models/unified_role_assignment_schedule_request.rb', line 359

def ticket_info=(value)
    @ticket_info = value
end