-
Notifications
You must be signed in to change notification settings - Fork 4.8k
/
GalleryImageData.cs
151 lines (142 loc) · 8.96 KB
/
GalleryImageData.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
142
143
144
145
146
147
148
149
150
151
// 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;
namespace Azure.ResourceManager.Compute
{
/// <summary>
/// A class representing the GalleryImage data model.
/// Specifies information about the gallery image definition that you want to create or update.
/// </summary>
public partial class GalleryImageData : 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="GalleryImageData"/>. </summary>
/// <param name="location"> The location. </param>
public GalleryImageData(AzureLocation location) : base(location)
{
Features = new ChangeTrackingList<GalleryImageFeature>();
}
/// <summary> Initializes a new instance of <see cref="GalleryImageData"/>. </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="description"> The description of this gallery image definition resource. This property is updatable. </param>
/// <param name="eula"> The Eula agreement for the gallery image definition. </param>
/// <param name="privacyStatementUri"> The privacy statement uri. </param>
/// <param name="releaseNoteUri"> The release note uri. </param>
/// <param name="osType"> This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image. Possible values are: **Windows,** **Linux.**. </param>
/// <param name="osState"> This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'. </param>
/// <param name="hyperVGeneration"> The hypervisor generation of the Virtual Machine. Applicable to OS disks only. </param>
/// <param name="endOfLifeOn"> The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable. </param>
/// <param name="identifier"> This is the gallery image definition identifier. </param>
/// <param name="recommended"> The properties describe the recommended machine configuration for this Image Definition. These properties are updatable. </param>
/// <param name="disallowed"> Describes the disallowed disk types. </param>
/// <param name="purchasePlan"> Describes the gallery image definition purchase plan. This is used by marketplace images. </param>
/// <param name="provisioningState"> The provisioning state, which only appears in the response. </param>
/// <param name="features"> A list of gallery image features. </param>
/// <param name="architecture"> The architecture of the image. Applicable to OS disks only. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal GalleryImageData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary<string, string> tags, AzureLocation location, string description, string eula, Uri privacyStatementUri, Uri releaseNoteUri, SupportedOperatingSystemType? osType, OperatingSystemStateType? osState, HyperVGeneration? hyperVGeneration, DateTimeOffset? endOfLifeOn, GalleryImageIdentifier identifier, RecommendedMachineConfiguration recommended, Disallowed disallowed, ImagePurchasePlan purchasePlan, GalleryProvisioningState? provisioningState, IList<GalleryImageFeature> features, ArchitectureType? architecture, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData, tags, location)
{
Description = description;
Eula = eula;
PrivacyStatementUri = privacyStatementUri;
ReleaseNoteUri = releaseNoteUri;
OSType = osType;
OSState = osState;
HyperVGeneration = hyperVGeneration;
EndOfLifeOn = endOfLifeOn;
Identifier = identifier;
Recommended = recommended;
Disallowed = disallowed;
PurchasePlan = purchasePlan;
ProvisioningState = provisioningState;
Features = features;
Architecture = architecture;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> Initializes a new instance of <see cref="GalleryImageData"/> for deserialization. </summary>
internal GalleryImageData()
{
}
/// <summary> The description of this gallery image definition resource. This property is updatable. </summary>
public string Description { get; set; }
/// <summary> The Eula agreement for the gallery image definition. </summary>
public string Eula { get; set; }
/// <summary> The privacy statement uri. </summary>
public Uri PrivacyStatementUri { get; set; }
/// <summary> The release note uri. </summary>
public Uri ReleaseNoteUri { get; set; }
/// <summary> This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image. Possible values are: **Windows,** **Linux.**. </summary>
public SupportedOperatingSystemType? OSType { get; set; }
/// <summary> This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'. </summary>
public OperatingSystemStateType? OSState { get; set; }
/// <summary> The hypervisor generation of the Virtual Machine. Applicable to OS disks only. </summary>
public HyperVGeneration? HyperVGeneration { get; set; }
/// <summary> The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable. </summary>
public DateTimeOffset? EndOfLifeOn { get; set; }
/// <summary> This is the gallery image definition identifier. </summary>
public GalleryImageIdentifier Identifier { get; set; }
/// <summary> The properties describe the recommended machine configuration for this Image Definition. These properties are updatable. </summary>
public RecommendedMachineConfiguration Recommended { get; set; }
/// <summary> Describes the disallowed disk types. </summary>
internal Disallowed Disallowed { get; set; }
/// <summary> A list of disk types. </summary>
public IList<string> DisallowedDiskTypes
{
get
{
if (Disallowed is null)
Disallowed = new Disallowed();
return Disallowed.DiskTypes;
}
}
/// <summary> Describes the gallery image definition purchase plan. This is used by marketplace images. </summary>
public ImagePurchasePlan PurchasePlan { get; set; }
/// <summary> The provisioning state, which only appears in the response. </summary>
public GalleryProvisioningState? ProvisioningState { get; }
/// <summary> A list of gallery image features. </summary>
public IList<GalleryImageFeature> Features { get; }
/// <summary> The architecture of the image. Applicable to OS disks only. </summary>
public ArchitectureType? Architecture { get; set; }
}
}