import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface Address { addressLine1: Expressionable; addressLine2?: Expressionable; addressLine3?: Expressionable; city: Expressionable; country: Expressionable; postalCode: Expressionable; state: Expressionable; } export interface AsymmetricEncryptedSecret { encryptionAlgorithm: Expressionable<('None' | 'AES256' | 'RSAES_PKCS1_v_1_5')>; encryptionCertThumbprint?: Expressionable; value: Expressionable; } export interface Authentication { symmetricKey?: Expressionable; } export interface AzureContainerInfo { containerName: Expressionable; dataFormat: Expressionable<('BlockBlob' | 'PageBlob' | 'AzureFile')>; storageAccountCredentialId: Expressionable; } export interface BandwidthScheduleProperties { days: Expressionable<('Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday')[]>; rateInMbps: Expressionable; start: Expressionable; stop: Expressionable; } export interface ClientAccessRight { accessPermission: Expressionable<('NoAccess' | 'ReadOnly' | 'ReadWrite')>; client: Expressionable; } export interface ContactDetails { companyName: Expressionable; contactPerson: Expressionable; emailList: Expressionable; phone: Expressionable; } export interface ContainerProperties { dataFormat: Expressionable<('BlockBlob' | 'PageBlob' | 'AzureFile')>; } export interface DataBoxEdgeDeviceProperties { dataBoxEdgeDeviceStatus?: Expressionable<('ReadyToSetup' | 'Online' | 'Offline' | 'NeedsAttention' | 'Disconnected' | 'PartiallyDisconnected' | 'Maintenance')>; description?: Expressionable; friendlyName?: Expressionable; modelDescription?: Expressionable; } export interface FileEventTrigger { kind: Expressionable<('FileEvent')>; properties: Expressionable; } export interface FileSourceInfo { shareId: Expressionable; } export interface FileTriggerProperties { customContextTag?: Expressionable; sinkInfo: Expressionable; sourceInfo: Expressionable; } export interface IoTDeviceInfo { authentication?: Expressionable; deviceId: Expressionable; ioTHostHub: Expressionable; ioTHostHubId?: Expressionable; } export interface IoTRole { kind: Expressionable<('IOT')>; properties?: Expressionable; } export interface IoTRoleProperties { hostPlatform: Expressionable<('Windows' | 'Linux')>; ioTDeviceDetails: Expressionable; ioTEdgeDeviceDetails: Expressionable; roleStatus: Expressionable<('Enabled' | 'Disabled')>; shareMappings?: Expressionable; } export interface MountPointMap { shareId: Expressionable; } export interface OrderProperties { contactInformation: Expressionable; currentStatus?: Expressionable; shippingAddress: Expressionable
; } export interface OrderStatus { comments?: Expressionable; status: Expressionable<('Untracked' | 'AwaitingFulfilment' | 'AwaitingPreparation' | 'AwaitingShipment' | 'Shipped' | 'Arriving' | 'Delivered' | 'ReplacementRequested' | 'LostDevice' | 'Declined' | 'ReturnInitiated' | 'AwaitingReturnShipment' | 'ShippedBack' | 'CollectedAtMicrosoft')>; } export interface PeriodicTimerEventTrigger { kind: Expressionable<('PeriodicTimerEvent')>; properties: Expressionable; } export interface PeriodicTimerProperties { customContextTag?: Expressionable; sinkInfo: Expressionable; sourceInfo: Expressionable; } export interface PeriodicTimerSourceInfo { schedule: Expressionable; startTime: Expressionable; topic?: Expressionable; } export interface RefreshDetails { errorManifestFile?: Expressionable; inProgressRefreshJobId?: Expressionable; lastCompletedRefreshJobTimeInUTC?: Expressionable; lastJob?: Expressionable; } export interface RoleSinkInfo { roleId: Expressionable; } export interface ShareAccessRight { accessType: Expressionable<('Change' | 'Read' | 'Custom')>; shareId: Expressionable; } export interface ShareProperties { accessProtocol: Expressionable<('SMB' | 'NFS')>; azureContainerInfo?: Expressionable; clientAccessRights?: Expressionable; dataPolicy?: Expressionable<('Cloud' | 'Local')>; description?: Expressionable; monitoringStatus: Expressionable<('Enabled' | 'Disabled')>; refreshDetails?: Expressionable; shareStatus: Expressionable<('Offline' | 'Unknown' | 'OK' | 'Updating' | 'NeedsAttention')>; userAccessRights?: Expressionable; } export interface Sku { name?: Expressionable<('Gateway' | 'Edge' | 'TEA_1Node' | 'TEA_1Node_UPS' | 'TEA_1Node_Heater' | 'TEA_1Node_UPS_Heater' | 'TEA_4Node_Heater' | 'TEA_4Node_UPS_Heater' | 'TMA')>; tier?: Expressionable<('Standard')>; } export interface StorageAccountCredentialProperties { accountKey?: Expressionable; accountType: Expressionable<('GeneralPurposeStorage' | 'BlobStorage')>; alias: Expressionable; blobDomainName?: Expressionable; connectionString?: Expressionable; sslStatus: Expressionable<('Enabled' | 'Disabled')>; storageAccountId?: Expressionable; userName?: Expressionable; } export interface StorageAccountProperties { dataPolicy?: Expressionable<('Cloud' | 'Local')>; description?: Expressionable; storageAccountCredentialId?: Expressionable; storageAccountStatus?: Expressionable<('OK' | 'Offline' | 'Unknown' | 'Updating' | 'NeedsAttention')>; } export interface SymmetricKey { connectionString?: Expressionable; } export interface UserAccessRight { accessType: Expressionable<('Change' | 'Read' | 'Custom')>; userId: Expressionable; } export interface UserProperties { encryptedPassword?: Expressionable; shareAccessRights?: Expressionable; userType: Expressionable<('Share' | 'LocalManagement' | 'ARM')>; } export declare namespace dataBoxEdgeDevices { interface AdditionalProps { sku?: Expressionable; tags?: Expressionable; } type DataBoxEdgeDevicesResource = ResourceDefinition; function create(name: Expressionable, properties: DataBoxEdgeDeviceProperties, location: Expressionable, sku?: Expressionable, tags?: Expressionable): DataBoxEdgeDevicesResource; } export declare namespace dataBoxEdgeDevices { namespace bandwidthSchedules { type BandwidthSchedulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: BandwidthScheduleProperties): BandwidthSchedulesResource; } } export declare namespace dataBoxEdgeDevices { namespace orders { type OrdersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: OrderProperties): OrdersResource; } } export declare namespace dataBoxEdgeDevices { namespace roles { type RolesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: IoTRoleProperties): RolesResource; } } export declare namespace dataBoxEdgeDevices { namespace shares { type SharesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ShareProperties): SharesResource; } } export declare namespace dataBoxEdgeDevices { namespace storageAccountCredentials { type StorageAccountCredentialsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: StorageAccountCredentialProperties): StorageAccountCredentialsResource; } } export declare namespace dataBoxEdgeDevices { namespace storageAccounts { type StorageAccountsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: StorageAccountProperties): StorageAccountsResource; } } export declare namespace dataBoxEdgeDevices { namespace storageAccounts { namespace containers { type ContainersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ContainerProperties): ContainersResource; } } } export declare namespace dataBoxEdgeDevices { namespace triggers { type TriggersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: FileTriggerProperties | PeriodicTimerProperties): TriggersResource; } } export declare namespace dataBoxEdgeDevices { namespace users { type UsersResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: UserProperties): UsersResource; } }