-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
RoleAssignmentData.cs
131 lines (124 loc) · 6.88 KB
/
RoleAssignmentData.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
// 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 RoleAssignment data model.
/// Role Assignments
/// </summary>
public partial class RoleAssignmentData : 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="RoleAssignmentData"/>. </summary>
internal RoleAssignmentData()
{
}
/// <summary> Initializes a new instance of <see cref="RoleAssignmentData"/>. </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 assignment 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="description"> Description of role assignment. </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 the only accepted value is '2.0'. </param>
/// <param name="createdOn"> Time it was created. </param>
/// <param name="updatedOn"> Time it was updated. </param>
/// <param name="createdBy"> Id of the user who created the assignment. </param>
/// <param name="updatedBy"> Id of the user who updated the assignment. </param>
/// <param name="delegatedManagedIdentityResourceId"> Id of the delegated managed identity resource. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal RoleAssignmentData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, string scope, ResourceIdentifier roleDefinitionId, Guid? principalId, RoleManagementPrincipalType? principalType, string description, string condition, string conditionVersion, DateTimeOffset? createdOn, DateTimeOffset? updatedOn, string createdBy, string updatedBy, ResourceIdentifier delegatedManagedIdentityResourceId, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData)
{
Scope = scope;
RoleDefinitionId = roleDefinitionId;
PrincipalId = principalId;
PrincipalType = principalType;
Description = description;
Condition = condition;
ConditionVersion = conditionVersion;
CreatedOn = createdOn;
UpdatedOn = updatedOn;
CreatedBy = createdBy;
UpdatedBy = updatedBy;
DelegatedManagedIdentityResourceId = delegatedManagedIdentityResourceId;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The role assignment 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> Description of role assignment. </summary>
[WirePath("properties.description")]
public string Description { 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 the only accepted value is '2.0'. </summary>
[WirePath("properties.conditionVersion")]
public string ConditionVersion { get; }
/// <summary> Time it was created. </summary>
[WirePath("properties.createdOn")]
public DateTimeOffset? CreatedOn { get; }
/// <summary> Time it was updated. </summary>
[WirePath("properties.updatedOn")]
public DateTimeOffset? UpdatedOn { get; }
/// <summary> Id of the user who created the assignment. </summary>
[WirePath("properties.createdBy")]
public string CreatedBy { get; }
/// <summary> Id of the user who updated the assignment. </summary>
[WirePath("properties.updatedBy")]
public string UpdatedBy { get; }
/// <summary> Id of the delegated managed identity resource. </summary>
[WirePath("properties.delegatedManagedIdentityResourceId")]
public ResourceIdentifier DelegatedManagedIdentityResourceId { get; }
}
}