import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface Capability { name?: Expressionable; } export interface CassandraKeyspaceCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface CassandraKeyspaceResource { id: Expressionable; } export interface CassandraPartitionKey { name?: Expressionable; } export interface CassandraSchema { clusterKeys?: Expressionable; columns?: Expressionable; partitionKeys?: Expressionable; } export interface CassandraTableCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface CassandraTableResource { defaultTtl?: Expressionable; id: Expressionable; schema?: Expressionable; } export interface ClusterKey { name?: Expressionable; orderBy?: Expressionable; } export interface Column { name?: Expressionable; type?: Expressionable; } export interface CompositePath { order?: Expressionable<('Ascending' | 'Descending')>; path?: Expressionable; } export interface ConflictResolutionPolicy { conflictResolutionPath?: Expressionable; conflictResolutionProcedure?: Expressionable; mode?: Expressionable<('LastWriterWins' | 'Custom')>; } export interface ConsistencyPolicy { defaultConsistencyLevel: Expressionable<('Eventual' | 'Session' | 'BoundedStaleness' | 'Strong' | 'ConsistentPrefix')>; maxIntervalInSeconds?: Expressionable; maxStalenessPrefix?: Expressionable; } export interface ContainerPartitionKey { kind?: Expressionable<('Hash' | 'Range')>; paths?: Expressionable; version?: Expressionable; } export interface DatabaseAccountCreateUpdateProperties { capabilities?: Expressionable; connectorOffer?: Expressionable<('Small')>; consistencyPolicy?: Expressionable; databaseAccountOfferType: Expressionable<('Standard')>; disableKeyBasedMetadataWriteAccess?: Expressionable; enableAutomaticFailover?: Expressionable; enableCassandraConnector?: Expressionable; enableMultipleWriteLocations?: Expressionable; ipRangeFilter?: Expressionable; isVirtualNetworkFilterEnabled?: Expressionable; locations: Expressionable; virtualNetworkRules?: Expressionable; } export interface ExcludedPath { path?: Expressionable; } export interface GremlinDatabaseCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface GremlinDatabaseResource { id: Expressionable; } export interface GremlinGraphCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface GremlinGraphResource { conflictResolutionPolicy?: Expressionable; defaultTtl?: Expressionable; id: Expressionable; indexingPolicy?: Expressionable; partitionKey?: Expressionable; uniqueKeyPolicy?: Expressionable; } export interface IncludedPath { indexes?: Expressionable; path?: Expressionable; } export interface Indexes { dataType?: Expressionable<('String' | 'Number' | 'Point' | 'Polygon' | 'LineString' | 'MultiPolygon')>; kind?: Expressionable<('Hash' | 'Range' | 'Spatial')>; precision?: Expressionable; } export interface IndexingPolicy { automatic?: Expressionable; compositeIndexes?: Expressionable; excludedPaths?: Expressionable; includedPaths?: Expressionable; indexingMode?: Expressionable<('Consistent' | 'Lazy' | 'None')>; spatialIndexes?: Expressionable; } export interface Location { failoverPriority?: Expressionable; isZoneRedundant?: Expressionable; locationName?: Expressionable; provisioningState?: Expressionable; } export interface MongoDBCollectionCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface MongoDBCollectionResource { id: Expressionable; indexes?: Expressionable; shardKey?: Expressionable; } export interface MongoDBDatabaseCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface MongoDBDatabaseResource { id: Expressionable; } export interface MongoIndex { key?: Expressionable; options?: Expressionable; } export interface MongoIndexKeys { keys?: Expressionable; } export interface MongoIndexOptions { expireAfterSeconds?: Expressionable; unique?: Expressionable; } export interface SpatialSpec { path?: Expressionable; types?: Expressionable<('Point' | 'LineString' | 'Polygon' | 'MultiPolygon')[]>; } export interface SqlContainerCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface SqlContainerResource { conflictResolutionPolicy?: Expressionable; defaultTtl?: Expressionable; id: Expressionable; indexingPolicy?: Expressionable; partitionKey?: Expressionable; uniqueKeyPolicy?: Expressionable; } export interface SqlDatabaseCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface SqlDatabaseResource { id: Expressionable; } export interface SqlStoredProcedureCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface SqlStoredProcedureResource { body?: Expressionable; id: Expressionable; } export interface SqlTriggerCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface SqlTriggerResource { body?: Expressionable; id: Expressionable; triggerOperation?: Expressionable<('All' | 'Create' | 'Update' | 'Delete' | 'Replace')>; triggerType?: Expressionable<('Pre' | 'Post')>; } export interface SqlUserDefinedFunctionCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface SqlUserDefinedFunctionResource { body?: Expressionable; id: Expressionable; } export interface TableCreateUpdateProperties { options: Expressionable; resource: Expressionable; } export interface TableResource { id: Expressionable; } export interface ThroughputSettingsResource { throughput: Expressionable; } export interface ThroughputSettingsUpdateProperties { resource: Expressionable; } export interface UniqueKey { paths?: Expressionable; } export interface UniqueKeyPolicy { uniqueKeys?: Expressionable; } export interface VirtualNetworkRule { id?: Expressionable; ignoreMissingVNetServiceEndpoint?: Expressionable; } export declare namespace databaseAccounts { interface AdditionalProps { kind?: Expressionable<('GlobalDocumentDB' | 'MongoDB' | 'Parse')>; tags?: Expressionable; } type DatabaseAccountsResource = ResourceDefinition; function create(name: Expressionable, properties: DatabaseAccountCreateUpdateProperties, location?: Expressionable, kind?: Expressionable<('GlobalDocumentDB' | 'MongoDB' | 'Parse')>, tags?: Expressionable): DatabaseAccountsResource; } export declare namespace databaseAccounts { namespace cassandraKeyspaces { interface AdditionalProps { tags?: Expressionable; } type CassandraKeyspacesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: CassandraKeyspaceCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): CassandraKeyspacesResource; } } export declare namespace databaseAccounts { namespace cassandraKeyspaces { namespace tables { interface AdditionalProps { tags?: Expressionable; } type TablesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: CassandraTableCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): TablesResource; } } } export declare namespace databaseAccounts { namespace cassandraKeyspaces { namespace tables { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } } export declare namespace databaseAccounts { namespace cassandraKeyspaces { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } export declare namespace databaseAccounts { namespace gremlinDatabases { interface AdditionalProps { tags?: Expressionable; } type GremlinDatabasesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: GremlinDatabaseCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): GremlinDatabasesResource; } } export declare namespace databaseAccounts { namespace gremlinDatabases { namespace graphs { interface AdditionalProps { tags?: Expressionable; } type GraphsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: GremlinGraphCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): GraphsResource; } } } export declare namespace databaseAccounts { namespace gremlinDatabases { namespace graphs { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } } export declare namespace databaseAccounts { namespace gremlinDatabases { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } export declare namespace databaseAccounts { namespace mongodbDatabases { interface AdditionalProps { tags?: Expressionable; } type MongodbDatabasesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: MongoDBDatabaseCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): MongodbDatabasesResource; } } export declare namespace databaseAccounts { namespace mongodbDatabases { namespace collections { interface AdditionalProps { tags?: Expressionable; } type CollectionsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: MongoDBCollectionCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): CollectionsResource; } } } export declare namespace databaseAccounts { namespace mongodbDatabases { namespace collections { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } } export declare namespace databaseAccounts { namespace mongodbDatabases { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } export declare namespace databaseAccounts { namespace sqlDatabases { interface AdditionalProps { tags?: Expressionable; } type SqlDatabasesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: SqlDatabaseCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): SqlDatabasesResource; } } export declare namespace databaseAccounts { namespace sqlDatabases { namespace containers { interface AdditionalProps { tags?: Expressionable; } type ContainersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: SqlContainerCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): ContainersResource; } } } export declare namespace databaseAccounts { namespace sqlDatabases { namespace containers { namespace storedProcedures { interface AdditionalProps { tags?: Expressionable; } type StoredProceduresResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: SqlStoredProcedureCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): StoredProceduresResource; } } } } export declare namespace databaseAccounts { namespace sqlDatabases { namespace containers { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } } export declare namespace databaseAccounts { namespace sqlDatabases { namespace containers { namespace triggers { interface AdditionalProps { tags?: Expressionable; } type TriggersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: SqlTriggerCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): TriggersResource; } } } } export declare namespace databaseAccounts { namespace sqlDatabases { namespace containers { namespace userDefinedFunctions { interface AdditionalProps { tags?: Expressionable; } type UserDefinedFunctionsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: SqlUserDefinedFunctionCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): UserDefinedFunctionsResource; } } } } export declare namespace databaseAccounts { namespace sqlDatabases { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } } export declare namespace databaseAccounts { namespace tables { interface AdditionalProps { tags?: Expressionable; } type TablesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: TableCreateUpdateProperties, location?: Expressionable, tags?: Expressionable): TablesResource; } } export declare namespace databaseAccounts { namespace tables { namespace throughputSettings { interface AdditionalProps { tags?: Expressionable; } type ThroughputSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ThroughputSettingsUpdateProperties, location?: Expressionable, tags?: Expressionable): ThroughputSettingsResource; } } }