Skip to content

Commit 5ceb248

Browse files
bluewwisra-fel
andauthored
[Storage] support Geo SLA and OR SLA (#28696)
Co-authored-by: Yeming Liu <[email protected]>
1 parent 45d15f9 commit 5ceb248

File tree

88 files changed

+4581
-2978
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+4581
-2978
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License. See License.txt in the project root for license information.
3+
// Code generated by Microsoft (R) AutoRest Code Generator.
4+
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
5+
6+
namespace Microsoft.Azure.Management.Storage.Models
7+
{
8+
using System.Linq;
9+
10+
/// <summary>
11+
/// Geo Priority Replication enablement status for the storage account.
12+
/// </summary>
13+
public partial class GeoPriorityReplicationStatus
14+
{
15+
/// <summary>
16+
/// Initializes a new instance of the GeoPriorityReplicationStatus class.
17+
/// </summary>
18+
public GeoPriorityReplicationStatus()
19+
{
20+
CustomInit();
21+
}
22+
23+
/// <summary>
24+
/// Initializes a new instance of the GeoPriorityReplicationStatus class.
25+
/// </summary>
26+
27+
/// <param name="isBlobEnabled">Indicates whether Blob Geo Priority Replication is enabled for the storage
28+
/// account.
29+
/// </param>
30+
public GeoPriorityReplicationStatus(bool? isBlobEnabled = default(bool?))
31+
32+
{
33+
this.IsBlobEnabled = isBlobEnabled;
34+
CustomInit();
35+
}
36+
37+
/// <summary>
38+
/// An initialization method that performs custom operations like setting defaults
39+
/// </summary>
40+
partial void CustomInit();
41+
42+
43+
/// <summary>
44+
/// Gets or sets indicates whether Blob Geo Priority Replication is enabled for
45+
/// the storage account.
46+
/// </summary>
47+
[Newtonsoft.Json.JsonProperty(PropertyName = "isBlobEnabled")]
48+
public bool? IsBlobEnabled {get; set; }
49+
}
50+
}

src/Storage/Storage.Management.Sdk/Generated/Models/ObjectReplicationPolicy.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ public ObjectReplicationPolicy()
5656

5757
/// <param name="metrics">Optional. The object replication policy metrics feature options.
5858
/// </param>
59-
public ObjectReplicationPolicy(string id = default(string), string name = default(string), string type = default(string), string policyId = default(string), System.DateTime? enabledTime = default(System.DateTime?), string sourceAccount = default(string), string destinationAccount = default(string), System.Collections.Generic.IList<ObjectReplicationPolicyRule> rules = default(System.Collections.Generic.IList<ObjectReplicationPolicyRule>), ObjectReplicationPolicyPropertiesMetrics metrics = default(ObjectReplicationPolicyPropertiesMetrics))
59+
60+
/// <param name="priorityReplication">Optional. The object replication policy priority replication feature
61+
/// options.
62+
/// </param>
63+
public ObjectReplicationPolicy(string id = default(string), string name = default(string), string type = default(string), string policyId = default(string), System.DateTime? enabledTime = default(System.DateTime?), string sourceAccount = default(string), string destinationAccount = default(string), System.Collections.Generic.IList<ObjectReplicationPolicyRule> rules = default(System.Collections.Generic.IList<ObjectReplicationPolicyRule>), ObjectReplicationPolicyPropertiesMetrics metrics = default(ObjectReplicationPolicyPropertiesMetrics), ObjectReplicationPolicyPropertiesPriorityReplication priorityReplication = default(ObjectReplicationPolicyPropertiesPriorityReplication))
6064

6165
: base(id, name, type)
6266
{
@@ -66,6 +70,7 @@ public ObjectReplicationPolicy()
6670
this.DestinationAccount = destinationAccount;
6771
this.Rules = rules;
6872
this.Metrics = metrics;
73+
this.PriorityReplication = priorityReplication;
6974
CustomInit();
7075
}
7176

@@ -113,5 +118,12 @@ public ObjectReplicationPolicy()
113118
/// </summary>
114119
[Newtonsoft.Json.JsonProperty(PropertyName = "properties.metrics")]
115120
public ObjectReplicationPolicyPropertiesMetrics Metrics {get; set; }
121+
122+
/// <summary>
123+
/// Gets or sets optional. The object replication policy priority replication
124+
/// feature options.
125+
/// </summary>
126+
[Newtonsoft.Json.JsonProperty(PropertyName = "properties.priorityReplication")]
127+
public ObjectReplicationPolicyPropertiesPriorityReplication PriorityReplication {get; set; }
116128
}
117129
}

src/Storage/Storage.Management.Sdk/Generated/Models/ObjectReplicationPolicyProperties.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ public ObjectReplicationPolicyProperties()
4343

4444
/// <param name="metrics">Optional. The object replication policy metrics feature options.
4545
/// </param>
46-
public ObjectReplicationPolicyProperties(string sourceAccount, string destinationAccount, string policyId = default(string), System.DateTime? enabledTime = default(System.DateTime?), System.Collections.Generic.IList<ObjectReplicationPolicyRule> rules = default(System.Collections.Generic.IList<ObjectReplicationPolicyRule>), ObjectReplicationPolicyPropertiesMetrics metrics = default(ObjectReplicationPolicyPropertiesMetrics))
46+
47+
/// <param name="priorityReplication">Optional. The object replication policy priority replication feature
48+
/// options.
49+
/// </param>
50+
public ObjectReplicationPolicyProperties(string sourceAccount, string destinationAccount, string policyId = default(string), System.DateTime? enabledTime = default(System.DateTime?), System.Collections.Generic.IList<ObjectReplicationPolicyRule> rules = default(System.Collections.Generic.IList<ObjectReplicationPolicyRule>), ObjectReplicationPolicyPropertiesMetrics metrics = default(ObjectReplicationPolicyPropertiesMetrics), ObjectReplicationPolicyPropertiesPriorityReplication priorityReplication = default(ObjectReplicationPolicyPropertiesPriorityReplication))
4751

4852
{
4953
this.PolicyId = policyId;
@@ -52,6 +56,7 @@ public ObjectReplicationPolicyProperties()
5256
this.DestinationAccount = destinationAccount;
5357
this.Rules = rules;
5458
this.Metrics = metrics;
59+
this.PriorityReplication = priorityReplication;
5560
CustomInit();
5661
}
5762

@@ -99,6 +104,13 @@ public ObjectReplicationPolicyProperties()
99104
/// </summary>
100105
[Newtonsoft.Json.JsonProperty(PropertyName = "metrics")]
101106
public ObjectReplicationPolicyPropertiesMetrics Metrics {get; set; }
107+
108+
/// <summary>
109+
/// Gets or sets optional. The object replication policy priority replication
110+
/// feature options.
111+
/// </summary>
112+
[Newtonsoft.Json.JsonProperty(PropertyName = "priorityReplication")]
113+
public ObjectReplicationPolicyPropertiesPriorityReplication PriorityReplication {get; set; }
102114
/// <summary>
103115
/// Validate the object.
104116
/// </summary>
@@ -129,6 +141,7 @@ public virtual void Validate()
129141
}
130142
}
131143

144+
132145
}
133146
}
134147
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License. See License.txt in the project root for license information.
3+
// Code generated by Microsoft (R) AutoRest Code Generator.
4+
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
5+
6+
namespace Microsoft.Azure.Management.Storage.Models
7+
{
8+
using System.Linq;
9+
10+
/// <summary>
11+
/// Optional. The object replication policy priority replication feature
12+
/// options.
13+
/// </summary>
14+
public partial class ObjectReplicationPolicyPropertiesPriorityReplication
15+
{
16+
/// <summary>
17+
/// Initializes a new instance of the ObjectReplicationPolicyPropertiesPriorityReplication class.
18+
/// </summary>
19+
public ObjectReplicationPolicyPropertiesPriorityReplication()
20+
{
21+
CustomInit();
22+
}
23+
24+
/// <summary>
25+
/// Initializes a new instance of the ObjectReplicationPolicyPropertiesPriorityReplication class.
26+
/// </summary>
27+
28+
/// <param name="enabled">Indicates whether object replication priority replication feature is
29+
/// enabled for the policy.
30+
/// </param>
31+
public ObjectReplicationPolicyPropertiesPriorityReplication(bool? enabled = default(bool?))
32+
33+
{
34+
this.Enabled = enabled;
35+
CustomInit();
36+
}
37+
38+
/// <summary>
39+
/// An initialization method that performs custom operations like setting defaults
40+
/// </summary>
41+
partial void CustomInit();
42+
43+
44+
/// <summary>
45+
/// Gets or sets indicates whether object replication priority replication
46+
/// feature is enabled for the policy.
47+
/// </summary>
48+
[Newtonsoft.Json.JsonProperty(PropertyName = "enabled")]
49+
public bool? Enabled {get; set; }
50+
}
51+
}

src/Storage/Storage.Management.Sdk/Generated/Models/StorageAccount.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,11 @@ public StorageAccount()
228228
/// <param name="accountMigrationInProgress">If customer initiated account migration is in progress, the value will be
229229
/// true else it will be null.
230230
/// </param>
231-
public StorageAccount(string location, string id = default(string), string name = default(string), string type = default(string), System.Collections.Generic.IDictionary<string, string> tags = default(System.Collections.Generic.IDictionary<string, string>), Sku sku = default(Sku), string kind = default(string), Identity identity = default(Identity), ExtendedLocation extendedLocation = default(ExtendedLocation), System.Collections.Generic.IList<string> zones = default(System.Collections.Generic.IList<string>), Placement placement = default(Placement), ProvisioningState? provisioningState = default(ProvisioningState?), CustomDomain customDomain = default(CustomDomain), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), RoutingPreference routingPreference = default(RoutingPreference), Endpoints primaryEndpoints = default(Endpoints), string primaryLocation = default(string), AccountStatus? statusOfPrimary = default(AccountStatus?), System.DateTime? lastGeoFailoverTime = default(System.DateTime?), string secondaryLocation = default(string), AccountStatus? statusOfSecondary = default(AccountStatus?), System.DateTime? creationTime = default(System.DateTime?), KeyCreationTime keyCreationTime = default(KeyCreationTime), Endpoints secondaryEndpoints = default(Endpoints), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), bool? enableExtendedGroups = default(bool?), bool? isHnsEnabled = default(bool?), GeoReplicationStats geoReplicationStats = default(GeoReplicationStats), bool? failoverInProgress = default(bool?), string largeFileSharesState = default(string), System.Collections.Generic.IList<PrivateEndpointConnection> privateEndpointConnections = default(System.Collections.Generic.IList<PrivateEndpointConnection>), DualStackEndpointPreference dualStackEndpointPreference = default(DualStackEndpointPreference), BlobRestoreStatus blobRestoreStatus = default(BlobRestoreStatus), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? enableNfsV3 = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), string publicNetworkAccess = default(string), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string allowedCopyScope = default(string), StorageAccountSkuConversionStatus storageAccountSkuConversionStatus = default(StorageAccountSkuConversionStatus), string dnsEndpointType = default(string), bool? isSkuConversionBlocked = default(bool?), bool? accountMigrationInProgress = default(bool?))
231+
232+
/// <param name="geoPriorityReplicationStatus">Status indicating whether Geo Priority Replication is enabled for the
233+
/// account.
234+
/// </param>
235+
public StorageAccount(string location, string id = default(string), string name = default(string), string type = default(string), System.Collections.Generic.IDictionary<string, string> tags = default(System.Collections.Generic.IDictionary<string, string>), Sku sku = default(Sku), string kind = default(string), Identity identity = default(Identity), ExtendedLocation extendedLocation = default(ExtendedLocation), System.Collections.Generic.IList<string> zones = default(System.Collections.Generic.IList<string>), Placement placement = default(Placement), ProvisioningState? provisioningState = default(ProvisioningState?), CustomDomain customDomain = default(CustomDomain), SasPolicy sasPolicy = default(SasPolicy), KeyPolicy keyPolicy = default(KeyPolicy), Encryption encryption = default(Encryption), AccessTier? accessTier = default(AccessTier?), RoutingPreference routingPreference = default(RoutingPreference), Endpoints primaryEndpoints = default(Endpoints), string primaryLocation = default(string), AccountStatus? statusOfPrimary = default(AccountStatus?), System.DateTime? lastGeoFailoverTime = default(System.DateTime?), string secondaryLocation = default(string), AccountStatus? statusOfSecondary = default(AccountStatus?), System.DateTime? creationTime = default(System.DateTime?), KeyCreationTime keyCreationTime = default(KeyCreationTime), Endpoints secondaryEndpoints = default(Endpoints), AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default(AzureFilesIdentityBasedAuthentication), bool? enableHttpsTrafficOnly = default(bool?), NetworkRuleSet networkRuleSet = default(NetworkRuleSet), bool? isSftpEnabled = default(bool?), bool? isLocalUserEnabled = default(bool?), bool? enableExtendedGroups = default(bool?), bool? isHnsEnabled = default(bool?), GeoReplicationStats geoReplicationStats = default(GeoReplicationStats), bool? failoverInProgress = default(bool?), string largeFileSharesState = default(string), System.Collections.Generic.IList<PrivateEndpointConnection> privateEndpointConnections = default(System.Collections.Generic.IList<PrivateEndpointConnection>), DualStackEndpointPreference dualStackEndpointPreference = default(DualStackEndpointPreference), BlobRestoreStatus blobRestoreStatus = default(BlobRestoreStatus), bool? allowBlobPublicAccess = default(bool?), string minimumTlsVersion = default(string), bool? allowSharedKeyAccess = default(bool?), bool? enableNfsV3 = default(bool?), bool? allowCrossTenantReplication = default(bool?), bool? defaultToOAuthAuthentication = default(bool?), string publicNetworkAccess = default(string), ImmutableStorageAccount immutableStorageWithVersioning = default(ImmutableStorageAccount), string allowedCopyScope = default(string), StorageAccountSkuConversionStatus storageAccountSkuConversionStatus = default(StorageAccountSkuConversionStatus), string dnsEndpointType = default(string), bool? isSkuConversionBlocked = default(bool?), bool? accountMigrationInProgress = default(bool?), GeoPriorityReplicationStatus geoPriorityReplicationStatus = default(GeoPriorityReplicationStatus))
232236

233237
: base(location, id, name, type, tags)
234238
{
@@ -280,6 +284,7 @@ public StorageAccount()
280284
this.DnsEndpointType = dnsEndpointType;
281285
this.IsSkuConversionBlocked = isSkuConversionBlocked;
282286
this.AccountMigrationInProgress = accountMigrationInProgress;
287+
this.GeoPriorityReplicationStatus = geoPriorityReplicationStatus;
283288
CustomInit();
284289
}
285290

@@ -624,6 +629,13 @@ public StorageAccount()
624629
/// </summary>
625630
[Newtonsoft.Json.JsonProperty(PropertyName = "properties.accountMigrationInProgress")]
626631
public bool? AccountMigrationInProgress {get; private set; }
632+
633+
/// <summary>
634+
/// Gets or sets status indicating whether Geo Priority Replication is enabled
635+
/// for the account.
636+
/// </summary>
637+
[Newtonsoft.Json.JsonProperty(PropertyName = "properties.geoPriorityReplicationStatus")]
638+
public GeoPriorityReplicationStatus GeoPriorityReplicationStatus {get; set; }
627639
/// <summary>
628640
/// Validate the object.
629641
/// </summary>
@@ -693,6 +705,7 @@ public override void Validate()
693705

694706

695707

708+
696709
}
697710
}
698711
}

0 commit comments

Comments
 (0)