Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.containerservice.GroupArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.containerservice;
import com.pulumi.azure.containerservice.inputs.GroupContainerArgs;
import com.pulumi.azure.containerservice.inputs.GroupDiagnosticsArgs;
import com.pulumi.azure.containerservice.inputs.GroupDnsConfigArgs;
import com.pulumi.azure.containerservice.inputs.GroupExposedPortArgs;
import com.pulumi.azure.containerservice.inputs.GroupIdentityArgs;
import com.pulumi.azure.containerservice.inputs.GroupImageRegistryCredentialArgs;
import com.pulumi.azure.containerservice.inputs.GroupInitContainerArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GroupArgs extends com.pulumi.resources.ResourceArgs {
public static final GroupArgs Empty = new GroupArgs();
/**
* The definition of a container that is part of the group as documented in the `container` block below. Changing this forces a new resource to be created.
*
*/
@Import(name="containers", required=true)
private Output> containers;
/**
* @return The definition of a container that is part of the group as documented in the `container` block below. Changing this forces a new resource to be created.
*
*/
public Output> containers() {
return this.containers;
}
/**
* A `diagnostics` block as documented below. Changing this forces a new resource to be created.
*
*/
@Import(name="diagnostics")
private @Nullable Output diagnostics;
/**
* @return A `diagnostics` block as documented below. Changing this forces a new resource to be created.
*
*/
public Optional> diagnostics() {
return Optional.ofNullable(this.diagnostics);
}
/**
* A `dns_config` block as documented below. Changing this forces a new resource to be created.
*
*/
@Import(name="dnsConfig")
private @Nullable Output dnsConfig;
/**
* @return A `dns_config` block as documented below. Changing this forces a new resource to be created.
*
*/
public Optional> dnsConfig() {
return Optional.ofNullable(this.dnsConfig);
}
/**
* The DNS label/name for the container group's IP. Changing this forces a new resource to be created.
*
* > **Note:** DNS label/name is not supported when deploying to virtual networks.
*
*/
@Import(name="dnsNameLabel")
private @Nullable Output dnsNameLabel;
/**
* @return The DNS label/name for the container group's IP. Changing this forces a new resource to be created.
*
* > **Note:** DNS label/name is not supported when deploying to virtual networks.
*
*/
public Optional> dnsNameLabel() {
return Optional.ofNullable(this.dnsNameLabel);
}
/**
* The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`.
*
*/
@Import(name="dnsNameLabelReusePolicy")
private @Nullable Output dnsNameLabelReusePolicy;
/**
* @return The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`.
*
*/
public Optional> dnsNameLabelReusePolicy() {
return Optional.ofNullable(this.dnsNameLabelReusePolicy);
}
/**
* Zero or more `exposed_port` blocks as defined below. Changing this forces a new resource to be created.
*
* > **Note:** The `exposed_port` can only contain ports that are also exposed on one or more containers in the group.
*
*/
@Import(name="exposedPorts")
private @Nullable Output> exposedPorts;
/**
* @return Zero or more `exposed_port` blocks as defined below. Changing this forces a new resource to be created.
*
* > **Note:** The `exposed_port` can only contain ports that are also exposed on one or more containers in the group.
*
*/
public Optional>> exposedPorts() {
return Optional.ofNullable(this.exposedPorts);
}
/**
* An `identity` block as defined below.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return An `identity` block as defined below.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* An `image_registry_credential` block as documented below. Changing this forces a new resource to be created.
*
*/
@Import(name="imageRegistryCredentials")
private @Nullable Output> imageRegistryCredentials;
/**
* @return An `image_registry_credential` block as documented below. Changing this forces a new resource to be created.
*
*/
public Optional>> imageRegistryCredentials() {
return Optional.ofNullable(this.imageRegistryCredentials);
}
/**
* The definition of an init container that is part of the group as documented in the `init_container` block below. Changing this forces a new resource to be created.
*
*/
@Import(name="initContainers")
private @Nullable Output> initContainers;
/**
* @return The definition of an init container that is part of the group as documented in the `init_container` block below. Changing this forces a new resource to be created.
*
*/
public Optional>> initContainers() {
return Optional.ofNullable(this.initContainers);
}
/**
* Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, `subnet_ids` also needs to be set. Defaults to `Public`.
*
* > **Note:** `dns_name_label` and `os_type` set to `windows` are not compatible with `Private` `ip_address_type`
*
*/
@Import(name="ipAddressType")
private @Nullable Output ipAddressType;
/**
* @return Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, `subnet_ids` also needs to be set. Defaults to `Public`.
*
* > **Note:** `dns_name_label` and `os_type` set to `windows` are not compatible with `Private` `ip_address_type`
*
*/
public Optional> ipAddressType() {
return Optional.ofNullable(this.ipAddressType);
}
/**
* The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.
*
*/
@Import(name="keyVaultKeyId")
private @Nullable Output keyVaultKeyId;
/**
* @return The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.
*
*/
public Optional> keyVaultKeyId() {
return Optional.ofNullable(this.keyVaultKeyId);
}
/**
* The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named "Azure Container Instance Service" will be used instead. Make sure the identity has the proper `key_permissions` set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.
*
*/
@Import(name="keyVaultUserAssignedIdentityId")
private @Nullable Output keyVaultUserAssignedIdentityId;
/**
* @return The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named "Azure Container Instance Service" will be used instead. Make sure the identity has the proper `key_permissions` set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.
*
*/
public Optional> keyVaultUserAssignedIdentityId() {
return Optional.ofNullable(this.keyVaultUserAssignedIdentityId);
}
/**
* Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* Specifies the name of the Container Group. Changing this forces a new resource to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Specifies the name of the Container Group. Changing this forces a new resource to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* @deprecated
* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead
*
*/
@Deprecated /* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead */
@Import(name="networkProfileId")
private @Nullable Output networkProfileId;
/**
* @deprecated
* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead
*
*/
@Deprecated /* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead */
public Optional> networkProfileId() {
return Optional.ofNullable(this.networkProfileId);
}
/**
* The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.
*
* > **Note:** if `os_type` is set to `Windows` currently only a single `container` block is supported. Windows containers are not supported in virtual networks.
*
*/
@Import(name="osType", required=true)
private Output osType;
/**
* @return The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.
*
* > **Note:** if `os_type` is set to `Windows` currently only a single `container` block is supported. Windows containers are not supported in virtual networks.
*
*/
public Output osType() {
return this.osType;
}
/**
* The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.
*
* > **NOTE:** When `priority` is set to `Spot`, the `ip_address_type` has to be `None`.
*
*/
@Import(name="priority")
private @Nullable Output priority;
/**
* @return The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.
*
* > **NOTE:** When `priority` is set to `Spot`, the `ip_address_type` has to be `None`.
*
*/
public Optional> priority() {
return Optional.ofNullable(this.priority);
}
/**
* The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.
*
*/
@Import(name="restartPolicy")
private @Nullable Output restartPolicy;
/**
* @return Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.
*
*/
public Optional> restartPolicy() {
return Optional.ofNullable(this.restartPolicy);
}
/**
* Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.
*
*/
@Import(name="sku")
private @Nullable Output sku;
/**
* @return Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.
*
*/
public Optional> sku() {
return Optional.ofNullable(this.sku);
}
/**
* The subnet resource IDs for a container group. Changing this forces a new resource to be created.
*
*/
@Import(name="subnetIds")
private @Nullable Output subnetIds;
/**
* @return The subnet resource IDs for a container group. Changing this forces a new resource to be created.
*
*/
public Optional> subnetIds() {
return Optional.ofNullable(this.subnetIds);
}
/**
* A mapping of tags to assign to the resource.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags to assign to the resource.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.
*
*/
@Import(name="zones")
private @Nullable Output> zones;
/**
* @return A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.
*
*/
public Optional>> zones() {
return Optional.ofNullable(this.zones);
}
private GroupArgs() {}
private GroupArgs(GroupArgs $) {
this.containers = $.containers;
this.diagnostics = $.diagnostics;
this.dnsConfig = $.dnsConfig;
this.dnsNameLabel = $.dnsNameLabel;
this.dnsNameLabelReusePolicy = $.dnsNameLabelReusePolicy;
this.exposedPorts = $.exposedPorts;
this.identity = $.identity;
this.imageRegistryCredentials = $.imageRegistryCredentials;
this.initContainers = $.initContainers;
this.ipAddressType = $.ipAddressType;
this.keyVaultKeyId = $.keyVaultKeyId;
this.keyVaultUserAssignedIdentityId = $.keyVaultUserAssignedIdentityId;
this.location = $.location;
this.name = $.name;
this.networkProfileId = $.networkProfileId;
this.osType = $.osType;
this.priority = $.priority;
this.resourceGroupName = $.resourceGroupName;
this.restartPolicy = $.restartPolicy;
this.sku = $.sku;
this.subnetIds = $.subnetIds;
this.tags = $.tags;
this.zones = $.zones;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GroupArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GroupArgs $;
public Builder() {
$ = new GroupArgs();
}
public Builder(GroupArgs defaults) {
$ = new GroupArgs(Objects.requireNonNull(defaults));
}
/**
* @param containers The definition of a container that is part of the group as documented in the `container` block below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder containers(Output> containers) {
$.containers = containers;
return this;
}
/**
* @param containers The definition of a container that is part of the group as documented in the `container` block below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder containers(List containers) {
return containers(Output.of(containers));
}
/**
* @param containers The definition of a container that is part of the group as documented in the `container` block below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder containers(GroupContainerArgs... containers) {
return containers(List.of(containers));
}
/**
* @param diagnostics A `diagnostics` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder diagnostics(@Nullable Output diagnostics) {
$.diagnostics = diagnostics;
return this;
}
/**
* @param diagnostics A `diagnostics` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder diagnostics(GroupDiagnosticsArgs diagnostics) {
return diagnostics(Output.of(diagnostics));
}
/**
* @param dnsConfig A `dns_config` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder dnsConfig(@Nullable Output dnsConfig) {
$.dnsConfig = dnsConfig;
return this;
}
/**
* @param dnsConfig A `dns_config` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder dnsConfig(GroupDnsConfigArgs dnsConfig) {
return dnsConfig(Output.of(dnsConfig));
}
/**
* @param dnsNameLabel The DNS label/name for the container group's IP. Changing this forces a new resource to be created.
*
* > **Note:** DNS label/name is not supported when deploying to virtual networks.
*
* @return builder
*
*/
public Builder dnsNameLabel(@Nullable Output dnsNameLabel) {
$.dnsNameLabel = dnsNameLabel;
return this;
}
/**
* @param dnsNameLabel The DNS label/name for the container group's IP. Changing this forces a new resource to be created.
*
* > **Note:** DNS label/name is not supported when deploying to virtual networks.
*
* @return builder
*
*/
public Builder dnsNameLabel(String dnsNameLabel) {
return dnsNameLabel(Output.of(dnsNameLabel));
}
/**
* @param dnsNameLabelReusePolicy The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`.
*
* @return builder
*
*/
public Builder dnsNameLabelReusePolicy(@Nullable Output dnsNameLabelReusePolicy) {
$.dnsNameLabelReusePolicy = dnsNameLabelReusePolicy;
return this;
}
/**
* @param dnsNameLabelReusePolicy The value representing the security enum. `Noreuse`, `ResourceGroupReuse`, `SubscriptionReuse`, `TenantReuse` or `Unsecure`. Defaults to `Unsecure`.
*
* @return builder
*
*/
public Builder dnsNameLabelReusePolicy(String dnsNameLabelReusePolicy) {
return dnsNameLabelReusePolicy(Output.of(dnsNameLabelReusePolicy));
}
/**
* @param exposedPorts Zero or more `exposed_port` blocks as defined below. Changing this forces a new resource to be created.
*
* > **Note:** The `exposed_port` can only contain ports that are also exposed on one or more containers in the group.
*
* @return builder
*
*/
public Builder exposedPorts(@Nullable Output> exposedPorts) {
$.exposedPorts = exposedPorts;
return this;
}
/**
* @param exposedPorts Zero or more `exposed_port` blocks as defined below. Changing this forces a new resource to be created.
*
* > **Note:** The `exposed_port` can only contain ports that are also exposed on one or more containers in the group.
*
* @return builder
*
*/
public Builder exposedPorts(List exposedPorts) {
return exposedPorts(Output.of(exposedPorts));
}
/**
* @param exposedPorts Zero or more `exposed_port` blocks as defined below. Changing this forces a new resource to be created.
*
* > **Note:** The `exposed_port` can only contain ports that are also exposed on one or more containers in the group.
*
* @return builder
*
*/
public Builder exposedPorts(GroupExposedPortArgs... exposedPorts) {
return exposedPorts(List.of(exposedPorts));
}
/**
* @param identity An `identity` block as defined below.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity An `identity` block as defined below.
*
* @return builder
*
*/
public Builder identity(GroupIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param imageRegistryCredentials An `image_registry_credential` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder imageRegistryCredentials(@Nullable Output> imageRegistryCredentials) {
$.imageRegistryCredentials = imageRegistryCredentials;
return this;
}
/**
* @param imageRegistryCredentials An `image_registry_credential` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder imageRegistryCredentials(List imageRegistryCredentials) {
return imageRegistryCredentials(Output.of(imageRegistryCredentials));
}
/**
* @param imageRegistryCredentials An `image_registry_credential` block as documented below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder imageRegistryCredentials(GroupImageRegistryCredentialArgs... imageRegistryCredentials) {
return imageRegistryCredentials(List.of(imageRegistryCredentials));
}
/**
* @param initContainers The definition of an init container that is part of the group as documented in the `init_container` block below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder initContainers(@Nullable Output> initContainers) {
$.initContainers = initContainers;
return this;
}
/**
* @param initContainers The definition of an init container that is part of the group as documented in the `init_container` block below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder initContainers(List initContainers) {
return initContainers(Output.of(initContainers));
}
/**
* @param initContainers The definition of an init container that is part of the group as documented in the `init_container` block below. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder initContainers(GroupInitContainerArgs... initContainers) {
return initContainers(List.of(initContainers));
}
/**
* @param ipAddressType Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, `subnet_ids` also needs to be set. Defaults to `Public`.
*
* > **Note:** `dns_name_label` and `os_type` set to `windows` are not compatible with `Private` `ip_address_type`
*
* @return builder
*
*/
public Builder ipAddressType(@Nullable Output ipAddressType) {
$.ipAddressType = ipAddressType;
return this;
}
/**
* @param ipAddressType Specifies the IP address type of the container. `Public`, `Private` or `None`. Changing this forces a new resource to be created. If set to `Private`, `subnet_ids` also needs to be set. Defaults to `Public`.
*
* > **Note:** `dns_name_label` and `os_type` set to `windows` are not compatible with `Private` `ip_address_type`
*
* @return builder
*
*/
public Builder ipAddressType(String ipAddressType) {
return ipAddressType(Output.of(ipAddressType));
}
/**
* @param keyVaultKeyId The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder keyVaultKeyId(@Nullable Output keyVaultKeyId) {
$.keyVaultKeyId = keyVaultKeyId;
return this;
}
/**
* @param keyVaultKeyId The Key Vault key URI for CMK encryption. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder keyVaultKeyId(String keyVaultKeyId) {
return keyVaultKeyId(Output.of(keyVaultKeyId));
}
/**
* @param keyVaultUserAssignedIdentityId The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named "Azure Container Instance Service" will be used instead. Make sure the identity has the proper `key_permissions` set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.
*
* @return builder
*
*/
public Builder keyVaultUserAssignedIdentityId(@Nullable Output keyVaultUserAssignedIdentityId) {
$.keyVaultUserAssignedIdentityId = keyVaultUserAssignedIdentityId;
return this;
}
/**
* @param keyVaultUserAssignedIdentityId The user assigned identity that has access to the Key Vault Key. If not specified, the RP principal named "Azure Container Instance Service" will be used instead. Make sure the identity has the proper `key_permissions` set, at least with `Get`, `UnwrapKey`, `WrapKey` and `GetRotationPolicy`.
*
* @return builder
*
*/
public Builder keyVaultUserAssignedIdentityId(String keyVaultUserAssignedIdentityId) {
return keyVaultUserAssignedIdentityId(Output.of(keyVaultUserAssignedIdentityId));
}
/**
* @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param name Specifies the name of the Container Group. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Specifies the name of the Container Group. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @return builder
*
* @deprecated
* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead
*
*/
@Deprecated /* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead */
public Builder networkProfileId(@Nullable Output networkProfileId) {
$.networkProfileId = networkProfileId;
return this;
}
/**
* @return builder
*
* @deprecated
* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead
*
*/
@Deprecated /* the 'network_profile_id' has been removed from the latest versions of the container instance API and has been deprecated. It no longer functions and will be removed from the 4.0 AzureRM provider. Please use the 'subnet_ids' field instead */
public Builder networkProfileId(String networkProfileId) {
return networkProfileId(Output.of(networkProfileId));
}
/**
* @param osType The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.
*
* > **Note:** if `os_type` is set to `Windows` currently only a single `container` block is supported. Windows containers are not supported in virtual networks.
*
* @return builder
*
*/
public Builder osType(Output osType) {
$.osType = osType;
return this;
}
/**
* @param osType The OS for the container group. Allowed values are `Linux` and `Windows`. Changing this forces a new resource to be created.
*
* > **Note:** if `os_type` is set to `Windows` currently only a single `container` block is supported. Windows containers are not supported in virtual networks.
*
* @return builder
*
*/
public Builder osType(String osType) {
return osType(Output.of(osType));
}
/**
* @param priority The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.
*
* > **NOTE:** When `priority` is set to `Spot`, the `ip_address_type` has to be `None`.
*
* @return builder
*
*/
public Builder priority(@Nullable Output priority) {
$.priority = priority;
return this;
}
/**
* @param priority The priority of the Container Group. Possible values are `Regular` and `Spot`. Changing this forces a new resource to be created.
*
* > **NOTE:** When `priority` is set to `Spot`, the `ip_address_type` has to be `None`.
*
* @return builder
*
*/
public Builder priority(String priority) {
return priority(Output.of(priority));
}
/**
* @param resourceGroupName The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param restartPolicy Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder restartPolicy(@Nullable Output restartPolicy) {
$.restartPolicy = restartPolicy;
return this;
}
/**
* @param restartPolicy Restart policy for the container group. Allowed values are `Always`, `Never`, `OnFailure`. Defaults to `Always`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder restartPolicy(String restartPolicy) {
return restartPolicy(Output.of(restartPolicy));
}
/**
* @param sku Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder sku(@Nullable Output sku) {
$.sku = sku;
return this;
}
/**
* @param sku Specifies the sku of the Container Group. Possible values are `Confidential`, `Dedicated` and `Standard`. Defaults to `Standard`. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder sku(String sku) {
return sku(Output.of(sku));
}
/**
* @param subnetIds The subnet resource IDs for a container group. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder subnetIds(@Nullable Output subnetIds) {
$.subnetIds = subnetIds;
return this;
}
/**
* @param subnetIds The subnet resource IDs for a container group. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder subnetIds(String subnetIds) {
return subnetIds(Output.of(subnetIds));
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param zones A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder zones(@Nullable Output> zones) {
$.zones = zones;
return this;
}
/**
* @param zones A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder zones(List zones) {
return zones(Output.of(zones));
}
/**
* @param zones A list of Availability Zones in which this Container Group is located. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder zones(String... zones) {
return zones(List.of(zones));
}
public GroupArgs build() {
if ($.containers == null) {
throw new MissingRequiredPropertyException("GroupArgs", "containers");
}
if ($.osType == null) {
throw new MissingRequiredPropertyException("GroupArgs", "osType");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("GroupArgs", "resourceGroupName");
}
return $;
}
}
}