import { ArmResource } from '@yetics/armkit-core' ; import { Construct } from 'constructs' ; schema export class ImageTemplates extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'imageTemplates' , } ) ; } } schema export interface ImageTemplatesOptions { schema readonly apiVersion ? : MicrosoftVirtualMachineImagesImageTemplatesApiVersion ; schema readonly identity : ImageTemplateIdentity ; schema readonly location : string ; schema readonly name : MicrosoftVirtualMachineImagesImageTemplatesNamePattern ; schema readonly properties : ImageTemplateProperties ; schema readonly tags ? : MicrosoftVirtualMachineImagesImageTemplatesTags ; schema readonly type : MicrosoftVirtualMachineImagesImageTemplatesType ; } export enum MicrosoftVirtualMachineImagesImageTemplatesApiVersion { "MicrosoftVirtualMachineImagesImageTemplatesApiVersion_2020_02_14" = '2020-02-14' } schema export interface ImageTemplateIdentity { schema readonly type ? : ImageTemplateIdentityType ; schema readonly userAssignedIdentities ? : ImageTemplateIdentityUserAssignedIdentities ; } schema export class MicrosoftVirtualMachineImagesImageTemplatesNamePattern { public static pattern ( value ) { return value ; } } schema export interface ImageTemplateProperties { schema readonly buildTimeoutInMinutes ? : number ; schema readonly customize ? : ImageTemplateCustomizer [ ] ; schema readonly distribute : ImageTemplateDistributor [ ] ; schema readonly source : ImageTemplateSource ; schema readonly vmProfile ? : ImageTemplateVmProfile ; } schema export interface MicrosoftVirtualMachineImagesImageTemplatesTags { } export enum MicrosoftVirtualMachineImagesImageTemplatesType { "MicrosoftVirtualMachineImagesImageTemplatesType_MICROSOFT_VIRTUAL_MACHINE_IMAGES_IMAGE_TEMPLATES" = 'Microsoft.VirtualMachineImages/imageTemplates' } export enum ImageTemplateIdentityType { USER_ASSIGNED = 'UserAssigned' , NONE = 'None' } schema export interface ImageTemplateIdentityUserAssignedIdentities { } schema export class ImageTemplateCustomizer { public static fromImageTemplateShellCustomizer ( value ) { return new ImageTemplateCustomizer ( value ) ; } public static fromImageTemplateRestartCustomizer ( value ) { return new ImageTemplateCustomizer ( value ) ; } public static fromImageTemplateWindowsUpdateCustomizer ( value ) { return new ImageTemplateCustomizer ( value ) ; } public static fromImageTemplatePowerShellCustomizer ( value ) { return new ImageTemplateCustomizer ( value ) ; } public static fromImageTemplateFileCustomizer ( value ) { return new ImageTemplateCustomizer ( value ) ; } private constructor ( value ) { Object . defineProperty ( this , 'resolve' , { value : ( ) => value } ) ; } } schema export class ImageTemplateDistributor { public static fromImageTemplateManagedImageDistributor ( value ) { return new ImageTemplateDistributor ( value ) ; } public static fromImageTemplateSharedImageDistributor ( value ) { return new ImageTemplateDistributor ( value ) ; } public static fromImageTemplateVhdDistributor ( value ) { return new ImageTemplateDistributor ( value ) ; } private constructor ( value ) { Object . defineProperty ( this , 'resolve' , { value : ( ) => value } ) ; } } schema export class ImageTemplateSource { public static fromImageTemplatePlatformImageSource ( value ) { return new ImageTemplateSource ( value ) ; } public static fromImageTemplateManagedImageSource ( value ) { return new ImageTemplateSource ( value ) ; } public static fromImageTemplateSharedImageVersionSource ( value ) { return new ImageTemplateSource ( value ) ; } private constructor ( value ) { Object . defineProperty ( this , 'resolve' , { value : ( ) => value } ) ; } } schema export interface ImageTemplateVmProfile { schema readonly osDiskSizeGB ? : number ; schema readonly vmSize ? : string ; schema readonly vnetConfig ? : VirtualNetworkConfig ; } schema export interface ImageTemplateShellCustomizer { schema readonly inline ? : string [ ] ; schema readonly scriptUri ? : string ; schema readonly sha256Checksum ? : string ; schema readonly type : ImageTemplateShellCustomizerType ; } schema export interface ImageTemplateRestartCustomizer { schema readonly restartCheckCommand ? : string ; schema readonly restartCommand ? : string ; schema readonly restartTimeout ? : string ; schema readonly type : ImageTemplateRestartCustomizerType ; } schema export interface ImageTemplateWindowsUpdateCustomizer { schema readonly filters ? : string [ ] ; schema readonly searchCriteria ? : string ; schema readonly type : ImageTemplateWindowsUpdateCustomizerType ; schema readonly updateLimit ? : number ; } schema export interface ImageTemplatePowerShellCustomizer { schema readonly inline ? : string [ ] ; schema readonly runAsSystem ? : boolean ; schema readonly runElevated ? : boolean ; schema readonly scriptUri ? : string ; schema readonly sha256Checksum ? : string ; schema readonly type : ImageTemplatePowerShellCustomizerType ; schema readonly validExitCodes ? : number [ ] ; } schema export interface ImageTemplateFileCustomizer { schema readonly destination ? : string ; schema readonly sha256Checksum ? : string ; schema readonly sourceUri ? : string ; schema readonly type : ImageTemplateFileCustomizerType ; } schema export interface ImageTemplateManagedImageDistributor { schema readonly imageId : string ; schema readonly location : string ; schema readonly type : ImageTemplateManagedImageDistributorType ; } schema export interface ImageTemplateSharedImageDistributor { schema readonly excludeFromLatest ? : boolean ; schema readonly galleryImageId : string ; schema readonly replicationRegions : string [ ] ; schema readonly storageAccountType ? : ImageTemplateSharedImageDistributorStorageAccountType ; schema readonly type : ImageTemplateSharedImageDistributorType ; } schema export interface ImageTemplateVhdDistributor { schema readonly type : ImageTemplateVhdDistributorType ; } schema export interface ImageTemplatePlatformImageSource { schema readonly offer ? : string ; schema readonly planInfo ? : PlatformImagePurchasePlan ; schema readonly publisher ? : string ; schema readonly sku ? : string ; schema readonly type : ImageTemplatePlatformImageSourceType ; schema readonly version ? : string ; } schema export interface ImageTemplateManagedImageSource { schema readonly imageId : string ; schema readonly type : ImageTemplateManagedImageSourceType ; } schema export interface ImageTemplateSharedImageVersionSource { schema readonly imageVersionId : string ; schema readonly type : ImageTemplateSharedImageVersionSourceType ; } schema export interface VirtualNetworkConfig { schema readonly subnetId ? : string ; } export enum ImageTemplateShellCustomizerType { SHELL = 'Shell' } export enum ImageTemplateRestartCustomizerType { WINDOWS_RESTART = 'WindowsRestart' } export enum ImageTemplateWindowsUpdateCustomizerType { WINDOWS_UPDATE = 'WindowsUpdate' } export enum ImageTemplatePowerShellCustomizerType { POWER_SHELL = 'PowerShell' } export enum ImageTemplateFileCustomizerType { FILE = 'File' } export enum ImageTemplateManagedImageDistributorType { MANAGED_IMAGE = 'ManagedImage' } export enum ImageTemplateSharedImageDistributorStorageAccountType { STANDARD_LRS = 'Standard_LRS' , STANDARD_ZRS = 'Standard_ZRS' } export enum ImageTemplateSharedImageDistributorType { SHARED_IMAGE = 'SharedImage' } export enum ImageTemplateVhdDistributorType { VHD = 'VHD' } schema export interface PlatformImagePurchasePlan { schema readonly planName : string ; schema readonly planProduct : string ; schema readonly planPublisher : string ; } export enum ImageTemplatePlatformImageSourceType { PLATFORM_IMAGE = 'PlatformImage' } export enum ImageTemplateManagedImageSourceType { MANAGED_IMAGE = 'ManagedImage' } export enum ImageTemplateSharedImageVersionSourceType { SHARED_IMAGE_VERSION = 'SharedImageVersion' }