import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface CustomDomain { name: Expressionable; useSubDomain?: Expressionable; } export interface Encryption { services?: Expressionable; keySource: Expressionable<('Microsoft.Storage' | 'Microsoft.Keyvault')>; keyvaultproperties?: Expressionable; } export interface EncryptionService { enabled?: Expressionable; } export interface EncryptionServices { blob?: Expressionable; file?: Expressionable; } export interface Identity { type: Expressionable<('SystemAssigned')>; } export interface IPRule { value: Expressionable; action?: Expressionable<('Allow')>; } export interface KeyVaultProperties { keyname?: Expressionable; keyversion?: Expressionable; keyvaulturi?: Expressionable; } export interface NetworkRuleSet { bypass?: Expressionable<('None' | 'Logging' | 'Metrics' | 'AzureServices')>; virtualNetworkRules?: Expressionable; ipRules?: Expressionable; defaultAction: Expressionable<('Allow' | 'Deny')>; } export interface Restriction { reasonCode?: Expressionable<('QuotaId' | 'NotAvailableForSubscription')>; } export interface Sku { name: Expressionable<('Standard_LRS' | 'Standard_GRS' | 'Standard_RAGRS' | 'Standard_ZRS' | 'Premium_LRS')>; restrictions?: Expressionable; } export interface StorageAccountPropertiesCreateParameters { customDomain?: Expressionable; encryption?: Expressionable; networkAcls?: Expressionable; accessTier?: Expressionable<('Hot' | 'Cool')>; supportsHttpsTrafficOnly?: Expressionable<(false)>; } export interface VirtualNetworkRule { id: Expressionable; action?: Expressionable<('Allow')>; state?: Expressionable<('provisioning' | 'deprovisioning' | 'succeeded' | 'failed' | 'networkSourceDeleted')>; } export declare namespace storageAccounts { interface AdditionalProps { identity?: Expressionable; sku: Expressionable; kind: Expressionable<('Storage' | 'BlobStorage')>; } type StorageAccountsResource = ResourceDefinition; function create(name: Expressionable, properties: StorageAccountPropertiesCreateParameters, location: Expressionable, sku: Expressionable, kind: Expressionable<('Storage' | 'BlobStorage')>, identity?: Expressionable): StorageAccountsResource; }