PoolArgs

data class PoolArgs(val assignments: Output<List<AssignmentArgs>>? = null, val location: Output<String>? = null, val poolName: Output<String>? = null, val poolType: Output<PoolTypeArgs>? = null, val reclaimPolicy: Output<Either<String, ReclaimPolicy>>? = null, val resourceGroupName: Output<String>? = null, val resources: Output<ResourcesArgs>? = null, val tags: Output<Map<String, String>>? = null, val zones: Output<List<Either<String, Zone>>>? = null) : ConvertibleToJava<PoolArgs>

Pool resource Uses Azure REST API version 2023-07-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-07-01-preview.

Example Usage

Pools_CreateOrUpdate_Ephemeral

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var pool = new AzureNative.ContainerStorage.Pool("pool", new()
{
Assignments = new[]
{
new AzureNative.ContainerStorage.Inputs.AssignmentArgs
{
Id = "/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest",
},
},
Location = "eastus",
PoolName = "test-pool",
PoolType = new AzureNative.ContainerStorage.Inputs.PoolTypeArgs
{
EphemeralDisk = new AzureNative.ContainerStorage.Inputs.EphemeralDiskArgs
{
Replicas = 3,
},
},
ReclaimPolicy = AzureNative.ContainerStorage.ReclaimPolicy.Delete,
ResourceGroupName = "test-rg",
Resources = new AzureNative.ContainerStorage.Inputs.ResourcesArgs
{
Requests = new AzureNative.ContainerStorage.Inputs.RequestsArgs
{
Storage = 15578,
},
},
Tags =
{
{ "key1888", "value1888" },
},
Zones = new[]
{
AzureNative.ContainerStorage.Zone.Zone1,
AzureNative.ContainerStorage.Zone.Zone2,
AzureNative.ContainerStorage.Zone.Zone3,
},
});
});
package main
import (
containerstorage "github.com/pulumi/pulumi-azure-native-sdk/containerstorage/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := containerstorage.NewPool(ctx, "pool", &containerstorage.PoolArgs{
Assignments: containerstorage.AssignmentArray{
&containerstorage.AssignmentArgs{
Id: pulumi.String("/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest"),
},
},
Location: pulumi.String("eastus"),
PoolName: pulumi.String("test-pool"),
PoolType: &containerstorage.PoolTypeArgs{
EphemeralDisk: &containerstorage.EphemeralDiskArgs{
Replicas: pulumi.Float64(3),
},
},
ReclaimPolicy: pulumi.String(containerstorage.ReclaimPolicyDelete),
ResourceGroupName: pulumi.String("test-rg"),
Resources: &containerstorage.ResourcesArgs{
Requests: &containerstorage.RequestsArgs{
Storage: pulumi.Float64(15578),
},
},
Tags: pulumi.StringMap{
"key1888": pulumi.String("value1888"),
},
Zones: pulumi.StringArray{
pulumi.String(containerstorage.ZoneZone1),
pulumi.String(containerstorage.ZoneZone2),
pulumi.String(containerstorage.ZoneZone3),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.containerstorage.Pool;
import com.pulumi.azurenative.containerstorage.PoolArgs;
import com.pulumi.azurenative.containerstorage.inputs.AssignmentArgs;
import com.pulumi.azurenative.containerstorage.inputs.PoolTypeArgs;
import com.pulumi.azurenative.containerstorage.inputs.EphemeralDiskArgs;
import com.pulumi.azurenative.containerstorage.inputs.ResourcesArgs;
import com.pulumi.azurenative.containerstorage.inputs.RequestsArgs;
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 pool = new Pool("pool", PoolArgs.builder()
.assignments(AssignmentArgs.builder()
.id("/subscriptions/bb4d87a2-4273-466c-a6ba-61d818061b3a/resourceGroups/test-rg/providers/Microsoft.ContainerService/managedClusters/containerstoragetest")
.build())
.location("eastus")
.poolName("test-pool")
.poolType(PoolTypeArgs.builder()
.ephemeralDisk(EphemeralDiskArgs.builder()
.replicas(3.0)
.build())
.build())
.reclaimPolicy("Delete")
.resourceGroupName("test-rg")
.resources(ResourcesArgs.builder()
.requests(RequestsArgs.builder()
.storage(15578.0)
.build())
.build())
.tags(Map.of("key1888", "value1888"))
.zones(
"1",
"2",
"3")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:containerstorage:Pool test-pool /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}

Constructors

Link copied to clipboard
constructor(assignments: Output<List<AssignmentArgs>>? = null, location: Output<String>? = null, poolName: Output<String>? = null, poolType: Output<PoolTypeArgs>? = null, reclaimPolicy: Output<Either<String, ReclaimPolicy>>? = null, resourceGroupName: Output<String>? = null, resources: Output<ResourcesArgs>? = null, tags: Output<Map<String, String>>? = null, zones: Output<List<Either<String, Zone>>>? = null)

Properties

Link copied to clipboard
val assignments: Output<List<AssignmentArgs>>? = null

List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For ElasticSAN there can be many.

Link copied to clipboard
val location: Output<String>? = null

The geo-location where the resource lives

Link copied to clipboard
val poolName: Output<String>? = null

Pool Object

Link copied to clipboard
val poolType: Output<PoolTypeArgs>? = null

Type of the Pool: ephemeralDisk, azureDisk, or elasticsan.

Link copied to clipboard
val reclaimPolicy: Output<Either<String, ReclaimPolicy>>? = null

ReclaimPolicy defines what happens to the backend storage when StoragePool is deleted

Link copied to clipboard
val resourceGroupName: Output<String>? = null

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

Link copied to clipboard
val resources: Output<ResourcesArgs>? = null

Resources represent the resources the pool should have.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard
val zones: Output<List<Either<String, Zone>>>? = null

List of availability zones that resources can be created in.

Functions

Link copied to clipboard
open override fun toJava(): PoolArgs