New-AzContainerInstanceContainerGroupProfile

Create or update container group profiles with specified configurations.

Syntax

New-AzContainerInstanceContainerGroupProfile
   -Name <String>
   -ResourceGroupName <String>
   [-SubscriptionId <String>]
   -Container <IContainer[]>
   -OSType <OperatingSystemTypes>
   [-ConfidentialComputePropertyCcePolicy <String>]
   [-EncryptionPropertyIdentity <String>]
   [-EncryptionPropertyKeyName <String>]
   [-EncryptionPropertyKeyVersion <String>]
   [-EncryptionPropertyVaultBaseUrl <String>]
   [-Extension <IDeploymentExtensionSpec[]>]
   [-IPAddressAutoGeneratedDomainNameLabelScope <DnsNameLabelReusePolicy>]
   [-IPAddressDnsNameLabel <String>]
   [-IPAddressIP <String>]
   [-IPAddressPort <IPort[]>]
   [-IPAddressType <ContainerGroupIPAddressType>]
   [-ImageRegistryCredential <IImageRegistryCredential[]>]
   [-InitContainer <IInitContainerDefinition[]>]
   [-Location <String>]
   [-LogAnalyticLogType <LogAnalyticsLogType>]
   [-LogAnalyticMetadata <Hashtable>]
   [-LogAnalyticWorkspaceId <String>]
   [-LogAnalyticWorkspaceKey <String>]
   [-LogAnalyticWorkspaceResourceId <String>]
   [-Priority <ContainerGroupPriority>]
   [-RestartPolicy <ContainerGroupRestartPolicy>]
   [-Sku <ContainerGroupSku>]
   [-Tag <Hashtable>]
   [-Volume <IVolume[]>]
   [-Zone <String[]>]
   [-DefaultProfile <PSObject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Create or update container group profiles with specified configurations.

Examples

Example 1: Create a container group profile with a container instance and request a public IP address with opening ports

$port1 = New-AzContainerInstancePortObject -Port 8000 -Protocol TCP
$port2 = New-AzContainerInstancePortObject -Port 8001 -Protocol TCP
$container = New-AzContainerInstanceObject -Name test-container -Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5 -Port @($port1, $port2)
$containerGroupProfile = New-AzContainerInstanceContainerGroupProfile -ResourceGroupName test-rg -Name test-cgp -Location eastus -Container $container -OsType Linux -RestartPolicy "Never" -IpAddressType Public

Location Name    Zone ResourceGroupName
-------- ----    ---- -----------------
eastus   test-cgp      test-rg

This commands creates a container group profile with a container instance, whose image is latest nginx, and requests a public IP address with opening port 8000 and 8001.

Example 2: Create container group profile and runs a custom script inside the container.

$pwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
$env1 = New-AzContainerInstanceEnvironmentVariableObject -Name "env1" -Value "value1"
$env2 = New-AzContainerInstanceEnvironmentVariableObject -Name "env2" -SecureValue $pwd
$container = New-AzContainerInstanceObject -Name test-container -Image alpine -Command "/bin/sh -c myscript.sh" -EnvironmentVariable @($env1, $env2) -RequestCpu 1 -RequestMemoryInGb 1.5
$containerGroupProfile = New-AzContainerInstanceContainerGroupProfile -ResourceGroupName test-rg -Name test-cgp -Location eastus -Container $container -OsType Linux

Location Name    Zone ResourceGroupName
-------- ----    ---- -----------------
eastus   test-cgp      test-rg

This commands creates a container group profile and runs a custom script inside the container.

Example 3: Create a container group profile with a container instance using image nginx in Azure Container Registry

$pwd = ConvertTo-SecureString -String "****" -AsPlainText -Force
$container = New-AzContainerInstanceObject -Name test-container -Image myacr.azurecr.io/nginx:latest -RequestCpu 1 -RequestMemoryInGb 1.5
$imageRegistryCredential = New-AzContainerGroupImageRegistryCredentialObject -Server "myacr.azurecr.io" -Username "username" -Password $pwd
$containerGroupProfile = New-AzContainerInstanceContainerGroupProfile -ResourceGroupName test-rg -Name test-cgp -Location eastus -Container $container -ImageRegistryCredential $imageRegistryCredential -OsType Linux

Location Name    Zone ResourceGroupName
-------- ----    ---- -----------------
eastus   test-cgp      test-rg

This commands creates a container group profile with a container instance, whose image is nginx in Azure Container Registry.

Example 4: Create a container group profile with Spot priority and a container instance using nginx image

$container = New-AzContainerInstanceObject -Name test-container -Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5
$containerGroupProfile = New-AzContainerInstanceContainerGroupProfile -ResourceGroupName test-rg -Name test-cgp -Location eastus -Container $container -OsType Linux -RestartPolicy Never -Priority Spot

Location Name    Zone ResourceGroupName
-------- ----    ---- -----------------
eastus   test-cgp      test-rg

This commands creates a container group profile with spot priority and a container instance, whose image is nginx.

Parameters

-ConfidentialComputePropertyCcePolicy

The base64 encoded confidential compute enforcement policy

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Container

The containers within the container group. To construct, see NOTES section for CONTAINER properties and create a hash table.

Type:IContainer[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The DefaultProfile parameter is not functional. Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionPropertyIdentity

The keyvault managed identity.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionPropertyKeyName

The encryption key name.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionPropertyKeyVersion

The encryption key version.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionPropertyVaultBaseUrl

The keyvault base url.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Extension

extensions used by virtual kubelet To construct, see NOTES section for EXTENSION properties and create a hash table.

Type:IDeploymentExtensionSpec[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImageRegistryCredential

The image registry credentials by which the container group is created from. To construct, see NOTES section for IMAGEREGISTRYCREDENTIAL properties and create a hash table.

Type:IImageRegistryCredential[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InitContainer

The init containers for a container group. To construct, see NOTES section for INITCONTAINER properties and create a hash table.

Type:IInitContainerDefinition[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPAddressAutoGeneratedDomainNameLabelScope

The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant.

Type:DnsNameLabelReusePolicy
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPAddressDnsNameLabel

The Dns name label for the IP.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPAddressIP

The IP exposed to the public internet.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPAddressPort

The list of ports exposed on the container group. To construct, see NOTES section for IPADDRESSPORT properties and create a hash table.

Type:IPort[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPAddressType

Specifies if the IP is exposed to the public internet or private VNET.

Type:ContainerGroupIPAddressType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

The resource location.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogAnalyticLogType

The log type to be used.

Type:LogAnalyticsLogType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogAnalyticMetadata

Metadata for log analytics.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogAnalyticWorkspaceId

The workspace id for log analytics

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogAnalyticWorkspaceKey

The workspace key for log analytics

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogAnalyticWorkspaceResourceId

The workspace resource id for log analytics

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

The name of the container group profile.

Type:String
Aliases:ContainerGroupProfileName
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-OSType

The operating system type required by the containers in the container group.

Type:OperatingSystemTypes
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Priority

The priority of the container group.

Type:ContainerGroupPriority
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

The name of the resource group. The name is case insensitive.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RestartPolicy

Restart policy for all containers within the container group.

  • Always Always restart- OnFailure Restart on failure- Never Never restart
Type:ContainerGroupRestartPolicy
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Sku

The SKU for a container group.

Type:ContainerGroupSku
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

The ID of the target subscription. The value must be an UUID.

Type:String
Position:Named
Default value:(Get-AzContext).Subscription.Id
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

The resource tags.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Volume

The list of volumes that can be mounted by containers in this container group. To construct, see NOTES section for VOLUME properties and create a hash table.

Type:IVolume[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Zone

The zones for the container group.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Outputs

IContainerGroupProfile