-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
DiskImageData.cs
112 lines (103 loc) · 5.97 KB
/
DiskImageData.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
// 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.Compute.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources.Models;
namespace Azure.ResourceManager.Compute
{
/// <summary>
/// A class representing the DiskImage data model.
/// The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
/// </summary>
public partial class DiskImageData : TrackedResourceData
{
/// <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="DiskImageData"/>. </summary>
/// <param name="location"> The location. </param>
public DiskImageData(AzureLocation location) : base(location)
{
}
/// <summary> Initializes a new instance of <see cref="DiskImageData"/>. </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="tags"> The tags. </param>
/// <param name="location"> The location. </param>
/// <param name="extendedLocation"> The extended location of the Image. </param>
/// <param name="sourceVirtualMachine"> The source virtual machine from which Image is created. </param>
/// <param name="storageProfile"> Specifies the storage settings for the virtual machine disks. </param>
/// <param name="provisioningState"> The provisioning state. </param>
/// <param name="hyperVGeneration"> Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal DiskImageData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary<string, string> tags, AzureLocation location, ExtendedLocation extendedLocation, WritableSubResource sourceVirtualMachine, ImageStorageProfile storageProfile, string provisioningState, HyperVGeneration? hyperVGeneration, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData, tags, location)
{
ExtendedLocation = extendedLocation;
SourceVirtualMachine = sourceVirtualMachine;
StorageProfile = storageProfile;
ProvisioningState = provisioningState;
HyperVGeneration = hyperVGeneration;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> Initializes a new instance of <see cref="DiskImageData"/> for deserialization. </summary>
internal DiskImageData()
{
}
/// <summary> The extended location of the Image. </summary>
public ExtendedLocation ExtendedLocation { get; set; }
/// <summary> The source virtual machine from which Image is created. </summary>
internal WritableSubResource SourceVirtualMachine { get; set; }
/// <summary> Gets or sets Id. </summary>
public ResourceIdentifier SourceVirtualMachineId
{
get => SourceVirtualMachine is null ? default : SourceVirtualMachine.Id;
set
{
if (SourceVirtualMachine is null)
SourceVirtualMachine = new WritableSubResource();
SourceVirtualMachine.Id = value;
}
}
/// <summary> Specifies the storage settings for the virtual machine disks. </summary>
public ImageStorageProfile StorageProfile { get; set; }
/// <summary> The provisioning state. </summary>
public string ProvisioningState { get; }
/// <summary> Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource. </summary>
public HyperVGeneration? HyperVGeneration { get; set; }
}
}