import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface ArtifactDeploymentStatusProperties { artifactsApplied?: Expressionable; deploymentStatus?: Expressionable; totalArtifacts?: Expressionable; } export interface ArtifactInstallProperties { artifactId?: Expressionable; parameters?: Expressionable; } export interface ArtifactParameterProperties { name?: Expressionable; value?: Expressionable; } export interface ArtifactSourceProperties { branchRef?: Expressionable; displayName?: Expressionable; folderPath?: Expressionable; provisioningState?: Expressionable; securityToken?: Expressionable; sourceType?: Expressionable<('VsoGit' | 'GitHub')>; status?: Expressionable<('Enabled' | 'Disabled')>; uri?: Expressionable; } export interface CustomImageProperties { author?: Expressionable; creationDate?: Expressionable; description?: Expressionable; osType?: Expressionable<('Windows' | 'Linux' | 'None')>; provisioningState?: Expressionable; vhd?: Expressionable; vm?: Expressionable; } export interface CustomImagePropertiesCustom { imageName?: Expressionable; sysPrep?: Expressionable; } export interface CustomImagePropertiesFromVm { linuxOsInfo?: Expressionable; sourceVmId?: Expressionable; sysPrep?: Expressionable; windowsOsInfo?: Expressionable; } export interface DayDetails { time?: Expressionable; } export interface FormulaProperties { author?: Expressionable; creationDate?: Expressionable; description?: Expressionable; formulaContent?: Expressionable; osType?: Expressionable; provisioningState?: Expressionable; vm?: Expressionable; } export interface FormulaPropertiesFromVm { labVmId?: Expressionable; } export interface GalleryImageReference { offer?: Expressionable; osType?: Expressionable; publisher?: Expressionable; sku?: Expressionable; version?: Expressionable; } export interface HourDetails { minute?: Expressionable; } export interface LabProperties { artifactsStorageAccount?: Expressionable; createdDate?: Expressionable; defaultStorageAccount?: Expressionable; defaultVirtualNetworkId?: Expressionable; labStorageType?: Expressionable<('Standard' | 'Premium')>; provisioningState?: Expressionable; storageAccounts?: Expressionable; vaultName?: Expressionable; } export interface LabVirtualMachine { id?: Expressionable; location?: Expressionable; name?: Expressionable; properties?: Expressionable; tags?: Expressionable; type?: Expressionable; } export interface LabVirtualMachineProperties { artifactDeploymentStatus?: Expressionable; artifacts?: Expressionable; computeId?: Expressionable; createdByUser?: Expressionable; createdByUserId?: Expressionable; customImageId?: Expressionable; disallowPublicIpAddress?: Expressionable; fqdn?: Expressionable; galleryImageReference?: Expressionable; isAuthenticationWithSshKey?: Expressionable; labSubnetName?: Expressionable; labVirtualNetworkId?: Expressionable; notes?: Expressionable; osType?: Expressionable; ownerObjectId?: Expressionable; password?: Expressionable; provisioningState?: Expressionable; size?: Expressionable; sshKey?: Expressionable; userName?: Expressionable; } export interface LinuxOsInfo { linuxOsState?: Expressionable<('NonDeprovisioned' | 'DeprovisionRequested' | 'DeprovisionApplied')>; } export interface PolicyProperties { description?: Expressionable; evaluatorType?: Expressionable<('AllowedValuesPolicy' | 'MaxValuePolicy')>; factData?: Expressionable; factName?: Expressionable<('UserOwnedLabVmCount' | 'LabVmCount' | 'LabVmSize' | 'GalleryImage' | 'UserOwnedLabVmCountInSubnet')>; provisioningState?: Expressionable; status?: Expressionable<('Enabled' | 'Disabled')>; threshold?: Expressionable; } export interface ScheduleProperties { dailyRecurrence?: Expressionable; hourlyRecurrence?: Expressionable; provisioningState?: Expressionable; status?: Expressionable<('Enabled' | 'Disabled')>; taskType?: Expressionable<('LabVmsShutdownTask' | 'LabVmsStartupTask' | 'LabBillingTask')>; timeZoneId?: Expressionable; weeklyRecurrence?: Expressionable; } export interface Subnet { allowPublicIp?: Expressionable<('Default' | 'Deny' | 'Allow')>; labSubnetName?: Expressionable; resourceId?: Expressionable; } export interface SubnetOverride { labSubnetName?: Expressionable; resourceId?: Expressionable; useInVmCreationPermission?: Expressionable<('Default' | 'Deny' | 'Allow')>; usePublicIpAddressPermission?: Expressionable<('Default' | 'Deny' | 'Allow')>; } export interface VirtualNetworkProperties { allowedSubnets?: Expressionable; description?: Expressionable; externalProviderResourceId?: Expressionable; provisioningState?: Expressionable; subnetOverrides?: Expressionable; } export interface WeekDetails { time?: Expressionable; weekdays?: Expressionable; } export interface WindowsOsInfo { windowsOsState?: Expressionable<('NonSysprepped' | 'SysprepRequested' | 'SysprepApplied')>; } export declare namespace labs { interface AdditionalProps { tags?: Expressionable; } type LabsResource = ResourceDefinition; function create(name: Expressionable, properties: LabProperties, location?: Expressionable, tags?: Expressionable): LabsResource; } export declare namespace labs { namespace artifactsources { interface AdditionalProps { tags?: Expressionable; } type ArtifactsourcesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ArtifactSourceProperties, location?: Expressionable, tags?: Expressionable): ArtifactsourcesResource; } } export declare namespace labs { namespace customimages { interface AdditionalProps { tags?: Expressionable; } type CustomimagesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: CustomImageProperties, location?: Expressionable, tags?: Expressionable): CustomimagesResource; } } export declare namespace labs { namespace formulas { interface AdditionalProps { tags?: Expressionable; } type FormulasResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: FormulaProperties, location?: Expressionable, tags?: Expressionable): FormulasResource; } } export declare namespace labs { namespace policysets { namespace policies { interface AdditionalProps { tags?: Expressionable; } type PoliciesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: PolicyProperties, location?: Expressionable, tags?: Expressionable): PoliciesResource; } } } export declare namespace labs { namespace schedules { interface AdditionalProps { tags?: Expressionable; } type SchedulesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ScheduleProperties, location?: Expressionable, tags?: Expressionable): SchedulesResource; } } export declare namespace labs { namespace virtualmachines { interface AdditionalProps { tags?: Expressionable; } type VirtualmachinesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: LabVirtualMachineProperties, location?: Expressionable, tags?: Expressionable): VirtualmachinesResource; } } export declare namespace labs { namespace virtualnetworks { interface AdditionalProps { tags?: Expressionable; } type VirtualnetworksResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: VirtualNetworkProperties, location?: Expressionable, tags?: Expressionable): VirtualnetworksResource; } }