forked from microsoftgraph/msgraph-beta-sdk-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaccess_package_assignment_request.py
More file actions
141 lines (131 loc) · 9.56 KB
/
Copy pathaccess_package_assignment_request.py
File metadata and controls
141 lines (131 loc) · 9.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
from __future__ import annotations
import datetime
from dataclasses import dataclass, field
from kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
if TYPE_CHECKING:
from .access_package import AccessPackage
from .access_package_answer import AccessPackageAnswer
from .access_package_assignment import AccessPackageAssignment
from .access_package_subject import AccessPackageSubject
from .custom_extension_callout_instance import CustomExtensionCalloutInstance
from .custom_extension_handler_instance import CustomExtensionHandlerInstance
from .entity import Entity
from .request_schedule import RequestSchedule
from .verified_credential_data import VerifiedCredentialData
from .entity import Entity
@dataclass
class AccessPackageAssignmentRequest(Entity):
# The access package associated with the accessPackageAssignmentRequest. An access package defines the collections of resource roles and the policies for how one or more users can get access to those resources. Read-only. Nullable. Supports $expand.
access_package: Optional[AccessPackage] = None
# For a requestType of UserAdd or AdminAdd, an access package assignment requested to be created. For a requestType of UserRemove, AdminRemove, or SystemRemove, this property has the id property of an existing assignment to be removed. Supports $expand.
access_package_assignment: Optional[AccessPackageAssignment] = None
# Answers provided by the requestor to accessPackageQuestions asked of them at the time of request.
answers: Optional[List[AccessPackageAnswer]] = None
# The date of the end of processing, either successful or failure, of a request. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
completed_date: Optional[datetime.datetime] = None
# The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Read-only.
created_date_time: Optional[datetime.datetime] = None
# Information about all the custom extension calls that were made during the access package assignment request workflow.
custom_extension_callout_instances: Optional[List[CustomExtensionCalloutInstance]] = None
# A collection of custom workflow extension instances being run on an assignment request. Read-only.
custom_extension_handler_instances: Optional[List[CustomExtensionHandlerInstance]] = None
# The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
expiration_date_time: Optional[datetime.datetime] = None
# True if the request isn't to be processed for assignment.
is_validation_only: Optional[bool] = None
# The requestor's supplied justification.
justification: Optional[str] = None
# The OdataType property
odata_type: Optional[str] = None
# One of PendingApproval, Canceled, Denied, Delivering, Delivered, PartiallyDelivered, DeliveryFailed, Submitted, or Scheduled. Read-only.
request_state: Optional[str] = None
# More information on the request processing status. Read-only.
request_status: Optional[str] = None
# One of UserAdd, UserExtend, UserUpdate, UserRemove, AdminAdd, AdminRemove, or SystemRemove. A request from the user has a requestType of UserAdd, UserUpdate, or UserRemove. Read-only.
request_type: Optional[str] = None
# The subject who requested or, if a direct assignment, was assigned. Read-only. Nullable. Supports $expand.
requestor: Optional[AccessPackageSubject] = None
# The range of dates that access is to be assigned to the requestor. Read-only.
schedule: Optional[RequestSchedule] = None
# The details of the verifiable credential that the requestor presented, such as the issuer and claims. Read-only.
verified_credentials_data: Optional[List[VerifiedCredentialData]] = None
@staticmethod
def create_from_discriminator_value(parse_node: ParseNode) -> AccessPackageAssignmentRequest:
"""
Creates a new instance of the appropriate class based on discriminator value
param parse_node: The parse node to use to read the discriminator value and create the object
Returns: AccessPackageAssignmentRequest
"""
if parse_node is None:
raise TypeError("parse_node cannot be null.")
return AccessPackageAssignmentRequest()
def get_field_deserializers(self,) -> Dict[str, Callable[[ParseNode], None]]:
"""
The deserialization information for the current model
Returns: Dict[str, Callable[[ParseNode], None]]
"""
from .access_package import AccessPackage
from .access_package_answer import AccessPackageAnswer
from .access_package_assignment import AccessPackageAssignment
from .access_package_subject import AccessPackageSubject
from .custom_extension_callout_instance import CustomExtensionCalloutInstance
from .custom_extension_handler_instance import CustomExtensionHandlerInstance
from .entity import Entity
from .request_schedule import RequestSchedule
from .verified_credential_data import VerifiedCredentialData
from .access_package import AccessPackage
from .access_package_answer import AccessPackageAnswer
from .access_package_assignment import AccessPackageAssignment
from .access_package_subject import AccessPackageSubject
from .custom_extension_callout_instance import CustomExtensionCalloutInstance
from .custom_extension_handler_instance import CustomExtensionHandlerInstance
from .entity import Entity
from .request_schedule import RequestSchedule
from .verified_credential_data import VerifiedCredentialData
fields: Dict[str, Callable[[Any], None]] = {
"accessPackage": lambda n : setattr(self, 'access_package', n.get_object_value(AccessPackage)),
"accessPackageAssignment": lambda n : setattr(self, 'access_package_assignment', n.get_object_value(AccessPackageAssignment)),
"answers": lambda n : setattr(self, 'answers', n.get_collection_of_object_values(AccessPackageAnswer)),
"completedDate": lambda n : setattr(self, 'completed_date', n.get_datetime_value()),
"createdDateTime": lambda n : setattr(self, 'created_date_time', n.get_datetime_value()),
"customExtensionCalloutInstances": lambda n : setattr(self, 'custom_extension_callout_instances', n.get_collection_of_object_values(CustomExtensionCalloutInstance)),
"customExtensionHandlerInstances": lambda n : setattr(self, 'custom_extension_handler_instances', n.get_collection_of_object_values(CustomExtensionHandlerInstance)),
"expirationDateTime": lambda n : setattr(self, 'expiration_date_time', n.get_datetime_value()),
"isValidationOnly": lambda n : setattr(self, 'is_validation_only', n.get_bool_value()),
"justification": lambda n : setattr(self, 'justification', n.get_str_value()),
"requestState": lambda n : setattr(self, 'request_state', n.get_str_value()),
"requestStatus": lambda n : setattr(self, 'request_status', n.get_str_value()),
"requestType": lambda n : setattr(self, 'request_type', n.get_str_value()),
"requestor": lambda n : setattr(self, 'requestor', n.get_object_value(AccessPackageSubject)),
"schedule": lambda n : setattr(self, 'schedule', n.get_object_value(RequestSchedule)),
"verifiedCredentialsData": lambda n : setattr(self, 'verified_credentials_data', n.get_collection_of_object_values(VerifiedCredentialData)),
}
super_fields = super().get_field_deserializers()
fields.update(super_fields)
return fields
def serialize(self,writer: SerializationWriter) -> None:
"""
Serializes information the current object
param writer: Serialization writer to use to serialize this model
Returns: None
"""
if writer is None:
raise TypeError("writer cannot be null.")
super().serialize(writer)
writer.write_object_value("accessPackage", self.access_package)
writer.write_object_value("accessPackageAssignment", self.access_package_assignment)
writer.write_collection_of_object_values("answers", self.answers)
writer.write_datetime_value("completedDate", self.completed_date)
writer.write_datetime_value("createdDateTime", self.created_date_time)
writer.write_collection_of_object_values("customExtensionCalloutInstances", self.custom_extension_callout_instances)
writer.write_collection_of_object_values("customExtensionHandlerInstances", self.custom_extension_handler_instances)
writer.write_datetime_value("expirationDateTime", self.expiration_date_time)
writer.write_bool_value("isValidationOnly", self.is_validation_only)
writer.write_str_value("justification", self.justification)
writer.write_str_value("requestState", self.request_state)
writer.write_str_value("requestStatus", self.request_status)
writer.write_str_value("requestType", self.request_type)
writer.write_object_value("requestor", self.requestor)
writer.write_object_value("schedule", self.schedule)
writer.write_collection_of_object_values("verifiedCredentialsData", self.verified_credentials_data)