elasticsan

package
v5.64.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ElasticSan

type ElasticSan struct {
	pulumi.CustomResourceState

	// Specifies the base size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.
	//
	// > **NOTE** When updating `baseSizeInTib`, the new value should be greater than the existing one.
	BaseSizeInTib pulumi.IntOutput `pulumi:"baseSizeInTib"`
	// Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.
	//
	// > **NOTE** `extendedSizeInTib` cannot be removed and when updating, the new value should be greater than the existing one.
	ExtendedSizeInTib pulumi.IntPtrOutput `pulumi:"extendedSizeInTib"`
	// The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `sku` block as defined below.
	Sku ElasticSanSkuOutput `pulumi:"sku"`
	// A mapping of tags which should be assigned to the Elastic SAN resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Total Provisioned IOps of the Elastic SAN resource.
	TotalIops pulumi.IntOutput `pulumi:"totalIops"`
	// Total Provisioned MBps Elastic SAN resource.
	TotalMbps pulumi.IntOutput `pulumi:"totalMbps"`
	// Total size of the Elastic SAN resource in TB.
	TotalSizeInTib pulumi.IntOutput `pulumi:"totalSizeInTib"`
	// Total size of the provisioned Volumes in GiB.
	TotalVolumeSizeInGib pulumi.IntOutput `pulumi:"totalVolumeSizeInGib"`
	// Total number of volume groups in this Elastic SAN resource.
	VolumeGroupCount pulumi.IntOutput `pulumi:"volumeGroupCount"`
	// Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.
	//
	// > **NOTE** `zones` cannot be specified if `sku.name` is set to `Premium_ZRS`.
	Zones pulumi.StringArrayOutput `pulumi:"zones"`
}

Manages an Elastic SAN resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/elasticsan"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = elasticsan.NewElasticSan(ctx, "exampleElasticSan", &elasticsan.ElasticSanArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			BaseSizeInTib:     pulumi.Int(1),
			ExtendedSizeInTib: pulumi.Int(2),
			Sku: &elasticsan.ElasticSanSkuArgs{
				Name: pulumi.String("example-value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

An existing Elastic SAN can be imported into Terraform using the `resource id`, e.g.

```sh

$ pulumi import azure:elasticsan/elasticSan:ElasticSan example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ElasticSan/elasticSans/esan1

```

func GetElasticSan

func GetElasticSan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ElasticSanState, opts ...pulumi.ResourceOption) (*ElasticSan, error)

GetElasticSan gets an existing ElasticSan resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewElasticSan

func NewElasticSan(ctx *pulumi.Context,
	name string, args *ElasticSanArgs, opts ...pulumi.ResourceOption) (*ElasticSan, error)

NewElasticSan registers a new resource with the given unique name, arguments, and options.

func (*ElasticSan) ElementType

func (*ElasticSan) ElementType() reflect.Type

func (*ElasticSan) ToElasticSanOutput

func (i *ElasticSan) ToElasticSanOutput() ElasticSanOutput

func (*ElasticSan) ToElasticSanOutputWithContext

func (i *ElasticSan) ToElasticSanOutputWithContext(ctx context.Context) ElasticSanOutput

type ElasticSanArgs

type ElasticSanArgs struct {
	// Specifies the base size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.
	//
	// > **NOTE** When updating `baseSizeInTib`, the new value should be greater than the existing one.
	BaseSizeInTib pulumi.IntInput
	// Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.
	//
	// > **NOTE** `extendedSizeInTib` cannot be removed and when updating, the new value should be greater than the existing one.
	ExtendedSizeInTib pulumi.IntPtrInput
	// The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `sku` block as defined below.
	Sku ElasticSanSkuInput
	// A mapping of tags which should be assigned to the Elastic SAN resource.
	Tags pulumi.StringMapInput
	// Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.
	//
	// > **NOTE** `zones` cannot be specified if `sku.name` is set to `Premium_ZRS`.
	Zones pulumi.StringArrayInput
}

The set of arguments for constructing a ElasticSan resource.

func (ElasticSanArgs) ElementType

func (ElasticSanArgs) ElementType() reflect.Type

type ElasticSanArray

type ElasticSanArray []ElasticSanInput

func (ElasticSanArray) ElementType

func (ElasticSanArray) ElementType() reflect.Type

func (ElasticSanArray) ToElasticSanArrayOutput

func (i ElasticSanArray) ToElasticSanArrayOutput() ElasticSanArrayOutput

func (ElasticSanArray) ToElasticSanArrayOutputWithContext

func (i ElasticSanArray) ToElasticSanArrayOutputWithContext(ctx context.Context) ElasticSanArrayOutput

type ElasticSanArrayInput

type ElasticSanArrayInput interface {
	pulumi.Input

	ToElasticSanArrayOutput() ElasticSanArrayOutput
	ToElasticSanArrayOutputWithContext(context.Context) ElasticSanArrayOutput
}

ElasticSanArrayInput is an input type that accepts ElasticSanArray and ElasticSanArrayOutput values. You can construct a concrete instance of `ElasticSanArrayInput` via:

ElasticSanArray{ ElasticSanArgs{...} }

type ElasticSanArrayOutput

type ElasticSanArrayOutput struct{ *pulumi.OutputState }

func (ElasticSanArrayOutput) ElementType

func (ElasticSanArrayOutput) ElementType() reflect.Type

func (ElasticSanArrayOutput) Index

func (ElasticSanArrayOutput) ToElasticSanArrayOutput

func (o ElasticSanArrayOutput) ToElasticSanArrayOutput() ElasticSanArrayOutput

func (ElasticSanArrayOutput) ToElasticSanArrayOutputWithContext

func (o ElasticSanArrayOutput) ToElasticSanArrayOutputWithContext(ctx context.Context) ElasticSanArrayOutput

type ElasticSanInput

type ElasticSanInput interface {
	pulumi.Input

	ToElasticSanOutput() ElasticSanOutput
	ToElasticSanOutputWithContext(ctx context.Context) ElasticSanOutput
}

type ElasticSanMap

type ElasticSanMap map[string]ElasticSanInput

func (ElasticSanMap) ElementType

func (ElasticSanMap) ElementType() reflect.Type

func (ElasticSanMap) ToElasticSanMapOutput

func (i ElasticSanMap) ToElasticSanMapOutput() ElasticSanMapOutput

func (ElasticSanMap) ToElasticSanMapOutputWithContext

func (i ElasticSanMap) ToElasticSanMapOutputWithContext(ctx context.Context) ElasticSanMapOutput

type ElasticSanMapInput

type ElasticSanMapInput interface {
	pulumi.Input

	ToElasticSanMapOutput() ElasticSanMapOutput
	ToElasticSanMapOutputWithContext(context.Context) ElasticSanMapOutput
}

ElasticSanMapInput is an input type that accepts ElasticSanMap and ElasticSanMapOutput values. You can construct a concrete instance of `ElasticSanMapInput` via:

ElasticSanMap{ "key": ElasticSanArgs{...} }

type ElasticSanMapOutput

type ElasticSanMapOutput struct{ *pulumi.OutputState }

func (ElasticSanMapOutput) ElementType

func (ElasticSanMapOutput) ElementType() reflect.Type

func (ElasticSanMapOutput) MapIndex

func (ElasticSanMapOutput) ToElasticSanMapOutput

func (o ElasticSanMapOutput) ToElasticSanMapOutput() ElasticSanMapOutput

func (ElasticSanMapOutput) ToElasticSanMapOutputWithContext

func (o ElasticSanMapOutput) ToElasticSanMapOutputWithContext(ctx context.Context) ElasticSanMapOutput

type ElasticSanOutput

type ElasticSanOutput struct{ *pulumi.OutputState }

func (ElasticSanOutput) BaseSizeInTib

func (o ElasticSanOutput) BaseSizeInTib() pulumi.IntOutput

Specifies the base size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.

> **NOTE** When updating `baseSizeInTib`, the new value should be greater than the existing one.

func (ElasticSanOutput) ElementType

func (ElasticSanOutput) ElementType() reflect.Type

func (ElasticSanOutput) ExtendedSizeInTib

func (o ElasticSanOutput) ExtendedSizeInTib() pulumi.IntPtrOutput

Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.

> **NOTE** `extendedSizeInTib` cannot be removed and when updating, the new value should be greater than the existing one.

func (ElasticSanOutput) Location

func (o ElasticSanOutput) Location() pulumi.StringOutput

The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.

func (ElasticSanOutput) Name

Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.

func (ElasticSanOutput) ResourceGroupName

func (o ElasticSanOutput) ResourceGroupName() pulumi.StringOutput

Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.

func (ElasticSanOutput) Sku

A `sku` block as defined below.

func (ElasticSanOutput) Tags

A mapping of tags which should be assigned to the Elastic SAN resource.

func (ElasticSanOutput) ToElasticSanOutput

func (o ElasticSanOutput) ToElasticSanOutput() ElasticSanOutput

func (ElasticSanOutput) ToElasticSanOutputWithContext

func (o ElasticSanOutput) ToElasticSanOutputWithContext(ctx context.Context) ElasticSanOutput

func (ElasticSanOutput) TotalIops

func (o ElasticSanOutput) TotalIops() pulumi.IntOutput

Total Provisioned IOps of the Elastic SAN resource.

func (ElasticSanOutput) TotalMbps

func (o ElasticSanOutput) TotalMbps() pulumi.IntOutput

Total Provisioned MBps Elastic SAN resource.

func (ElasticSanOutput) TotalSizeInTib

func (o ElasticSanOutput) TotalSizeInTib() pulumi.IntOutput

Total size of the Elastic SAN resource in TB.

func (ElasticSanOutput) TotalVolumeSizeInGib

func (o ElasticSanOutput) TotalVolumeSizeInGib() pulumi.IntOutput

Total size of the provisioned Volumes in GiB.

func (ElasticSanOutput) VolumeGroupCount

func (o ElasticSanOutput) VolumeGroupCount() pulumi.IntOutput

Total number of volume groups in this Elastic SAN resource.

func (ElasticSanOutput) Zones

Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.

> **NOTE** `zones` cannot be specified if `sku.name` is set to `Premium_ZRS`.

type ElasticSanSku

type ElasticSanSku struct {
	// The SKU name. Possible values are `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.
	//
	// > **NOTE** `Premium_ZRS` SKU is only available in limited Azure regions including `France Central`, `North Europe`, `West Europe`, and `West US 2`. Please refer to this [document](https://azure.microsoft.com/updates/regional-expansion-azure-elastic-san-public-preview-is-now-available-in-more-regions) for more details.
	Name string `pulumi:"name"`
	// The SKU tier. The only possible value is `Premium`. Defaults to `Premium`.
	Tier *string `pulumi:"tier"`
}

type ElasticSanSkuArgs

type ElasticSanSkuArgs struct {
	// The SKU name. Possible values are `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.
	//
	// > **NOTE** `Premium_ZRS` SKU is only available in limited Azure regions including `France Central`, `North Europe`, `West Europe`, and `West US 2`. Please refer to this [document](https://azure.microsoft.com/updates/regional-expansion-azure-elastic-san-public-preview-is-now-available-in-more-regions) for more details.
	Name pulumi.StringInput `pulumi:"name"`
	// The SKU tier. The only possible value is `Premium`. Defaults to `Premium`.
	Tier pulumi.StringPtrInput `pulumi:"tier"`
}

func (ElasticSanSkuArgs) ElementType

func (ElasticSanSkuArgs) ElementType() reflect.Type

func (ElasticSanSkuArgs) ToElasticSanSkuOutput

func (i ElasticSanSkuArgs) ToElasticSanSkuOutput() ElasticSanSkuOutput

func (ElasticSanSkuArgs) ToElasticSanSkuOutputWithContext

func (i ElasticSanSkuArgs) ToElasticSanSkuOutputWithContext(ctx context.Context) ElasticSanSkuOutput

func (ElasticSanSkuArgs) ToElasticSanSkuPtrOutput

func (i ElasticSanSkuArgs) ToElasticSanSkuPtrOutput() ElasticSanSkuPtrOutput

func (ElasticSanSkuArgs) ToElasticSanSkuPtrOutputWithContext

func (i ElasticSanSkuArgs) ToElasticSanSkuPtrOutputWithContext(ctx context.Context) ElasticSanSkuPtrOutput

type ElasticSanSkuInput

type ElasticSanSkuInput interface {
	pulumi.Input

	ToElasticSanSkuOutput() ElasticSanSkuOutput
	ToElasticSanSkuOutputWithContext(context.Context) ElasticSanSkuOutput
}

ElasticSanSkuInput is an input type that accepts ElasticSanSkuArgs and ElasticSanSkuOutput values. You can construct a concrete instance of `ElasticSanSkuInput` via:

ElasticSanSkuArgs{...}

type ElasticSanSkuOutput

type ElasticSanSkuOutput struct{ *pulumi.OutputState }

func (ElasticSanSkuOutput) ElementType

func (ElasticSanSkuOutput) ElementType() reflect.Type

func (ElasticSanSkuOutput) Name

The SKU name. Possible values are `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.

> **NOTE** `Premium_ZRS` SKU is only available in limited Azure regions including `France Central`, `North Europe`, `West Europe`, and `West US 2`. Please refer to this [document](https://azure.microsoft.com/updates/regional-expansion-azure-elastic-san-public-preview-is-now-available-in-more-regions) for more details.

func (ElasticSanSkuOutput) Tier

The SKU tier. The only possible value is `Premium`. Defaults to `Premium`.

func (ElasticSanSkuOutput) ToElasticSanSkuOutput

func (o ElasticSanSkuOutput) ToElasticSanSkuOutput() ElasticSanSkuOutput

func (ElasticSanSkuOutput) ToElasticSanSkuOutputWithContext

func (o ElasticSanSkuOutput) ToElasticSanSkuOutputWithContext(ctx context.Context) ElasticSanSkuOutput

func (ElasticSanSkuOutput) ToElasticSanSkuPtrOutput

func (o ElasticSanSkuOutput) ToElasticSanSkuPtrOutput() ElasticSanSkuPtrOutput

func (ElasticSanSkuOutput) ToElasticSanSkuPtrOutputWithContext

func (o ElasticSanSkuOutput) ToElasticSanSkuPtrOutputWithContext(ctx context.Context) ElasticSanSkuPtrOutput

type ElasticSanSkuPtrInput

type ElasticSanSkuPtrInput interface {
	pulumi.Input

	ToElasticSanSkuPtrOutput() ElasticSanSkuPtrOutput
	ToElasticSanSkuPtrOutputWithContext(context.Context) ElasticSanSkuPtrOutput
}

ElasticSanSkuPtrInput is an input type that accepts ElasticSanSkuArgs, ElasticSanSkuPtr and ElasticSanSkuPtrOutput values. You can construct a concrete instance of `ElasticSanSkuPtrInput` via:

        ElasticSanSkuArgs{...}

or:

        nil

type ElasticSanSkuPtrOutput

type ElasticSanSkuPtrOutput struct{ *pulumi.OutputState }

func (ElasticSanSkuPtrOutput) Elem

func (ElasticSanSkuPtrOutput) ElementType

func (ElasticSanSkuPtrOutput) ElementType() reflect.Type

func (ElasticSanSkuPtrOutput) Name

The SKU name. Possible values are `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.

> **NOTE** `Premium_ZRS` SKU is only available in limited Azure regions including `France Central`, `North Europe`, `West Europe`, and `West US 2`. Please refer to this [document](https://azure.microsoft.com/updates/regional-expansion-azure-elastic-san-public-preview-is-now-available-in-more-regions) for more details.

func (ElasticSanSkuPtrOutput) Tier

The SKU tier. The only possible value is `Premium`. Defaults to `Premium`.

func (ElasticSanSkuPtrOutput) ToElasticSanSkuPtrOutput

func (o ElasticSanSkuPtrOutput) ToElasticSanSkuPtrOutput() ElasticSanSkuPtrOutput

func (ElasticSanSkuPtrOutput) ToElasticSanSkuPtrOutputWithContext

func (o ElasticSanSkuPtrOutput) ToElasticSanSkuPtrOutputWithContext(ctx context.Context) ElasticSanSkuPtrOutput

type ElasticSanState

type ElasticSanState struct {
	// Specifies the base size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.
	//
	// > **NOTE** When updating `baseSizeInTib`, the new value should be greater than the existing one.
	BaseSizeInTib pulumi.IntPtrInput
	// Specifies the extended size of the Elastic SAN resource in TiB. Possible values are between `1` and `100`.
	//
	// > **NOTE** `extendedSizeInTib` cannot be removed and when updating, the new value should be greater than the existing one.
	ExtendedSizeInTib pulumi.IntPtrInput
	// The Azure Region where the Elastic SAN resource should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of this Elastic SAN resource. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Resource Group within which this Elastic SAN resource should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `sku` block as defined below.
	Sku ElasticSanSkuPtrInput
	// A mapping of tags which should be assigned to the Elastic SAN resource.
	Tags pulumi.StringMapInput
	// Total Provisioned IOps of the Elastic SAN resource.
	TotalIops pulumi.IntPtrInput
	// Total Provisioned MBps Elastic SAN resource.
	TotalMbps pulumi.IntPtrInput
	// Total size of the Elastic SAN resource in TB.
	TotalSizeInTib pulumi.IntPtrInput
	// Total size of the provisioned Volumes in GiB.
	TotalVolumeSizeInGib pulumi.IntPtrInput
	// Total number of volume groups in this Elastic SAN resource.
	VolumeGroupCount pulumi.IntPtrInput
	// Logical zone for the Elastic SAN resource. Changing this forces a new resource to be created.
	//
	// > **NOTE** `zones` cannot be specified if `sku.name` is set to `Premium_ZRS`.
	Zones pulumi.StringArrayInput
}

func (ElasticSanState) ElementType

func (ElasticSanState) ElementType() reflect.Type

type VolumeGroup added in v5.64.0

type VolumeGroup struct {
	pulumi.CustomResourceState

	// Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.
	ElasticSanId pulumi.StringOutput `pulumi:"elasticSanId"`
	// An `encryption` block as defined below.
	//
	// > **NOTE:** The `encryption` block can only be set when `encryptionType` is set to `EncryptionAtRestWithCustomerManagedKey`.
	Encryption VolumeGroupEncryptionPtrOutput `pulumi:"encryption"`
	// Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.
	EncryptionType pulumi.StringPtrOutput `pulumi:"encryptionType"`
	// An `identity` block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.
	Identity VolumeGroupIdentityPtrOutput `pulumi:"identity"`
	// Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `networkRule` blocks as defined below.
	NetworkRules VolumeGroupNetworkRuleArrayOutput `pulumi:"networkRules"`
	// Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.
	ProtocolType pulumi.StringPtrOutput `pulumi:"protocolType"`
}

Manages an Elastic SAN Volume Group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/elasticsan"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleElasticSan, err := elasticsan.NewElasticSan(ctx, "exampleElasticSan", &elasticsan.ElasticSanArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			BaseSizeInTib:     pulumi.Int(1),
			Sku: &elasticsan.ElasticSanSkuArgs{
				Name: pulumi.String("Premium_LRS"),
			},
		})
		if err != nil {
			return err
		}
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "exampleUserAssignedIdentity", &authorization.UserAssignedIdentityArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.1.0/24"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Storage.Global"),
			},
		})
		if err != nil {
			return err
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
			Location:                 exampleResourceGroup.Location,
			ResourceGroupName:        exampleResourceGroup.Name,
			EnabledForDiskEncryption: pulumi.Bool(true),
			TenantId:                 *pulumi.String(current.TenantId),
			SoftDeleteRetentionDays:  pulumi.Int(7),
			PurgeProtectionEnabled:   pulumi.Bool(true),
			SkuName:                  pulumi.String("standard"),
		})
		if err != nil {
			return err
		}
		userAssignedIdentity, err := keyvault.NewAccessPolicy(ctx, "userAssignedIdentity", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   *pulumi.String(current.TenantId),
			ObjectId:   exampleUserAssignedIdentity.PrincipalId,
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("UnwrapKey"),
				pulumi.String("WrapKey"),
			},
			SecretPermissions: pulumi.StringArray{
				pulumi.String("Get"),
			},
		})
		if err != nil {
			return err
		}
		client, err := keyvault.NewAccessPolicy(ctx, "client", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   *pulumi.String(current.TenantId),
			ObjectId:   *pulumi.String(current.ObjectId),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("Create"),
				pulumi.String("Delete"),
				pulumi.String("List"),
				pulumi.String("Restore"),
				pulumi.String("Recover"),
				pulumi.String("UnwrapKey"),
				pulumi.String("WrapKey"),
				pulumi.String("Purge"),
				pulumi.String("Encrypt"),
				pulumi.String("Decrypt"),
				pulumi.String("Sign"),
				pulumi.String("Verify"),
				pulumi.String("GetRotationPolicy"),
			},
			SecretPermissions: pulumi.StringArray{
				pulumi.String("Get"),
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "exampleKey", &keyvault.KeyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("decrypt"),
				pulumi.String("encrypt"),
				pulumi.String("sign"),
				pulumi.String("unwrapKey"),
				pulumi.String("verify"),
				pulumi.String("wrapKey"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			userAssignedIdentity,
			client,
		}))
		if err != nil {
			return err
		}
		_, err = elasticsan.NewVolumeGroup(ctx, "exampleVolumeGroup", &elasticsan.VolumeGroupArgs{
			ElasticSanId:   exampleElasticSan.ID(),
			EncryptionType: pulumi.String("EncryptionAtRestWithCustomerManagedKey"),
			Encryption: &elasticsan.VolumeGroupEncryptionArgs{
				KeyVaultKeyId:          exampleKey.VersionlessId,
				UserAssignedIdentityId: exampleUserAssignedIdentity.ID(),
			},
			Identity: &elasticsan.VolumeGroupIdentityArgs{
				Type: pulumi.String("UserAssigned"),
				IdentityIds: pulumi.StringArray{
					exampleUserAssignedIdentity.ID(),
				},
			},
			NetworkRules: elasticsan.VolumeGroupNetworkRuleArray{
				&elasticsan.VolumeGroupNetworkRuleArgs{
					SubnetId: exampleSubnet.ID(),
					Action:   pulumi.String("Allow"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

An existing Elastic SAN Volume Group can be imported into Terraform using the `resource id`, e.g.

```sh

$ pulumi import azure:elasticsan/volumeGroup:VolumeGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ElasticSan/elasticSans/esan1/volumeGroups/vg1

```

func GetVolumeGroup added in v5.64.0

func GetVolumeGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeGroupState, opts ...pulumi.ResourceOption) (*VolumeGroup, error)

GetVolumeGroup gets an existing VolumeGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolumeGroup added in v5.64.0

func NewVolumeGroup(ctx *pulumi.Context,
	name string, args *VolumeGroupArgs, opts ...pulumi.ResourceOption) (*VolumeGroup, error)

NewVolumeGroup registers a new resource with the given unique name, arguments, and options.

func (*VolumeGroup) ElementType added in v5.64.0

func (*VolumeGroup) ElementType() reflect.Type

func (*VolumeGroup) ToVolumeGroupOutput added in v5.64.0

func (i *VolumeGroup) ToVolumeGroupOutput() VolumeGroupOutput

func (*VolumeGroup) ToVolumeGroupOutputWithContext added in v5.64.0

func (i *VolumeGroup) ToVolumeGroupOutputWithContext(ctx context.Context) VolumeGroupOutput

type VolumeGroupArgs added in v5.64.0

type VolumeGroupArgs struct {
	// Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.
	ElasticSanId pulumi.StringInput
	// An `encryption` block as defined below.
	//
	// > **NOTE:** The `encryption` block can only be set when `encryptionType` is set to `EncryptionAtRestWithCustomerManagedKey`.
	Encryption VolumeGroupEncryptionPtrInput
	// Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.
	EncryptionType pulumi.StringPtrInput
	// An `identity` block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.
	Identity VolumeGroupIdentityPtrInput
	// Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `networkRule` blocks as defined below.
	NetworkRules VolumeGroupNetworkRuleArrayInput
	// Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.
	ProtocolType pulumi.StringPtrInput
}

The set of arguments for constructing a VolumeGroup resource.

func (VolumeGroupArgs) ElementType added in v5.64.0

func (VolumeGroupArgs) ElementType() reflect.Type

type VolumeGroupArray added in v5.64.0

type VolumeGroupArray []VolumeGroupInput

func (VolumeGroupArray) ElementType added in v5.64.0

func (VolumeGroupArray) ElementType() reflect.Type

func (VolumeGroupArray) ToVolumeGroupArrayOutput added in v5.64.0

func (i VolumeGroupArray) ToVolumeGroupArrayOutput() VolumeGroupArrayOutput

func (VolumeGroupArray) ToVolumeGroupArrayOutputWithContext added in v5.64.0

func (i VolumeGroupArray) ToVolumeGroupArrayOutputWithContext(ctx context.Context) VolumeGroupArrayOutput

type VolumeGroupArrayInput added in v5.64.0

type VolumeGroupArrayInput interface {
	pulumi.Input

	ToVolumeGroupArrayOutput() VolumeGroupArrayOutput
	ToVolumeGroupArrayOutputWithContext(context.Context) VolumeGroupArrayOutput
}

VolumeGroupArrayInput is an input type that accepts VolumeGroupArray and VolumeGroupArrayOutput values. You can construct a concrete instance of `VolumeGroupArrayInput` via:

VolumeGroupArray{ VolumeGroupArgs{...} }

type VolumeGroupArrayOutput added in v5.64.0

type VolumeGroupArrayOutput struct{ *pulumi.OutputState }

func (VolumeGroupArrayOutput) ElementType added in v5.64.0

func (VolumeGroupArrayOutput) ElementType() reflect.Type

func (VolumeGroupArrayOutput) Index added in v5.64.0

func (VolumeGroupArrayOutput) ToVolumeGroupArrayOutput added in v5.64.0

func (o VolumeGroupArrayOutput) ToVolumeGroupArrayOutput() VolumeGroupArrayOutput

func (VolumeGroupArrayOutput) ToVolumeGroupArrayOutputWithContext added in v5.64.0

func (o VolumeGroupArrayOutput) ToVolumeGroupArrayOutputWithContext(ctx context.Context) VolumeGroupArrayOutput

type VolumeGroupEncryption added in v5.64.0

type VolumeGroupEncryption struct {
	// The timestamp of the expiration time for the current version of the customer managed key.
	CurrentVersionedKeyExpirationTimestamp *string `pulumi:"currentVersionedKeyExpirationTimestamp"`
	// The ID of the current versioned Key Vault Key in use.
	CurrentVersionedKeyId *string `pulumi:"currentVersionedKeyId"`
	// The Key Vault key URI for Customer Managed Key encryption, which can be either a full URI or a versionless URI.
	KeyVaultKeyId string `pulumi:"keyVaultKeyId"`
	// The timestamp of the last rotation of the Key Vault Key.
	LastKeyRotationTimestamp *string `pulumi:"lastKeyRotationTimestamp"`
	// The ID of the User Assigned Identity used by this Elastic SAN Volume Group.
	UserAssignedIdentityId *string `pulumi:"userAssignedIdentityId"`
}

type VolumeGroupEncryptionArgs added in v5.64.0

type VolumeGroupEncryptionArgs struct {
	// The timestamp of the expiration time for the current version of the customer managed key.
	CurrentVersionedKeyExpirationTimestamp pulumi.StringPtrInput `pulumi:"currentVersionedKeyExpirationTimestamp"`
	// The ID of the current versioned Key Vault Key in use.
	CurrentVersionedKeyId pulumi.StringPtrInput `pulumi:"currentVersionedKeyId"`
	// The Key Vault key URI for Customer Managed Key encryption, which can be either a full URI or a versionless URI.
	KeyVaultKeyId pulumi.StringInput `pulumi:"keyVaultKeyId"`
	// The timestamp of the last rotation of the Key Vault Key.
	LastKeyRotationTimestamp pulumi.StringPtrInput `pulumi:"lastKeyRotationTimestamp"`
	// The ID of the User Assigned Identity used by this Elastic SAN Volume Group.
	UserAssignedIdentityId pulumi.StringPtrInput `pulumi:"userAssignedIdentityId"`
}

func (VolumeGroupEncryptionArgs) ElementType added in v5.64.0

func (VolumeGroupEncryptionArgs) ElementType() reflect.Type

func (VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionOutput added in v5.64.0

func (i VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionOutput() VolumeGroupEncryptionOutput

func (VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionOutputWithContext added in v5.64.0

func (i VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionOutputWithContext(ctx context.Context) VolumeGroupEncryptionOutput

func (VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionPtrOutput added in v5.64.0

func (i VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionPtrOutput() VolumeGroupEncryptionPtrOutput

func (VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionPtrOutputWithContext added in v5.64.0

func (i VolumeGroupEncryptionArgs) ToVolumeGroupEncryptionPtrOutputWithContext(ctx context.Context) VolumeGroupEncryptionPtrOutput

type VolumeGroupEncryptionInput added in v5.64.0

type VolumeGroupEncryptionInput interface {
	pulumi.Input

	ToVolumeGroupEncryptionOutput() VolumeGroupEncryptionOutput
	ToVolumeGroupEncryptionOutputWithContext(context.Context) VolumeGroupEncryptionOutput
}

VolumeGroupEncryptionInput is an input type that accepts VolumeGroupEncryptionArgs and VolumeGroupEncryptionOutput values. You can construct a concrete instance of `VolumeGroupEncryptionInput` via:

VolumeGroupEncryptionArgs{...}

type VolumeGroupEncryptionOutput added in v5.64.0

type VolumeGroupEncryptionOutput struct{ *pulumi.OutputState }

func (VolumeGroupEncryptionOutput) CurrentVersionedKeyExpirationTimestamp added in v5.64.0

func (o VolumeGroupEncryptionOutput) CurrentVersionedKeyExpirationTimestamp() pulumi.StringPtrOutput

The timestamp of the expiration time for the current version of the customer managed key.

func (VolumeGroupEncryptionOutput) CurrentVersionedKeyId added in v5.64.0

func (o VolumeGroupEncryptionOutput) CurrentVersionedKeyId() pulumi.StringPtrOutput

The ID of the current versioned Key Vault Key in use.

func (VolumeGroupEncryptionOutput) ElementType added in v5.64.0

func (VolumeGroupEncryptionOutput) KeyVaultKeyId added in v5.64.0

The Key Vault key URI for Customer Managed Key encryption, which can be either a full URI or a versionless URI.

func (VolumeGroupEncryptionOutput) LastKeyRotationTimestamp added in v5.64.0

func (o VolumeGroupEncryptionOutput) LastKeyRotationTimestamp() pulumi.StringPtrOutput

The timestamp of the last rotation of the Key Vault Key.

func (VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionOutput added in v5.64.0

func (o VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionOutput() VolumeGroupEncryptionOutput

func (VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionOutputWithContext added in v5.64.0

func (o VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionOutputWithContext(ctx context.Context) VolumeGroupEncryptionOutput

func (VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionPtrOutput added in v5.64.0

func (o VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionPtrOutput() VolumeGroupEncryptionPtrOutput

func (VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionPtrOutputWithContext added in v5.64.0

func (o VolumeGroupEncryptionOutput) ToVolumeGroupEncryptionPtrOutputWithContext(ctx context.Context) VolumeGroupEncryptionPtrOutput

func (VolumeGroupEncryptionOutput) UserAssignedIdentityId added in v5.64.0

func (o VolumeGroupEncryptionOutput) UserAssignedIdentityId() pulumi.StringPtrOutput

The ID of the User Assigned Identity used by this Elastic SAN Volume Group.

type VolumeGroupEncryptionPtrInput added in v5.64.0

type VolumeGroupEncryptionPtrInput interface {
	pulumi.Input

	ToVolumeGroupEncryptionPtrOutput() VolumeGroupEncryptionPtrOutput
	ToVolumeGroupEncryptionPtrOutputWithContext(context.Context) VolumeGroupEncryptionPtrOutput
}

VolumeGroupEncryptionPtrInput is an input type that accepts VolumeGroupEncryptionArgs, VolumeGroupEncryptionPtr and VolumeGroupEncryptionPtrOutput values. You can construct a concrete instance of `VolumeGroupEncryptionPtrInput` via:

        VolumeGroupEncryptionArgs{...}

or:

        nil

func VolumeGroupEncryptionPtr added in v5.64.0

func VolumeGroupEncryptionPtr(v *VolumeGroupEncryptionArgs) VolumeGroupEncryptionPtrInput

type VolumeGroupEncryptionPtrOutput added in v5.64.0

type VolumeGroupEncryptionPtrOutput struct{ *pulumi.OutputState }

func (VolumeGroupEncryptionPtrOutput) CurrentVersionedKeyExpirationTimestamp added in v5.64.0

func (o VolumeGroupEncryptionPtrOutput) CurrentVersionedKeyExpirationTimestamp() pulumi.StringPtrOutput

The timestamp of the expiration time for the current version of the customer managed key.

func (VolumeGroupEncryptionPtrOutput) CurrentVersionedKeyId added in v5.64.0

func (o VolumeGroupEncryptionPtrOutput) CurrentVersionedKeyId() pulumi.StringPtrOutput

The ID of the current versioned Key Vault Key in use.

func (VolumeGroupEncryptionPtrOutput) Elem added in v5.64.0

func (VolumeGroupEncryptionPtrOutput) ElementType added in v5.64.0

func (VolumeGroupEncryptionPtrOutput) KeyVaultKeyId added in v5.64.0

The Key Vault key URI for Customer Managed Key encryption, which can be either a full URI or a versionless URI.

func (VolumeGroupEncryptionPtrOutput) LastKeyRotationTimestamp added in v5.64.0

func (o VolumeGroupEncryptionPtrOutput) LastKeyRotationTimestamp() pulumi.StringPtrOutput

The timestamp of the last rotation of the Key Vault Key.

func (VolumeGroupEncryptionPtrOutput) ToVolumeGroupEncryptionPtrOutput added in v5.64.0

func (o VolumeGroupEncryptionPtrOutput) ToVolumeGroupEncryptionPtrOutput() VolumeGroupEncryptionPtrOutput

func (VolumeGroupEncryptionPtrOutput) ToVolumeGroupEncryptionPtrOutputWithContext added in v5.64.0

func (o VolumeGroupEncryptionPtrOutput) ToVolumeGroupEncryptionPtrOutputWithContext(ctx context.Context) VolumeGroupEncryptionPtrOutput

func (VolumeGroupEncryptionPtrOutput) UserAssignedIdentityId added in v5.64.0

func (o VolumeGroupEncryptionPtrOutput) UserAssignedIdentityId() pulumi.StringPtrOutput

The ID of the User Assigned Identity used by this Elastic SAN Volume Group.

type VolumeGroupIdentity added in v5.64.0

type VolumeGroupIdentity struct {
	// A list of the User Assigned Identity IDs that should be assigned to this Elastic SAN Volume Group.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID associated with the Managed Service Identity assigned to this Elastic SAN Volume Group.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Identity that should be assigned to this Elastic SAN Volume Group. Possible values are `SystemAssigned` and `UserAssigned`.
	Type string `pulumi:"type"`
}

type VolumeGroupIdentityArgs added in v5.64.0

type VolumeGroupIdentityArgs struct {
	// A list of the User Assigned Identity IDs that should be assigned to this Elastic SAN Volume Group.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID associated with the Managed Service Identity assigned to this Elastic SAN Volume Group.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Identity that should be assigned to this Elastic SAN Volume Group. Possible values are `SystemAssigned` and `UserAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (VolumeGroupIdentityArgs) ElementType added in v5.64.0

func (VolumeGroupIdentityArgs) ElementType() reflect.Type

func (VolumeGroupIdentityArgs) ToVolumeGroupIdentityOutput added in v5.64.0

func (i VolumeGroupIdentityArgs) ToVolumeGroupIdentityOutput() VolumeGroupIdentityOutput

func (VolumeGroupIdentityArgs) ToVolumeGroupIdentityOutputWithContext added in v5.64.0

func (i VolumeGroupIdentityArgs) ToVolumeGroupIdentityOutputWithContext(ctx context.Context) VolumeGroupIdentityOutput

func (VolumeGroupIdentityArgs) ToVolumeGroupIdentityPtrOutput added in v5.64.0

func (i VolumeGroupIdentityArgs) ToVolumeGroupIdentityPtrOutput() VolumeGroupIdentityPtrOutput

func (VolumeGroupIdentityArgs) ToVolumeGroupIdentityPtrOutputWithContext added in v5.64.0

func (i VolumeGroupIdentityArgs) ToVolumeGroupIdentityPtrOutputWithContext(ctx context.Context) VolumeGroupIdentityPtrOutput

type VolumeGroupIdentityInput added in v5.64.0

type VolumeGroupIdentityInput interface {
	pulumi.Input

	ToVolumeGroupIdentityOutput() VolumeGroupIdentityOutput
	ToVolumeGroupIdentityOutputWithContext(context.Context) VolumeGroupIdentityOutput
}

VolumeGroupIdentityInput is an input type that accepts VolumeGroupIdentityArgs and VolumeGroupIdentityOutput values. You can construct a concrete instance of `VolumeGroupIdentityInput` via:

VolumeGroupIdentityArgs{...}

type VolumeGroupIdentityOutput added in v5.64.0

type VolumeGroupIdentityOutput struct{ *pulumi.OutputState }

func (VolumeGroupIdentityOutput) ElementType added in v5.64.0

func (VolumeGroupIdentityOutput) ElementType() reflect.Type

func (VolumeGroupIdentityOutput) IdentityIds added in v5.64.0

A list of the User Assigned Identity IDs that should be assigned to this Elastic SAN Volume Group.

func (VolumeGroupIdentityOutput) PrincipalId added in v5.64.0

The Principal ID associated with the Managed Service Identity assigned to this Elastic SAN Volume Group.

func (VolumeGroupIdentityOutput) TenantId added in v5.64.0

The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.

func (VolumeGroupIdentityOutput) ToVolumeGroupIdentityOutput added in v5.64.0

func (o VolumeGroupIdentityOutput) ToVolumeGroupIdentityOutput() VolumeGroupIdentityOutput

func (VolumeGroupIdentityOutput) ToVolumeGroupIdentityOutputWithContext added in v5.64.0

func (o VolumeGroupIdentityOutput) ToVolumeGroupIdentityOutputWithContext(ctx context.Context) VolumeGroupIdentityOutput

func (VolumeGroupIdentityOutput) ToVolumeGroupIdentityPtrOutput added in v5.64.0

func (o VolumeGroupIdentityOutput) ToVolumeGroupIdentityPtrOutput() VolumeGroupIdentityPtrOutput

func (VolumeGroupIdentityOutput) ToVolumeGroupIdentityPtrOutputWithContext added in v5.64.0

func (o VolumeGroupIdentityOutput) ToVolumeGroupIdentityPtrOutputWithContext(ctx context.Context) VolumeGroupIdentityPtrOutput

func (VolumeGroupIdentityOutput) Type added in v5.64.0

Specifies the type of Managed Identity that should be assigned to this Elastic SAN Volume Group. Possible values are `SystemAssigned` and `UserAssigned`.

type VolumeGroupIdentityPtrInput added in v5.64.0

type VolumeGroupIdentityPtrInput interface {
	pulumi.Input

	ToVolumeGroupIdentityPtrOutput() VolumeGroupIdentityPtrOutput
	ToVolumeGroupIdentityPtrOutputWithContext(context.Context) VolumeGroupIdentityPtrOutput
}

VolumeGroupIdentityPtrInput is an input type that accepts VolumeGroupIdentityArgs, VolumeGroupIdentityPtr and VolumeGroupIdentityPtrOutput values. You can construct a concrete instance of `VolumeGroupIdentityPtrInput` via:

        VolumeGroupIdentityArgs{...}

or:

        nil

func VolumeGroupIdentityPtr added in v5.64.0

func VolumeGroupIdentityPtr(v *VolumeGroupIdentityArgs) VolumeGroupIdentityPtrInput

type VolumeGroupIdentityPtrOutput added in v5.64.0

type VolumeGroupIdentityPtrOutput struct{ *pulumi.OutputState }

func (VolumeGroupIdentityPtrOutput) Elem added in v5.64.0

func (VolumeGroupIdentityPtrOutput) ElementType added in v5.64.0

func (VolumeGroupIdentityPtrOutput) IdentityIds added in v5.64.0

A list of the User Assigned Identity IDs that should be assigned to this Elastic SAN Volume Group.

func (VolumeGroupIdentityPtrOutput) PrincipalId added in v5.64.0

The Principal ID associated with the Managed Service Identity assigned to this Elastic SAN Volume Group.

func (VolumeGroupIdentityPtrOutput) TenantId added in v5.64.0

The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.

func (VolumeGroupIdentityPtrOutput) ToVolumeGroupIdentityPtrOutput added in v5.64.0

func (o VolumeGroupIdentityPtrOutput) ToVolumeGroupIdentityPtrOutput() VolumeGroupIdentityPtrOutput

func (VolumeGroupIdentityPtrOutput) ToVolumeGroupIdentityPtrOutputWithContext added in v5.64.0

func (o VolumeGroupIdentityPtrOutput) ToVolumeGroupIdentityPtrOutputWithContext(ctx context.Context) VolumeGroupIdentityPtrOutput

func (VolumeGroupIdentityPtrOutput) Type added in v5.64.0

Specifies the type of Managed Identity that should be assigned to this Elastic SAN Volume Group. Possible values are `SystemAssigned` and `UserAssigned`.

type VolumeGroupInput added in v5.64.0

type VolumeGroupInput interface {
	pulumi.Input

	ToVolumeGroupOutput() VolumeGroupOutput
	ToVolumeGroupOutputWithContext(ctx context.Context) VolumeGroupOutput
}

type VolumeGroupMap added in v5.64.0

type VolumeGroupMap map[string]VolumeGroupInput

func (VolumeGroupMap) ElementType added in v5.64.0

func (VolumeGroupMap) ElementType() reflect.Type

func (VolumeGroupMap) ToVolumeGroupMapOutput added in v5.64.0

func (i VolumeGroupMap) ToVolumeGroupMapOutput() VolumeGroupMapOutput

func (VolumeGroupMap) ToVolumeGroupMapOutputWithContext added in v5.64.0

func (i VolumeGroupMap) ToVolumeGroupMapOutputWithContext(ctx context.Context) VolumeGroupMapOutput

type VolumeGroupMapInput added in v5.64.0

type VolumeGroupMapInput interface {
	pulumi.Input

	ToVolumeGroupMapOutput() VolumeGroupMapOutput
	ToVolumeGroupMapOutputWithContext(context.Context) VolumeGroupMapOutput
}

VolumeGroupMapInput is an input type that accepts VolumeGroupMap and VolumeGroupMapOutput values. You can construct a concrete instance of `VolumeGroupMapInput` via:

VolumeGroupMap{ "key": VolumeGroupArgs{...} }

type VolumeGroupMapOutput added in v5.64.0

type VolumeGroupMapOutput struct{ *pulumi.OutputState }

func (VolumeGroupMapOutput) ElementType added in v5.64.0

func (VolumeGroupMapOutput) ElementType() reflect.Type

func (VolumeGroupMapOutput) MapIndex added in v5.64.0

func (VolumeGroupMapOutput) ToVolumeGroupMapOutput added in v5.64.0

func (o VolumeGroupMapOutput) ToVolumeGroupMapOutput() VolumeGroupMapOutput

func (VolumeGroupMapOutput) ToVolumeGroupMapOutputWithContext added in v5.64.0

func (o VolumeGroupMapOutput) ToVolumeGroupMapOutputWithContext(ctx context.Context) VolumeGroupMapOutput

type VolumeGroupNetworkRule added in v5.64.0

type VolumeGroupNetworkRule struct {
	// The action to take when the Subnet attempts to access this Elastic SAN Volume Group. The only possible value is `Allow`. Defaults to `Allow`.
	Action *string `pulumi:"action"`
	// The ID of the Subnet which should be allowed to access this Elastic SAN Volume Group.
	SubnetId string `pulumi:"subnetId"`
}

type VolumeGroupNetworkRuleArgs added in v5.64.0

type VolumeGroupNetworkRuleArgs struct {
	// The action to take when the Subnet attempts to access this Elastic SAN Volume Group. The only possible value is `Allow`. Defaults to `Allow`.
	Action pulumi.StringPtrInput `pulumi:"action"`
	// The ID of the Subnet which should be allowed to access this Elastic SAN Volume Group.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (VolumeGroupNetworkRuleArgs) ElementType added in v5.64.0

func (VolumeGroupNetworkRuleArgs) ElementType() reflect.Type

func (VolumeGroupNetworkRuleArgs) ToVolumeGroupNetworkRuleOutput added in v5.64.0

func (i VolumeGroupNetworkRuleArgs) ToVolumeGroupNetworkRuleOutput() VolumeGroupNetworkRuleOutput

func (VolumeGroupNetworkRuleArgs) ToVolumeGroupNetworkRuleOutputWithContext added in v5.64.0

func (i VolumeGroupNetworkRuleArgs) ToVolumeGroupNetworkRuleOutputWithContext(ctx context.Context) VolumeGroupNetworkRuleOutput

type VolumeGroupNetworkRuleArray added in v5.64.0

type VolumeGroupNetworkRuleArray []VolumeGroupNetworkRuleInput

func (VolumeGroupNetworkRuleArray) ElementType added in v5.64.0

func (VolumeGroupNetworkRuleArray) ToVolumeGroupNetworkRuleArrayOutput added in v5.64.0

func (i VolumeGroupNetworkRuleArray) ToVolumeGroupNetworkRuleArrayOutput() VolumeGroupNetworkRuleArrayOutput

func (VolumeGroupNetworkRuleArray) ToVolumeGroupNetworkRuleArrayOutputWithContext added in v5.64.0

func (i VolumeGroupNetworkRuleArray) ToVolumeGroupNetworkRuleArrayOutputWithContext(ctx context.Context) VolumeGroupNetworkRuleArrayOutput

type VolumeGroupNetworkRuleArrayInput added in v5.64.0

type VolumeGroupNetworkRuleArrayInput interface {
	pulumi.Input

	ToVolumeGroupNetworkRuleArrayOutput() VolumeGroupNetworkRuleArrayOutput
	ToVolumeGroupNetworkRuleArrayOutputWithContext(context.Context) VolumeGroupNetworkRuleArrayOutput
}

VolumeGroupNetworkRuleArrayInput is an input type that accepts VolumeGroupNetworkRuleArray and VolumeGroupNetworkRuleArrayOutput values. You can construct a concrete instance of `VolumeGroupNetworkRuleArrayInput` via:

VolumeGroupNetworkRuleArray{ VolumeGroupNetworkRuleArgs{...} }

type VolumeGroupNetworkRuleArrayOutput added in v5.64.0

type VolumeGroupNetworkRuleArrayOutput struct{ *pulumi.OutputState }

func (VolumeGroupNetworkRuleArrayOutput) ElementType added in v5.64.0

func (VolumeGroupNetworkRuleArrayOutput) Index added in v5.64.0

func (VolumeGroupNetworkRuleArrayOutput) ToVolumeGroupNetworkRuleArrayOutput added in v5.64.0

func (o VolumeGroupNetworkRuleArrayOutput) ToVolumeGroupNetworkRuleArrayOutput() VolumeGroupNetworkRuleArrayOutput

func (VolumeGroupNetworkRuleArrayOutput) ToVolumeGroupNetworkRuleArrayOutputWithContext added in v5.64.0

func (o VolumeGroupNetworkRuleArrayOutput) ToVolumeGroupNetworkRuleArrayOutputWithContext(ctx context.Context) VolumeGroupNetworkRuleArrayOutput

type VolumeGroupNetworkRuleInput added in v5.64.0

type VolumeGroupNetworkRuleInput interface {
	pulumi.Input

	ToVolumeGroupNetworkRuleOutput() VolumeGroupNetworkRuleOutput
	ToVolumeGroupNetworkRuleOutputWithContext(context.Context) VolumeGroupNetworkRuleOutput
}

VolumeGroupNetworkRuleInput is an input type that accepts VolumeGroupNetworkRuleArgs and VolumeGroupNetworkRuleOutput values. You can construct a concrete instance of `VolumeGroupNetworkRuleInput` via:

VolumeGroupNetworkRuleArgs{...}

type VolumeGroupNetworkRuleOutput added in v5.64.0

type VolumeGroupNetworkRuleOutput struct{ *pulumi.OutputState }

func (VolumeGroupNetworkRuleOutput) Action added in v5.64.0

The action to take when the Subnet attempts to access this Elastic SAN Volume Group. The only possible value is `Allow`. Defaults to `Allow`.

func (VolumeGroupNetworkRuleOutput) ElementType added in v5.64.0

func (VolumeGroupNetworkRuleOutput) SubnetId added in v5.64.0

The ID of the Subnet which should be allowed to access this Elastic SAN Volume Group.

func (VolumeGroupNetworkRuleOutput) ToVolumeGroupNetworkRuleOutput added in v5.64.0

func (o VolumeGroupNetworkRuleOutput) ToVolumeGroupNetworkRuleOutput() VolumeGroupNetworkRuleOutput

func (VolumeGroupNetworkRuleOutput) ToVolumeGroupNetworkRuleOutputWithContext added in v5.64.0

func (o VolumeGroupNetworkRuleOutput) ToVolumeGroupNetworkRuleOutputWithContext(ctx context.Context) VolumeGroupNetworkRuleOutput

type VolumeGroupOutput added in v5.64.0

type VolumeGroupOutput struct{ *pulumi.OutputState }

func (VolumeGroupOutput) ElasticSanId added in v5.64.0

func (o VolumeGroupOutput) ElasticSanId() pulumi.StringOutput

Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.

func (VolumeGroupOutput) ElementType added in v5.64.0

func (VolumeGroupOutput) ElementType() reflect.Type

func (VolumeGroupOutput) Encryption added in v5.64.0

An `encryption` block as defined below.

> **NOTE:** The `encryption` block can only be set when `encryptionType` is set to `EncryptionAtRestWithCustomerManagedKey`.

func (VolumeGroupOutput) EncryptionType added in v5.64.0

func (o VolumeGroupOutput) EncryptionType() pulumi.StringPtrOutput

Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.

func (VolumeGroupOutput) Identity added in v5.64.0

An `identity` block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.

func (VolumeGroupOutput) Name added in v5.64.0

Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.

func (VolumeGroupOutput) NetworkRules added in v5.64.0

One or more `networkRule` blocks as defined below.

func (VolumeGroupOutput) ProtocolType added in v5.64.0

func (o VolumeGroupOutput) ProtocolType() pulumi.StringPtrOutput

Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.

func (VolumeGroupOutput) ToVolumeGroupOutput added in v5.64.0

func (o VolumeGroupOutput) ToVolumeGroupOutput() VolumeGroupOutput

func (VolumeGroupOutput) ToVolumeGroupOutputWithContext added in v5.64.0

func (o VolumeGroupOutput) ToVolumeGroupOutputWithContext(ctx context.Context) VolumeGroupOutput

type VolumeGroupState added in v5.64.0

type VolumeGroupState struct {
	// Specifies the Elastic SAN ID within which this Elastic SAN Volume Group should exist. Changing this forces a new resource to be created.
	ElasticSanId pulumi.StringPtrInput
	// An `encryption` block as defined below.
	//
	// > **NOTE:** The `encryption` block can only be set when `encryptionType` is set to `EncryptionAtRestWithCustomerManagedKey`.
	Encryption VolumeGroupEncryptionPtrInput
	// Specifies the type of the key used to encrypt the data of the disk. Possible values are `EncryptionAtRestWithCustomerManagedKey` and `EncryptionAtRestWithPlatformKey`. Defaults to `EncryptionAtRestWithPlatformKey`.
	EncryptionType pulumi.StringPtrInput
	// An `identity` block as defined below. Specifies the Managed Identity which should be assigned to this Elastic SAN Volume Group.
	Identity VolumeGroupIdentityPtrInput
	// Specifies the name of this Elastic SAN Volume Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `networkRule` blocks as defined below.
	NetworkRules VolumeGroupNetworkRuleArrayInput
	// Specifies the type of the storage target. The only possible value is `Iscsi`. Defaults to `Iscsi`.
	ProtocolType pulumi.StringPtrInput
}

func (VolumeGroupState) ElementType added in v5.64.0

func (VolumeGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL