import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AppServiceEnvironment_properties { name?: Expressionable; location?: Expressionable; vnetName?: Expressionable; vnetResourceGroupName?: Expressionable; vnetSubnetName?: Expressionable; virtualNetwork?: Expressionable; internalLoadBalancingMode?: Expressionable<('None' | 'Web' | 'Publishing')>; multiSize?: Expressionable; multiRoleCount?: Expressionable; workerPools?: Expressionable; ipsslAddressCount?: Expressionable; dnsSuffix?: Expressionable; networkAccessControlList?: Expressionable; kind?: Expressionable; frontEndScaleFactor?: Expressionable; apiManagementAccountId?: Expressionable; suspended?: Expressionable; dynamicCacheEnabled?: Expressionable; clusterSettings?: Expressionable; } export interface NameValuePair { name?: Expressionable; value?: Expressionable; } export interface NetworkAccessControlEntry { action?: Expressionable<('Permit' | 'Deny')>; description?: Expressionable; order?: Expressionable; remoteSubnet?: Expressionable; } export interface VirtualNetworkProfile { id?: Expressionable; subnet?: Expressionable; } export interface WorkerPool { workerSizeId?: Expressionable; computeMode?: Expressionable<('Shared' | 'Dedicated' | 'Dynamic')>; workerSize?: Expressionable; workerCount?: Expressionable; } export interface AppServicePlan_properties { name?: Expressionable; workerTierName?: Expressionable; adminSiteName?: Expressionable; hostingEnvironmentProfile?: Expressionable; perSiteScaling?: Expressionable; reserved?: Expressionable; targetWorkerCount?: Expressionable; targetWorkerSizeId?: Expressionable; } export interface Capability { name?: Expressionable; value?: Expressionable; reason?: Expressionable; } export interface HostingEnvironmentProfile { id?: Expressionable; } export interface SkuCapacity { minimum?: Expressionable; maximum?: Expressionable; default?: Expressionable; scaleType?: Expressionable; } export interface SkuDescription { name?: Expressionable; tier?: Expressionable; size?: Expressionable; family?: Expressionable; capacity?: Expressionable; skuCapacity?: Expressionable; locations?: Expressionable; capabilities?: Expressionable; } export interface VnetGateway_properties { vnetName?: Expressionable; vpnPackageUri?: Expressionable; } export interface VnetRoute_properties { name?: Expressionable; startAddress?: Expressionable; endAddress?: Expressionable; routeType?: Expressionable<('DEFAULT' | 'INHERITED' | 'STATIC')>; } export declare namespace serverfarms { interface AdditionalProps { sku?: Expressionable; } type ServerfarmsResource = ResourceDefinition; function create(name: Expressionable, properties: AppServicePlan_properties, sku?: Expressionable): ServerfarmsResource; } export declare namespace serverfarms { namespace virtualNetworkConnections { namespace gateways { type GatewaysResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: VnetGateway_properties): GatewaysResource; } } } export declare namespace serverfarms { namespace virtualNetworkConnections { namespace routes { type RoutesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: VnetRoute_properties): RoutesResource; } } } export declare namespace hostingEnvironments { type HostingEnvironmentsResource = ResourceDefinition; function create(name: Expressionable, properties: AppServiceEnvironment_properties): HostingEnvironmentsResource; } export declare namespace hostingEnvironments { namespace workerPools { type WorkerPoolsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: any): WorkerPoolsResource; } } export declare namespace hostingEnvironments { namespace multiRolePools { type MultiRolePoolsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: any): MultiRolePoolsResource; } }