/
ManagedClusterIdentity.cs
117 lines (111 loc) · 6.07 KB
/
ManagedClusterIdentity.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
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#nullable disable
using System;
using System.Collections.Generic;
using Azure.Core;
using Azure.ResourceManager.Models;
[assembly: CodeGenSuppressType("ManagedClusterIdentity")]
namespace Azure.ResourceManager.ContainerService.Models
{
/// <summary>
/// Identity for the managed cluster.
/// Serialized Name: ManagedClusterIdentity
/// </summary>
public partial class ManagedClusterIdentity
{
/// <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="ManagedClusterIdentity"/>. </summary>
public ManagedClusterIdentity()
{
DelegatedResources = new ChangeTrackingDictionary<string, ManagedClusterDelegatedIdentity>();
UserAssignedIdentities = new ChangeTrackingDictionary<ResourceIdentifier, UserAssignedIdentity>();
}
/// <summary> Initializes a new instance of <see cref="ManagedClusterIdentity"/>. </summary>
/// <param name="principalId">
/// The principal id of the system assigned identity which is used by master components.
/// Serialized Name: ManagedClusterIdentity.principalId
/// </param>
/// <param name="tenantId">
/// The tenant id of the system assigned identity which is used by master components.
/// Serialized Name: ManagedClusterIdentity.tenantId
/// </param>
/// <param name="resourceIdentityType">
/// For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).
/// Serialized Name: ManagedClusterIdentity.type
/// </param>
/// <param name="delegatedResources">
/// The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
/// Serialized Name: ManagedClusterIdentity.delegatedResources
/// </param>
/// <param name="userAssignedIdentities">
/// The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
/// Serialized Name: ManagedClusterIdentity.userAssignedIdentities
/// </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal ManagedClusterIdentity(Guid? principalId, Guid? tenantId, ManagedServiceIdentityType resourceIdentityType, IDictionary<string, ManagedClusterDelegatedIdentity> delegatedResources, IDictionary<ResourceIdentifier, UserAssignedIdentity> userAssignedIdentities, IDictionary<string, BinaryData> serializedAdditionalRawData)
{
PrincipalId = principalId;
TenantId = tenantId;
ResourceIdentityType = resourceIdentityType;
DelegatedResources = delegatedResources;
UserAssignedIdentities = userAssignedIdentities;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary>
/// The principal id of the system assigned identity which is used by master components.
/// Serialized Name: ManagedClusterIdentity.principalId
/// </summary>
public Guid? PrincipalId { get; }
/// <summary>
/// The tenant id of the system assigned identity which is used by master components.
/// Serialized Name: ManagedClusterIdentity.tenantId
/// </summary>
public Guid? TenantId { get; }
/// <summary>
/// For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).
/// Serialized Name: ManagedClusterIdentity.type
/// </summary>
public ManagedServiceIdentityType ResourceIdentityType { get; set; }
/// <summary>
/// The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only.
/// Serialized Name: ManagedClusterIdentity.delegatedResources
/// </summary>
public IDictionary<string, ManagedClusterDelegatedIdentity> DelegatedResources { get; }
/// <summary>
/// The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
/// Serialized Name: ManagedClusterIdentity.userAssignedIdentities
/// </summary>
public IDictionary<ResourceIdentifier, UserAssignedIdentity> UserAssignedIdentities { get; }
}
}