import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface DatabaseBlobAuditingPolicyProperties { auditActionsAndGroups?: Expressionable; isAzureMonitorTargetEnabled?: Expressionable; isStorageSecondaryKeyInUse?: Expressionable; queueDelayMs?: Expressionable; retentionDays?: Expressionable; state: Expressionable<('Enabled' | 'Disabled')>; storageAccountAccessKey?: Expressionable; storageAccountSubscriptionId?: Expressionable; storageEndpoint?: Expressionable; } export interface EncryptionProtectorProperties { serverKeyName?: Expressionable; serverKeyType: Expressionable<('ServiceManaged' | 'AzureKeyVault')>; } export interface FailoverGroupProperties { databases?: Expressionable; partnerServers: Expressionable; readOnlyEndpoint?: Expressionable; readWriteEndpoint: Expressionable; } export interface FailoverGroupReadOnlyEndpoint { failoverPolicy?: Expressionable<('Disabled' | 'Enabled')>; } export interface FailoverGroupReadWriteEndpoint { failoverPolicy: Expressionable<('Manual' | 'Automatic')>; failoverWithDataLossGracePeriodMinutes?: Expressionable; } export interface FirewallRuleModel { name?: Expressionable; properties?: Expressionable; } export interface ManagedInstanceProperties { administratorLogin?: Expressionable; administratorLoginPassword?: Expressionable; collation?: Expressionable; dnsZonePartner?: Expressionable; instancePoolId?: Expressionable; licenseType?: Expressionable<('LicenseIncluded' | 'BasePrice')>; managedInstanceCreateMode?: Expressionable<('Default' | 'PointInTimeRestore')>; proxyOverride?: Expressionable<('Proxy' | 'Redirect' | 'Default')>; publicDataEndpointEnabled?: Expressionable; restorePointInTime?: Expressionable; sourceManagedInstanceId?: Expressionable; storageSizeInGB?: Expressionable; subnetId?: Expressionable; timezoneId?: Expressionable; vCores?: Expressionable; } export interface PartnerInfo { id: Expressionable; } export interface ResourceIdentity { type?: Expressionable<('SystemAssigned')>; } export interface ServerFirewallRuleProperties { endIpAddress?: Expressionable; startIpAddress?: Expressionable; } export interface ServerKeyProperties { creationDate?: Expressionable; serverKeyType: Expressionable<('ServiceManaged' | 'AzureKeyVault')>; thumbprint?: Expressionable; uri?: Expressionable; } export interface ServerProperties { administratorLogin?: Expressionable; administratorLoginPassword?: Expressionable; version?: Expressionable; } export interface Sku { capacity?: Expressionable; family?: Expressionable; name: Expressionable; size?: Expressionable; tier?: Expressionable; } export interface SyncAgentProperties { syncDatabaseId?: Expressionable; } export interface SyncGroupProperties { conflictResolutionPolicy?: Expressionable<('HubWin' | 'MemberWin')>; hubDatabasePassword?: Expressionable; hubDatabaseUserName?: Expressionable; interval?: Expressionable; schema?: Expressionable; syncDatabaseId?: Expressionable; } export interface SyncGroupSchema { masterSyncMemberName?: Expressionable; tables?: Expressionable; } export interface SyncGroupSchemaTable { columns?: Expressionable; quotedName?: Expressionable; } export interface SyncGroupSchemaTableColumn { dataSize?: Expressionable; dataType?: Expressionable; quotedName?: Expressionable; } export interface SyncMemberProperties { databaseName?: Expressionable; databaseType?: Expressionable<('AzureSqlDatabase' | 'SqlServerDatabase')>; password?: Expressionable; serverName?: Expressionable; sqlServerDatabaseId?: Expressionable; syncAgentId?: Expressionable; syncDirection?: Expressionable<('Bidirectional' | 'OneWayMemberToHub' | 'OneWayHubToMember')>; userName?: Expressionable; } export interface VirtualNetworkRuleProperties { ignoreMissingVnetServiceEndpoint?: Expressionable; virtualNetworkSubnetId: Expressionable; } export declare namespace managedInstances { interface AdditionalProps { identity?: Expressionable; sku?: Expressionable; tags?: Expressionable; } type ManagedInstancesResource = ResourceDefinition; function create(name: Expressionable, properties: ManagedInstanceProperties, location: Expressionable, identity?: Expressionable, sku?: Expressionable, tags?: Expressionable): ManagedInstancesResource; } export declare namespace servers { interface AdditionalProps { identity?: Expressionable; tags?: Expressionable; } type ServersResource = ResourceDefinition; function create(name: Expressionable, properties: ServerProperties, location: Expressionable, identity?: Expressionable, tags?: Expressionable): ServersResource; } export declare namespace servers { namespace databases { namespace auditingSettings { type AuditingSettingsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: DatabaseBlobAuditingPolicyProperties): AuditingSettingsResource; } } } export declare namespace servers { namespace databases { namespace syncGroups { type SyncGroupsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: SyncGroupProperties): SyncGroupsResource; } } } export declare namespace servers { namespace databases { namespace syncGroups { namespace syncMembers { type SyncMembersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: SyncMemberProperties): SyncMembersResource; } } } } export declare namespace servers { namespace encryptionProtector { type EncryptionProtectorResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: EncryptionProtectorProperties): EncryptionProtectorResource; } } export declare namespace servers { namespace failoverGroups { interface AdditionalProps { tags?: Expressionable; } type FailoverGroupsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: FailoverGroupProperties, tags?: Expressionable): FailoverGroupsResource; } } export declare namespace servers { namespace firewallRules { type FirewallRulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ServerFirewallRuleProperties): FirewallRulesResource; } } export declare namespace servers { namespace keys { interface AdditionalProps { kind?: Expressionable; } type KeysResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ServerKeyProperties, kind?: Expressionable): KeysResource; } } export declare namespace servers { namespace syncAgents { type SyncAgentsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: SyncAgentProperties): SyncAgentsResource; } } export declare namespace servers { namespace virtualNetworkRules { type VirtualNetworkRulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: VirtualNetworkRuleProperties): VirtualNetworkRulesResource; } }