-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
FileServiceData.cs
113 lines (105 loc) · 5.21 KB
/
FileServiceData.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
// 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.Models;
using Azure.ResourceManager.Storage.Models;
namespace Azure.ResourceManager.Storage
{
/// <summary>
/// A class representing the FileService data model.
/// The properties of File services in storage account.
/// </summary>
public partial class FileServiceData : ResourceData
{
/// <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="FileServiceData"/>. </summary>
public FileServiceData()
{
}
/// <summary> Initializes a new instance of <see cref="FileServiceData"/>. </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="sku"> Sku name and tier. </param>
/// <param name="cors"> Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service. </param>
/// <param name="shareDeleteRetentionPolicy"> The file service properties for share soft delete. </param>
/// <param name="protocolSettings"> Protocol settings for file service. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal FileServiceData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, StorageSku sku, StorageCorsRules cors, DeleteRetentionPolicy shareDeleteRetentionPolicy, ProtocolSettings protocolSettings, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData)
{
Sku = sku;
Cors = cors;
ShareDeleteRetentionPolicy = shareDeleteRetentionPolicy;
ProtocolSettings = protocolSettings;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> Sku name and tier. </summary>
[WirePath("sku")]
public StorageSku Sku { get; }
/// <summary> Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service. </summary>
internal StorageCorsRules Cors { get; set; }
/// <summary> The List of CORS rules. You can include up to five CorsRule elements in the request. </summary>
[WirePath("properties.cors.corsRules")]
public IList<StorageCorsRule> CorsRules
{
get
{
if (Cors is null)
Cors = new StorageCorsRules();
return Cors.CorsRules;
}
}
/// <summary> The file service properties for share soft delete. </summary>
[WirePath("properties.shareDeleteRetentionPolicy")]
public DeleteRetentionPolicy ShareDeleteRetentionPolicy { get; set; }
/// <summary> Protocol settings for file service. </summary>
internal ProtocolSettings ProtocolSettings { get; set; }
/// <summary> Setting for SMB protocol. </summary>
[WirePath("properties.protocolSettings.smb")]
public SmbSetting ProtocolSmbSetting
{
get => ProtocolSettings is null ? default : ProtocolSettings.SmbSetting;
set
{
if (ProtocolSettings is null)
ProtocolSettings = new ProtocolSettings();
ProtocolSettings.SmbSetting = value;
}
}
}
}