-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
ImmutabilityPolicyData.cs
56 lines (50 loc) · 4.34 KB
/
ImmutabilityPolicyData.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
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using Azure;
using Azure.Core;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Storage.Models;
namespace Azure.ResourceManager.Storage
{
/// <summary>
/// A class representing the ImmutabilityPolicy data model.
/// The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag.
/// </summary>
public partial class ImmutabilityPolicyData : ResourceData
{
/// <summary> Initializes a new instance of ImmutabilityPolicyData. </summary>
public ImmutabilityPolicyData()
{
}
/// <summary> Initializes a new instance of ImmutabilityPolicyData. </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="immutabilityPeriodSinceCreationInDays"> The immutability period for the blobs in the container since the policy creation, in days. </param>
/// <param name="state"> The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked. </param>
/// <param name="allowProtectedAppendWrites"> This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. </param>
/// <param name="allowProtectedAppendWritesAll"> This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive. </param>
/// <param name="etag"> Resource Etag. </param>
internal ImmutabilityPolicyData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, int? immutabilityPeriodSinceCreationInDays, ImmutabilityPolicyState? state, bool? allowProtectedAppendWrites, bool? allowProtectedAppendWritesAll, ETag? etag) : base(id, name, resourceType, systemData)
{
ImmutabilityPeriodSinceCreationInDays = immutabilityPeriodSinceCreationInDays;
State = state;
AllowProtectedAppendWrites = allowProtectedAppendWrites;
AllowProtectedAppendWritesAll = allowProtectedAppendWritesAll;
ETag = etag;
}
/// <summary> The immutability period for the blobs in the container since the policy creation, in days. </summary>
public int? ImmutabilityPeriodSinceCreationInDays { get; set; }
/// <summary> The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked. </summary>
public ImmutabilityPolicyState? State { get; }
/// <summary> This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. </summary>
public bool? AllowProtectedAppendWrites { get; set; }
/// <summary> This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive. </summary>
public bool? AllowProtectedAppendWritesAll { get; set; }
/// <summary> Resource Etag. </summary>
public ETag? ETag { get; }
}
}