-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
AvailabilitySetData.cs
118 lines (109 loc) · 6.91 KB
/
AvailabilitySetData.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
// 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 AvailabilitySet data model.
/// Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set.
/// </summary>
public partial class AvailabilitySetData : 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="AvailabilitySetData"/>. </summary>
/// <param name="location"> The location. </param>
public AvailabilitySetData(AzureLocation location) : base(location)
{
VirtualMachines = new ChangeTrackingList<WritableSubResource>();
Statuses = new ChangeTrackingList<InstanceViewStatus>();
}
/// <summary> Initializes a new instance of <see cref="AvailabilitySetData"/>. </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="sku"> Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. </param>
/// <param name="platformUpdateDomainCount"> Update Domain count. </param>
/// <param name="platformFaultDomainCount"> Fault Domain count. </param>
/// <param name="virtualMachines"> A list of references to all virtual machines in the availability set. </param>
/// <param name="proximityPlacementGroup"> Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. </param>
/// <param name="statuses"> The resource status information. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal AvailabilitySetData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary<string, string> tags, AzureLocation location, ComputeSku sku, int? platformUpdateDomainCount, int? platformFaultDomainCount, IList<WritableSubResource> virtualMachines, WritableSubResource proximityPlacementGroup, IReadOnlyList<InstanceViewStatus> statuses, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData, tags, location)
{
Sku = sku;
PlatformUpdateDomainCount = platformUpdateDomainCount;
PlatformFaultDomainCount = platformFaultDomainCount;
VirtualMachines = virtualMachines;
ProximityPlacementGroup = proximityPlacementGroup;
Statuses = statuses;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> Initializes a new instance of <see cref="AvailabilitySetData"/> for deserialization. </summary>
internal AvailabilitySetData()
{
}
/// <summary> Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'. </summary>
public ComputeSku Sku { get; set; }
/// <summary> Update Domain count. </summary>
public int? PlatformUpdateDomainCount { get; set; }
/// <summary> Fault Domain count. </summary>
public int? PlatformFaultDomainCount { get; set; }
/// <summary> A list of references to all virtual machines in the availability set. </summary>
public IList<WritableSubResource> VirtualMachines { get; }
/// <summary> Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. </summary>
internal WritableSubResource ProximityPlacementGroup { get; set; }
/// <summary> Gets or sets Id. </summary>
public ResourceIdentifier ProximityPlacementGroupId
{
get => ProximityPlacementGroup is null ? default : ProximityPlacementGroup.Id;
set
{
if (ProximityPlacementGroup is null)
ProximityPlacementGroup = new WritableSubResource();
ProximityPlacementGroup.Id = value;
}
}
/// <summary> The resource status information. </summary>
public IReadOnlyList<InstanceViewStatus> Statuses { get; }
}
}