-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
FileShareData.cs
116 lines (110 loc) · 7.79 KB
/
FileShareData.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 Azure;
using Azure.Core;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Storage.Models;
namespace Azure.ResourceManager.Storage
{
/// <summary>
/// A class representing the FileShare data model.
/// Properties of the file share, including Id, resource name, resource type, Etag.
/// </summary>
public partial class FileShareData : ResourceData
{
/// <summary> Initializes a new instance of FileShareData. </summary>
public FileShareData()
{
Metadata = new ChangeTrackingDictionary<string, string>();
SignedIdentifiers = new ChangeTrackingList<StorageSignedIdentifier>();
}
/// <summary> Initializes a new instance of FileShareData. </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="lastModifiedOn"> Returns the date and time the share was last modified. </param>
/// <param name="metadata"> A name-value pair to associate with the share as metadata. </param>
/// <param name="shareQuota"> The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. </param>
/// <param name="enabledProtocol"> The authentication protocol that is used for the file share. Can only be specified when creating a share. </param>
/// <param name="rootSquash"> The property is for NFS share only. The default is NoRootSquash. </param>
/// <param name="version"> The version of the share. </param>
/// <param name="isDeleted"> Indicates whether the share was deleted. </param>
/// <param name="deletedOn"> The deleted time if the share was deleted. </param>
/// <param name="remainingRetentionDays"> Remaining retention days for share that was soft deleted. </param>
/// <param name="accessTier"> Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. </param>
/// <param name="accessTierChangeOn"> Indicates the last modification time for share access tier. </param>
/// <param name="accessTierStatus"> Indicates if there is a pending transition for access tier. </param>
/// <param name="shareUsageBytes"> The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. </param>
/// <param name="leaseStatus"> The lease status of the share. </param>
/// <param name="leaseState"> Lease state of the share. </param>
/// <param name="leaseDuration"> Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased. </param>
/// <param name="signedIdentifiers"> List of stored access policies specified on the share. </param>
/// <param name="snapshotOn"> Creation time of share snapshot returned in the response of list shares with expand param "snapshots". </param>
/// <param name="etag"> Resource Etag. </param>
internal FileShareData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, DateTimeOffset? lastModifiedOn, IDictionary<string, string> metadata, int? shareQuota, FileShareEnabledProtocol? enabledProtocol, RootSquashType? rootSquash, string version, bool? isDeleted, DateTimeOffset? deletedOn, int? remainingRetentionDays, FileShareAccessTier? accessTier, DateTimeOffset? accessTierChangeOn, string accessTierStatus, long? shareUsageBytes, StorageLeaseStatus? leaseStatus, StorageLeaseState? leaseState, StorageLeaseDurationType? leaseDuration, IList<StorageSignedIdentifier> signedIdentifiers, DateTimeOffset? snapshotOn, ETag? etag) : base(id, name, resourceType, systemData)
{
LastModifiedOn = lastModifiedOn;
Metadata = metadata;
ShareQuota = shareQuota;
EnabledProtocol = enabledProtocol;
RootSquash = rootSquash;
Version = version;
IsDeleted = isDeleted;
DeletedOn = deletedOn;
RemainingRetentionDays = remainingRetentionDays;
AccessTier = accessTier;
AccessTierChangeOn = accessTierChangeOn;
AccessTierStatus = accessTierStatus;
ShareUsageBytes = shareUsageBytes;
LeaseStatus = leaseStatus;
LeaseState = leaseState;
LeaseDuration = leaseDuration;
SignedIdentifiers = signedIdentifiers;
SnapshotOn = snapshotOn;
ETag = etag;
}
/// <summary> Returns the date and time the share was last modified. </summary>
public DateTimeOffset? LastModifiedOn { get; }
/// <summary> A name-value pair to associate with the share as metadata. </summary>
public IDictionary<string, string> Metadata { get; }
/// <summary> The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. </summary>
public int? ShareQuota { get; set; }
/// <summary> The authentication protocol that is used for the file share. Can only be specified when creating a share. </summary>
public FileShareEnabledProtocol? EnabledProtocol { get; set; }
/// <summary> The property is for NFS share only. The default is NoRootSquash. </summary>
public RootSquashType? RootSquash { get; set; }
/// <summary> The version of the share. </summary>
public string Version { get; }
/// <summary> Indicates whether the share was deleted. </summary>
public bool? IsDeleted { get; }
/// <summary> The deleted time if the share was deleted. </summary>
public DateTimeOffset? DeletedOn { get; }
/// <summary> Remaining retention days for share that was soft deleted. </summary>
public int? RemainingRetentionDays { get; }
/// <summary> Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. </summary>
public FileShareAccessTier? AccessTier { get; set; }
/// <summary> Indicates the last modification time for share access tier. </summary>
public DateTimeOffset? AccessTierChangeOn { get; }
/// <summary> Indicates if there is a pending transition for access tier. </summary>
public string AccessTierStatus { get; }
/// <summary> The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. </summary>
public long? ShareUsageBytes { get; }
/// <summary> The lease status of the share. </summary>
public StorageLeaseStatus? LeaseStatus { get; }
/// <summary> Lease state of the share. </summary>
public StorageLeaseState? LeaseState { get; }
/// <summary> Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased. </summary>
public StorageLeaseDurationType? LeaseDuration { get; }
/// <summary> List of stored access policies specified on the share. </summary>
public IList<StorageSignedIdentifier> SignedIdentifiers { get; }
/// <summary> Creation time of share snapshot returned in the response of list shares with expand param "snapshots". </summary>
public DateTimeOffset? SnapshotOn { get; }
/// <summary> Resource Etag. </summary>
public ETag? ETag { get; }
}
}