-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
KeyForDiskEncryptionSet.cs
93 lines (83 loc) · 4.33 KB
/
KeyForDiskEncryptionSet.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
// 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.Resources.Models;
namespace Azure.ResourceManager.Compute.Models
{
/// <summary> Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots. </summary>
public partial class KeyForDiskEncryptionSet
{
/// <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="KeyForDiskEncryptionSet"/>. </summary>
/// <param name="keyUri"> Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. </param>
/// <exception cref="ArgumentNullException"> <paramref name="keyUri"/> is null. </exception>
public KeyForDiskEncryptionSet(Uri keyUri)
{
Argument.AssertNotNull(keyUri, nameof(keyUri));
KeyUri = keyUri;
}
/// <summary> Initializes a new instance of <see cref="KeyForDiskEncryptionSet"/>. </summary>
/// <param name="sourceVault"> Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. </param>
/// <param name="keyUri"> Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal KeyForDiskEncryptionSet(WritableSubResource sourceVault, Uri keyUri, IDictionary<string, BinaryData> serializedAdditionalRawData)
{
SourceVault = sourceVault;
KeyUri = keyUri;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> Initializes a new instance of <see cref="KeyForDiskEncryptionSet"/> for deserialization. </summary>
internal KeyForDiskEncryptionSet()
{
}
/// <summary> Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription. </summary>
internal WritableSubResource SourceVault { get; set; }
/// <summary> Gets or sets Id. </summary>
public ResourceIdentifier SourceVaultId
{
get => SourceVault is null ? default : SourceVault.Id;
set
{
if (SourceVault is null)
SourceVault = new WritableSubResource();
SourceVault.Id = value;
}
}
/// <summary> Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value. </summary>
public Uri KeyUri { get; set; }
}
}