import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AdministratorProperties { administratorType: Expressionable<('ActiveDirectory')>; login: Expressionable; sid: Expressionable; tenantId?: Expressionable; } export interface InstancePoolProperties { licenseType: Expressionable<('LicenseIncluded' | 'BasePrice')>; subnetId: Expressionable; vCores: Expressionable; } export interface ManagedDatabaseProperties { catalogCollation?: Expressionable<('DATABASE_DEFAULT' | 'SQL_Latin1_General_CP1_CI_AS')>; collation?: Expressionable; createMode?: Expressionable<('Default' | 'RestoreExternalBackup' | 'PointInTimeRestore' | 'Recovery')>; recoverableDatabaseId?: Expressionable; restorableDroppedDatabaseId?: Expressionable; restorePointInTime?: Expressionable; sourceDatabaseId?: Expressionable; storageContainerSasToken?: Expressionable; storageContainerUri?: 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 ManagedInstanceVulnerabilityAssessmentProperties { recurringScans?: Expressionable; storageAccountAccessKey?: Expressionable; storageContainerPath: Expressionable; storageContainerSasKey?: Expressionable; } export interface PrivateEndpointConnectionProperties { privateEndpoint?: Expressionable; privateLinkServiceConnectionState?: Expressionable; } export interface PrivateEndpointProperty { id?: Expressionable; } export interface PrivateLinkServiceConnectionStateProperty { description: Expressionable; status: Expressionable; } export interface ResourceIdentity { type?: Expressionable<('SystemAssigned')>; } export interface SecurityAlertPolicyProperties { disabledAlerts?: Expressionable; emailAccountAdmins?: Expressionable; emailAddresses?: Expressionable; retentionDays?: Expressionable; state: Expressionable<('New' | 'Enabled' | 'Disabled')>; storageAccountAccessKey?: Expressionable; storageEndpoint?: Expressionable; } export interface SensitivityLabelProperties { informationType?: Expressionable; informationTypeId?: Expressionable; labelId?: Expressionable; labelName?: Expressionable; rank?: Expressionable<('None' | 'Low' | 'Medium' | 'High' | 'Critical')>; } export interface ServerVulnerabilityAssessmentProperties { recurringScans?: Expressionable; storageAccountAccessKey?: Expressionable; storageContainerPath: Expressionable; storageContainerSasKey?: Expressionable; } export interface Sku { capacity?: Expressionable; family?: Expressionable; name: Expressionable; size?: Expressionable; tier?: Expressionable; } export interface VulnerabilityAssessmentRecurringScansProperties { emails?: Expressionable; emailSubscriptionAdmins?: Expressionable; isEnabled?: Expressionable; } export declare namespace instancePools { interface AdditionalProps { sku?: Expressionable; tags?: Expressionable; } type InstancePoolsResource = ResourceDefinition; function create(name: Expressionable, properties: InstancePoolProperties, location: Expressionable, sku?: Expressionable, tags?: Expressionable): InstancePoolsResource; } 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 managedInstances { namespace databases { interface AdditionalProps { tags?: Expressionable; } type DatabasesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ManagedDatabaseProperties, location: Expressionable, tags?: Expressionable): DatabasesResource; } } export declare namespace managedInstances { namespace databases { namespace schemas { namespace tables { namespace columns { namespace sensitivityLabels { type SensitivityLabelsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable, Expressionable, Expressionable], properties: SensitivityLabelProperties): SensitivityLabelsResource; } } } } } } export declare namespace managedInstances { namespace vulnerabilityAssessments { type VulnerabilityAssessmentsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ManagedInstanceVulnerabilityAssessmentProperties): VulnerabilityAssessmentsResource; } } export declare namespace servers { namespace administrators { type AdministratorsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: AdministratorProperties): AdministratorsResource; } } export declare namespace servers { namespace databases { namespace securityAlertPolicies { type SecurityAlertPoliciesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: SecurityAlertPolicyProperties): SecurityAlertPoliciesResource; } } } export declare namespace servers { namespace privateEndpointConnections { type PrivateEndpointConnectionsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: PrivateEndpointConnectionProperties): PrivateEndpointConnectionsResource; } } export declare namespace servers { namespace vulnerabilityAssessments { type VulnerabilityAssessmentsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ServerVulnerabilityAssessmentProperties): VulnerabilityAssessmentsResource; } }