-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
RoleEligibilityScheduleRequestData.cs
171 lines (164 loc) · 10.5 KB
/
RoleEligibilityScheduleRequestData.cs
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using Azure.Core;
using Azure.ResourceManager.Authorization.Models;
using Azure.ResourceManager.Models;
namespace Azure.ResourceManager.Authorization
{
/// <summary>
/// A class representing the RoleEligibilityScheduleRequest data model.
/// Role Eligibility schedule request
/// </summary>
public partial class RoleEligibilityScheduleRequestData : ResourceData
{
/// <summary>
/// Keeps track of any properties unknown to the library.
/// <para>
/// To assign an object to the value of this property use <see cref="BinaryData.FromObjectAsJson{T}(T, System.Text.Json.JsonSerializerOptions?)"/>.
/// </para>
/// <para>
/// To assign an already formatted json string to this property use <see cref="BinaryData.FromString(string)"/>.
/// </para>
/// <para>
/// Examples:
/// <list type="bullet">
/// <item>
/// <term>BinaryData.FromObjectAsJson("foo")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("\"foo\"")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromObjectAsJson(new { key = "value" })</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("{\"key\": \"value\"}")</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// </list>
/// </para>
/// </summary>
private IDictionary<string, BinaryData> _serializedAdditionalRawData;
/// <summary> Initializes a new instance of <see cref="RoleEligibilityScheduleRequestData"/>. </summary>
public RoleEligibilityScheduleRequestData()
{
}
/// <summary> Initializes a new instance of <see cref="RoleEligibilityScheduleRequestData"/>. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="scope"> The role eligibility schedule request scope. </param>
/// <param name="roleDefinitionId"> The role definition ID. </param>
/// <param name="principalId"> The principal ID. </param>
/// <param name="principalType"> The principal type of the assigned principal ID. </param>
/// <param name="requestType"> The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc. </param>
/// <param name="status"> The status of the role eligibility schedule request. </param>
/// <param name="approvalId"> The approvalId of the role eligibility schedule request. </param>
/// <param name="targetRoleEligibilityScheduleId"> The resultant role eligibility schedule id or the role eligibility schedule id being updated. </param>
/// <param name="targetRoleEligibilityScheduleInstanceId"> The role eligibility schedule instance id being updated. </param>
/// <param name="justification"> Justification for the role eligibility. </param>
/// <param name="ticketInfo"> Ticket Info of the role eligibility. </param>
/// <param name="condition"> The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'. </param>
/// <param name="conditionVersion"> Version of the condition. Currently accepted value is '2.0'. </param>
/// <param name="createdOn"> DateTime when role eligibility schedule request was created. </param>
/// <param name="requestorId"> Id of the user who created this request. </param>
/// <param name="expandedProperties"> Additional properties of principal, scope and role definition. </param>
/// <param name="startOn"> Start DateTime of the role eligibility schedule. </param>
/// <param name="expirationType"> Type of the role eligibility schedule expiration. </param>
/// <param name="endOn"> End DateTime of the role eligibility schedule. </param>
/// <param name="duration"> Duration of the role eligibility schedule in TimeSpan. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal RoleEligibilityScheduleRequestData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, string scope, ResourceIdentifier roleDefinitionId, Guid? principalId, RoleManagementPrincipalType? principalType, RoleManagementScheduleRequestType? requestType, RoleManagementScheduleStatus? status, string approvalId, ResourceIdentifier targetRoleEligibilityScheduleId, ResourceIdentifier targetRoleEligibilityScheduleInstanceId, string justification, RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo, string condition, string conditionVersion, DateTimeOffset? createdOn, Guid? requestorId, RoleManagementExpandedProperties expandedProperties, DateTimeOffset? startOn, RoleManagementScheduleExpirationType? expirationType, DateTimeOffset? endOn, TimeSpan? duration, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData)
{
Scope = scope;
RoleDefinitionId = roleDefinitionId;
PrincipalId = principalId;
PrincipalType = principalType;
RequestType = requestType;
Status = status;
ApprovalId = approvalId;
TargetRoleEligibilityScheduleId = targetRoleEligibilityScheduleId;
TargetRoleEligibilityScheduleInstanceId = targetRoleEligibilityScheduleInstanceId;
Justification = justification;
TicketInfo = ticketInfo;
Condition = condition;
ConditionVersion = conditionVersion;
CreatedOn = createdOn;
RequestorId = requestorId;
ExpandedProperties = expandedProperties;
StartOn = startOn;
ExpirationType = expirationType;
EndOn = endOn;
Duration = duration;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The role eligibility schedule request scope. </summary>
[WirePath("properties.scope")]
public string Scope { get; }
/// <summary> The role definition ID. </summary>
[WirePath("properties.roleDefinitionId")]
public ResourceIdentifier RoleDefinitionId { get; set; }
/// <summary> The principal ID. </summary>
[WirePath("properties.principalId")]
public Guid? PrincipalId { get; set; }
/// <summary> The principal type of the assigned principal ID. </summary>
[WirePath("properties.principalType")]
public RoleManagementPrincipalType? PrincipalType { get; }
/// <summary> The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc. </summary>
[WirePath("properties.requestType")]
public RoleManagementScheduleRequestType? RequestType { get; set; }
/// <summary> The status of the role eligibility schedule request. </summary>
[WirePath("properties.status")]
public RoleManagementScheduleStatus? Status { get; }
/// <summary> The approvalId of the role eligibility schedule request. </summary>
[WirePath("properties.approvalId")]
public string ApprovalId { get; }
/// <summary> The resultant role eligibility schedule id or the role eligibility schedule id being updated. </summary>
[WirePath("properties.targetRoleEligibilityScheduleId")]
public ResourceIdentifier TargetRoleEligibilityScheduleId { get; set; }
/// <summary> The role eligibility schedule instance id being updated. </summary>
[WirePath("properties.targetRoleEligibilityScheduleInstanceId")]
public ResourceIdentifier TargetRoleEligibilityScheduleInstanceId { get; set; }
/// <summary> Justification for the role eligibility. </summary>
[WirePath("properties.justification")]
public string Justification { get; set; }
/// <summary> Ticket Info of the role eligibility. </summary>
[WirePath("properties.ticketInfo")]
public RoleEligibilityScheduleRequestPropertiesTicketInfo TicketInfo { get; set; }
/// <summary> The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'. </summary>
[WirePath("properties.condition")]
public string Condition { get; set; }
/// <summary> Version of the condition. Currently accepted value is '2.0'. </summary>
[WirePath("properties.conditionVersion")]
public string ConditionVersion { get; set; }
/// <summary> DateTime when role eligibility schedule request was created. </summary>
[WirePath("properties.createdOn")]
public DateTimeOffset? CreatedOn { get; }
/// <summary> Id of the user who created this request. </summary>
[WirePath("properties.requestorId")]
public Guid? RequestorId { get; }
/// <summary> Additional properties of principal, scope and role definition. </summary>
[WirePath("properties.expandedProperties")]
public RoleManagementExpandedProperties ExpandedProperties { get; }
/// <summary> Start DateTime of the role eligibility schedule. </summary>
[WirePath("properties.startDateTime")]
public DateTimeOffset? StartOn { get; set; }
/// <summary> Type of the role eligibility schedule expiration. </summary>
[WirePath("properties.type")]
public RoleManagementScheduleExpirationType? ExpirationType { get; set; }
/// <summary> End DateTime of the role eligibility schedule. </summary>
[WirePath("properties.endDateTime")]
public DateTimeOffset? EndOn { get; set; }
/// <summary> Duration of the role eligibility schedule in TimeSpan. </summary>
[WirePath("properties.duration")]
public TimeSpan? Duration { get; set; }
}
}