-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
RoleEligibilityScheduleData.cs
141 lines (134 loc) · 8 KB
/
RoleEligibilityScheduleData.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
// 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 RoleEligibilitySchedule data model.
/// Role eligibility schedule
/// </summary>
public partial class RoleEligibilityScheduleData : 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="RoleEligibilityScheduleData"/>. </summary>
internal RoleEligibilityScheduleData()
{
}
/// <summary> Initializes a new instance of <see cref="RoleEligibilityScheduleData"/>. </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 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="roleEligibilityScheduleRequestId"> The id of roleEligibilityScheduleRequest used to create this roleAssignmentSchedule. </param>
/// <param name="memberType"> Membership type of the role eligibility schedule. </param>
/// <param name="status"> The status of the role eligibility schedule. </param>
/// <param name="startOn"> Start DateTime when role eligibility schedule. </param>
/// <param name="endOn"> End DateTime when role eligibility schedule. </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 was created. </param>
/// <param name="updatedOn"> DateTime when role eligibility schedule was modified. </param>
/// <param name="expandedProperties"> Additional properties of principal, scope and role definition. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal RoleEligibilityScheduleData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, string scope, ResourceIdentifier roleDefinitionId, Guid? principalId, RoleManagementPrincipalType? principalType, ResourceIdentifier roleEligibilityScheduleRequestId, RoleManagementScheduleMemberType? memberType, RoleManagementScheduleStatus? status, DateTimeOffset? startOn, DateTimeOffset? endOn, string condition, string conditionVersion, DateTimeOffset? createdOn, DateTimeOffset? updatedOn, RoleManagementExpandedProperties expandedProperties, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData)
{
Scope = scope;
RoleDefinitionId = roleDefinitionId;
PrincipalId = principalId;
PrincipalType = principalType;
RoleEligibilityScheduleRequestId = roleEligibilityScheduleRequestId;
MemberType = memberType;
Status = status;
StartOn = startOn;
EndOn = endOn;
Condition = condition;
ConditionVersion = conditionVersion;
CreatedOn = createdOn;
UpdatedOn = updatedOn;
ExpandedProperties = expandedProperties;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The role eligibility schedule scope. </summary>
[WirePath("properties.scope")]
public string Scope { get; }
/// <summary> The role definition ID. </summary>
[WirePath("properties.roleDefinitionId")]
public ResourceIdentifier RoleDefinitionId { get; }
/// <summary> The principal ID. </summary>
[WirePath("properties.principalId")]
public Guid? PrincipalId { get; }
/// <summary> The principal type of the assigned principal ID. </summary>
[WirePath("properties.principalType")]
public RoleManagementPrincipalType? PrincipalType { get; }
/// <summary> The id of roleEligibilityScheduleRequest used to create this roleAssignmentSchedule. </summary>
[WirePath("properties.roleEligibilityScheduleRequestId")]
public ResourceIdentifier RoleEligibilityScheduleRequestId { get; }
/// <summary> Membership type of the role eligibility schedule. </summary>
[WirePath("properties.memberType")]
public RoleManagementScheduleMemberType? MemberType { get; }
/// <summary> The status of the role eligibility schedule. </summary>
[WirePath("properties.status")]
public RoleManagementScheduleStatus? Status { get; }
/// <summary> Start DateTime when role eligibility schedule. </summary>
[WirePath("properties.startDateTime")]
public DateTimeOffset? StartOn { get; }
/// <summary> End DateTime when role eligibility schedule. </summary>
[WirePath("properties.endDateTime")]
public DateTimeOffset? EndOn { get; }
/// <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; }
/// <summary> Version of the condition. Currently accepted value is '2.0'. </summary>
[WirePath("properties.conditionVersion")]
public string ConditionVersion { get; }
/// <summary> DateTime when role eligibility schedule was created. </summary>
[WirePath("properties.createdOn")]
public DateTimeOffset? CreatedOn { get; }
/// <summary> DateTime when role eligibility schedule was modified. </summary>
[WirePath("properties.updatedOn")]
public DateTimeOffset? UpdatedOn { get; }
/// <summary> Additional properties of principal, scope and role definition. </summary>
[WirePath("properties.expandedProperties")]
public RoleManagementExpandedProperties ExpandedProperties { get; }
}
}