/// <summary>
 /// Initializes a new instance of the DatabaseAccountUpdateParameters
 /// class.
 /// </summary>
 /// <param name="location">The location of the resource group to which
 /// the resource belongs.</param>
 /// <param name="consistencyPolicy">The consistency policy for the
 /// Cosmos DB account.</param>
 /// <param name="locations">An array that contains the georeplication
 /// locations enabled for the Cosmos DB account.</param>
 /// <param name="ipRules">List of IpRules.</param>
 /// <param name="isVirtualNetworkFilterEnabled">Flag to indicate
 /// whether to enable/disable Virtual Network ACL rules.</param>
 /// <param name="enableAutomaticFailover">Enables automatic failover of
 /// the write region in the rare event that the region is unavailable
 /// due to an outage. Automatic failover will result in a new write
 /// region for the account and is chosen based on the failover
 /// priorities configured for the account.</param>
 /// <param name="capabilities">List of Cosmos DB capabilities for the
 /// account</param>
 /// <param name="virtualNetworkRules">List of Virtual Network ACL rules
 /// configured for the Cosmos DB account.</param>
 /// <param name="enableMultipleWriteLocations">Enables the account to
 /// write in multiple locations</param>
 /// <param name="enableCassandraConnector">Enables the cassandra
 /// connector on the Cosmos DB C* account</param>
 /// <param name="connectorOffer">The cassandra connector offer type for
 /// the Cosmos DB database C* account. Possible values include:
 /// 'Small'</param>
 /// <param name="disableKeyBasedMetadataWriteAccess">Disable write
 /// operations on metadata resources (databases, containers,
 /// throughput) via account keys</param>
 /// <param name="keyVaultKeyUri">The URI of the key vault</param>
 /// <param name="defaultIdentity">The default identity for accessing
 /// key vault used in features like customer managed keys. The default
 /// identity needs to be explicitly set by the users. It can be
 /// "FirstPartyIdentity", "SystemAssignedIdentity" and more.</param>
 /// <param name="publicNetworkAccess">Whether requests from Public
 /// Network are allowed. Possible values include: 'Enabled',
 /// 'Disabled'</param>
 /// <param name="enableFreeTier">Flag to indicate whether Free Tier is
 /// enabled.</param>
 /// <param name="apiProperties">API specific properties. Currently,
 /// supported only for MongoDB API.</param>
 /// <param name="enableAnalyticalStorage">Flag to indicate whether to
 /// enable storage analytics.</param>
 /// <param name="analyticalStorageConfiguration">Analytical storage
 /// specific properties.</param>
 /// <param name="backupPolicy">The object representing the policy for
 /// taking backups on an account.</param>
 /// <param name="cors">The CORS policy for the Cosmos DB database
 /// account.</param>
 /// <param name="networkAclBypass">Indicates what services are allowed
 /// to bypass firewall checks. Possible values include: 'None',
 /// 'AzureServices'</param>
 /// <param name="networkAclBypassResourceIds">An array that contains
 /// the Resource Ids for Network Acl Bypass for the Cosmos DB
 /// account.</param>
 /// <param name="diagnosticLogSettings">The Object representing the
 /// different Diagnostic log settings for the Cosmos DB
 /// Account.</param>
 /// <param name="disableLocalAuth">Opt-out of local authentication and
 /// ensure only MSI and AAD can be used exclusively for
 /// authentication.</param>
 /// <param name="capacity">The object that represents all properties
 /// related to capacity enforcement on an account.</param>
 /// <param name="enableMaterializedViews">Flag to indicate whether to
 /// enable MaterializedViews on the Cosmos DB account</param>
 public DatabaseAccountUpdateParameters(IDictionary <string, string> tags = default(IDictionary <string, string>), string location = default(string), ManagedServiceIdentity identity = default(ManagedServiceIdentity), ConsistencyPolicy consistencyPolicy = default(ConsistencyPolicy), IList <Location> locations = default(IList <Location>), IList <IpAddressOrRange> ipRules = default(IList <IpAddressOrRange>), bool?isVirtualNetworkFilterEnabled = default(bool?), bool?enableAutomaticFailover = default(bool?), IList <Capability> capabilities = default(IList <Capability>), IList <VirtualNetworkRule> virtualNetworkRules = default(IList <VirtualNetworkRule>), bool?enableMultipleWriteLocations = default(bool?), bool?enableCassandraConnector = default(bool?), string connectorOffer = default(string), bool?disableKeyBasedMetadataWriteAccess = default(bool?), string keyVaultKeyUri = default(string), string defaultIdentity = default(string), string publicNetworkAccess = default(string), bool?enableFreeTier = default(bool?), ApiProperties apiProperties = default(ApiProperties), bool?enableAnalyticalStorage = default(bool?), AnalyticalStorageConfiguration analyticalStorageConfiguration = default(AnalyticalStorageConfiguration), BackupPolicy backupPolicy = default(BackupPolicy), IList <CorsPolicy> cors = default(IList <CorsPolicy>), NetworkAclBypass?networkAclBypass = default(NetworkAclBypass?), IList <string> networkAclBypassResourceIds = default(IList <string>), DiagnosticLogSettings diagnosticLogSettings = default(DiagnosticLogSettings), bool?disableLocalAuth = default(bool?), Capacity capacity = default(Capacity), bool?enableMaterializedViews = default(bool?))
 {
     Tags                               = tags;
     Location                           = location;
     Identity                           = identity;
     ConsistencyPolicy                  = consistencyPolicy;
     Locations                          = locations;
     IpRules                            = ipRules;
     IsVirtualNetworkFilterEnabled      = isVirtualNetworkFilterEnabled;
     EnableAutomaticFailover            = enableAutomaticFailover;
     Capabilities                       = capabilities;
     VirtualNetworkRules                = virtualNetworkRules;
     EnableMultipleWriteLocations       = enableMultipleWriteLocations;
     EnableCassandraConnector           = enableCassandraConnector;
     ConnectorOffer                     = connectorOffer;
     DisableKeyBasedMetadataWriteAccess = disableKeyBasedMetadataWriteAccess;
     KeyVaultKeyUri                     = keyVaultKeyUri;
     DefaultIdentity                    = defaultIdentity;
     PublicNetworkAccess                = publicNetworkAccess;
     EnableFreeTier                     = enableFreeTier;
     ApiProperties                      = apiProperties;
     EnableAnalyticalStorage            = enableAnalyticalStorage;
     AnalyticalStorageConfiguration     = analyticalStorageConfiguration;
     BackupPolicy                       = backupPolicy;
     Cors                               = cors;
     NetworkAclBypass                   = networkAclBypass;
     NetworkAclBypassResourceIds        = networkAclBypassResourceIds;
     DiagnosticLogSettings              = diagnosticLogSettings;
     DisableLocalAuth                   = disableLocalAuth;
     Capacity                           = capacity;
     EnableMaterializedViews            = enableMaterializedViews;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the DatabaseAccountGetResults class.
 /// </summary>
 /// <param name="id">The unique resource identifier of the ARM
 /// resource.</param>
 /// <param name="name">The name of the ARM resource.</param>
 /// <param name="type">The type of Azure resource.</param>
 /// <param name="location">The location of the resource group to which
 /// the resource belongs.</param>
 /// <param name="kind">Indicates the type of database account. This can
 /// only be set at database account creation. Possible values include:
 /// 'GlobalDocumentDB', 'MongoDB', 'Parse'</param>
 /// <param name="documentEndpoint">The connection endpoint for the
 /// Cosmos DB database account.</param>
 /// <param name="databaseAccountOfferType">The offer type for the
 /// Cosmos DB database account. Default value: Standard. Possible
 /// values include: 'Standard'</param>
 /// <param name="ipRules">List of IpRules.</param>
 /// <param name="isVirtualNetworkFilterEnabled">Flag to indicate
 /// whether to enable/disable Virtual Network ACL rules.</param>
 /// <param name="enableAutomaticFailover">Enables automatic failover of
 /// the write region in the rare event that the region is unavailable
 /// due to an outage. Automatic failover will result in a new write
 /// region for the account and is chosen based on the failover
 /// priorities configured for the account.</param>
 /// <param name="consistencyPolicy">The consistency policy for the
 /// Cosmos DB database account.</param>
 /// <param name="capabilities">List of Cosmos DB capabilities for the
 /// account</param>
 /// <param name="writeLocations">An array that contains the write
 /// location for the Cosmos DB account.</param>
 /// <param name="readLocations">An array that contains of the read
 /// locations enabled for the Cosmos DB account.</param>
 /// <param name="locations">An array that contains all of the locations
 /// enabled for the Cosmos DB account.</param>
 /// <param name="failoverPolicies">An array that contains the regions
 /// ordered by their failover priorities.</param>
 /// <param name="virtualNetworkRules">List of Virtual Network ACL rules
 /// configured for the Cosmos DB account.</param>
 /// <param name="privateEndpointConnections">List of Private Endpoint
 /// Connections configured for the Cosmos DB account.</param>
 /// <param name="enableMultipleWriteLocations">Enables the account to
 /// write in multiple locations</param>
 /// <param name="enableCassandraConnector">Enables the cassandra
 /// connector on the Cosmos DB C* account</param>
 /// <param name="connectorOffer">The cassandra connector offer type for
 /// the Cosmos DB database C* account. Possible values include:
 /// 'Small'</param>
 /// <param name="disableKeyBasedMetadataWriteAccess">Disable write
 /// operations on metadata resources (databases, containers,
 /// throughput) via account keys</param>
 /// <param name="keyVaultKeyUri">The URI of the key vault</param>
 /// <param name="defaultIdentity">The default identity for accessing
 /// key vault used in features like customer managed keys. The default
 /// identity needs to be explicitly set by the users. It can be
 /// "FirstPartyIdentity", "SystemAssignedIdentity" and more.</param>
 /// <param name="publicNetworkAccess">Whether requests from Public
 /// Network are allowed. Possible values include: 'Enabled',
 /// 'Disabled'</param>
 /// <param name="enableFreeTier">Flag to indicate whether Free Tier is
 /// enabled.</param>
 /// <param name="apiProperties">API specific properties.</param>
 /// <param name="enableAnalyticalStorage">Flag to indicate whether to
 /// enable storage analytics.</param>
 /// <param name="analyticalStorageConfiguration">Analytical storage
 /// specific properties.</param>
 /// <param name="instanceId">A unique identifier assigned to the
 /// database account</param>
 /// <param name="createMode">Enum to indicate the mode of account
 /// creation. Possible values include: 'Default', 'Restore'</param>
 /// <param name="restoreParameters">Parameters to indicate the
 /// information about the restore.</param>
 /// <param name="backupPolicy">The object representing the policy for
 /// taking backups on an account.</param>
 /// <param name="cors">The CORS policy for the Cosmos DB database
 /// account.</param>
 /// <param name="networkAclBypass">Indicates what services are allowed
 /// to bypass firewall checks. Possible values include: 'None',
 /// 'AzureServices'</param>
 /// <param name="networkAclBypassResourceIds">An array that contains
 /// the Resource Ids for Network Acl Bypass for the Cosmos DB
 /// account.</param>
 /// <param name="diagnosticLogSettings">The Object representing the
 /// different Diagnostic log settings for the Cosmos DB
 /// Account.</param>
 /// <param name="disableLocalAuth">Opt-out of local authentication and
 /// ensure only MSI and AAD can be used exclusively for
 /// authentication.</param>
 /// <param name="capacity">The object that represents all properties
 /// related to capacity enforcement on an account.</param>
 /// <param name="enableMaterializedViews">Flag to indicate whether to
 /// enable MaterializedViews on the Cosmos DB account</param>
 /// <param name="systemData">The system meta data relating to this
 /// resource.</param>
 public DatabaseAccountGetResults(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), ManagedServiceIdentity identity = default(ManagedServiceIdentity), string kind = default(string), string provisioningState = default(string), string documentEndpoint = default(string), DatabaseAccountOfferType?databaseAccountOfferType = default(DatabaseAccountOfferType?), IList <IpAddressOrRange> ipRules = default(IList <IpAddressOrRange>), bool?isVirtualNetworkFilterEnabled = default(bool?), bool?enableAutomaticFailover = default(bool?), ConsistencyPolicy consistencyPolicy = default(ConsistencyPolicy), IList <Capability> capabilities = default(IList <Capability>), IList <Location> writeLocations = default(IList <Location>), IList <Location> readLocations = default(IList <Location>), IList <Location> locations = default(IList <Location>), IList <FailoverPolicy> failoverPolicies = default(IList <FailoverPolicy>), IList <VirtualNetworkRule> virtualNetworkRules = default(IList <VirtualNetworkRule>), IList <PrivateEndpointConnection> privateEndpointConnections = default(IList <PrivateEndpointConnection>), bool?enableMultipleWriteLocations = default(bool?), bool?enableCassandraConnector = default(bool?), string connectorOffer = default(string), bool?disableKeyBasedMetadataWriteAccess = default(bool?), string keyVaultKeyUri = default(string), string defaultIdentity = default(string), string publicNetworkAccess = default(string), bool?enableFreeTier = default(bool?), ApiProperties apiProperties = default(ApiProperties), bool?enableAnalyticalStorage = default(bool?), AnalyticalStorageConfiguration analyticalStorageConfiguration = default(AnalyticalStorageConfiguration), string instanceId = default(string), string createMode = default(string), RestoreParameters restoreParameters = default(RestoreParameters), BackupPolicy backupPolicy = default(BackupPolicy), IList <CorsPolicy> cors = default(IList <CorsPolicy>), NetworkAclBypass?networkAclBypass = default(NetworkAclBypass?), IList <string> networkAclBypassResourceIds = default(IList <string>), DiagnosticLogSettings diagnosticLogSettings = default(DiagnosticLogSettings), bool?disableLocalAuth = default(bool?), Capacity capacity = default(Capacity), bool?enableMaterializedViews = default(bool?), SystemData systemData = default(SystemData))
     : base(id, name, type, location, tags, identity)
 {
     Kind = kind;
     ProvisioningState        = provisioningState;
     DocumentEndpoint         = documentEndpoint;
     DatabaseAccountOfferType = databaseAccountOfferType;
     IpRules = ipRules;
     IsVirtualNetworkFilterEnabled = isVirtualNetworkFilterEnabled;
     EnableAutomaticFailover       = enableAutomaticFailover;
     ConsistencyPolicy             = consistencyPolicy;
     Capabilities                       = capabilities;
     WriteLocations                     = writeLocations;
     ReadLocations                      = readLocations;
     Locations                          = locations;
     FailoverPolicies                   = failoverPolicies;
     VirtualNetworkRules                = virtualNetworkRules;
     PrivateEndpointConnections         = privateEndpointConnections;
     EnableMultipleWriteLocations       = enableMultipleWriteLocations;
     EnableCassandraConnector           = enableCassandraConnector;
     ConnectorOffer                     = connectorOffer;
     DisableKeyBasedMetadataWriteAccess = disableKeyBasedMetadataWriteAccess;
     KeyVaultKeyUri                     = keyVaultKeyUri;
     DefaultIdentity                    = defaultIdentity;
     PublicNetworkAccess                = publicNetworkAccess;
     EnableFreeTier                     = enableFreeTier;
     ApiProperties                      = apiProperties;
     EnableAnalyticalStorage            = enableAnalyticalStorage;
     AnalyticalStorageConfiguration     = analyticalStorageConfiguration;
     InstanceId                         = instanceId;
     CreateMode                         = createMode;
     RestoreParameters                  = restoreParameters;
     BackupPolicy                       = backupPolicy;
     Cors                        = cors;
     NetworkAclBypass            = networkAclBypass;
     NetworkAclBypassResourceIds = networkAclBypassResourceIds;
     DiagnosticLogSettings       = diagnosticLogSettings;
     DisableLocalAuth            = disableLocalAuth;
     Capacity                    = capacity;
     EnableMaterializedViews     = enableMaterializedViews;
     SystemData                  = systemData;
     CustomInit();
 }