import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AzureFileVolume { readOnly?: Expressionable; shareName: Expressionable; storageAccountKey?: Expressionable; storageAccountName: Expressionable; } export interface Container { name: Expressionable; properties: Expressionable; } export interface ContainerGroupProperties { containers: Expressionable; imageRegistryCredentials?: Expressionable; ipAddress?: Expressionable; osType: Expressionable<('Windows' | 'Linux')>; restartPolicy?: Expressionable<('always')>; volumes?: Expressionable; } export interface ContainerPort { port: Expressionable; } export interface ContainerProperties { command?: Expressionable; environmentVariables?: Expressionable; image: Expressionable; ports?: Expressionable; resources: Expressionable; volumeMounts?: Expressionable; } export interface EnvironmentVariable { name: Expressionable; value: Expressionable; } export interface ImageRegistryCredential { password?: Expressionable; server: Expressionable; username: Expressionable; } export interface IpAddress { ip?: Expressionable; ports: Expressionable; type: Expressionable<('Public')>; } export interface Port { port: Expressionable; protocol?: Expressionable<('TCP' | 'UDP')>; } export interface ResourceLimits { cpu?: Expressionable; memoryInGB?: Expressionable; } export interface ResourceRequests { cpu: Expressionable; memoryInGB: Expressionable; } export interface ResourceRequirements { limits?: Expressionable; requests: Expressionable; } export interface Volume { azureFile: Expressionable; name: Expressionable; } export interface VolumeMount { mountPath: Expressionable; name: Expressionable; readOnly?: Expressionable; } export declare namespace containerGroups { interface AdditionalProps { tags?: Expressionable; } type ContainerGroupsResource = ResourceDefinition; function create(name: Expressionable, properties: ContainerGroupProperties, location: Expressionable, tags?: Expressionable): ContainerGroupsResource; }