elasticsan

package
v5.82.0 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 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 {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = elasticsan.NewElasticSan(ctx, "example", &elasticsan.ElasticSanArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.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 GetArgs added in v5.78.0

type GetArgs struct {
	// The name of this Elastic SAN.
	Name string `pulumi:"name"`
	// The name of the Resource Group where the Elastic SAN exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking get.

type GetOutputArgs added in v5.78.0

type GetOutputArgs struct {
	// The name of this Elastic SAN.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Resource Group where the Elastic SAN exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking get.

func (GetOutputArgs) ElementType added in v5.78.0

func (GetOutputArgs) ElementType() reflect.Type

type GetResult added in v5.78.0

type GetResult struct {
	// The base size of the Elastic SAN resource in TiB.
	BaseSizeInTib int `pulumi:"baseSizeInTib"`
	// The base size of the Elastic SAN resource in TiB.
	ExtendedSizeInTib int `pulumi:"extendedSizeInTib"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure Region where the Elastic SAN exists.
	Location string `pulumi:"location"`
	// The SKU name.
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A `sku` block as defined below.
	Skus []GetSkus `pulumi:"skus"`
	// A mapping of tags assigned to the Elastic SAN.
	Tags map[string]string `pulumi:"tags"`
	// Total Provisioned IOps of the Elastic SAN resource.
	TotalIops int `pulumi:"totalIops"`
	// Total Provisioned MBps Elastic SAN resource.
	TotalMbps int `pulumi:"totalMbps"`
	// Total size of the Elastic SAN resource in TB.
	TotalSizeInTib int `pulumi:"totalSizeInTib"`
	// Total size of the provisioned Volumes in GiB.
	TotalVolumeSizeInGib int `pulumi:"totalVolumeSizeInGib"`
	// Total number of volume groups in this Elastic SAN resource.
	VolumeGroupCount int `pulumi:"volumeGroupCount"`
	// Logical zone for the Elastic SAN resource.
	Zones []string `pulumi:"zones"`
}

A collection of values returned by get.

func Get added in v5.78.0

func Get(ctx *pulumi.Context, args *GetArgs, opts ...pulumi.InvokeOption) (*GetResult, error)

Use this data source to access information about an existing Elastic SAN.

## Example Usage

```go package main

import (

"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 {
		example, err := elasticsan.Get(ctx, &elasticsan.GetArgs{
			Name:              "existing",
			ResourceGroupName: "existing",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type GetResultOutput added in v5.78.0

type GetResultOutput struct{ *pulumi.OutputState }

A collection of values returned by get.

func GetOutput added in v5.78.0

func GetOutput(ctx *pulumi.Context, args GetOutputArgs, opts ...pulumi.InvokeOption) GetResultOutput

func (GetResultOutput) BaseSizeInTib added in v5.78.0

func (o GetResultOutput) BaseSizeInTib() pulumi.IntOutput

The base size of the Elastic SAN resource in TiB.

func (GetResultOutput) ElementType added in v5.78.0

func (GetResultOutput) ElementType() reflect.Type

func (GetResultOutput) ExtendedSizeInTib added in v5.78.0

func (o GetResultOutput) ExtendedSizeInTib() pulumi.IntOutput

The base size of the Elastic SAN resource in TiB.

func (GetResultOutput) Id added in v5.78.0

The provider-assigned unique ID for this managed resource.

func (GetResultOutput) Location added in v5.78.0

func (o GetResultOutput) Location() pulumi.StringOutput

The Azure Region where the Elastic SAN exists.

func (GetResultOutput) Name added in v5.78.0

The SKU name.

func (GetResultOutput) ResourceGroupName added in v5.78.0

func (o GetResultOutput) ResourceGroupName() pulumi.StringOutput

func (GetResultOutput) Skus added in v5.78.0

A `sku` block as defined below.

func (GetResultOutput) Tags added in v5.78.0

A mapping of tags assigned to the Elastic SAN.

func (GetResultOutput) ToGetResultOutput added in v5.78.0

func (o GetResultOutput) ToGetResultOutput() GetResultOutput

func (GetResultOutput) ToGetResultOutputWithContext added in v5.78.0

func (o GetResultOutput) ToGetResultOutputWithContext(ctx context.Context) GetResultOutput

func (GetResultOutput) TotalIops added in v5.78.0

func (o GetResultOutput) TotalIops() pulumi.IntOutput

Total Provisioned IOps of the Elastic SAN resource.

func (GetResultOutput) TotalMbps added in v5.78.0

func (o GetResultOutput) TotalMbps() pulumi.IntOutput

Total Provisioned MBps Elastic SAN resource.

func (GetResultOutput) TotalSizeInTib added in v5.78.0

func (o GetResultOutput) TotalSizeInTib() pulumi.IntOutput

Total size of the Elastic SAN resource in TB.

func (GetResultOutput) TotalVolumeSizeInGib added in v5.78.0

func (o GetResultOutput) TotalVolumeSizeInGib() pulumi.IntOutput

Total size of the provisioned Volumes in GiB.

func (GetResultOutput) VolumeGroupCount added in v5.78.0

func (o GetResultOutput) VolumeGroupCount() pulumi.IntOutput

Total number of volume groups in this Elastic SAN resource.

func (GetResultOutput) Zones added in v5.78.0

Logical zone for the Elastic SAN resource.

type GetSkus added in v5.78.0

type GetSkus struct {
	// The name of this Elastic SAN.
	Name string `pulumi:"name"`
	// The SKU tier.
	Tier string `pulumi:"tier"`
}

type GetSkusArgs added in v5.78.0

type GetSkusArgs struct {
	// The name of this Elastic SAN.
	Name pulumi.StringInput `pulumi:"name"`
	// The SKU tier.
	Tier pulumi.StringInput `pulumi:"tier"`
}

func (GetSkusArgs) ElementType added in v5.78.0

func (GetSkusArgs) ElementType() reflect.Type

func (GetSkusArgs) ToGetSkusOutput added in v5.78.0

func (i GetSkusArgs) ToGetSkusOutput() GetSkusOutput

func (GetSkusArgs) ToGetSkusOutputWithContext added in v5.78.0

func (i GetSkusArgs) ToGetSkusOutputWithContext(ctx context.Context) GetSkusOutput

type GetSkusArray added in v5.78.0

type GetSkusArray []GetSkusInput

func (GetSkusArray) ElementType added in v5.78.0

func (GetSkusArray) ElementType() reflect.Type

func (GetSkusArray) ToGetSkusArrayOutput added in v5.78.0

func (i GetSkusArray) ToGetSkusArrayOutput() GetSkusArrayOutput

func (GetSkusArray) ToGetSkusArrayOutputWithContext added in v5.78.0

func (i GetSkusArray) ToGetSkusArrayOutputWithContext(ctx context.Context) GetSkusArrayOutput

type GetSkusArrayInput added in v5.78.0

type GetSkusArrayInput interface {
	pulumi.Input

	ToGetSkusArrayOutput() GetSkusArrayOutput
	ToGetSkusArrayOutputWithContext(context.Context) GetSkusArrayOutput
}

GetSkusArrayInput is an input type that accepts GetSkusArray and GetSkusArrayOutput values. You can construct a concrete instance of `GetSkusArrayInput` via:

GetSkusArray{ GetSkusArgs{...} }

type GetSkusArrayOutput added in v5.78.0

type GetSkusArrayOutput struct{ *pulumi.OutputState }

func (GetSkusArrayOutput) ElementType added in v5.78.0

func (GetSkusArrayOutput) ElementType() reflect.Type

func (GetSkusArrayOutput) Index added in v5.78.0

func (GetSkusArrayOutput) ToGetSkusArrayOutput added in v5.78.0

func (o GetSkusArrayOutput) ToGetSkusArrayOutput() GetSkusArrayOutput

func (GetSkusArrayOutput) ToGetSkusArrayOutputWithContext added in v5.78.0

func (o GetSkusArrayOutput) ToGetSkusArrayOutputWithContext(ctx context.Context) GetSkusArrayOutput

type GetSkusInput added in v5.78.0

type GetSkusInput interface {
	pulumi.Input

	ToGetSkusOutput() GetSkusOutput
	ToGetSkusOutputWithContext(context.Context) GetSkusOutput
}

GetSkusInput is an input type that accepts GetSkusArgs and GetSkusOutput values. You can construct a concrete instance of `GetSkusInput` via:

GetSkusArgs{...}

type GetSkusOutput added in v5.78.0

type GetSkusOutput struct{ *pulumi.OutputState }

func (GetSkusOutput) ElementType added in v5.78.0

func (GetSkusOutput) ElementType() reflect.Type

func (GetSkusOutput) Name added in v5.78.0

The name of this Elastic SAN.

func (GetSkusOutput) Tier added in v5.78.0

The SKU tier.

func (GetSkusOutput) ToGetSkusOutput added in v5.78.0

func (o GetSkusOutput) ToGetSkusOutput() GetSkusOutput

func (GetSkusOutput) ToGetSkusOutputWithContext added in v5.78.0

func (o GetSkusOutput) ToGetSkusOutputWithContext(ctx context.Context) GetSkusOutput

type GetVolumeGroupEncryption added in v5.80.0

type GetVolumeGroupEncryption 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 GetVolumeGroupEncryptionArgs added in v5.80.0

type GetVolumeGroupEncryptionArgs struct {
	// The timestamp of the expiration time for the current version of the Customer Managed Key.
	CurrentVersionedKeyExpirationTimestamp pulumi.StringInput `pulumi:"currentVersionedKeyExpirationTimestamp"`
	// The ID of the current versioned Key Vault Key in use.
	CurrentVersionedKeyId pulumi.StringInput `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.StringInput `pulumi:"lastKeyRotationTimestamp"`
	// The ID of the User Assigned Identity used by this Elastic SAN Volume Group.
	UserAssignedIdentityId pulumi.StringInput `pulumi:"userAssignedIdentityId"`
}

func (GetVolumeGroupEncryptionArgs) ElementType added in v5.80.0

func (GetVolumeGroupEncryptionArgs) ToGetVolumeGroupEncryptionOutput added in v5.80.0

func (i GetVolumeGroupEncryptionArgs) ToGetVolumeGroupEncryptionOutput() GetVolumeGroupEncryptionOutput

func (GetVolumeGroupEncryptionArgs) ToGetVolumeGroupEncryptionOutputWithContext added in v5.80.0

func (i GetVolumeGroupEncryptionArgs) ToGetVolumeGroupEncryptionOutputWithContext(ctx context.Context) GetVolumeGroupEncryptionOutput

type GetVolumeGroupEncryptionArray added in v5.80.0

type GetVolumeGroupEncryptionArray []GetVolumeGroupEncryptionInput

func (GetVolumeGroupEncryptionArray) ElementType added in v5.80.0

func (GetVolumeGroupEncryptionArray) ToGetVolumeGroupEncryptionArrayOutput added in v5.80.0

func (i GetVolumeGroupEncryptionArray) ToGetVolumeGroupEncryptionArrayOutput() GetVolumeGroupEncryptionArrayOutput

func (GetVolumeGroupEncryptionArray) ToGetVolumeGroupEncryptionArrayOutputWithContext added in v5.80.0

func (i GetVolumeGroupEncryptionArray) ToGetVolumeGroupEncryptionArrayOutputWithContext(ctx context.Context) GetVolumeGroupEncryptionArrayOutput

type GetVolumeGroupEncryptionArrayInput added in v5.80.0

type GetVolumeGroupEncryptionArrayInput interface {
	pulumi.Input

	ToGetVolumeGroupEncryptionArrayOutput() GetVolumeGroupEncryptionArrayOutput
	ToGetVolumeGroupEncryptionArrayOutputWithContext(context.Context) GetVolumeGroupEncryptionArrayOutput
}

GetVolumeGroupEncryptionArrayInput is an input type that accepts GetVolumeGroupEncryptionArray and GetVolumeGroupEncryptionArrayOutput values. You can construct a concrete instance of `GetVolumeGroupEncryptionArrayInput` via:

GetVolumeGroupEncryptionArray{ GetVolumeGroupEncryptionArgs{...} }

type GetVolumeGroupEncryptionArrayOutput added in v5.80.0

type GetVolumeGroupEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeGroupEncryptionArrayOutput) ElementType added in v5.80.0

func (GetVolumeGroupEncryptionArrayOutput) Index added in v5.80.0

func (GetVolumeGroupEncryptionArrayOutput) ToGetVolumeGroupEncryptionArrayOutput added in v5.80.0

func (o GetVolumeGroupEncryptionArrayOutput) ToGetVolumeGroupEncryptionArrayOutput() GetVolumeGroupEncryptionArrayOutput

func (GetVolumeGroupEncryptionArrayOutput) ToGetVolumeGroupEncryptionArrayOutputWithContext added in v5.80.0

func (o GetVolumeGroupEncryptionArrayOutput) ToGetVolumeGroupEncryptionArrayOutputWithContext(ctx context.Context) GetVolumeGroupEncryptionArrayOutput

type GetVolumeGroupEncryptionInput added in v5.80.0

type GetVolumeGroupEncryptionInput interface {
	pulumi.Input

	ToGetVolumeGroupEncryptionOutput() GetVolumeGroupEncryptionOutput
	ToGetVolumeGroupEncryptionOutputWithContext(context.Context) GetVolumeGroupEncryptionOutput
}

GetVolumeGroupEncryptionInput is an input type that accepts GetVolumeGroupEncryptionArgs and GetVolumeGroupEncryptionOutput values. You can construct a concrete instance of `GetVolumeGroupEncryptionInput` via:

GetVolumeGroupEncryptionArgs{...}

type GetVolumeGroupEncryptionOutput added in v5.80.0

type GetVolumeGroupEncryptionOutput struct{ *pulumi.OutputState }

func (GetVolumeGroupEncryptionOutput) CurrentVersionedKeyExpirationTimestamp added in v5.80.0

func (o GetVolumeGroupEncryptionOutput) CurrentVersionedKeyExpirationTimestamp() pulumi.StringOutput

The timestamp of the expiration time for the current version of the Customer Managed Key.

func (GetVolumeGroupEncryptionOutput) CurrentVersionedKeyId added in v5.80.0

func (o GetVolumeGroupEncryptionOutput) CurrentVersionedKeyId() pulumi.StringOutput

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

func (GetVolumeGroupEncryptionOutput) ElementType added in v5.80.0

func (GetVolumeGroupEncryptionOutput) KeyVaultKeyId added in v5.80.0

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

func (GetVolumeGroupEncryptionOutput) LastKeyRotationTimestamp added in v5.80.0

func (o GetVolumeGroupEncryptionOutput) LastKeyRotationTimestamp() pulumi.StringOutput

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

func (GetVolumeGroupEncryptionOutput) ToGetVolumeGroupEncryptionOutput added in v5.80.0

func (o GetVolumeGroupEncryptionOutput) ToGetVolumeGroupEncryptionOutput() GetVolumeGroupEncryptionOutput

func (GetVolumeGroupEncryptionOutput) ToGetVolumeGroupEncryptionOutputWithContext added in v5.80.0

func (o GetVolumeGroupEncryptionOutput) ToGetVolumeGroupEncryptionOutputWithContext(ctx context.Context) GetVolumeGroupEncryptionOutput

func (GetVolumeGroupEncryptionOutput) UserAssignedIdentityId added in v5.80.0

func (o GetVolumeGroupEncryptionOutput) UserAssignedIdentityId() pulumi.StringOutput

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

type GetVolumeGroupIdentity added in v5.80.0

type GetVolumeGroupIdentity struct {
	// A list of the User Assigned Identity IDs 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"`
	// The type of Managed Identity assigned to this Elastic SAN Volume Group.
	Type string `pulumi:"type"`
}

type GetVolumeGroupIdentityArgs added in v5.80.0

type GetVolumeGroupIdentityArgs struct {
	// A list of the User Assigned Identity IDs 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.StringInput `pulumi:"principalId"`
	// The Tenant ID associated with this Managed Service Identity assigned to this Elastic SAN Volume Group.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The type of Managed Identity assigned to this Elastic SAN Volume Group.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetVolumeGroupIdentityArgs) ElementType added in v5.80.0

func (GetVolumeGroupIdentityArgs) ElementType() reflect.Type

func (GetVolumeGroupIdentityArgs) ToGetVolumeGroupIdentityOutput added in v5.80.0

func (i GetVolumeGroupIdentityArgs) ToGetVolumeGroupIdentityOutput() GetVolumeGroupIdentityOutput

func (GetVolumeGroupIdentityArgs) ToGetVolumeGroupIdentityOutputWithContext added in v5.80.0

func (i GetVolumeGroupIdentityArgs) ToGetVolumeGroupIdentityOutputWithContext(ctx context.Context) GetVolumeGroupIdentityOutput

type GetVolumeGroupIdentityArray added in v5.80.0

type GetVolumeGroupIdentityArray []GetVolumeGroupIdentityInput

func (GetVolumeGroupIdentityArray) ElementType added in v5.80.0

func (GetVolumeGroupIdentityArray) ToGetVolumeGroupIdentityArrayOutput added in v5.80.0

func (i GetVolumeGroupIdentityArray) ToGetVolumeGroupIdentityArrayOutput() GetVolumeGroupIdentityArrayOutput

func (GetVolumeGroupIdentityArray) ToGetVolumeGroupIdentityArrayOutputWithContext added in v5.80.0

func (i GetVolumeGroupIdentityArray) ToGetVolumeGroupIdentityArrayOutputWithContext(ctx context.Context) GetVolumeGroupIdentityArrayOutput

type GetVolumeGroupIdentityArrayInput added in v5.80.0

type GetVolumeGroupIdentityArrayInput interface {
	pulumi.Input

	ToGetVolumeGroupIdentityArrayOutput() GetVolumeGroupIdentityArrayOutput
	ToGetVolumeGroupIdentityArrayOutputWithContext(context.Context) GetVolumeGroupIdentityArrayOutput
}

GetVolumeGroupIdentityArrayInput is an input type that accepts GetVolumeGroupIdentityArray and GetVolumeGroupIdentityArrayOutput values. You can construct a concrete instance of `GetVolumeGroupIdentityArrayInput` via:

GetVolumeGroupIdentityArray{ GetVolumeGroupIdentityArgs{...} }

type GetVolumeGroupIdentityArrayOutput added in v5.80.0

type GetVolumeGroupIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeGroupIdentityArrayOutput) ElementType added in v5.80.0

func (GetVolumeGroupIdentityArrayOutput) Index added in v5.80.0

func (GetVolumeGroupIdentityArrayOutput) ToGetVolumeGroupIdentityArrayOutput added in v5.80.0

func (o GetVolumeGroupIdentityArrayOutput) ToGetVolumeGroupIdentityArrayOutput() GetVolumeGroupIdentityArrayOutput

func (GetVolumeGroupIdentityArrayOutput) ToGetVolumeGroupIdentityArrayOutputWithContext added in v5.80.0

func (o GetVolumeGroupIdentityArrayOutput) ToGetVolumeGroupIdentityArrayOutputWithContext(ctx context.Context) GetVolumeGroupIdentityArrayOutput

type GetVolumeGroupIdentityInput added in v5.80.0

type GetVolumeGroupIdentityInput interface {
	pulumi.Input

	ToGetVolumeGroupIdentityOutput() GetVolumeGroupIdentityOutput
	ToGetVolumeGroupIdentityOutputWithContext(context.Context) GetVolumeGroupIdentityOutput
}

GetVolumeGroupIdentityInput is an input type that accepts GetVolumeGroupIdentityArgs and GetVolumeGroupIdentityOutput values. You can construct a concrete instance of `GetVolumeGroupIdentityInput` via:

GetVolumeGroupIdentityArgs{...}

type GetVolumeGroupIdentityOutput added in v5.80.0

type GetVolumeGroupIdentityOutput struct{ *pulumi.OutputState }

func (GetVolumeGroupIdentityOutput) ElementType added in v5.80.0

func (GetVolumeGroupIdentityOutput) IdentityIds added in v5.80.0

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

func (GetVolumeGroupIdentityOutput) PrincipalId added in v5.80.0

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

func (GetVolumeGroupIdentityOutput) TenantId added in v5.80.0

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

func (GetVolumeGroupIdentityOutput) ToGetVolumeGroupIdentityOutput added in v5.80.0

func (o GetVolumeGroupIdentityOutput) ToGetVolumeGroupIdentityOutput() GetVolumeGroupIdentityOutput

func (GetVolumeGroupIdentityOutput) ToGetVolumeGroupIdentityOutputWithContext added in v5.80.0

func (o GetVolumeGroupIdentityOutput) ToGetVolumeGroupIdentityOutputWithContext(ctx context.Context) GetVolumeGroupIdentityOutput

func (GetVolumeGroupIdentityOutput) Type added in v5.80.0

The type of Managed Identity assigned to this Elastic SAN Volume Group.

type GetVolumeGroupNetworkRule added in v5.80.0

type GetVolumeGroupNetworkRule struct {
	// The action to take when an access attempt to this Elastic SAN Volume Group from this Subnet is made.
	Action string `pulumi:"action"`
	// The ID of the Subnet from which access to this Elastic SAN Volume Group is allowed.
	SubnetId string `pulumi:"subnetId"`
}

type GetVolumeGroupNetworkRuleArgs added in v5.80.0

type GetVolumeGroupNetworkRuleArgs struct {
	// The action to take when an access attempt to this Elastic SAN Volume Group from this Subnet is made.
	Action pulumi.StringInput `pulumi:"action"`
	// The ID of the Subnet from which access to this Elastic SAN Volume Group is allowed.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (GetVolumeGroupNetworkRuleArgs) ElementType added in v5.80.0

func (GetVolumeGroupNetworkRuleArgs) ToGetVolumeGroupNetworkRuleOutput added in v5.80.0

func (i GetVolumeGroupNetworkRuleArgs) ToGetVolumeGroupNetworkRuleOutput() GetVolumeGroupNetworkRuleOutput

func (GetVolumeGroupNetworkRuleArgs) ToGetVolumeGroupNetworkRuleOutputWithContext added in v5.80.0

func (i GetVolumeGroupNetworkRuleArgs) ToGetVolumeGroupNetworkRuleOutputWithContext(ctx context.Context) GetVolumeGroupNetworkRuleOutput

type GetVolumeGroupNetworkRuleArray added in v5.80.0

type GetVolumeGroupNetworkRuleArray []GetVolumeGroupNetworkRuleInput

func (GetVolumeGroupNetworkRuleArray) ElementType added in v5.80.0

func (GetVolumeGroupNetworkRuleArray) ToGetVolumeGroupNetworkRuleArrayOutput added in v5.80.0

func (i GetVolumeGroupNetworkRuleArray) ToGetVolumeGroupNetworkRuleArrayOutput() GetVolumeGroupNetworkRuleArrayOutput

func (GetVolumeGroupNetworkRuleArray) ToGetVolumeGroupNetworkRuleArrayOutputWithContext added in v5.80.0

func (i GetVolumeGroupNetworkRuleArray) ToGetVolumeGroupNetworkRuleArrayOutputWithContext(ctx context.Context) GetVolumeGroupNetworkRuleArrayOutput

type GetVolumeGroupNetworkRuleArrayInput added in v5.80.0

type GetVolumeGroupNetworkRuleArrayInput interface {
	pulumi.Input

	ToGetVolumeGroupNetworkRuleArrayOutput() GetVolumeGroupNetworkRuleArrayOutput
	ToGetVolumeGroupNetworkRuleArrayOutputWithContext(context.Context) GetVolumeGroupNetworkRuleArrayOutput
}

GetVolumeGroupNetworkRuleArrayInput is an input type that accepts GetVolumeGroupNetworkRuleArray and GetVolumeGroupNetworkRuleArrayOutput values. You can construct a concrete instance of `GetVolumeGroupNetworkRuleArrayInput` via:

GetVolumeGroupNetworkRuleArray{ GetVolumeGroupNetworkRuleArgs{...} }

type GetVolumeGroupNetworkRuleArrayOutput added in v5.80.0

type GetVolumeGroupNetworkRuleArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeGroupNetworkRuleArrayOutput) ElementType added in v5.80.0

func (GetVolumeGroupNetworkRuleArrayOutput) Index added in v5.80.0

func (GetVolumeGroupNetworkRuleArrayOutput) ToGetVolumeGroupNetworkRuleArrayOutput added in v5.80.0

func (o GetVolumeGroupNetworkRuleArrayOutput) ToGetVolumeGroupNetworkRuleArrayOutput() GetVolumeGroupNetworkRuleArrayOutput

func (GetVolumeGroupNetworkRuleArrayOutput) ToGetVolumeGroupNetworkRuleArrayOutputWithContext added in v5.80.0

func (o GetVolumeGroupNetworkRuleArrayOutput) ToGetVolumeGroupNetworkRuleArrayOutputWithContext(ctx context.Context) GetVolumeGroupNetworkRuleArrayOutput

type GetVolumeGroupNetworkRuleInput added in v5.80.0

type GetVolumeGroupNetworkRuleInput interface {
	pulumi.Input

	ToGetVolumeGroupNetworkRuleOutput() GetVolumeGroupNetworkRuleOutput
	ToGetVolumeGroupNetworkRuleOutputWithContext(context.Context) GetVolumeGroupNetworkRuleOutput
}

GetVolumeGroupNetworkRuleInput is an input type that accepts GetVolumeGroupNetworkRuleArgs and GetVolumeGroupNetworkRuleOutput values. You can construct a concrete instance of `GetVolumeGroupNetworkRuleInput` via:

GetVolumeGroupNetworkRuleArgs{...}

type GetVolumeGroupNetworkRuleOutput added in v5.80.0

type GetVolumeGroupNetworkRuleOutput struct{ *pulumi.OutputState }

func (GetVolumeGroupNetworkRuleOutput) Action added in v5.80.0

The action to take when an access attempt to this Elastic SAN Volume Group from this Subnet is made.

func (GetVolumeGroupNetworkRuleOutput) ElementType added in v5.80.0

func (GetVolumeGroupNetworkRuleOutput) SubnetId added in v5.80.0

The ID of the Subnet from which access to this Elastic SAN Volume Group is allowed.

func (GetVolumeGroupNetworkRuleOutput) ToGetVolumeGroupNetworkRuleOutput added in v5.80.0

func (o GetVolumeGroupNetworkRuleOutput) ToGetVolumeGroupNetworkRuleOutput() GetVolumeGroupNetworkRuleOutput

func (GetVolumeGroupNetworkRuleOutput) ToGetVolumeGroupNetworkRuleOutputWithContext added in v5.80.0

func (o GetVolumeGroupNetworkRuleOutput) ToGetVolumeGroupNetworkRuleOutputWithContext(ctx context.Context) GetVolumeGroupNetworkRuleOutput

type LookupVolumeGroupArgs added in v5.80.0

type LookupVolumeGroupArgs struct {
	// The Elastic SAN ID within which the Elastic SAN Volume Group exists.
	ElasticSanId string `pulumi:"elasticSanId"`
	// The name of the Elastic SAN Volume Group.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getVolumeGroup.

type LookupVolumeGroupOutputArgs added in v5.80.0

type LookupVolumeGroupOutputArgs struct {
	// The Elastic SAN ID within which the Elastic SAN Volume Group exists.
	ElasticSanId pulumi.StringInput `pulumi:"elasticSanId"`
	// The name of the Elastic SAN Volume Group.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getVolumeGroup.

func (LookupVolumeGroupOutputArgs) ElementType added in v5.80.0

type LookupVolumeGroupResult added in v5.80.0

type LookupVolumeGroupResult struct {
	ElasticSanId string `pulumi:"elasticSanId"`
	// The type of the key used to encrypt the data of the disk.
	EncryptionType string `pulumi:"encryptionType"`
	// An `encryption` block as defined below.
	Encryptions []GetVolumeGroupEncryption `pulumi:"encryptions"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An `identity` block as defined below.
	Identities []GetVolumeGroupIdentity `pulumi:"identities"`
	Name       string                   `pulumi:"name"`
	// One or more `networkRule` blocks as defined below.
	NetworkRules []GetVolumeGroupNetworkRule `pulumi:"networkRules"`
	// The type of the storage target.
	ProtocolType string `pulumi:"protocolType"`
}

A collection of values returned by getVolumeGroup.

func LookupVolumeGroup added in v5.80.0

func LookupVolumeGroup(ctx *pulumi.Context, args *LookupVolumeGroupArgs, opts ...pulumi.InvokeOption) (*LookupVolumeGroupResult, error)

Use this data source to access information about an existing Elastic SAN Volume Group.

## Example Usage

```go package main

import (

"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 {
		example, err := elasticsan.Get(ctx, &elasticsan.GetArgs{
			Name:              "existing",
			ResourceGroupName: "existing",
		}, nil)
		if err != nil {
			return err
		}
		exampleGetVolumeGroup, err := elasticsan.LookupVolumeGroup(ctx, &elasticsan.LookupVolumeGroupArgs{
			Name:         "existing",
			ElasticSanId: example.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", exampleGetVolumeGroup.Id)
		return nil
	})
}

```

type LookupVolumeGroupResultOutput added in v5.80.0

type LookupVolumeGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVolumeGroup.

func LookupVolumeGroupOutput added in v5.80.0

func (LookupVolumeGroupResultOutput) ElasticSanId added in v5.80.0

func (LookupVolumeGroupResultOutput) ElementType added in v5.80.0

func (LookupVolumeGroupResultOutput) EncryptionType added in v5.80.0

The type of the key used to encrypt the data of the disk.

func (LookupVolumeGroupResultOutput) Encryptions added in v5.80.0

An `encryption` block as defined below.

func (LookupVolumeGroupResultOutput) Id added in v5.80.0

The provider-assigned unique ID for this managed resource.

func (LookupVolumeGroupResultOutput) Identities added in v5.80.0

An `identity` block as defined below.

func (LookupVolumeGroupResultOutput) Name added in v5.80.0

func (LookupVolumeGroupResultOutput) NetworkRules added in v5.80.0

One or more `networkRule` blocks as defined below.

func (LookupVolumeGroupResultOutput) ProtocolType added in v5.80.0

The type of the storage target.

func (LookupVolumeGroupResultOutput) ToLookupVolumeGroupResultOutput added in v5.80.0

func (o LookupVolumeGroupResultOutput) ToLookupVolumeGroupResultOutput() LookupVolumeGroupResultOutput

func (LookupVolumeGroupResultOutput) ToLookupVolumeGroupResultOutputWithContext added in v5.80.0

func (o LookupVolumeGroupResultOutput) ToLookupVolumeGroupResultOutputWithContext(ctx context.Context) LookupVolumeGroupResultOutput

type Volume added in v5.70.0

type Volume struct {
	pulumi.CustomResourceState

	// A `createSource` block as defined below.
	CreateSource VolumeCreateSourcePtrOutput `pulumi:"createSource"`
	// Specifies the name of this Elastic SAN Volume. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
	//
	// > **NOTE:** The size can only be increased. If `createSource` is specified, then the size must be equal to or greater than the source's size.
	SizeInGib pulumi.IntOutput `pulumi:"sizeInGib"`
	// The iSCSI Target IQN of the Elastic SAN Volume.
	TargetIqn pulumi.StringOutput `pulumi:"targetIqn"`
	// The iSCSI Target Portal Host Name of the Elastic SAN Volume.
	TargetPortalHostname pulumi.StringOutput `pulumi:"targetPortalHostname"`
	// The iSCSI Target Portal Port of the Elastic SAN Volume.
	TargetPortalPort pulumi.IntOutput `pulumi:"targetPortalPort"`
	// Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
	VolumeGroupId pulumi.StringOutput `pulumi:"volumeGroupId"`
	// The UUID of the Elastic SAN Volume.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
}

Manages an Elastic SAN Volume 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 {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleElasticSan, err := elasticsan.NewElasticSan(ctx, "example", &elasticsan.ElasticSanArgs{
			Name:              pulumi.String("example-es"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			BaseSizeInTib:     pulumi.Int(1),
			Sku: &elasticsan.ElasticSanSkuArgs{
				Name: pulumi.String("Premium_LRS"),
			},
		})
		if err != nil {
			return err
		}
		exampleVolumeGroup, err := elasticsan.NewVolumeGroup(ctx, "example", &elasticsan.VolumeGroupArgs{
			Name:         pulumi.String("example-esvg"),
			ElasticSanId: exampleElasticSan.ID(),
		})
		if err != nil {
			return err
		}
		exampleVolume, err := elasticsan.NewVolume(ctx, "example", &elasticsan.VolumeArgs{
			Name:          pulumi.String("example-esv"),
			VolumeGroupId: exampleVolumeGroup.ID(),
			SizeInGib:     pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		ctx.Export("targetIqn", exampleVolume.TargetIqn)
		return nil
	})
}

```

## Example of creating an Elastic SAN Volume from a Disk Snapshot

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"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 {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleElasticSan, err := elasticsan.NewElasticSan(ctx, "example", &elasticsan.ElasticSanArgs{
			Name:              pulumi.String("example-es"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			BaseSizeInTib:     pulumi.Int(1),
			Sku: &elasticsan.ElasticSanSkuArgs{
				Name: pulumi.String("Premium_LRS"),
			},
		})
		if err != nil {
			return err
		}
		exampleVolumeGroup, err := elasticsan.NewVolumeGroup(ctx, "example", &elasticsan.VolumeGroupArgs{
			Name:         pulumi.String("example-esvg"),
			ElasticSanId: exampleElasticSan.ID(),
		})
		if err != nil {
			return err
		}
		exampleManagedDisk, err := compute.NewManagedDisk(ctx, "example", &compute.ManagedDiskArgs{
			Name:               pulumi.String("example-disk"),
			Location:           example.Location,
			ResourceGroupName:  example.Name,
			CreateOption:       pulumi.String("Empty"),
			StorageAccountType: pulumi.String("Standard_LRS"),
			DiskSizeGb:         pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		exampleSnapshot, err := compute.NewSnapshot(ctx, "example", &compute.SnapshotArgs{
			Name:              pulumi.String("example-ss"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			CreateOption:      pulumi.String("Copy"),
			SourceUri:         exampleManagedDisk.ID(),
		})
		if err != nil {
			return err
		}
		_, err = elasticsan.NewVolume(ctx, "example2", &elasticsan.VolumeArgs{
			Name:          pulumi.String("example-esv2"),
			VolumeGroupId: exampleVolumeGroup.ID(),
			SizeInGib:     pulumi.Int(2),
			CreateSource: &elasticsan.VolumeCreateSourceArgs{
				SourceType: pulumi.String("DiskSnapshot"),
				SourceId:   exampleSnapshot.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:elasticsan/volume:Volume example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ElasticSan/elasticSans/esan1/volumeGroups/vg1/volumes/vol1 ```

func GetVolume added in v5.70.0

func GetVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeState, opts ...pulumi.ResourceOption) (*Volume, error)

GetVolume gets an existing Volume 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 NewVolume added in v5.70.0

func NewVolume(ctx *pulumi.Context,
	name string, args *VolumeArgs, opts ...pulumi.ResourceOption) (*Volume, error)

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

func (*Volume) ElementType added in v5.70.0

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput added in v5.70.0

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext added in v5.70.0

func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

type VolumeArgs added in v5.70.0

type VolumeArgs struct {
	// A `createSource` block as defined below.
	CreateSource VolumeCreateSourcePtrInput
	// Specifies the name of this Elastic SAN Volume. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
	//
	// > **NOTE:** The size can only be increased. If `createSource` is specified, then the size must be equal to or greater than the source's size.
	SizeInGib pulumi.IntInput
	// Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
	VolumeGroupId pulumi.StringInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType added in v5.70.0

func (VolumeArgs) ElementType() reflect.Type

type VolumeArray added in v5.70.0

type VolumeArray []VolumeInput

func (VolumeArray) ElementType added in v5.70.0

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput added in v5.70.0

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext added in v5.70.0

func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeArrayInput added in v5.70.0

type VolumeArrayInput interface {
	pulumi.Input

	ToVolumeArrayOutput() VolumeArrayOutput
	ToVolumeArrayOutputWithContext(context.Context) VolumeArrayOutput
}

VolumeArrayInput is an input type that accepts VolumeArray and VolumeArrayOutput values. You can construct a concrete instance of `VolumeArrayInput` via:

VolumeArray{ VolumeArgs{...} }

type VolumeArrayOutput added in v5.70.0

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType added in v5.70.0

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index added in v5.70.0

func (VolumeArrayOutput) ToVolumeArrayOutput added in v5.70.0

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext added in v5.70.0

func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeCreateSource added in v5.70.0

type VolumeCreateSource struct {
	// Specifies the ID of the source to create the Elastic SAN Volume from. Changing this forces a new resource to be created.
	SourceId string `pulumi:"sourceId"`
	// Specifies the type of the source to create the Elastic SAN Volume from. Possible values are `Disk`, `DiskRestorePoint`, `DiskSnapshot` and `VolumeSnapshot`. Changing this forces a new resource to be created.
	SourceType string `pulumi:"sourceType"`
}

type VolumeCreateSourceArgs added in v5.70.0

type VolumeCreateSourceArgs struct {
	// Specifies the ID of the source to create the Elastic SAN Volume from. Changing this forces a new resource to be created.
	SourceId pulumi.StringInput `pulumi:"sourceId"`
	// Specifies the type of the source to create the Elastic SAN Volume from. Possible values are `Disk`, `DiskRestorePoint`, `DiskSnapshot` and `VolumeSnapshot`. Changing this forces a new resource to be created.
	SourceType pulumi.StringInput `pulumi:"sourceType"`
}

func (VolumeCreateSourceArgs) ElementType added in v5.70.0

func (VolumeCreateSourceArgs) ElementType() reflect.Type

func (VolumeCreateSourceArgs) ToVolumeCreateSourceOutput added in v5.70.0

func (i VolumeCreateSourceArgs) ToVolumeCreateSourceOutput() VolumeCreateSourceOutput

func (VolumeCreateSourceArgs) ToVolumeCreateSourceOutputWithContext added in v5.70.0

func (i VolumeCreateSourceArgs) ToVolumeCreateSourceOutputWithContext(ctx context.Context) VolumeCreateSourceOutput

func (VolumeCreateSourceArgs) ToVolumeCreateSourcePtrOutput added in v5.70.0

func (i VolumeCreateSourceArgs) ToVolumeCreateSourcePtrOutput() VolumeCreateSourcePtrOutput

func (VolumeCreateSourceArgs) ToVolumeCreateSourcePtrOutputWithContext added in v5.70.0

func (i VolumeCreateSourceArgs) ToVolumeCreateSourcePtrOutputWithContext(ctx context.Context) VolumeCreateSourcePtrOutput

type VolumeCreateSourceInput added in v5.70.0

type VolumeCreateSourceInput interface {
	pulumi.Input

	ToVolumeCreateSourceOutput() VolumeCreateSourceOutput
	ToVolumeCreateSourceOutputWithContext(context.Context) VolumeCreateSourceOutput
}

VolumeCreateSourceInput is an input type that accepts VolumeCreateSourceArgs and VolumeCreateSourceOutput values. You can construct a concrete instance of `VolumeCreateSourceInput` via:

VolumeCreateSourceArgs{...}

type VolumeCreateSourceOutput added in v5.70.0

type VolumeCreateSourceOutput struct{ *pulumi.OutputState }

func (VolumeCreateSourceOutput) ElementType added in v5.70.0

func (VolumeCreateSourceOutput) ElementType() reflect.Type

func (VolumeCreateSourceOutput) SourceId added in v5.70.0

Specifies the ID of the source to create the Elastic SAN Volume from. Changing this forces a new resource to be created.

func (VolumeCreateSourceOutput) SourceType added in v5.70.0

Specifies the type of the source to create the Elastic SAN Volume from. Possible values are `Disk`, `DiskRestorePoint`, `DiskSnapshot` and `VolumeSnapshot`. Changing this forces a new resource to be created.

func (VolumeCreateSourceOutput) ToVolumeCreateSourceOutput added in v5.70.0

func (o VolumeCreateSourceOutput) ToVolumeCreateSourceOutput() VolumeCreateSourceOutput

func (VolumeCreateSourceOutput) ToVolumeCreateSourceOutputWithContext added in v5.70.0

func (o VolumeCreateSourceOutput) ToVolumeCreateSourceOutputWithContext(ctx context.Context) VolumeCreateSourceOutput

func (VolumeCreateSourceOutput) ToVolumeCreateSourcePtrOutput added in v5.70.0

func (o VolumeCreateSourceOutput) ToVolumeCreateSourcePtrOutput() VolumeCreateSourcePtrOutput

func (VolumeCreateSourceOutput) ToVolumeCreateSourcePtrOutputWithContext added in v5.70.0

func (o VolumeCreateSourceOutput) ToVolumeCreateSourcePtrOutputWithContext(ctx context.Context) VolumeCreateSourcePtrOutput

type VolumeCreateSourcePtrInput added in v5.70.0

type VolumeCreateSourcePtrInput interface {
	pulumi.Input

	ToVolumeCreateSourcePtrOutput() VolumeCreateSourcePtrOutput
	ToVolumeCreateSourcePtrOutputWithContext(context.Context) VolumeCreateSourcePtrOutput
}

VolumeCreateSourcePtrInput is an input type that accepts VolumeCreateSourceArgs, VolumeCreateSourcePtr and VolumeCreateSourcePtrOutput values. You can construct a concrete instance of `VolumeCreateSourcePtrInput` via:

        VolumeCreateSourceArgs{...}

or:

        nil

func VolumeCreateSourcePtr added in v5.70.0

func VolumeCreateSourcePtr(v *VolumeCreateSourceArgs) VolumeCreateSourcePtrInput

type VolumeCreateSourcePtrOutput added in v5.70.0

type VolumeCreateSourcePtrOutput struct{ *pulumi.OutputState }

func (VolumeCreateSourcePtrOutput) Elem added in v5.70.0

func (VolumeCreateSourcePtrOutput) ElementType added in v5.70.0

func (VolumeCreateSourcePtrOutput) SourceId added in v5.70.0

Specifies the ID of the source to create the Elastic SAN Volume from. Changing this forces a new resource to be created.

func (VolumeCreateSourcePtrOutput) SourceType added in v5.70.0

Specifies the type of the source to create the Elastic SAN Volume from. Possible values are `Disk`, `DiskRestorePoint`, `DiskSnapshot` and `VolumeSnapshot`. Changing this forces a new resource to be created.

func (VolumeCreateSourcePtrOutput) ToVolumeCreateSourcePtrOutput added in v5.70.0

func (o VolumeCreateSourcePtrOutput) ToVolumeCreateSourcePtrOutput() VolumeCreateSourcePtrOutput

func (VolumeCreateSourcePtrOutput) ToVolumeCreateSourcePtrOutputWithContext added in v5.70.0

func (o VolumeCreateSourcePtrOutput) ToVolumeCreateSourcePtrOutputWithContext(ctx context.Context) VolumeCreateSourcePtrOutput

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 {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleElasticSan, err := elasticsan.NewElasticSan(ctx, "example", &elasticsan.ElasticSanArgs{
			Name:              pulumi.String("examplees-es"),
			ResourceGroupName: example.Name,
			Location:          example.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, "example", &authorization.UserAssignedIdentityArgs{
			Name:              pulumi.String("example-uai"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name: pulumi.String("example-vnet"),
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example-subnet"),
			ResourceGroupName:  example.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, "example", &keyvault.KeyVaultArgs{
			Name:                     pulumi.String("examplekv"),
			Location:                 example.Location,
			ResourceGroupName:        example.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, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("example-kvk"),
			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, "example", &elasticsan.VolumeGroupArgs{
			Name:           pulumi.String("example-esvg"),
			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

type VolumeInput added in v5.70.0

type VolumeInput interface {
	pulumi.Input

	ToVolumeOutput() VolumeOutput
	ToVolumeOutputWithContext(ctx context.Context) VolumeOutput
}

type VolumeMap added in v5.70.0

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType added in v5.70.0

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput added in v5.70.0

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext added in v5.70.0

func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeMapInput added in v5.70.0

type VolumeMapInput interface {
	pulumi.Input

	ToVolumeMapOutput() VolumeMapOutput
	ToVolumeMapOutputWithContext(context.Context) VolumeMapOutput
}

VolumeMapInput is an input type that accepts VolumeMap and VolumeMapOutput values. You can construct a concrete instance of `VolumeMapInput` via:

VolumeMap{ "key": VolumeArgs{...} }

type VolumeMapOutput added in v5.70.0

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType added in v5.70.0

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex added in v5.70.0

func (VolumeMapOutput) ToVolumeMapOutput added in v5.70.0

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext added in v5.70.0

func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeOutput added in v5.70.0

type VolumeOutput struct{ *pulumi.OutputState }

func (VolumeOutput) CreateSource added in v5.70.0

func (o VolumeOutput) CreateSource() VolumeCreateSourcePtrOutput

A `createSource` block as defined below.

func (VolumeOutput) ElementType added in v5.70.0

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) Name added in v5.70.0

func (o VolumeOutput) Name() pulumi.StringOutput

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

func (VolumeOutput) SizeInGib added in v5.70.0

func (o VolumeOutput) SizeInGib() pulumi.IntOutput

Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).

> **NOTE:** The size can only be increased. If `createSource` is specified, then the size must be equal to or greater than the source's size.

func (VolumeOutput) TargetIqn added in v5.70.0

func (o VolumeOutput) TargetIqn() pulumi.StringOutput

The iSCSI Target IQN of the Elastic SAN Volume.

func (VolumeOutput) TargetPortalHostname added in v5.70.0

func (o VolumeOutput) TargetPortalHostname() pulumi.StringOutput

The iSCSI Target Portal Host Name of the Elastic SAN Volume.

func (VolumeOutput) TargetPortalPort added in v5.70.0

func (o VolumeOutput) TargetPortalPort() pulumi.IntOutput

The iSCSI Target Portal Port of the Elastic SAN Volume.

func (VolumeOutput) ToVolumeOutput added in v5.70.0

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext added in v5.70.0

func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (VolumeOutput) VolumeGroupId added in v5.70.0

func (o VolumeOutput) VolumeGroupId() pulumi.StringOutput

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

func (VolumeOutput) VolumeId added in v5.70.0

func (o VolumeOutput) VolumeId() pulumi.StringOutput

The UUID of the Elastic SAN Volume.

type VolumeState added in v5.70.0

type VolumeState struct {
	// A `createSource` block as defined below.
	CreateSource VolumeCreateSourcePtrInput
	// Specifies the name of this Elastic SAN Volume. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
	//
	// > **NOTE:** The size can only be increased. If `createSource` is specified, then the size must be equal to or greater than the source's size.
	SizeInGib pulumi.IntPtrInput
	// The iSCSI Target IQN of the Elastic SAN Volume.
	TargetIqn pulumi.StringPtrInput
	// The iSCSI Target Portal Host Name of the Elastic SAN Volume.
	TargetPortalHostname pulumi.StringPtrInput
	// The iSCSI Target Portal Port of the Elastic SAN Volume.
	TargetPortalPort pulumi.IntPtrInput
	// Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
	VolumeGroupId pulumi.StringPtrInput
	// The UUID of the Elastic SAN Volume.
	VolumeId pulumi.StringPtrInput
}

func (VolumeState) ElementType added in v5.70.0

func (VolumeState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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