Container Group Args
data class ContainerGroupArgs(val confidentialComputeProperties: Output<ConfidentialComputePropertiesArgs>? = null, val containerGroupName: Output<String>? = null, val containers: Output<List<ContainerArgs>>? = null, val diagnostics: Output<ContainerGroupDiagnosticsArgs>? = null, val dnsConfig: Output<DnsConfigurationArgs>? = null, val encryptionProperties: Output<EncryptionPropertiesArgs>? = null, val extensions: Output<List<DeploymentExtensionSpecArgs>>? = null, val identity: Output<ContainerGroupIdentityArgs>? = null, val imageRegistryCredentials: Output<List<ImageRegistryCredentialArgs>>? = null, val initContainers: Output<List<InitContainerDefinitionArgs>>? = null, val ipAddress: Output<IpAddressArgs>? = null, val location: Output<String>? = null, val osType: Output<Either<String, OperatingSystemTypes>>? = null, val priority: Output<Either<String, ContainerGroupPriority>>? = null, val resourceGroupName: Output<String>? = null, val restartPolicy: Output<Either<String, ContainerGroupRestartPolicy>>? = null, val sku: Output<Either<String, ContainerGroupSku>>? = null, val subnetIds: Output<List<ContainerGroupSubnetIdArgs>>? = null, val tags: Output<Map<String, String>>? = null, val volumes: Output<List<VolumeArgs>>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<ContainerGroupArgs>
A container group. Azure REST API version: 2023-05-01. Prior API version in Azure Native 1.x: 2021-03-01. Other available API versions: 2017-08-01-preview, 2017-12-01-preview, 2021-03-01, 2021-07-01, 2023-02-01-preview.
Example Usage
ConfidentialContainerGroup
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var containerGroup = new AzureNative.ContainerInstance.ContainerGroup("containerGroup", new()
{
ConfidentialComputeProperties = new AzureNative.ContainerInstance.Inputs.ConfidentialComputePropertiesArgs
{
CcePolicy = "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19",
},
ContainerGroupName = "demo1",
Containers = new[]
{
new AzureNative.ContainerInstance.Inputs.ContainerArgs
{
Command = new() { },
EnvironmentVariables = new[] {},
Image = "confiimage",
Name = "accdemo",
Ports = new[]
{
new AzureNative.ContainerInstance.Inputs.ContainerPortArgs
{
Port = 8000,
},
},
Resources = new AzureNative.ContainerInstance.Inputs.ResourceRequirementsArgs
{
Requests = new AzureNative.ContainerInstance.Inputs.ResourceRequestsArgs
{
Cpu = 1,
MemoryInGB = 1.5,
},
},
SecurityContext = new AzureNative.ContainerInstance.Inputs.SecurityContextDefinitionArgs
{
Capabilities = new AzureNative.ContainerInstance.Inputs.SecurityContextCapabilitiesDefinitionArgs
{
Add = new[]
{
"CAP_NET_ADMIN",
},
},
Privileged = false,
},
},
},
ImageRegistryCredentials = new[] {},
IpAddress = new AzureNative.ContainerInstance.Inputs.IpAddressArgs
{
Ports = new[]
{
new AzureNative.ContainerInstance.Inputs.PortArgs
{
Port = 8000,
Protocol = "TCP",
},
},
Type = "Public",
},
Location = "westeurope",
OsType = "Linux",
ResourceGroupName = "demo",
Sku = "Confidential",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/containerinstance/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := containerinstance.NewContainerGroup(ctx, "containerGroup", &containerinstance.ContainerGroupArgs{
ConfidentialComputeProperties: &containerinstance.ConfidentialComputePropertiesArgs{
CcePolicy: pulumi.String("eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19"),
},
ContainerGroupName: pulumi.String("demo1"),
Containers: []containerinstance.ContainerArgs{
{
Command: pulumi.StringArray{},
EnvironmentVariables: containerinstance.EnvironmentVariableArray{},
Image: pulumi.String("confiimage"),
Name: pulumi.String("accdemo"),
Ports: containerinstance.ContainerPortArray{
{
Port: pulumi.Int(8000),
},
},
Resources: {
Requests: {
Cpu: pulumi.Float64(1),
MemoryInGB: pulumi.Float64(1.5),
},
},
SecurityContext: {
Capabilities: {
Add: pulumi.StringArray{
pulumi.String("CAP_NET_ADMIN"),
},
},
Privileged: pulumi.Bool(false),
},
},
},
ImageRegistryCredentials: containerinstance.ImageRegistryCredentialArray{},
IpAddress: containerinstance.IpAddressResponse{
Ports: containerinstance.PortArray{
&containerinstance.PortArgs{
Port: pulumi.Int(8000),
Protocol: pulumi.String("TCP"),
},
},
Type: pulumi.String("Public"),
},
Location: pulumi.String("westeurope"),
OsType: pulumi.String("Linux"),
ResourceGroupName: pulumi.String("demo"),
Sku: pulumi.String("Confidential"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.containerinstance.ContainerGroup;
import com.pulumi.azurenative.containerinstance.ContainerGroupArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var containerGroup = new ContainerGroup("containerGroup", ContainerGroupArgs.builder()
.confidentialComputeProperties(Map.of("ccePolicy", "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19"))
.containerGroupName("demo1")
.containers(Map.ofEntries(
Map.entry("command", ),
Map.entry("environmentVariables", ),
Map.entry("image", "confiimage"),
Map.entry("name", "accdemo"),
Map.entry("ports", Map.of("port", 8000)),
Map.entry("resources", Map.of("requests", Map.ofEntries(
Map.entry("cpu", 1),
Map.entry("memoryInGB", 1.5)
))),
Map.entry("securityContext", Map.ofEntries(
Map.entry("capabilities", Map.of("add", "CAP_NET_ADMIN")),
Map.entry("privileged", false)
))
))
.imageRegistryCredentials()
.ipAddress(Map.ofEntries(
Map.entry("ports", Map.ofEntries(
Map.entry("port", 8000),
Map.entry("protocol", "TCP")
)),
Map.entry("type", "Public")
))
.location("westeurope")
.osType("Linux")
.resourceGroupName("demo")
.sku("Confidential")
.build());
}
}
Content copied to clipboard
ContainerGroupCreateWithExtensions
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var containerGroup = new AzureNative.ContainerInstance.ContainerGroup("containerGroup", new()
{
ContainerGroupName = "demo1",
Containers = new[]
{
new AzureNative.ContainerInstance.Inputs.ContainerArgs
{
Command = new() { },
EnvironmentVariables = new[] {},
Image = "nginx",
Name = "demo1",
Ports = new[]
{
new AzureNative.ContainerInstance.Inputs.ContainerPortArgs
{
Port = 80,
},
},
Resources = new AzureNative.ContainerInstance.Inputs.ResourceRequirementsArgs
{
Requests = new AzureNative.ContainerInstance.Inputs.ResourceRequestsArgs
{
Cpu = 1,
MemoryInGB = 1.5,
},
},
},
},
Extensions = new[]
{
new AzureNative.ContainerInstance.Inputs.DeploymentExtensionSpecArgs
{
ExtensionType = "kube-proxy",
Name = "kube-proxy",
ProtectedSettings =
{
{ "kubeConfig", "<kubeconfig encoded string>" },
},
Settings =
{
{ "clusterCidr", "10.240.0.0/16" },
{ "kubeVersion", "v1.9.10" },
},
Version = "1.0",
},
new AzureNative.ContainerInstance.Inputs.DeploymentExtensionSpecArgs
{
ExtensionType = "realtime-metrics",
Name = "vk-realtime-metrics",
Version = "1.0",
},
},
ImageRegistryCredentials = new[] {},
IpAddress = new AzureNative.ContainerInstance.Inputs.IpAddressArgs
{
Ports = new[]
{
new AzureNative.ContainerInstance.Inputs.PortArgs
{
Port = 80,
Protocol = "TCP",
},
},
Type = "Private",
},
Location = "eastus2",
OsType = "Linux",
ResourceGroupName = "demo",
SubnetIds = new[]
{
new AzureNative.ContainerInstance.Inputs.ContainerGroupSubnetIdArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/containerinstance/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := containerinstance.NewContainerGroup(ctx, "containerGroup", &containerinstance.ContainerGroupArgs{
ContainerGroupName: pulumi.String("demo1"),
Containers: []containerinstance.ContainerArgs{
{
Command: pulumi.StringArray{},
EnvironmentVariables: containerinstance.EnvironmentVariableArray{},
Image: pulumi.String("nginx"),
Name: pulumi.String("demo1"),
Ports: containerinstance.ContainerPortArray{
{
Port: pulumi.Int(80),
},
},
Resources: {
Requests: {
Cpu: pulumi.Float64(1),
MemoryInGB: pulumi.Float64(1.5),
},
},
},
},
Extensions: []containerinstance.DeploymentExtensionSpecArgs{
{
ExtensionType: pulumi.String("kube-proxy"),
Name: pulumi.String("kube-proxy"),
ProtectedSettings: {
KubeConfig: "<kubeconfig encoded string>",
},
Settings: {
ClusterCidr: "10.240.0.0/16",
KubeVersion: "v1.9.10",
},
Version: pulumi.String("1.0"),
},
{
ExtensionType: pulumi.String("realtime-metrics"),
Name: pulumi.String("vk-realtime-metrics"),
Version: pulumi.String("1.0"),
},
},
ImageRegistryCredentials: containerinstance.ImageRegistryCredentialArray{},
IpAddress: containerinstance.IpAddressResponse{
Ports: containerinstance.PortArray{
&containerinstance.PortArgs{
Port: pulumi.Int(80),
Protocol: pulumi.String("TCP"),
},
},
Type: pulumi.String("Private"),
},
Location: pulumi.String("eastus2"),
OsType: pulumi.String("Linux"),
ResourceGroupName: pulumi.String("demo"),
SubnetIds: []containerinstance.ContainerGroupSubnetIdArgs{
{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.containerinstance.ContainerGroup;
import com.pulumi.azurenative.containerinstance.ContainerGroupArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var containerGroup = new ContainerGroup("containerGroup", ContainerGroupArgs.builder()
.containerGroupName("demo1")
.containers(Map.ofEntries(
Map.entry("command", ),
Map.entry("environmentVariables", ),
Map.entry("image", "nginx"),
Map.entry("name", "demo1"),
Map.entry("ports", Map.of("port", 80)),
Map.entry("resources", Map.of("requests", Map.ofEntries(
Map.entry("cpu", 1),
Map.entry("memoryInGB", 1.5)
)))
))
.extensions(
Map.ofEntries(
Map.entry("extensionType", "kube-proxy"),
Map.entry("name", "kube-proxy"),
Map.entry("protectedSettings", Map.of("kubeConfig", "<kubeconfig encoded string>")),
Map.entry("settings", Map.ofEntries(
Map.entry("clusterCidr", "10.240.0.0/16"),
Map.entry("kubeVersion", "v1.9.10")
)),
Map.entry("version", "1.0")
),
Map.ofEntries(
Map.entry("extensionType", "realtime-metrics"),
Map.entry("name", "vk-realtime-metrics"),
Map.entry("version", "1.0")
))
.imageRegistryCredentials()
.ipAddress(Map.ofEntries(
Map.entry("ports", Map.ofEntries(
Map.entry("port", 80),
Map.entry("protocol", "TCP")
)),
Map.entry("type", "Private")
))
.location("eastus2")
.osType("Linux")
.resourceGroupName("demo")
.subnetIds(Map.of("id", "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet"))
.build());
}
}
Content copied to clipboard
ContainerGroupsCreateWithPriority
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var containerGroup = new AzureNative.ContainerInstance.ContainerGroup("containerGroup", new()
{
ContainerGroupName = "demo1",
Containers = new[]
{
new AzureNative.ContainerInstance.Inputs.ContainerArgs
{
Command = new[]
{
"/bin/sh",
"-c",
"sleep 10",
},
Image = "alpine:latest",
Name = "test-container-001",
Resources = new AzureNative.ContainerInstance.Inputs.ResourceRequirementsArgs
{
Requests = new AzureNative.ContainerInstance.Inputs.ResourceRequestsArgs
{
Cpu = 1,
MemoryInGB = 1,
},
},
},
},
Location = "eastus",
OsType = "Linux",
Priority = "Spot",
ResourceGroupName = "demo",
RestartPolicy = "Never",
Sku = "Standard",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/containerinstance/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := containerinstance.NewContainerGroup(ctx, "containerGroup", &containerinstance.ContainerGroupArgs{
ContainerGroupName: pulumi.String("demo1"),
Containers: []containerinstance.ContainerArgs{
{
Command: pulumi.StringArray{
pulumi.String("/bin/sh"),
pulumi.String("-c"),
pulumi.String("sleep 10"),
},
Image: pulumi.String("alpine:latest"),
Name: pulumi.String("test-container-001"),
Resources: {
Requests: {
Cpu: pulumi.Float64(1),
MemoryInGB: pulumi.Float64(1),
},
},
},
},
Location: pulumi.String("eastus"),
OsType: pulumi.String("Linux"),
Priority: pulumi.String("Spot"),
ResourceGroupName: pulumi.String("demo"),
RestartPolicy: pulumi.String("Never"),
Sku: pulumi.String("Standard"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.containerinstance.ContainerGroup;
import com.pulumi.azurenative.containerinstance.ContainerGroupArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var containerGroup = new ContainerGroup("containerGroup", ContainerGroupArgs.builder()
.containerGroupName("demo1")
.containers(Map.ofEntries(
Map.entry("command",
"/bin/sh",
"-c",
"sleep 10"),
Map.entry("image", "alpine:latest"),
Map.entry("name", "test-container-001"),
Map.entry("resources", Map.of("requests", Map.ofEntries(
Map.entry("cpu", 1),
Map.entry("memoryInGB", 1)
)))
))
.location("eastus")
.osType("Linux")
.priority("Spot")
.resourceGroupName("demo")
.restartPolicy("Never")
.sku("Standard")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:containerinstance:ContainerGroup demo1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}
Content copied to clipboard
Constructors
Link copied to clipboard
fun ContainerGroupArgs(confidentialComputeProperties: Output<ConfidentialComputePropertiesArgs>? = null, containerGroupName: Output<String>? = null, containers: Output<List<ContainerArgs>>? = null, diagnostics: Output<ContainerGroupDiagnosticsArgs>? = null, dnsConfig: Output<DnsConfigurationArgs>? = null, encryptionProperties: Output<EncryptionPropertiesArgs>? = null, extensions: Output<List<DeploymentExtensionSpecArgs>>? = null, identity: Output<ContainerGroupIdentityArgs>? = null, imageRegistryCredentials: Output<List<ImageRegistryCredentialArgs>>? = null, initContainers: Output<List<InitContainerDefinitionArgs>>? = null, ipAddress: Output<IpAddressArgs>? = null, location: Output<String>? = null, osType: Output<Either<String, OperatingSystemTypes>>? = null, priority: Output<Either<String, ContainerGroupPriority>>? = null, resourceGroupName: Output<String>? = null, restartPolicy: Output<Either<String, ContainerGroupRestartPolicy>>? = null, sku: Output<Either<String, ContainerGroupSku>>? = null, subnetIds: Output<List<ContainerGroupSubnetIdArgs>>? = null, tags: Output<Map<String, String>>? = null, volumes: Output<List<VolumeArgs>>? = null, zones: Output<List<String>>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard