-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
QumuloFileSystemResourceData.cs
116 lines (108 loc) · 6.27 KB
/
QumuloFileSystemResourceData.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
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using System.Net;
using Azure.Core;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Qumulo.Models;
namespace Azure.ResourceManager.Qumulo
{
/// <summary>
/// A class representing the QumuloFileSystemResource data model.
/// A FileSystem Resource by Qumulo
/// </summary>
public partial class QumuloFileSystemResourceData : TrackedResourceData
{
/// <summary> Initializes a new instance of <see cref="QumuloFileSystemResourceData"/>. </summary>
/// <param name="location"> The location. </param>
/// <param name="marketplaceDetails"> Marketplace details. </param>
/// <param name="storageSku"> Storage Sku. </param>
/// <param name="userDetails"> User Details. </param>
/// <param name="delegatedSubnetId"> Delegated subnet id for Vnet injection. </param>
/// <param name="adminPassword"> Initial administrator password of the resource. </param>
/// <param name="initialCapacity"> Storage capacity in TB. </param>
/// <exception cref="ArgumentNullException"> <paramref name="marketplaceDetails"/>, <paramref name="userDetails"/>, <paramref name="delegatedSubnetId"/> or <paramref name="adminPassword"/> is null. </exception>
public QumuloFileSystemResourceData(AzureLocation location, MarketplaceDetails marketplaceDetails, StorageSku storageSku, QumuloUserDetails userDetails, string delegatedSubnetId, string adminPassword, int initialCapacity) : base(location)
{
Argument.AssertNotNull(marketplaceDetails, nameof(marketplaceDetails));
Argument.AssertNotNull(userDetails, nameof(userDetails));
Argument.AssertNotNull(delegatedSubnetId, nameof(delegatedSubnetId));
Argument.AssertNotNull(adminPassword, nameof(adminPassword));
MarketplaceDetails = marketplaceDetails;
StorageSku = storageSku;
UserDetails = userDetails;
DelegatedSubnetId = delegatedSubnetId;
PrivateIPs = new ChangeTrackingList<IPAddress>();
AdminPassword = adminPassword;
InitialCapacity = initialCapacity;
}
/// <summary> Initializes a new instance of <see cref="QumuloFileSystemResourceData"/>. </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="identity"> The managed service identities assigned to this resource. </param>
/// <param name="marketplaceDetails"> Marketplace details. </param>
/// <param name="provisioningState"> Provisioning State of the resource. </param>
/// <param name="storageSku"> Storage Sku. </param>
/// <param name="userDetails"> User Details. </param>
/// <param name="delegatedSubnetId"> Delegated subnet id for Vnet injection. </param>
/// <param name="clusterLoginUri"> File system Id of the resource. </param>
/// <param name="privateIPs"> Private IPs of the resource. </param>
/// <param name="adminPassword"> Initial administrator password of the resource. </param>
/// <param name="initialCapacity"> Storage capacity in TB. </param>
/// <param name="availabilityZone"> Availability zone. </param>
internal QumuloFileSystemResourceData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary<string, string> tags, AzureLocation location, ManagedServiceIdentity identity, MarketplaceDetails marketplaceDetails, QumuloProvisioningState? provisioningState, StorageSku storageSku, QumuloUserDetails userDetails, string delegatedSubnetId, Uri clusterLoginUri, IList<IPAddress> privateIPs, string adminPassword, int initialCapacity, string availabilityZone) : base(id, name, resourceType, systemData, tags, location)
{
Identity = identity;
MarketplaceDetails = marketplaceDetails;
ProvisioningState = provisioningState;
StorageSku = storageSku;
UserDetails = userDetails;
DelegatedSubnetId = delegatedSubnetId;
ClusterLoginUri = clusterLoginUri;
PrivateIPs = privateIPs;
AdminPassword = adminPassword;
InitialCapacity = initialCapacity;
AvailabilityZone = availabilityZone;
}
/// <summary> The managed service identities assigned to this resource. </summary>
public ManagedServiceIdentity Identity { get; set; }
/// <summary> Marketplace details. </summary>
public MarketplaceDetails MarketplaceDetails { get; set; }
/// <summary> Provisioning State of the resource. </summary>
public QumuloProvisioningState? ProvisioningState { get; }
/// <summary> Storage Sku. </summary>
public StorageSku StorageSku { get; set; }
/// <summary> User Details. </summary>
internal QumuloUserDetails UserDetails { get; set; }
/// <summary> User Email. </summary>
public string UserDetailsEmail
{
get => UserDetails is null ? default : UserDetails.Email;
set
{
if (UserDetails is null)
UserDetails = new QumuloUserDetails();
UserDetails.Email = value;
}
}
/// <summary> Delegated subnet id for Vnet injection. </summary>
public string DelegatedSubnetId { get; set; }
/// <summary> File system Id of the resource. </summary>
public Uri ClusterLoginUri { get; set; }
/// <summary> Private IPs of the resource. </summary>
public IList<IPAddress> PrivateIPs { get; }
/// <summary> Initial administrator password of the resource. </summary>
public string AdminPassword { get; set; }
/// <summary> Storage capacity in TB. </summary>
public int InitialCapacity { get; set; }
/// <summary> Availability zone. </summary>
public string AvailabilityZone { get; set; }
}
}