-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
CosmosDBAccountLocation.cs
92 lines (85 loc) · 6.01 KB
/
CosmosDBAccountLocation.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
// 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;
namespace Azure.ResourceManager.CosmosDB.Models
{
/// <summary> A region in which the Azure Cosmos DB database account is deployed. </summary>
public partial class CosmosDBAccountLocation
{
/// <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="CosmosDBAccountLocation"/>. </summary>
public CosmosDBAccountLocation()
{
}
/// <summary> Initializes a new instance of <see cref="CosmosDBAccountLocation"/>. </summary>
/// <param name="id"> The unique identifier of the region within the database account. Example: <accountName>-<locationName>. </param>
/// <param name="locationName"> The name of the region. </param>
/// <param name="documentEndpoint"> The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/. </param>
/// <param name="provisioningState"> The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed. </param>
/// <param name="failoverPriority"> The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. </param>
/// <param name="isZoneRedundant"> Flag to indicate whether or not this region is an AvailabilityZone region. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal CosmosDBAccountLocation(string id, AzureLocation? locationName, string documentEndpoint, string provisioningState, int? failoverPriority, bool? isZoneRedundant, IDictionary<string, BinaryData> serializedAdditionalRawData)
{
Id = id;
LocationName = locationName;
DocumentEndpoint = documentEndpoint;
ProvisioningState = provisioningState;
FailoverPriority = failoverPriority;
IsZoneRedundant = isZoneRedundant;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The unique identifier of the region within the database account. Example: <accountName>-<locationName>. </summary>
[WirePath("id")]
public string Id { get; }
/// <summary> The name of the region. </summary>
[WirePath("locationName")]
public AzureLocation? LocationName { get; set; }
/// <summary> The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/. </summary>
[WirePath("documentEndpoint")]
public string DocumentEndpoint { get; }
/// <summary> The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed. </summary>
[WirePath("provisioningState")]
public string ProvisioningState { get; }
/// <summary> The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. </summary>
[WirePath("failoverPriority")]
public int? FailoverPriority { get; set; }
/// <summary> Flag to indicate whether or not this region is an AvailabilityZone region. </summary>
[WirePath("isZoneRedundant")]
public bool? IsZoneRedundant { get; set; }
}
}