# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::Cosmosdb::Mgmt::V2020_04_01 module Models # # Parameters for patching Azure Cosmos DB database account properties. # class DatabaseAccountUpdateParameters include MsRestAzure # @return [Hash{String => String}] attr_accessor :tags # @return [String] The location of the resource group to which the # resource belongs. attr_accessor :location # @return [ConsistencyPolicy] The consistency policy for the Cosmos DB # account. attr_accessor :consistency_policy # @return [Array] An array that contains the georeplication # locations enabled for the Cosmos DB account. attr_accessor :locations # @return [Array] List of IpRules. attr_accessor :ip_rules # @return [Boolean] Flag to indicate whether to enable/disable Virtual # Network ACL rules. attr_accessor :is_virtual_network_filter_enabled # @return [Boolean] 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. attr_accessor :enable_automatic_failover # @return [Array] List of Cosmos DB capabilities for the # account attr_accessor :capabilities # @return [Array] List of Virtual Network ACL rules # configured for the Cosmos DB account. attr_accessor :virtual_network_rules # @return [Boolean] Enables the account to write in multiple locations attr_accessor :enable_multiple_write_locations # @return [Boolean] Enables the cassandra connector on the Cosmos DB C* # account attr_accessor :enable_cassandra_connector # @return [ConnectorOffer] The cassandra connector offer type for the # Cosmos DB database C* account. Possible values include: 'Small' attr_accessor :connector_offer # @return [Boolean] Disable write operations on metadata resources # (databases, containers, throughput) via account keys attr_accessor :disable_key_based_metadata_write_access # @return [String] The URI of the key vault attr_accessor :key_vault_key_uri # @return [PublicNetworkAccess] Whether requests from Public Network are # allowed. Possible values include: 'Enabled', 'Disabled' attr_accessor :public_network_access # @return [Boolean] Flag to indicate whether Free Tier is enabled. attr_accessor :enable_free_tier # @return [ApiProperties] API specific properties. Currently, supported # only for MongoDB API. attr_accessor :api_properties # @return [Boolean] Flag to indicate whether to enable storage analytics. attr_accessor :enable_analytical_storage # # Mapper for DatabaseAccountUpdateParameters class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'DatabaseAccountUpdateParameters', type: { name: 'Composite', class_name: 'DatabaseAccountUpdateParameters', model_properties: { tags: { client_side_validation: true, required: false, serialized_name: 'tags', type: { name: 'Dictionary', value: { client_side_validation: true, required: false, serialized_name: 'StringElementType', type: { name: 'String' } } } }, location: { client_side_validation: true, required: false, serialized_name: 'location', type: { name: 'String' } }, consistency_policy: { client_side_validation: true, required: false, serialized_name: 'properties.consistencyPolicy', type: { name: 'Composite', class_name: 'ConsistencyPolicy' } }, locations: { client_side_validation: true, required: false, serialized_name: 'properties.locations', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'LocationElementType', type: { name: 'Composite', class_name: 'Location' } } } }, ip_rules: { client_side_validation: true, required: false, serialized_name: 'properties.ipRules', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'IpAddressOrRangeElementType', type: { name: 'Composite', class_name: 'IpAddressOrRange' } } } }, is_virtual_network_filter_enabled: { client_side_validation: true, required: false, serialized_name: 'properties.isVirtualNetworkFilterEnabled', type: { name: 'Boolean' } }, enable_automatic_failover: { client_side_validation: true, required: false, serialized_name: 'properties.enableAutomaticFailover', type: { name: 'Boolean' } }, capabilities: { client_side_validation: true, required: false, serialized_name: 'properties.capabilities', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'CapabilityElementType', type: { name: 'Composite', class_name: 'Capability' } } } }, virtual_network_rules: { client_side_validation: true, required: false, serialized_name: 'properties.virtualNetworkRules', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'VirtualNetworkRuleElementType', type: { name: 'Composite', class_name: 'VirtualNetworkRule' } } } }, enable_multiple_write_locations: { client_side_validation: true, required: false, serialized_name: 'properties.enableMultipleWriteLocations', type: { name: 'Boolean' } }, enable_cassandra_connector: { client_side_validation: true, required: false, serialized_name: 'properties.enableCassandraConnector', type: { name: 'Boolean' } }, connector_offer: { client_side_validation: true, required: false, serialized_name: 'properties.connectorOffer', type: { name: 'String' } }, disable_key_based_metadata_write_access: { client_side_validation: true, required: false, serialized_name: 'properties.disableKeyBasedMetadataWriteAccess', type: { name: 'Boolean' } }, key_vault_key_uri: { client_side_validation: true, required: false, serialized_name: 'properties.keyVaultKeyUri', type: { name: 'String' } }, public_network_access: { client_side_validation: true, required: false, serialized_name: 'properties.publicNetworkAccess', type: { name: 'String' } }, enable_free_tier: { client_side_validation: true, required: false, serialized_name: 'properties.enableFreeTier', type: { name: 'Boolean' } }, api_properties: { client_side_validation: true, required: false, serialized_name: 'properties.apiProperties', type: { name: 'Composite', class_name: 'ApiProperties' } }, enable_analytical_storage: { client_side_validation: true, required: false, serialized_name: 'properties.enableAnalyticalStorage', type: { name: 'Boolean' } } } } } end end end end