import { ArmResource } from '@yetics/armkit-core' ; import { Construct } from 'constructs' ; schema export class ContainerGroups extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'containerGroups' , } ) ; } } schema export interface ContainerGroupsOptions { schema readonly apiVersion ? : MicrosoftContainerInstanceContainerGroupsApiVersion ; schema readonly identity ? : ContainerGroupIdentity ; schema readonly location ? : string ; schema readonly name : string ; schema readonly properties : ContainerGroupProperties ; schema readonly tags ? : MicrosoftContainerInstanceContainerGroupsTags ; schema readonly type : MicrosoftContainerInstanceContainerGroupsType ; } export enum MicrosoftContainerInstanceContainerGroupsApiVersion { "MicrosoftContainerInstanceContainerGroupsApiVersion_2021_03_01" = '2021-03-01' } schema export interface ContainerGroupIdentity { schema readonly type ? : ContainerGroupIdentityType ; schema readonly userAssignedIdentities ? : ContainerGroupIdentityUserAssignedIdentities ; } schema export interface ContainerGroupProperties { schema readonly containers : Container [ ] ; schema readonly diagnostics ? : ContainerGroupDiagnostics ; schema readonly dnsConfig ? : DnsConfiguration ; schema readonly encryptionProperties ? : EncryptionProperties ; schema readonly imageRegistryCredentials ? : ImageRegistryCredential [ ] ; schema readonly initContainers ? : InitContainerDefinition [ ] ; schema readonly ipAddress ? : IpAddress ; schema readonly networkProfile ? : ContainerGroupNetworkProfile ; schema readonly osType : ContainerGroupPropertiesOsType ; schema readonly restartPolicy ? : ContainerGroupPropertiesRestartPolicy ; schema readonly sku ? : ContainerGroupPropertiesSku ; schema readonly volumes ? : Volume [ ] ; } schema export interface MicrosoftContainerInstanceContainerGroupsTags { } export enum MicrosoftContainerInstanceContainerGroupsType { "MicrosoftContainerInstanceContainerGroupsType_MICROSOFT_CONTAINER_INSTANCE_CONTAINER_GROUPS" = 'Microsoft.ContainerInstance/containerGroups' } export enum ContainerGroupIdentityType { SYSTEM_ASSIGNED = 'SystemAssigned' , USER_ASSIGNED = 'UserAssigned' , "ContainerGroupIdentityType_SYSTEM_ASSIGNED_USER_ASSIGNED" = 'SystemAssigned, UserAssigned' , NONE = 'None' } schema export interface ContainerGroupIdentityUserAssignedIdentities { } schema export interface Container { schema readonly name : string ; schema readonly properties : ContainerProperties ; } schema export interface ContainerGroupDiagnostics { schema readonly logAnalytics ? : LogAnalytics ; } schema export interface DnsConfiguration { schema readonly nameServers : string [ ] ; schema readonly options ? : string ; schema readonly searchDomains ? : string ; } schema export interface EncryptionProperties { schema readonly keyName : string ; schema readonly keyVersion : string ; schema readonly vaultBaseUrl : string ; } schema export interface ImageRegistryCredential { schema readonly password ? : string ; schema readonly server : string ; schema readonly username : string ; } schema export interface InitContainerDefinition { schema readonly name : string ; schema readonly properties : InitContainerPropertiesDefinition ; } schema export interface IpAddress { schema readonly dnsNameLabel ? : string ; schema readonly ip ? : string ; schema readonly ports : Port [ ] ; schema readonly type : IpAddressType ; } schema export interface ContainerGroupNetworkProfile { schema readonly id : string ; } export enum ContainerGroupPropertiesOsType { WINDOWS = 'Windows' , LINUX = 'Linux' } export enum ContainerGroupPropertiesRestartPolicy { ALWAYS = 'Always' , ON_FAILURE = 'OnFailure' , NEVER = 'Never' } export enum ContainerGroupPropertiesSku { STANDARD = 'Standard' , DEDICATED = 'Dedicated' } schema export interface Volume { schema readonly azureFile ? : AzureFileVolume ; schema readonly emptyDir ? : VolumeEmptyDir ; schema readonly gitRepo ? : GitRepoVolume ; schema readonly name : string ; schema readonly secret ? : VolumeSecret ; } schema export interface ContainerProperties { schema readonly command ? : string [ ] ; schema readonly environmentVariables ? : EnvironmentVariable [ ] ; schema readonly image : string ; schema readonly livenessProbe ? : ContainerProbe ; schema readonly ports ? : ContainerPort [ ] ; schema readonly readinessProbe ? : ContainerProbe ; schema readonly resources : ResourceRequirements ; schema readonly volumeMounts ? : VolumeMount [ ] ; } schema export interface LogAnalytics { schema readonly logType ? : LogAnalyticsLogType ; schema readonly metadata ? : LogAnalyticsMetadata ; schema readonly workspaceId : string ; schema readonly workspaceKey : string ; schema readonly workspaceResourceId ? : LogAnalyticsWorkspaceResourceId ; } schema export interface InitContainerPropertiesDefinition { schema readonly command ? : string [ ] ; schema readonly environmentVariables ? : EnvironmentVariable [ ] ; schema readonly image ? : string ; schema readonly volumeMounts ? : VolumeMount [ ] ; } schema export interface Port { schema readonly port : number ; schema readonly protocol ? : PortProtocol ; } export enum IpAddressType { PUBLIC = 'Public' , PRIVATE = 'Private' } schema export interface AzureFileVolume { schema readonly readOnly ? : boolean ; schema readonly shareName : string ; schema readonly storageAccountKey ? : string ; schema readonly storageAccountName : string ; } schema export interface VolumeEmptyDir { } schema export interface GitRepoVolume { schema readonly directory ? : string ; schema readonly repository : string ; schema readonly revision ? : string ; } schema export interface VolumeSecret { } schema export interface EnvironmentVariable { schema readonly name : string ; schema readonly secureValue ? : string ; schema readonly value ? : string ; } schema export interface ContainerProbe { schema readonly exec ? : ContainerExec ; schema readonly failureThreshold ? : number ; schema readonly httpGet ? : ContainerHttpGet ; schema readonly initialDelaySeconds ? : number ; schema readonly periodSeconds ? : number ; schema readonly successThreshold ? : number ; schema readonly timeoutSeconds ? : number ; } schema export interface ContainerPort { schema readonly port : number ; schema readonly protocol ? : ContainerPortProtocol ; } schema export interface ResourceRequirements { schema readonly limits ? : ResourceLimits ; schema readonly requests : ResourceRequests ; } schema export interface VolumeMount { schema readonly mountPath : string ; schema readonly name : string ; schema readonly readOnly ? : boolean ; } export enum LogAnalyticsLogType { CONTAINER_INSIGHTS = 'ContainerInsights' , CONTAINER_INSTANCE_LOGS = 'ContainerInstanceLogs' } schema export interface LogAnalyticsMetadata { } schema export interface LogAnalyticsWorkspaceResourceId { } export enum PortProtocol { TCP = 'TCP' , UDP = 'UDP' } schema export interface ContainerExec { schema readonly command ? : string [ ] ; } schema export interface ContainerHttpGet { schema readonly httpHeaders ? : HttpHeaders ; schema readonly path ? : string ; schema readonly port : number ; schema readonly scheme ? : ContainerHttpGetScheme ; } export enum ContainerPortProtocol { TCP = 'TCP' , UDP = 'UDP' } schema export interface ResourceLimits { schema readonly cpu ? : number ; schema readonly gpu ? : GpuResource ; schema readonly memoryInGB ? : number ; } schema export interface ResourceRequests { schema readonly cpu : number ; schema readonly gpu ? : GpuResource ; schema readonly memoryInGB : number ; } schema export interface HttpHeaders { schema readonly name ? : string ; schema readonly value ? : string ; } export enum ContainerHttpGetScheme { HTTP = 'http' , HTTPS = 'https' } schema export interface GpuResource { schema readonly count : number ; schema readonly sku : GpuResourceSku ; } export enum GpuResourceSku { "GpuResourceSku_K80" = 'K80' , "GpuResourceSku_P100" = 'P100' , "GpuResourceSku_V100" = 'V100' }