storagegateway

package
v4.12.0 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2021 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 Cache

type Cache struct {
	pulumi.CustomResourceState

	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringOutput `pulumi:"diskId"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
}

Manages an AWS Storage Gateway cache.

> **NOTE:** The Storage Gateway API provides no method to remove a cache disk. Destroying this resource does not perform any Storage Gateway actions.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewCache(ctx, "example", &storagegateway.CacheArgs{
			DiskId:     pulumi.Any(data.Aws_storagegateway_local_disk.Example.Id),
			GatewayArn: pulumi.Any(aws_storagegateway_gateway.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_cache` can be imported by using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`), e.g.

```sh

$ pulumi import aws:storagegateway/cache:Cache example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0

```

func GetCache

func GetCache(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CacheState, opts ...pulumi.ResourceOption) (*Cache, error)

GetCache gets an existing Cache 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 NewCache

func NewCache(ctx *pulumi.Context,
	name string, args *CacheArgs, opts ...pulumi.ResourceOption) (*Cache, error)

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

func (*Cache) ElementType

func (*Cache) ElementType() reflect.Type

func (*Cache) ToCacheOutput

func (i *Cache) ToCacheOutput() CacheOutput

func (*Cache) ToCacheOutputWithContext

func (i *Cache) ToCacheOutputWithContext(ctx context.Context) CacheOutput

func (*Cache) ToCachePtrOutput

func (i *Cache) ToCachePtrOutput() CachePtrOutput

func (*Cache) ToCachePtrOutputWithContext

func (i *Cache) ToCachePtrOutputWithContext(ctx context.Context) CachePtrOutput

type CacheArgs

type CacheArgs struct {
	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringInput
}

The set of arguments for constructing a Cache resource.

func (CacheArgs) ElementType

func (CacheArgs) ElementType() reflect.Type

type CacheArray

type CacheArray []CacheInput

func (CacheArray) ElementType

func (CacheArray) ElementType() reflect.Type

func (CacheArray) ToCacheArrayOutput

func (i CacheArray) ToCacheArrayOutput() CacheArrayOutput

func (CacheArray) ToCacheArrayOutputWithContext

func (i CacheArray) ToCacheArrayOutputWithContext(ctx context.Context) CacheArrayOutput

type CacheArrayInput

type CacheArrayInput interface {
	pulumi.Input

	ToCacheArrayOutput() CacheArrayOutput
	ToCacheArrayOutputWithContext(context.Context) CacheArrayOutput
}

CacheArrayInput is an input type that accepts CacheArray and CacheArrayOutput values. You can construct a concrete instance of `CacheArrayInput` via:

CacheArray{ CacheArgs{...} }

type CacheArrayOutput

type CacheArrayOutput struct{ *pulumi.OutputState }

func (CacheArrayOutput) ElementType

func (CacheArrayOutput) ElementType() reflect.Type

func (CacheArrayOutput) Index

func (CacheArrayOutput) ToCacheArrayOutput

func (o CacheArrayOutput) ToCacheArrayOutput() CacheArrayOutput

func (CacheArrayOutput) ToCacheArrayOutputWithContext

func (o CacheArrayOutput) ToCacheArrayOutputWithContext(ctx context.Context) CacheArrayOutput

type CacheInput

type CacheInput interface {
	pulumi.Input

	ToCacheOutput() CacheOutput
	ToCacheOutputWithContext(ctx context.Context) CacheOutput
}

type CacheMap

type CacheMap map[string]CacheInput

func (CacheMap) ElementType

func (CacheMap) ElementType() reflect.Type

func (CacheMap) ToCacheMapOutput

func (i CacheMap) ToCacheMapOutput() CacheMapOutput

func (CacheMap) ToCacheMapOutputWithContext

func (i CacheMap) ToCacheMapOutputWithContext(ctx context.Context) CacheMapOutput

type CacheMapInput

type CacheMapInput interface {
	pulumi.Input

	ToCacheMapOutput() CacheMapOutput
	ToCacheMapOutputWithContext(context.Context) CacheMapOutput
}

CacheMapInput is an input type that accepts CacheMap and CacheMapOutput values. You can construct a concrete instance of `CacheMapInput` via:

CacheMap{ "key": CacheArgs{...} }

type CacheMapOutput

type CacheMapOutput struct{ *pulumi.OutputState }

func (CacheMapOutput) ElementType

func (CacheMapOutput) ElementType() reflect.Type

func (CacheMapOutput) MapIndex

func (CacheMapOutput) ToCacheMapOutput

func (o CacheMapOutput) ToCacheMapOutput() CacheMapOutput

func (CacheMapOutput) ToCacheMapOutputWithContext

func (o CacheMapOutput) ToCacheMapOutputWithContext(ctx context.Context) CacheMapOutput

type CacheOutput

type CacheOutput struct {
	*pulumi.OutputState
}

func (CacheOutput) ElementType

func (CacheOutput) ElementType() reflect.Type

func (CacheOutput) ToCacheOutput

func (o CacheOutput) ToCacheOutput() CacheOutput

func (CacheOutput) ToCacheOutputWithContext

func (o CacheOutput) ToCacheOutputWithContext(ctx context.Context) CacheOutput

func (CacheOutput) ToCachePtrOutput

func (o CacheOutput) ToCachePtrOutput() CachePtrOutput

func (CacheOutput) ToCachePtrOutputWithContext

func (o CacheOutput) ToCachePtrOutputWithContext(ctx context.Context) CachePtrOutput

type CachePtrInput

type CachePtrInput interface {
	pulumi.Input

	ToCachePtrOutput() CachePtrOutput
	ToCachePtrOutputWithContext(ctx context.Context) CachePtrOutput
}

type CachePtrOutput

type CachePtrOutput struct {
	*pulumi.OutputState
}

func (CachePtrOutput) ElementType

func (CachePtrOutput) ElementType() reflect.Type

func (CachePtrOutput) ToCachePtrOutput

func (o CachePtrOutput) ToCachePtrOutput() CachePtrOutput

func (CachePtrOutput) ToCachePtrOutputWithContext

func (o CachePtrOutput) ToCachePtrOutputWithContext(ctx context.Context) CachePtrOutput

type CacheState

type CacheState struct {
	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringPtrInput
}

func (CacheState) ElementType

func (CacheState) ElementType() reflect.Type

type CachesIscsiVolume

type CachesIscsiVolume struct {
	pulumi.CustomResourceState

	// Volume Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether mutual CHAP is enabled for the iSCSI target.
	ChapEnabled pulumi.BoolOutput `pulumi:"chapEnabled"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
	// Set to `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3.
	KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"`
	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. Is required when `kmsEncrypted` is set.
	KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"`
	// Logical disk number.
	LunNumber pulumi.IntOutput `pulumi:"lunNumber"`
	// The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
	NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"`
	// The port used to communicate with iSCSI targets.
	NetworkInterfacePort pulumi.IntOutput `pulumi:"networkInterfacePort"`
	// The snapshot ID of the snapshot to restore as the new cached volume. e.g. `snap-1122aabb`.
	SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"`
	// The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The `volumeSizeInBytes` value for this new volume must be equal to or larger than the size of the existing volume, in bytes.
	SourceVolumeArn pulumi.StringPtrOutput `pulumi:"sourceVolumeArn"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Target Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
	TargetArn pulumi.StringOutput `pulumi:"targetArn"`
	// The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
	TargetName pulumi.StringOutput `pulumi:"targetName"`
	// Volume Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
	VolumeArn pulumi.StringOutput `pulumi:"volumeArn"`
	// Volume ID, e.g. `vol-12345678`.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
	// The size of the volume in bytes.
	VolumeSizeInBytes pulumi.IntOutput `pulumi:"volumeSizeInBytes"`
}

Manages an AWS Storage Gateway cached iSCSI volume.

> **NOTE:** The gateway must have cache added (e.g. via the `storagegateway.Cache` resource) before creating volumes otherwise the Storage Gateway API will return an error.

> **NOTE:** The gateway must have an upload buffer added (e.g. via the `storagegateway.UploadBuffer` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `UPLOAD BUFFER NOT CONFIGURED`.

## Example Usage

> **NOTE:** These examples are referencing the `storagegateway.Cache` resource `gatewayArn` attribute to ensure this provider properly adds cache before creating the volume. If you are not using this method, you may need to declare an expicit dependency (e.g. via `dependsOn = [aws_storagegateway_cache.example]`) to ensure proper ordering. ### Create Empty Cached iSCSI Volume

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewCachesIscsiVolume(ctx, "example", &storagegateway.CachesIscsiVolumeArgs{
			GatewayArn:         pulumi.Any(aws_storagegateway_cache.Example.Gateway_arn),
			NetworkInterfaceId: pulumi.Any(aws_instance.Example.Private_ip),
			TargetName:         pulumi.String("example"),
			VolumeSizeInBytes:  pulumi.Int(5368709120),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create Cached iSCSI Volume From Snapshot

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewCachesIscsiVolume(ctx, "example", &storagegateway.CachesIscsiVolumeArgs{
			GatewayArn:         pulumi.Any(aws_storagegateway_cache.Example.Gateway_arn),
			NetworkInterfaceId: pulumi.Any(aws_instance.Example.Private_ip),
			SnapshotId:         pulumi.Any(aws_ebs_snapshot.Example.Id),
			TargetName:         pulumi.String("example"),
			VolumeSizeInBytes:  pulumi.Int(aws_ebs_snapshot.Example.Volume_size * 1024 * 1024 * 1024),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create Cached iSCSI Volume From Source Volume

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewCachesIscsiVolume(ctx, "example", &storagegateway.CachesIscsiVolumeArgs{
			GatewayArn:         pulumi.Any(aws_storagegateway_cache.Example.Gateway_arn),
			NetworkInterfaceId: pulumi.Any(aws_instance.Example.Private_ip),
			SourceVolumeArn:    pulumi.Any(aws_storagegateway_cached_iscsi_volume.Existing.Arn),
			TargetName:         pulumi.String("example"),
			VolumeSizeInBytes:  pulumi.Any(aws_storagegateway_cached_iscsi_volume.Existing.Volume_size_in_bytes),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_cached_iscsi_volume` can be imported by using the volume Amazon Resource Name (ARN), e.g.

```sh

$ pulumi import aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678

```

func GetCachesIscsiVolume

func GetCachesIscsiVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CachesIscsiVolumeState, opts ...pulumi.ResourceOption) (*CachesIscsiVolume, error)

GetCachesIscsiVolume gets an existing CachesIscsiVolume 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 NewCachesIscsiVolume

func NewCachesIscsiVolume(ctx *pulumi.Context,
	name string, args *CachesIscsiVolumeArgs, opts ...pulumi.ResourceOption) (*CachesIscsiVolume, error)

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

func (*CachesIscsiVolume) ElementType

func (*CachesIscsiVolume) ElementType() reflect.Type

func (*CachesIscsiVolume) ToCachesIscsiVolumeOutput

func (i *CachesIscsiVolume) ToCachesIscsiVolumeOutput() CachesIscsiVolumeOutput

func (*CachesIscsiVolume) ToCachesIscsiVolumeOutputWithContext

func (i *CachesIscsiVolume) ToCachesIscsiVolumeOutputWithContext(ctx context.Context) CachesIscsiVolumeOutput

func (*CachesIscsiVolume) ToCachesIscsiVolumePtrOutput

func (i *CachesIscsiVolume) ToCachesIscsiVolumePtrOutput() CachesIscsiVolumePtrOutput

func (*CachesIscsiVolume) ToCachesIscsiVolumePtrOutputWithContext

func (i *CachesIscsiVolume) ToCachesIscsiVolumePtrOutputWithContext(ctx context.Context) CachesIscsiVolumePtrOutput

type CachesIscsiVolumeArgs

type CachesIscsiVolumeArgs struct {
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringInput
	// Set to `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3.
	KmsEncrypted pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. Is required when `kmsEncrypted` is set.
	KmsKey pulumi.StringPtrInput
	// The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
	NetworkInterfaceId pulumi.StringInput
	// The snapshot ID of the snapshot to restore as the new cached volume. e.g. `snap-1122aabb`.
	SnapshotId pulumi.StringPtrInput
	// The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The `volumeSizeInBytes` value for this new volume must be equal to or larger than the size of the existing volume, in bytes.
	SourceVolumeArn pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
	TargetName pulumi.StringInput
	// The size of the volume in bytes.
	VolumeSizeInBytes pulumi.IntInput
}

The set of arguments for constructing a CachesIscsiVolume resource.

func (CachesIscsiVolumeArgs) ElementType

func (CachesIscsiVolumeArgs) ElementType() reflect.Type

type CachesIscsiVolumeArray

type CachesIscsiVolumeArray []CachesIscsiVolumeInput

func (CachesIscsiVolumeArray) ElementType

func (CachesIscsiVolumeArray) ElementType() reflect.Type

func (CachesIscsiVolumeArray) ToCachesIscsiVolumeArrayOutput

func (i CachesIscsiVolumeArray) ToCachesIscsiVolumeArrayOutput() CachesIscsiVolumeArrayOutput

func (CachesIscsiVolumeArray) ToCachesIscsiVolumeArrayOutputWithContext

func (i CachesIscsiVolumeArray) ToCachesIscsiVolumeArrayOutputWithContext(ctx context.Context) CachesIscsiVolumeArrayOutput

type CachesIscsiVolumeArrayInput

type CachesIscsiVolumeArrayInput interface {
	pulumi.Input

	ToCachesIscsiVolumeArrayOutput() CachesIscsiVolumeArrayOutput
	ToCachesIscsiVolumeArrayOutputWithContext(context.Context) CachesIscsiVolumeArrayOutput
}

CachesIscsiVolumeArrayInput is an input type that accepts CachesIscsiVolumeArray and CachesIscsiVolumeArrayOutput values. You can construct a concrete instance of `CachesIscsiVolumeArrayInput` via:

CachesIscsiVolumeArray{ CachesIscsiVolumeArgs{...} }

type CachesIscsiVolumeArrayOutput

type CachesIscsiVolumeArrayOutput struct{ *pulumi.OutputState }

func (CachesIscsiVolumeArrayOutput) ElementType

func (CachesIscsiVolumeArrayOutput) Index

func (CachesIscsiVolumeArrayOutput) ToCachesIscsiVolumeArrayOutput

func (o CachesIscsiVolumeArrayOutput) ToCachesIscsiVolumeArrayOutput() CachesIscsiVolumeArrayOutput

func (CachesIscsiVolumeArrayOutput) ToCachesIscsiVolumeArrayOutputWithContext

func (o CachesIscsiVolumeArrayOutput) ToCachesIscsiVolumeArrayOutputWithContext(ctx context.Context) CachesIscsiVolumeArrayOutput

type CachesIscsiVolumeInput

type CachesIscsiVolumeInput interface {
	pulumi.Input

	ToCachesIscsiVolumeOutput() CachesIscsiVolumeOutput
	ToCachesIscsiVolumeOutputWithContext(ctx context.Context) CachesIscsiVolumeOutput
}

type CachesIscsiVolumeMap

type CachesIscsiVolumeMap map[string]CachesIscsiVolumeInput

func (CachesIscsiVolumeMap) ElementType

func (CachesIscsiVolumeMap) ElementType() reflect.Type

func (CachesIscsiVolumeMap) ToCachesIscsiVolumeMapOutput

func (i CachesIscsiVolumeMap) ToCachesIscsiVolumeMapOutput() CachesIscsiVolumeMapOutput

func (CachesIscsiVolumeMap) ToCachesIscsiVolumeMapOutputWithContext

func (i CachesIscsiVolumeMap) ToCachesIscsiVolumeMapOutputWithContext(ctx context.Context) CachesIscsiVolumeMapOutput

type CachesIscsiVolumeMapInput

type CachesIscsiVolumeMapInput interface {
	pulumi.Input

	ToCachesIscsiVolumeMapOutput() CachesIscsiVolumeMapOutput
	ToCachesIscsiVolumeMapOutputWithContext(context.Context) CachesIscsiVolumeMapOutput
}

CachesIscsiVolumeMapInput is an input type that accepts CachesIscsiVolumeMap and CachesIscsiVolumeMapOutput values. You can construct a concrete instance of `CachesIscsiVolumeMapInput` via:

CachesIscsiVolumeMap{ "key": CachesIscsiVolumeArgs{...} }

type CachesIscsiVolumeMapOutput

type CachesIscsiVolumeMapOutput struct{ *pulumi.OutputState }

func (CachesIscsiVolumeMapOutput) ElementType

func (CachesIscsiVolumeMapOutput) ElementType() reflect.Type

func (CachesIscsiVolumeMapOutput) MapIndex

func (CachesIscsiVolumeMapOutput) ToCachesIscsiVolumeMapOutput

func (o CachesIscsiVolumeMapOutput) ToCachesIscsiVolumeMapOutput() CachesIscsiVolumeMapOutput

func (CachesIscsiVolumeMapOutput) ToCachesIscsiVolumeMapOutputWithContext

func (o CachesIscsiVolumeMapOutput) ToCachesIscsiVolumeMapOutputWithContext(ctx context.Context) CachesIscsiVolumeMapOutput

type CachesIscsiVolumeOutput

type CachesIscsiVolumeOutput struct {
	*pulumi.OutputState
}

func (CachesIscsiVolumeOutput) ElementType

func (CachesIscsiVolumeOutput) ElementType() reflect.Type

func (CachesIscsiVolumeOutput) ToCachesIscsiVolumeOutput

func (o CachesIscsiVolumeOutput) ToCachesIscsiVolumeOutput() CachesIscsiVolumeOutput

func (CachesIscsiVolumeOutput) ToCachesIscsiVolumeOutputWithContext

func (o CachesIscsiVolumeOutput) ToCachesIscsiVolumeOutputWithContext(ctx context.Context) CachesIscsiVolumeOutput

func (CachesIscsiVolumeOutput) ToCachesIscsiVolumePtrOutput

func (o CachesIscsiVolumeOutput) ToCachesIscsiVolumePtrOutput() CachesIscsiVolumePtrOutput

func (CachesIscsiVolumeOutput) ToCachesIscsiVolumePtrOutputWithContext

func (o CachesIscsiVolumeOutput) ToCachesIscsiVolumePtrOutputWithContext(ctx context.Context) CachesIscsiVolumePtrOutput

type CachesIscsiVolumePtrInput

type CachesIscsiVolumePtrInput interface {
	pulumi.Input

	ToCachesIscsiVolumePtrOutput() CachesIscsiVolumePtrOutput
	ToCachesIscsiVolumePtrOutputWithContext(ctx context.Context) CachesIscsiVolumePtrOutput
}

type CachesIscsiVolumePtrOutput

type CachesIscsiVolumePtrOutput struct {
	*pulumi.OutputState
}

func (CachesIscsiVolumePtrOutput) ElementType

func (CachesIscsiVolumePtrOutput) ElementType() reflect.Type

func (CachesIscsiVolumePtrOutput) ToCachesIscsiVolumePtrOutput

func (o CachesIscsiVolumePtrOutput) ToCachesIscsiVolumePtrOutput() CachesIscsiVolumePtrOutput

func (CachesIscsiVolumePtrOutput) ToCachesIscsiVolumePtrOutputWithContext

func (o CachesIscsiVolumePtrOutput) ToCachesIscsiVolumePtrOutputWithContext(ctx context.Context) CachesIscsiVolumePtrOutput

type CachesIscsiVolumeState

type CachesIscsiVolumeState struct {
	// Volume Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
	Arn pulumi.StringPtrInput
	// Whether mutual CHAP is enabled for the iSCSI target.
	ChapEnabled pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringPtrInput
	// Set to `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3.
	KmsEncrypted pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. Is required when `kmsEncrypted` is set.
	KmsKey pulumi.StringPtrInput
	// Logical disk number.
	LunNumber pulumi.IntPtrInput
	// The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
	NetworkInterfaceId pulumi.StringPtrInput
	// The port used to communicate with iSCSI targets.
	NetworkInterfacePort pulumi.IntPtrInput
	// The snapshot ID of the snapshot to restore as the new cached volume. e.g. `snap-1122aabb`.
	SnapshotId pulumi.StringPtrInput
	// The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The `volumeSizeInBytes` value for this new volume must be equal to or larger than the size of the existing volume, in bytes.
	SourceVolumeArn pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// Target Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
	TargetArn pulumi.StringPtrInput
	// The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
	TargetName pulumi.StringPtrInput
	// Volume Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
	VolumeArn pulumi.StringPtrInput
	// Volume ID, e.g. `vol-12345678`.
	VolumeId pulumi.StringPtrInput
	// The size of the volume in bytes.
	VolumeSizeInBytes pulumi.IntPtrInput
}

func (CachesIscsiVolumeState) ElementType

func (CachesIscsiVolumeState) ElementType() reflect.Type

type Gateway

type Gateway struct {
	pulumi.CustomResourceState

	// Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
	ActivationKey pulumi.StringOutput `pulumi:"activationKey"`
	// Amazon Resource Name (ARN) of the gateway.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
	AverageDownloadRateLimitInBitsPerSec pulumi.IntPtrOutput `pulumi:"averageDownloadRateLimitInBitsPerSec"`
	// The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
	AverageUploadRateLimitInBitsPerSec pulumi.IntPtrOutput `pulumi:"averageUploadRateLimitInBitsPerSec"`
	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
	CloudwatchLogGroupArn pulumi.StringPtrOutput `pulumi:"cloudwatchLogGroupArn"`
	// The ID of the Amazon EC2 instance that was used to launch the gateway.
	Ec2InstanceId pulumi.StringOutput `pulumi:"ec2InstanceId"`
	// The type of endpoint for your gateway.
	EndpointType pulumi.StringOutput `pulumi:"endpointType"`
	// Identifier of the gateway.
	GatewayId pulumi.StringOutput `pulumi:"gatewayId"`
	// Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
	GatewayIpAddress pulumi.StringOutput `pulumi:"gatewayIpAddress"`
	// Name of the gateway.
	GatewayName pulumi.StringOutput `pulumi:"gatewayName"`
	// An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
	GatewayNetworkInterfaces GatewayGatewayNetworkInterfaceArrayOutput `pulumi:"gatewayNetworkInterfaces"`
	// Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
	GatewayTimezone pulumi.StringOutput `pulumi:"gatewayTimezone"`
	// Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_S3`, `STORED`, `VTL`.
	GatewayType pulumi.StringPtrOutput `pulumi:"gatewayType"`
	// VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running Pulumi. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
	GatewayVpcEndpoint pulumi.StringPtrOutput `pulumi:"gatewayVpcEndpoint"`
	// The type of hypervisor environment used by the host.
	HostEnvironment pulumi.StringOutput `pulumi:"hostEnvironment"`
	// Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
	MediumChangerType pulumi.StringPtrOutput `pulumi:"mediumChangerType"`
	// Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` gateway type. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
	SmbActiveDirectorySettings GatewaySmbActiveDirectorySettingsPtrOutput `pulumi:"smbActiveDirectorySettings"`
	// Specifies whether the shares on this gateway appear when listing shares.
	SmbFileShareVisibility pulumi.BoolPtrOutput `pulumi:"smbFileShareVisibility"`
	// Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` gateway type. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
	SmbGuestPassword pulumi.StringPtrOutput `pulumi:"smbGuestPassword"`
	// Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
	SmbSecurityStrategy pulumi.StringOutput `pulumi:"smbSecurityStrategy"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
	TapeDriveType pulumi.StringPtrOutput `pulumi:"tapeDriveType"`
}

Manages an AWS Storage Gateway file, tape, or volume gateway in the provider region.

> NOTE: The Storage Gateway API requires the gateway to be connected to properly return information after activation. If you are receiving `The specified gateway is not connected` errors during resource creation (gateway activation), ensure your gateway instance meets the [Storage Gateway requirements](https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html).

## Example Usage ### File Gateway

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{
			GatewayIpAddress: pulumi.String("1.2.3.4"),
			GatewayName:      pulumi.String("example"),
			GatewayTimezone:  pulumi.String("GMT"),
			GatewayType:      pulumi.String("FILE_S3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Tape Gateway

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{
			GatewayIpAddress:  pulumi.String("1.2.3.4"),
			GatewayName:       pulumi.String("example"),
			GatewayTimezone:   pulumi.String("GMT"),
			GatewayType:       pulumi.String("VTL"),
			MediumChangerType: pulumi.String("AWS-Gateway-VTL"),
			TapeDriveType:     pulumi.String("IBM-ULT3580-TD5"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Volume Gateway (Cached)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{
			GatewayIpAddress: pulumi.String("1.2.3.4"),
			GatewayName:      pulumi.String("example"),
			GatewayTimezone:  pulumi.String("GMT"),
			GatewayType:      pulumi.String("CACHED"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Volume Gateway (Stored)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewGateway(ctx, "example", &storagegateway.GatewayArgs{
			GatewayIpAddress: pulumi.String("1.2.3.4"),
			GatewayName:      pulumi.String("example"),
			GatewayTimezone:  pulumi.String("GMT"),
			GatewayType:      pulumi.String("STORED"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_gateway` can be imported by using the gateway Amazon Resource Name (ARN), e.g.

```sh

$ pulumi import aws:storagegateway/gateway:Gateway example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678

```

Certain resource arguments, like `gateway_ip_address` do not have a Storage Gateway API method for reading the information after creation, either omit the argument from the provider configuration or use `ignoreChanges` to hide the difference.

func GetGateway

func GetGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayState, opts ...pulumi.ResourceOption) (*Gateway, error)

GetGateway gets an existing Gateway 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 NewGateway

func NewGateway(ctx *pulumi.Context,
	name string, args *GatewayArgs, opts ...pulumi.ResourceOption) (*Gateway, error)

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

func (*Gateway) ElementType

func (*Gateway) ElementType() reflect.Type

func (*Gateway) ToGatewayOutput

func (i *Gateway) ToGatewayOutput() GatewayOutput

func (*Gateway) ToGatewayOutputWithContext

func (i *Gateway) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (*Gateway) ToGatewayPtrOutput

func (i *Gateway) ToGatewayPtrOutput() GatewayPtrOutput

func (*Gateway) ToGatewayPtrOutputWithContext

func (i *Gateway) ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput

type GatewayArgs

type GatewayArgs struct {
	// Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
	ActivationKey pulumi.StringPtrInput
	// The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
	AverageDownloadRateLimitInBitsPerSec pulumi.IntPtrInput
	// The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
	AverageUploadRateLimitInBitsPerSec pulumi.IntPtrInput
	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
	CloudwatchLogGroupArn pulumi.StringPtrInput
	// Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
	GatewayIpAddress pulumi.StringPtrInput
	// Name of the gateway.
	GatewayName pulumi.StringInput
	// Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
	GatewayTimezone pulumi.StringInput
	// Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_S3`, `STORED`, `VTL`.
	GatewayType pulumi.StringPtrInput
	// VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running Pulumi. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
	GatewayVpcEndpoint pulumi.StringPtrInput
	// Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
	MediumChangerType pulumi.StringPtrInput
	// Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` gateway type. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
	SmbActiveDirectorySettings GatewaySmbActiveDirectorySettingsPtrInput
	// Specifies whether the shares on this gateway appear when listing shares.
	SmbFileShareVisibility pulumi.BoolPtrInput
	// Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` gateway type. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
	SmbGuestPassword pulumi.StringPtrInput
	// Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
	SmbSecurityStrategy pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
	TapeDriveType pulumi.StringPtrInput
}

The set of arguments for constructing a Gateway resource.

func (GatewayArgs) ElementType

func (GatewayArgs) ElementType() reflect.Type

type GatewayArray

type GatewayArray []GatewayInput

func (GatewayArray) ElementType

func (GatewayArray) ElementType() reflect.Type

func (GatewayArray) ToGatewayArrayOutput

func (i GatewayArray) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArray) ToGatewayArrayOutputWithContext

func (i GatewayArray) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayArrayInput

type GatewayArrayInput interface {
	pulumi.Input

	ToGatewayArrayOutput() GatewayArrayOutput
	ToGatewayArrayOutputWithContext(context.Context) GatewayArrayOutput
}

GatewayArrayInput is an input type that accepts GatewayArray and GatewayArrayOutput values. You can construct a concrete instance of `GatewayArrayInput` via:

GatewayArray{ GatewayArgs{...} }

type GatewayArrayOutput

type GatewayArrayOutput struct{ *pulumi.OutputState }

func (GatewayArrayOutput) ElementType

func (GatewayArrayOutput) ElementType() reflect.Type

func (GatewayArrayOutput) Index

func (GatewayArrayOutput) ToGatewayArrayOutput

func (o GatewayArrayOutput) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArrayOutput) ToGatewayArrayOutputWithContext

func (o GatewayArrayOutput) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayGatewayNetworkInterface

type GatewayGatewayNetworkInterface struct {
	// The Internet Protocol version 4 (IPv4) address of the interface.
	Ipv4Address *string `pulumi:"ipv4Address"`
}

type GatewayGatewayNetworkInterfaceArgs

type GatewayGatewayNetworkInterfaceArgs struct {
	// The Internet Protocol version 4 (IPv4) address of the interface.
	Ipv4Address pulumi.StringPtrInput `pulumi:"ipv4Address"`
}

func (GatewayGatewayNetworkInterfaceArgs) ElementType

func (GatewayGatewayNetworkInterfaceArgs) ToGatewayGatewayNetworkInterfaceOutput

func (i GatewayGatewayNetworkInterfaceArgs) ToGatewayGatewayNetworkInterfaceOutput() GatewayGatewayNetworkInterfaceOutput

func (GatewayGatewayNetworkInterfaceArgs) ToGatewayGatewayNetworkInterfaceOutputWithContext

func (i GatewayGatewayNetworkInterfaceArgs) ToGatewayGatewayNetworkInterfaceOutputWithContext(ctx context.Context) GatewayGatewayNetworkInterfaceOutput

type GatewayGatewayNetworkInterfaceArray

type GatewayGatewayNetworkInterfaceArray []GatewayGatewayNetworkInterfaceInput

func (GatewayGatewayNetworkInterfaceArray) ElementType

func (GatewayGatewayNetworkInterfaceArray) ToGatewayGatewayNetworkInterfaceArrayOutput

func (i GatewayGatewayNetworkInterfaceArray) ToGatewayGatewayNetworkInterfaceArrayOutput() GatewayGatewayNetworkInterfaceArrayOutput

func (GatewayGatewayNetworkInterfaceArray) ToGatewayGatewayNetworkInterfaceArrayOutputWithContext

func (i GatewayGatewayNetworkInterfaceArray) ToGatewayGatewayNetworkInterfaceArrayOutputWithContext(ctx context.Context) GatewayGatewayNetworkInterfaceArrayOutput

type GatewayGatewayNetworkInterfaceArrayInput

type GatewayGatewayNetworkInterfaceArrayInput interface {
	pulumi.Input

	ToGatewayGatewayNetworkInterfaceArrayOutput() GatewayGatewayNetworkInterfaceArrayOutput
	ToGatewayGatewayNetworkInterfaceArrayOutputWithContext(context.Context) GatewayGatewayNetworkInterfaceArrayOutput
}

GatewayGatewayNetworkInterfaceArrayInput is an input type that accepts GatewayGatewayNetworkInterfaceArray and GatewayGatewayNetworkInterfaceArrayOutput values. You can construct a concrete instance of `GatewayGatewayNetworkInterfaceArrayInput` via:

GatewayGatewayNetworkInterfaceArray{ GatewayGatewayNetworkInterfaceArgs{...} }

type GatewayGatewayNetworkInterfaceArrayOutput

type GatewayGatewayNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (GatewayGatewayNetworkInterfaceArrayOutput) ElementType

func (GatewayGatewayNetworkInterfaceArrayOutput) Index

func (GatewayGatewayNetworkInterfaceArrayOutput) ToGatewayGatewayNetworkInterfaceArrayOutput

func (o GatewayGatewayNetworkInterfaceArrayOutput) ToGatewayGatewayNetworkInterfaceArrayOutput() GatewayGatewayNetworkInterfaceArrayOutput

func (GatewayGatewayNetworkInterfaceArrayOutput) ToGatewayGatewayNetworkInterfaceArrayOutputWithContext

func (o GatewayGatewayNetworkInterfaceArrayOutput) ToGatewayGatewayNetworkInterfaceArrayOutputWithContext(ctx context.Context) GatewayGatewayNetworkInterfaceArrayOutput

type GatewayGatewayNetworkInterfaceInput

type GatewayGatewayNetworkInterfaceInput interface {
	pulumi.Input

	ToGatewayGatewayNetworkInterfaceOutput() GatewayGatewayNetworkInterfaceOutput
	ToGatewayGatewayNetworkInterfaceOutputWithContext(context.Context) GatewayGatewayNetworkInterfaceOutput
}

GatewayGatewayNetworkInterfaceInput is an input type that accepts GatewayGatewayNetworkInterfaceArgs and GatewayGatewayNetworkInterfaceOutput values. You can construct a concrete instance of `GatewayGatewayNetworkInterfaceInput` via:

GatewayGatewayNetworkInterfaceArgs{...}

type GatewayGatewayNetworkInterfaceOutput

type GatewayGatewayNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (GatewayGatewayNetworkInterfaceOutput) ElementType

func (GatewayGatewayNetworkInterfaceOutput) Ipv4Address

The Internet Protocol version 4 (IPv4) address of the interface.

func (GatewayGatewayNetworkInterfaceOutput) ToGatewayGatewayNetworkInterfaceOutput

func (o GatewayGatewayNetworkInterfaceOutput) ToGatewayGatewayNetworkInterfaceOutput() GatewayGatewayNetworkInterfaceOutput

func (GatewayGatewayNetworkInterfaceOutput) ToGatewayGatewayNetworkInterfaceOutputWithContext

func (o GatewayGatewayNetworkInterfaceOutput) ToGatewayGatewayNetworkInterfaceOutputWithContext(ctx context.Context) GatewayGatewayNetworkInterfaceOutput

type GatewayInput

type GatewayInput interface {
	pulumi.Input

	ToGatewayOutput() GatewayOutput
	ToGatewayOutputWithContext(ctx context.Context) GatewayOutput
}

type GatewayMap

type GatewayMap map[string]GatewayInput

func (GatewayMap) ElementType

func (GatewayMap) ElementType() reflect.Type

func (GatewayMap) ToGatewayMapOutput

func (i GatewayMap) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMap) ToGatewayMapOutputWithContext

func (i GatewayMap) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayMapInput

type GatewayMapInput interface {
	pulumi.Input

	ToGatewayMapOutput() GatewayMapOutput
	ToGatewayMapOutputWithContext(context.Context) GatewayMapOutput
}

GatewayMapInput is an input type that accepts GatewayMap and GatewayMapOutput values. You can construct a concrete instance of `GatewayMapInput` via:

GatewayMap{ "key": GatewayArgs{...} }

type GatewayMapOutput

type GatewayMapOutput struct{ *pulumi.OutputState }

func (GatewayMapOutput) ElementType

func (GatewayMapOutput) ElementType() reflect.Type

func (GatewayMapOutput) MapIndex

func (GatewayMapOutput) ToGatewayMapOutput

func (o GatewayMapOutput) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMapOutput) ToGatewayMapOutputWithContext

func (o GatewayMapOutput) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayOutput

type GatewayOutput struct {
	*pulumi.OutputState
}

func (GatewayOutput) ElementType

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) ToGatewayOutput

func (o GatewayOutput) ToGatewayOutput() GatewayOutput

func (GatewayOutput) ToGatewayOutputWithContext

func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (GatewayOutput) ToGatewayPtrOutput

func (o GatewayOutput) ToGatewayPtrOutput() GatewayPtrOutput

func (GatewayOutput) ToGatewayPtrOutputWithContext

func (o GatewayOutput) ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput

type GatewayPtrInput

type GatewayPtrInput interface {
	pulumi.Input

	ToGatewayPtrOutput() GatewayPtrOutput
	ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput
}

type GatewayPtrOutput

type GatewayPtrOutput struct {
	*pulumi.OutputState
}

func (GatewayPtrOutput) ElementType

func (GatewayPtrOutput) ElementType() reflect.Type

func (GatewayPtrOutput) ToGatewayPtrOutput

func (o GatewayPtrOutput) ToGatewayPtrOutput() GatewayPtrOutput

func (GatewayPtrOutput) ToGatewayPtrOutputWithContext

func (o GatewayPtrOutput) ToGatewayPtrOutputWithContext(ctx context.Context) GatewayPtrOutput

type GatewaySmbActiveDirectorySettings

type GatewaySmbActiveDirectorySettings struct {
	ActiveDirectoryStatus *string `pulumi:"activeDirectoryStatus"`
	// List of IPv4 addresses, NetBIOS names, or host names of your domain server.
	// If you need to specify the port number include it after the colon (“:”). For example, `mydc.mydomain.com:389`.
	DomainControllers []string `pulumi:"domainControllers"`
	// The name of the domain that you want the gateway to join.
	DomainName string `pulumi:"domainName"`
	// The organizational unit (OU) is a container in an Active Directory that can hold users, groups,
	// computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.
	OrganizationalUnit *string `pulumi:"organizationalUnit"`
	// The password of the user who has permission to add the gateway to the Active Directory domain.
	Password string `pulumi:"password"`
	// Specifies the time in seconds, in which the JoinDomain operation must complete. The default is `20` seconds.
	TimeoutInSeconds *int `pulumi:"timeoutInSeconds"`
	// The user name of user who has permission to add the gateway to the Active Directory domain.
	Username string `pulumi:"username"`
}

type GatewaySmbActiveDirectorySettingsArgs

type GatewaySmbActiveDirectorySettingsArgs struct {
	ActiveDirectoryStatus pulumi.StringPtrInput `pulumi:"activeDirectoryStatus"`
	// List of IPv4 addresses, NetBIOS names, or host names of your domain server.
	// If you need to specify the port number include it after the colon (“:”). For example, `mydc.mydomain.com:389`.
	DomainControllers pulumi.StringArrayInput `pulumi:"domainControllers"`
	// The name of the domain that you want the gateway to join.
	DomainName pulumi.StringInput `pulumi:"domainName"`
	// The organizational unit (OU) is a container in an Active Directory that can hold users, groups,
	// computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.
	OrganizationalUnit pulumi.StringPtrInput `pulumi:"organizationalUnit"`
	// The password of the user who has permission to add the gateway to the Active Directory domain.
	Password pulumi.StringInput `pulumi:"password"`
	// Specifies the time in seconds, in which the JoinDomain operation must complete. The default is `20` seconds.
	TimeoutInSeconds pulumi.IntPtrInput `pulumi:"timeoutInSeconds"`
	// The user name of user who has permission to add the gateway to the Active Directory domain.
	Username pulumi.StringInput `pulumi:"username"`
}

func (GatewaySmbActiveDirectorySettingsArgs) ElementType

func (GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsOutput

func (i GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsOutput() GatewaySmbActiveDirectorySettingsOutput

func (GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsOutputWithContext

func (i GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsOutputWithContext(ctx context.Context) GatewaySmbActiveDirectorySettingsOutput

func (GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsPtrOutput

func (i GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsPtrOutput() GatewaySmbActiveDirectorySettingsPtrOutput

func (GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext

func (i GatewaySmbActiveDirectorySettingsArgs) ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext(ctx context.Context) GatewaySmbActiveDirectorySettingsPtrOutput

type GatewaySmbActiveDirectorySettingsInput

type GatewaySmbActiveDirectorySettingsInput interface {
	pulumi.Input

	ToGatewaySmbActiveDirectorySettingsOutput() GatewaySmbActiveDirectorySettingsOutput
	ToGatewaySmbActiveDirectorySettingsOutputWithContext(context.Context) GatewaySmbActiveDirectorySettingsOutput
}

GatewaySmbActiveDirectorySettingsInput is an input type that accepts GatewaySmbActiveDirectorySettingsArgs and GatewaySmbActiveDirectorySettingsOutput values. You can construct a concrete instance of `GatewaySmbActiveDirectorySettingsInput` via:

GatewaySmbActiveDirectorySettingsArgs{...}

type GatewaySmbActiveDirectorySettingsOutput

type GatewaySmbActiveDirectorySettingsOutput struct{ *pulumi.OutputState }

func (GatewaySmbActiveDirectorySettingsOutput) ActiveDirectoryStatus

func (GatewaySmbActiveDirectorySettingsOutput) DomainControllers

List of IPv4 addresses, NetBIOS names, or host names of your domain server. If you need to specify the port number include it after the colon (“:”). For example, `mydc.mydomain.com:389`.

func (GatewaySmbActiveDirectorySettingsOutput) DomainName

The name of the domain that you want the gateway to join.

func (GatewaySmbActiveDirectorySettingsOutput) ElementType

func (GatewaySmbActiveDirectorySettingsOutput) OrganizationalUnit

The organizational unit (OU) is a container in an Active Directory that can hold users, groups, computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.

func (GatewaySmbActiveDirectorySettingsOutput) Password

The password of the user who has permission to add the gateway to the Active Directory domain.

func (GatewaySmbActiveDirectorySettingsOutput) TimeoutInSeconds

Specifies the time in seconds, in which the JoinDomain operation must complete. The default is `20` seconds.

func (GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsOutput

func (o GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsOutput() GatewaySmbActiveDirectorySettingsOutput

func (GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsOutputWithContext

func (o GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsOutputWithContext(ctx context.Context) GatewaySmbActiveDirectorySettingsOutput

func (GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsPtrOutput

func (o GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsPtrOutput() GatewaySmbActiveDirectorySettingsPtrOutput

func (GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext

func (o GatewaySmbActiveDirectorySettingsOutput) ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext(ctx context.Context) GatewaySmbActiveDirectorySettingsPtrOutput

func (GatewaySmbActiveDirectorySettingsOutput) Username

The user name of user who has permission to add the gateway to the Active Directory domain.

type GatewaySmbActiveDirectorySettingsPtrInput

type GatewaySmbActiveDirectorySettingsPtrInput interface {
	pulumi.Input

	ToGatewaySmbActiveDirectorySettingsPtrOutput() GatewaySmbActiveDirectorySettingsPtrOutput
	ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext(context.Context) GatewaySmbActiveDirectorySettingsPtrOutput
}

GatewaySmbActiveDirectorySettingsPtrInput is an input type that accepts GatewaySmbActiveDirectorySettingsArgs, GatewaySmbActiveDirectorySettingsPtr and GatewaySmbActiveDirectorySettingsPtrOutput values. You can construct a concrete instance of `GatewaySmbActiveDirectorySettingsPtrInput` via:

        GatewaySmbActiveDirectorySettingsArgs{...}

or:

        nil

type GatewaySmbActiveDirectorySettingsPtrOutput

type GatewaySmbActiveDirectorySettingsPtrOutput struct{ *pulumi.OutputState }

func (GatewaySmbActiveDirectorySettingsPtrOutput) ActiveDirectoryStatus

func (GatewaySmbActiveDirectorySettingsPtrOutput) DomainControllers

List of IPv4 addresses, NetBIOS names, or host names of your domain server. If you need to specify the port number include it after the colon (“:”). For example, `mydc.mydomain.com:389`.

func (GatewaySmbActiveDirectorySettingsPtrOutput) DomainName

The name of the domain that you want the gateway to join.

func (GatewaySmbActiveDirectorySettingsPtrOutput) Elem

func (GatewaySmbActiveDirectorySettingsPtrOutput) ElementType

func (GatewaySmbActiveDirectorySettingsPtrOutput) OrganizationalUnit

The organizational unit (OU) is a container in an Active Directory that can hold users, groups, computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.

func (GatewaySmbActiveDirectorySettingsPtrOutput) Password

The password of the user who has permission to add the gateway to the Active Directory domain.

func (GatewaySmbActiveDirectorySettingsPtrOutput) TimeoutInSeconds

Specifies the time in seconds, in which the JoinDomain operation must complete. The default is `20` seconds.

func (GatewaySmbActiveDirectorySettingsPtrOutput) ToGatewaySmbActiveDirectorySettingsPtrOutput

func (o GatewaySmbActiveDirectorySettingsPtrOutput) ToGatewaySmbActiveDirectorySettingsPtrOutput() GatewaySmbActiveDirectorySettingsPtrOutput

func (GatewaySmbActiveDirectorySettingsPtrOutput) ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext

func (o GatewaySmbActiveDirectorySettingsPtrOutput) ToGatewaySmbActiveDirectorySettingsPtrOutputWithContext(ctx context.Context) GatewaySmbActiveDirectorySettingsPtrOutput

func (GatewaySmbActiveDirectorySettingsPtrOutput) Username

The user name of user who has permission to add the gateway to the Active Directory domain.

type GatewayState

type GatewayState struct {
	// Gateway activation key during resource creation. Conflicts with `gatewayIpAddress`. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
	ActivationKey pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the gateway.
	Arn pulumi.StringPtrInput
	// The average download bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
	AverageDownloadRateLimitInBitsPerSec pulumi.IntPtrInput
	// The average upload bandwidth rate limit in bits per second. This is supported for the `CACHED`, `STORED`, and `VTL` gateway types.
	AverageUploadRateLimitInBitsPerSec pulumi.IntPtrInput
	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group to use to monitor and log events in the gateway.
	CloudwatchLogGroupArn pulumi.StringPtrInput
	// The ID of the Amazon EC2 instance that was used to launch the gateway.
	Ec2InstanceId pulumi.StringPtrInput
	// The type of endpoint for your gateway.
	EndpointType pulumi.StringPtrInput
	// Identifier of the gateway.
	GatewayId pulumi.StringPtrInput
	// Gateway IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. Gateway must be accessible on port 80 from where this provider is running. Additional information is available in the [Storage Gateway User Guide](https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html).
	GatewayIpAddress pulumi.StringPtrInput
	// Name of the gateway.
	GatewayName pulumi.StringPtrInput
	// An array that contains descriptions of the gateway network interfaces. See Gateway Network Interface.
	GatewayNetworkInterfaces GatewayGatewayNetworkInterfaceArrayInput
	// Time zone for the gateway. The time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, `GMT-4:00` indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.
	GatewayTimezone pulumi.StringPtrInput
	// Type of the gateway. The default value is `STORED`. Valid values: `CACHED`, `FILE_S3`, `STORED`, `VTL`.
	GatewayType pulumi.StringPtrInput
	// VPC endpoint address to be used when activating your gateway. This should be used when your instance is in a private subnet. Requires HTTP access from client computer running Pulumi. More info on what ports are required by your VPC Endpoint Security group in [Activating a Gateway in a Virtual Private Cloud](https://docs.aws.amazon.com/storagegateway/latest/userguide/gateway-private-link.html).
	GatewayVpcEndpoint pulumi.StringPtrInput
	// The type of hypervisor environment used by the host.
	HostEnvironment pulumi.StringPtrInput
	// Type of medium changer to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `STK-L700`, `AWS-Gateway-VTL`, `IBM-03584L32-0402`.
	MediumChangerType pulumi.StringPtrInput
	// Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for `FILE_S3` gateway type. Must be set before creating `ActiveDirectory` authentication SMB file shares. More details below.
	SmbActiveDirectorySettings GatewaySmbActiveDirectorySettingsPtrInput
	// Specifies whether the shares on this gateway appear when listing shares.
	SmbFileShareVisibility pulumi.BoolPtrInput
	// Guest password for Server Message Block (SMB) file shares. Only valid for `FILE_S3` gateway type. Must be set before creating `GuestAccess` authentication SMB file shares. This provider can only detect drift of the existence of a guest password, not its actual value from the gateway. This provider can however update the password with changing the argument.
	SmbGuestPassword pulumi.StringPtrInput
	// Specifies the type of security strategy. Valid values are: `ClientSpecified`, `MandatorySigning`, and `MandatoryEncryption`. See [Setting a Security Level for Your Gateway](https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-gateway-file.html#security-strategy) for more information.
	SmbSecurityStrategy pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// Type of tape drive to use for tape gateway. This provider cannot detect drift of this argument. Valid values: `IBM-ULT3580-TD5`.
	TapeDriveType pulumi.StringPtrInput
}

func (GatewayState) ElementType

func (GatewayState) ElementType() reflect.Type

type GetLocalDiskArgs

type GetLocalDiskArgs struct {
	// The device node of the local disk to retrieve. For example, `/dev/sdb`.
	DiskNode *string `pulumi:"diskNode"`
	// The device path of the local disk to retrieve. For example, `/dev/xvdb` or `/dev/nvme1n1`.
	DiskPath *string `pulumi:"diskPath"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn string `pulumi:"gatewayArn"`
}

A collection of arguments for invoking getLocalDisk.

type GetLocalDiskResult

type GetLocalDiskResult struct {
	// The disk identifier. e.g. `pci-0000:03:00.0-scsi-0:0:0:0`
	DiskId     string `pulumi:"diskId"`
	DiskNode   string `pulumi:"diskNode"`
	DiskPath   string `pulumi:"diskPath"`
	GatewayArn string `pulumi:"gatewayArn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getLocalDisk.

func GetLocalDisk

func GetLocalDisk(ctx *pulumi.Context, args *GetLocalDiskArgs, opts ...pulumi.InvokeOption) (*GetLocalDiskResult, error)

Retrieve information about a Storage Gateway local disk. The disk identifier is useful for adding the disk as a cache or upload buffer to a gateway.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := aws_volume_attachment.Test.Device_name
		_, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{
			DiskPath:   &opt0,
			GatewayArn: aws_storagegateway_gateway.Test.Arn,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type NfsFileShare

type NfsFileShare struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the NFS File Share.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes NfsFileShareCacheAttributesPtrOutput `pulumi:"cacheAttributes"`
	// The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items.
	ClientLists pulumi.StringArrayOutput `pulumi:"clientLists"`
	// The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`. Valid values: `S3_STANDARD`, `S3_STANDARD_IA`, `S3_ONEZONE_IA`.
	DefaultStorageClass pulumi.StringPtrOutput `pulumi:"defaultStorageClass"`
	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
	FileShareName pulumi.StringOutput `pulumi:"fileShareName"`
	// ID of the NFS File Share.
	FileshareId pulumi.StringOutput `pulumi:"fileshareId"`
	// Amazon Resource Name (ARN) of the file gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
	GuessMimeTypeEnabled pulumi.BoolPtrOutput `pulumi:"guessMimeTypeEnabled"`
	// Boolean value if `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Defaults to `false`.
	KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"`
	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
	KmsKeyArn pulumi.StringPtrOutput `pulumi:"kmsKeyArn"`
	// The ARN of the backed storage used for storing file data.
	LocationArn pulumi.StringOutput `pulumi:"locationArn"`
	// Nested argument with file share default values. More information below. see NFS File Share Defaults for more details.
	NfsFileShareDefaults NfsFileShareNfsFileShareDefaultsPtrOutput `pulumi:"nfsFileShareDefaults"`
	// The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
	NotificationPolicy pulumi.StringPtrOutput `pulumi:"notificationPolicy"`
	// Access Control List permission for S3 bucket objects. Defaults to `private`.
	ObjectAcl pulumi.StringPtrOutput `pulumi:"objectAcl"`
	// File share path used by the NFS client to identify the mount point.
	Path pulumi.StringOutput `pulumi:"path"`
	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
	ReadOnly pulumi.BoolPtrOutput `pulumi:"readOnly"`
	// Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to `true` if you want the requester to pay instead of the bucket owner. Defaults to `false`.
	RequesterPays pulumi.BoolPtrOutput `pulumi:"requesterPays"`
	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
	// Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user)
	Squash pulumi.StringPtrOutput `pulumi:"squash"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Manages an AWS Storage Gateway NFS File Share.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewNfsFileShare(ctx, "example", &storagegateway.NfsFileShareArgs{
			ClientLists: pulumi.StringArray{
				pulumi.String("0.0.0.0/0"),
			},
			GatewayArn:  pulumi.Any(aws_storagegateway_gateway.Example.Arn),
			LocationArn: pulumi.Any(aws_s3_bucket.Example.Arn),
			RoleArn:     pulumi.Any(aws_iam_role.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_nfs_file_share` can be imported by using the NFS File Share Amazon Resource Name (ARN), e.g.

```sh

$ pulumi import aws:storagegateway/nfsFileShare:NfsFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678

```

func GetNfsFileShare

func GetNfsFileShare(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NfsFileShareState, opts ...pulumi.ResourceOption) (*NfsFileShare, error)

GetNfsFileShare gets an existing NfsFileShare 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 NewNfsFileShare

func NewNfsFileShare(ctx *pulumi.Context,
	name string, args *NfsFileShareArgs, opts ...pulumi.ResourceOption) (*NfsFileShare, error)

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

func (*NfsFileShare) ElementType

func (*NfsFileShare) ElementType() reflect.Type

func (*NfsFileShare) ToNfsFileShareOutput

func (i *NfsFileShare) ToNfsFileShareOutput() NfsFileShareOutput

func (*NfsFileShare) ToNfsFileShareOutputWithContext

func (i *NfsFileShare) ToNfsFileShareOutputWithContext(ctx context.Context) NfsFileShareOutput

func (*NfsFileShare) ToNfsFileSharePtrOutput

func (i *NfsFileShare) ToNfsFileSharePtrOutput() NfsFileSharePtrOutput

func (*NfsFileShare) ToNfsFileSharePtrOutputWithContext

func (i *NfsFileShare) ToNfsFileSharePtrOutputWithContext(ctx context.Context) NfsFileSharePtrOutput

type NfsFileShareArgs

type NfsFileShareArgs struct {
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes NfsFileShareCacheAttributesPtrInput
	// The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items.
	ClientLists pulumi.StringArrayInput
	// The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`. Valid values: `S3_STANDARD`, `S3_STANDARD_IA`, `S3_ONEZONE_IA`.
	DefaultStorageClass pulumi.StringPtrInput
	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
	FileShareName pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the file gateway.
	GatewayArn pulumi.StringInput
	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
	GuessMimeTypeEnabled pulumi.BoolPtrInput
	// Boolean value if `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Defaults to `false`.
	KmsEncrypted pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
	KmsKeyArn pulumi.StringPtrInput
	// The ARN of the backed storage used for storing file data.
	LocationArn pulumi.StringInput
	// Nested argument with file share default values. More information below. see NFS File Share Defaults for more details.
	NfsFileShareDefaults NfsFileShareNfsFileShareDefaultsPtrInput
	// The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
	NotificationPolicy pulumi.StringPtrInput
	// Access Control List permission for S3 bucket objects. Defaults to `private`.
	ObjectAcl pulumi.StringPtrInput
	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
	ReadOnly pulumi.BoolPtrInput
	// Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to `true` if you want the requester to pay instead of the bucket owner. Defaults to `false`.
	RequesterPays pulumi.BoolPtrInput
	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
	RoleArn pulumi.StringInput
	// Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user)
	Squash pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

The set of arguments for constructing a NfsFileShare resource.

func (NfsFileShareArgs) ElementType

func (NfsFileShareArgs) ElementType() reflect.Type

type NfsFileShareArray

type NfsFileShareArray []NfsFileShareInput

func (NfsFileShareArray) ElementType

func (NfsFileShareArray) ElementType() reflect.Type

func (NfsFileShareArray) ToNfsFileShareArrayOutput

func (i NfsFileShareArray) ToNfsFileShareArrayOutput() NfsFileShareArrayOutput

func (NfsFileShareArray) ToNfsFileShareArrayOutputWithContext

func (i NfsFileShareArray) ToNfsFileShareArrayOutputWithContext(ctx context.Context) NfsFileShareArrayOutput

type NfsFileShareArrayInput

type NfsFileShareArrayInput interface {
	pulumi.Input

	ToNfsFileShareArrayOutput() NfsFileShareArrayOutput
	ToNfsFileShareArrayOutputWithContext(context.Context) NfsFileShareArrayOutput
}

NfsFileShareArrayInput is an input type that accepts NfsFileShareArray and NfsFileShareArrayOutput values. You can construct a concrete instance of `NfsFileShareArrayInput` via:

NfsFileShareArray{ NfsFileShareArgs{...} }

type NfsFileShareArrayOutput

type NfsFileShareArrayOutput struct{ *pulumi.OutputState }

func (NfsFileShareArrayOutput) ElementType

func (NfsFileShareArrayOutput) ElementType() reflect.Type

func (NfsFileShareArrayOutput) Index

func (NfsFileShareArrayOutput) ToNfsFileShareArrayOutput

func (o NfsFileShareArrayOutput) ToNfsFileShareArrayOutput() NfsFileShareArrayOutput

func (NfsFileShareArrayOutput) ToNfsFileShareArrayOutputWithContext

func (o NfsFileShareArrayOutput) ToNfsFileShareArrayOutputWithContext(ctx context.Context) NfsFileShareArrayOutput

type NfsFileShareCacheAttributes

type NfsFileShareCacheAttributes struct {
	// Refreshes a file share's cache by using Time To Live (TTL).
	// TTL is the length of time since the last refresh after which access to the directory would cause the file gateway
	// to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)
	CacheStaleTimeoutInSeconds *int `pulumi:"cacheStaleTimeoutInSeconds"`
}

type NfsFileShareCacheAttributesArgs

type NfsFileShareCacheAttributesArgs struct {
	// Refreshes a file share's cache by using Time To Live (TTL).
	// TTL is the length of time since the last refresh after which access to the directory would cause the file gateway
	// to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)
	CacheStaleTimeoutInSeconds pulumi.IntPtrInput `pulumi:"cacheStaleTimeoutInSeconds"`
}

func (NfsFileShareCacheAttributesArgs) ElementType

func (NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesOutput

func (i NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesOutput() NfsFileShareCacheAttributesOutput

func (NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesOutputWithContext

func (i NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesOutputWithContext(ctx context.Context) NfsFileShareCacheAttributesOutput

func (NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesPtrOutput

func (i NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesPtrOutput() NfsFileShareCacheAttributesPtrOutput

func (NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesPtrOutputWithContext

func (i NfsFileShareCacheAttributesArgs) ToNfsFileShareCacheAttributesPtrOutputWithContext(ctx context.Context) NfsFileShareCacheAttributesPtrOutput

type NfsFileShareCacheAttributesInput

type NfsFileShareCacheAttributesInput interface {
	pulumi.Input

	ToNfsFileShareCacheAttributesOutput() NfsFileShareCacheAttributesOutput
	ToNfsFileShareCacheAttributesOutputWithContext(context.Context) NfsFileShareCacheAttributesOutput
}

NfsFileShareCacheAttributesInput is an input type that accepts NfsFileShareCacheAttributesArgs and NfsFileShareCacheAttributesOutput values. You can construct a concrete instance of `NfsFileShareCacheAttributesInput` via:

NfsFileShareCacheAttributesArgs{...}

type NfsFileShareCacheAttributesOutput

type NfsFileShareCacheAttributesOutput struct{ *pulumi.OutputState }

func (NfsFileShareCacheAttributesOutput) CacheStaleTimeoutInSeconds

func (o NfsFileShareCacheAttributesOutput) CacheStaleTimeoutInSeconds() pulumi.IntPtrOutput

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length of time since the last refresh after which access to the directory would cause the file gateway to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)

func (NfsFileShareCacheAttributesOutput) ElementType

func (NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesOutput

func (o NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesOutput() NfsFileShareCacheAttributesOutput

func (NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesOutputWithContext

func (o NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesOutputWithContext(ctx context.Context) NfsFileShareCacheAttributesOutput

func (NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesPtrOutput

func (o NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesPtrOutput() NfsFileShareCacheAttributesPtrOutput

func (NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesPtrOutputWithContext

func (o NfsFileShareCacheAttributesOutput) ToNfsFileShareCacheAttributesPtrOutputWithContext(ctx context.Context) NfsFileShareCacheAttributesPtrOutput

type NfsFileShareCacheAttributesPtrInput

type NfsFileShareCacheAttributesPtrInput interface {
	pulumi.Input

	ToNfsFileShareCacheAttributesPtrOutput() NfsFileShareCacheAttributesPtrOutput
	ToNfsFileShareCacheAttributesPtrOutputWithContext(context.Context) NfsFileShareCacheAttributesPtrOutput
}

NfsFileShareCacheAttributesPtrInput is an input type that accepts NfsFileShareCacheAttributesArgs, NfsFileShareCacheAttributesPtr and NfsFileShareCacheAttributesPtrOutput values. You can construct a concrete instance of `NfsFileShareCacheAttributesPtrInput` via:

        NfsFileShareCacheAttributesArgs{...}

or:

        nil

type NfsFileShareCacheAttributesPtrOutput

type NfsFileShareCacheAttributesPtrOutput struct{ *pulumi.OutputState }

func (NfsFileShareCacheAttributesPtrOutput) CacheStaleTimeoutInSeconds

func (o NfsFileShareCacheAttributesPtrOutput) CacheStaleTimeoutInSeconds() pulumi.IntPtrOutput

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length of time since the last refresh after which access to the directory would cause the file gateway to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)

func (NfsFileShareCacheAttributesPtrOutput) Elem

func (NfsFileShareCacheAttributesPtrOutput) ElementType

func (NfsFileShareCacheAttributesPtrOutput) ToNfsFileShareCacheAttributesPtrOutput

func (o NfsFileShareCacheAttributesPtrOutput) ToNfsFileShareCacheAttributesPtrOutput() NfsFileShareCacheAttributesPtrOutput

func (NfsFileShareCacheAttributesPtrOutput) ToNfsFileShareCacheAttributesPtrOutputWithContext

func (o NfsFileShareCacheAttributesPtrOutput) ToNfsFileShareCacheAttributesPtrOutputWithContext(ctx context.Context) NfsFileShareCacheAttributesPtrOutput

type NfsFileShareInput

type NfsFileShareInput interface {
	pulumi.Input

	ToNfsFileShareOutput() NfsFileShareOutput
	ToNfsFileShareOutputWithContext(ctx context.Context) NfsFileShareOutput
}

type NfsFileShareMap

type NfsFileShareMap map[string]NfsFileShareInput

func (NfsFileShareMap) ElementType

func (NfsFileShareMap) ElementType() reflect.Type

func (NfsFileShareMap) ToNfsFileShareMapOutput

func (i NfsFileShareMap) ToNfsFileShareMapOutput() NfsFileShareMapOutput

func (NfsFileShareMap) ToNfsFileShareMapOutputWithContext

func (i NfsFileShareMap) ToNfsFileShareMapOutputWithContext(ctx context.Context) NfsFileShareMapOutput

type NfsFileShareMapInput

type NfsFileShareMapInput interface {
	pulumi.Input

	ToNfsFileShareMapOutput() NfsFileShareMapOutput
	ToNfsFileShareMapOutputWithContext(context.Context) NfsFileShareMapOutput
}

NfsFileShareMapInput is an input type that accepts NfsFileShareMap and NfsFileShareMapOutput values. You can construct a concrete instance of `NfsFileShareMapInput` via:

NfsFileShareMap{ "key": NfsFileShareArgs{...} }

type NfsFileShareMapOutput

type NfsFileShareMapOutput struct{ *pulumi.OutputState }

func (NfsFileShareMapOutput) ElementType

func (NfsFileShareMapOutput) ElementType() reflect.Type

func (NfsFileShareMapOutput) MapIndex

func (NfsFileShareMapOutput) ToNfsFileShareMapOutput

func (o NfsFileShareMapOutput) ToNfsFileShareMapOutput() NfsFileShareMapOutput

func (NfsFileShareMapOutput) ToNfsFileShareMapOutputWithContext

func (o NfsFileShareMapOutput) ToNfsFileShareMapOutputWithContext(ctx context.Context) NfsFileShareMapOutput

type NfsFileShareNfsFileShareDefaults

type NfsFileShareNfsFileShareDefaults struct {
	// The Unix directory mode in the string form "nnnn". Defaults to `"0777"`.
	DirectoryMode *string `pulumi:"directoryMode"`
	// The Unix file mode in the string form "nnnn". Defaults to `"0666"`.
	FileMode *string `pulumi:"fileMode"`
	// The default group ID for the file share (unless the files have another group ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.
	GroupId *string `pulumi:"groupId"`
	// The default owner ID for the file share (unless the files have another owner ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.
	OwnerId *string `pulumi:"ownerId"`
}

type NfsFileShareNfsFileShareDefaultsArgs

type NfsFileShareNfsFileShareDefaultsArgs struct {
	// The Unix directory mode in the string form "nnnn". Defaults to `"0777"`.
	DirectoryMode pulumi.StringPtrInput `pulumi:"directoryMode"`
	// The Unix file mode in the string form "nnnn". Defaults to `"0666"`.
	FileMode pulumi.StringPtrInput `pulumi:"fileMode"`
	// The default group ID for the file share (unless the files have another group ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.
	GroupId pulumi.StringPtrInput `pulumi:"groupId"`
	// The default owner ID for the file share (unless the files have another owner ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.
	OwnerId pulumi.StringPtrInput `pulumi:"ownerId"`
}

func (NfsFileShareNfsFileShareDefaultsArgs) ElementType

func (NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsOutput

func (i NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsOutput() NfsFileShareNfsFileShareDefaultsOutput

func (NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsOutputWithContext

func (i NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsOutputWithContext(ctx context.Context) NfsFileShareNfsFileShareDefaultsOutput

func (NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsPtrOutput

func (i NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsPtrOutput() NfsFileShareNfsFileShareDefaultsPtrOutput

func (NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext

func (i NfsFileShareNfsFileShareDefaultsArgs) ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext(ctx context.Context) NfsFileShareNfsFileShareDefaultsPtrOutput

type NfsFileShareNfsFileShareDefaultsInput

type NfsFileShareNfsFileShareDefaultsInput interface {
	pulumi.Input

	ToNfsFileShareNfsFileShareDefaultsOutput() NfsFileShareNfsFileShareDefaultsOutput
	ToNfsFileShareNfsFileShareDefaultsOutputWithContext(context.Context) NfsFileShareNfsFileShareDefaultsOutput
}

NfsFileShareNfsFileShareDefaultsInput is an input type that accepts NfsFileShareNfsFileShareDefaultsArgs and NfsFileShareNfsFileShareDefaultsOutput values. You can construct a concrete instance of `NfsFileShareNfsFileShareDefaultsInput` via:

NfsFileShareNfsFileShareDefaultsArgs{...}

type NfsFileShareNfsFileShareDefaultsOutput

type NfsFileShareNfsFileShareDefaultsOutput struct{ *pulumi.OutputState }

func (NfsFileShareNfsFileShareDefaultsOutput) DirectoryMode

The Unix directory mode in the string form "nnnn". Defaults to `"0777"`.

func (NfsFileShareNfsFileShareDefaultsOutput) ElementType

func (NfsFileShareNfsFileShareDefaultsOutput) FileMode

The Unix file mode in the string form "nnnn". Defaults to `"0666"`.

func (NfsFileShareNfsFileShareDefaultsOutput) GroupId

The default group ID for the file share (unless the files have another group ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.

func (NfsFileShareNfsFileShareDefaultsOutput) OwnerId

The default owner ID for the file share (unless the files have another owner ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.

func (NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsOutput

func (o NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsOutput() NfsFileShareNfsFileShareDefaultsOutput

func (NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsOutputWithContext

func (o NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsOutputWithContext(ctx context.Context) NfsFileShareNfsFileShareDefaultsOutput

func (NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutput

func (o NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutput() NfsFileShareNfsFileShareDefaultsPtrOutput

func (NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext

func (o NfsFileShareNfsFileShareDefaultsOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext(ctx context.Context) NfsFileShareNfsFileShareDefaultsPtrOutput

type NfsFileShareNfsFileShareDefaultsPtrInput

type NfsFileShareNfsFileShareDefaultsPtrInput interface {
	pulumi.Input

	ToNfsFileShareNfsFileShareDefaultsPtrOutput() NfsFileShareNfsFileShareDefaultsPtrOutput
	ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext(context.Context) NfsFileShareNfsFileShareDefaultsPtrOutput
}

NfsFileShareNfsFileShareDefaultsPtrInput is an input type that accepts NfsFileShareNfsFileShareDefaultsArgs, NfsFileShareNfsFileShareDefaultsPtr and NfsFileShareNfsFileShareDefaultsPtrOutput values. You can construct a concrete instance of `NfsFileShareNfsFileShareDefaultsPtrInput` via:

        NfsFileShareNfsFileShareDefaultsArgs{...}

or:

        nil

type NfsFileShareNfsFileShareDefaultsPtrOutput

type NfsFileShareNfsFileShareDefaultsPtrOutput struct{ *pulumi.OutputState }

func (NfsFileShareNfsFileShareDefaultsPtrOutput) DirectoryMode

The Unix directory mode in the string form "nnnn". Defaults to `"0777"`.

func (NfsFileShareNfsFileShareDefaultsPtrOutput) Elem

func (NfsFileShareNfsFileShareDefaultsPtrOutput) ElementType

func (NfsFileShareNfsFileShareDefaultsPtrOutput) FileMode

The Unix file mode in the string form "nnnn". Defaults to `"0666"`.

func (NfsFileShareNfsFileShareDefaultsPtrOutput) GroupId

The default group ID for the file share (unless the files have another group ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.

func (NfsFileShareNfsFileShareDefaultsPtrOutput) OwnerId

The default owner ID for the file share (unless the files have another owner ID specified). Defaults to `65534` (`nfsnobody`). Valid values: `0` through `4294967294`.

func (NfsFileShareNfsFileShareDefaultsPtrOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutput

func (o NfsFileShareNfsFileShareDefaultsPtrOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutput() NfsFileShareNfsFileShareDefaultsPtrOutput

func (NfsFileShareNfsFileShareDefaultsPtrOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext

func (o NfsFileShareNfsFileShareDefaultsPtrOutput) ToNfsFileShareNfsFileShareDefaultsPtrOutputWithContext(ctx context.Context) NfsFileShareNfsFileShareDefaultsPtrOutput

type NfsFileShareOutput

type NfsFileShareOutput struct {
	*pulumi.OutputState
}

func (NfsFileShareOutput) ElementType

func (NfsFileShareOutput) ElementType() reflect.Type

func (NfsFileShareOutput) ToNfsFileShareOutput

func (o NfsFileShareOutput) ToNfsFileShareOutput() NfsFileShareOutput

func (NfsFileShareOutput) ToNfsFileShareOutputWithContext

func (o NfsFileShareOutput) ToNfsFileShareOutputWithContext(ctx context.Context) NfsFileShareOutput

func (NfsFileShareOutput) ToNfsFileSharePtrOutput

func (o NfsFileShareOutput) ToNfsFileSharePtrOutput() NfsFileSharePtrOutput

func (NfsFileShareOutput) ToNfsFileSharePtrOutputWithContext

func (o NfsFileShareOutput) ToNfsFileSharePtrOutputWithContext(ctx context.Context) NfsFileSharePtrOutput

type NfsFileSharePtrInput

type NfsFileSharePtrInput interface {
	pulumi.Input

	ToNfsFileSharePtrOutput() NfsFileSharePtrOutput
	ToNfsFileSharePtrOutputWithContext(ctx context.Context) NfsFileSharePtrOutput
}

type NfsFileSharePtrOutput

type NfsFileSharePtrOutput struct {
	*pulumi.OutputState
}

func (NfsFileSharePtrOutput) ElementType

func (NfsFileSharePtrOutput) ElementType() reflect.Type

func (NfsFileSharePtrOutput) ToNfsFileSharePtrOutput

func (o NfsFileSharePtrOutput) ToNfsFileSharePtrOutput() NfsFileSharePtrOutput

func (NfsFileSharePtrOutput) ToNfsFileSharePtrOutputWithContext

func (o NfsFileSharePtrOutput) ToNfsFileSharePtrOutputWithContext(ctx context.Context) NfsFileSharePtrOutput

type NfsFileShareState

type NfsFileShareState struct {
	// Amazon Resource Name (ARN) of the NFS File Share.
	Arn pulumi.StringPtrInput
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes NfsFileShareCacheAttributesPtrInput
	// The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items.
	ClientLists pulumi.StringArrayInput
	// The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`. Valid values: `S3_STANDARD`, `S3_STANDARD_IA`, `S3_ONEZONE_IA`.
	DefaultStorageClass pulumi.StringPtrInput
	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
	FileShareName pulumi.StringPtrInput
	// ID of the NFS File Share.
	FileshareId pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the file gateway.
	GatewayArn pulumi.StringPtrInput
	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
	GuessMimeTypeEnabled pulumi.BoolPtrInput
	// Boolean value if `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Defaults to `false`.
	KmsEncrypted pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
	KmsKeyArn pulumi.StringPtrInput
	// The ARN of the backed storage used for storing file data.
	LocationArn pulumi.StringPtrInput
	// Nested argument with file share default values. More information below. see NFS File Share Defaults for more details.
	NfsFileShareDefaults NfsFileShareNfsFileShareDefaultsPtrInput
	// The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
	NotificationPolicy pulumi.StringPtrInput
	// Access Control List permission for S3 bucket objects. Defaults to `private`.
	ObjectAcl pulumi.StringPtrInput
	// File share path used by the NFS client to identify the mount point.
	Path pulumi.StringPtrInput
	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
	ReadOnly pulumi.BoolPtrInput
	// Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to `true` if you want the requester to pay instead of the bucket owner. Defaults to `false`.
	RequesterPays pulumi.BoolPtrInput
	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
	RoleArn pulumi.StringPtrInput
	// Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user)
	Squash pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (NfsFileShareState) ElementType

func (NfsFileShareState) ElementType() reflect.Type

type SmbFileShare

type SmbFileShare struct {
	pulumi.CustomResourceState

	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
	AccessBasedEnumeration pulumi.BoolPtrOutput `pulumi:"accessBasedEnumeration"`
	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	AdminUserLists pulumi.StringArrayOutput `pulumi:"adminUserLists"`
	// Amazon Resource Name (ARN) of the SMB File Share.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
	AuditDestinationArn pulumi.StringPtrOutput `pulumi:"auditDestinationArn"`
	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
	Authentication pulumi.StringPtrOutput `pulumi:"authentication"`
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes SmbFileShareCacheAttributesPtrOutput `pulumi:"cacheAttributes"`
	// The case of an object name in an Amazon S3 bucket. For `ClientSpecified`, the client determines the case sensitivity. For `CaseSensitive`, the gateway determines the case sensitivity. The default value is `ClientSpecified`.
	CaseSensitivity pulumi.StringPtrOutput `pulumi:"caseSensitivity"`
	// The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`. Valid values: `S3_STANDARD`, `S3_STANDARD_IA`, `S3_ONEZONE_IA`.
	DefaultStorageClass pulumi.StringPtrOutput `pulumi:"defaultStorageClass"`
	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
	FileShareName pulumi.StringOutput `pulumi:"fileShareName"`
	// ID of the SMB File Share.
	FileshareId pulumi.StringOutput `pulumi:"fileshareId"`
	// Amazon Resource Name (ARN) of the file gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
	GuessMimeTypeEnabled pulumi.BoolPtrOutput `pulumi:"guessMimeTypeEnabled"`
	// A list of users in the Active Directory that are not allowed to access the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	InvalidUserLists pulumi.StringArrayOutput `pulumi:"invalidUserLists"`
	// Boolean value if `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Defaults to `false`.
	KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"`
	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
	KmsKeyArn pulumi.StringPtrOutput `pulumi:"kmsKeyArn"`
	// The ARN of the backed storage used for storing file data.
	LocationArn pulumi.StringOutput `pulumi:"locationArn"`
	// The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
	NotificationPolicy pulumi.StringPtrOutput `pulumi:"notificationPolicy"`
	// Access Control List permission for S3 bucket objects. Defaults to `private`.
	ObjectAcl pulumi.StringPtrOutput `pulumi:"objectAcl"`
	// File share path used by the NFS client to identify the mount point.
	Path pulumi.StringOutput `pulumi:"path"`
	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
	ReadOnly pulumi.BoolPtrOutput `pulumi:"readOnly"`
	// Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to `true` if you want the requester to pay instead of the bucket owner. Defaults to `false`.
	RequesterPays pulumi.BoolPtrOutput `pulumi:"requesterPays"`
	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
	// Set this value to `true` to enable ACL (access control list) on the SMB fileshare. Set it to `false` to map file and directory permissions to the POSIX permissions. This setting applies only to `ActiveDirectory` authentication type.
	SmbAclEnabled pulumi.BoolPtrOutput `pulumi:"smbAclEnabled"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// A list of users in the Active Directory that are allowed to access the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	ValidUserLists pulumi.StringArrayOutput `pulumi:"validUserLists"`
}

Manages an AWS Storage Gateway SMB File Share.

## Example Usage ### Active Directory Authentication

> **NOTE:** The gateway must have already joined the Active Directory domain prior to SMB file share creation. e.g. via "SMB Settings" in the AWS Storage Gateway console or `smbActiveDirectorySettings` in the `storagegateway.Gateway` resource.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewSmbFileShare(ctx, "example", &storagegateway.SmbFileShareArgs{
			Authentication: pulumi.String("ActiveDirectory"),
			GatewayArn:     pulumi.Any(aws_storagegateway_gateway.Example.Arn),
			LocationArn:    pulumi.Any(aws_s3_bucket.Example.Arn),
			RoleArn:        pulumi.Any(aws_iam_role.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Guest Authentication

> **NOTE:** The gateway must have already had the SMB guest password set prior to SMB file share creation. e.g. via "SMB Settings" in the AWS Storage Gateway console or `smbGuestPassword` in the `storagegateway.Gateway` resource.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewSmbFileShare(ctx, "example", &storagegateway.SmbFileShareArgs{
			Authentication: pulumi.String("GuestAccess"),
			GatewayArn:     pulumi.Any(aws_storagegateway_gateway.Example.Arn),
			LocationArn:    pulumi.Any(aws_s3_bucket.Example.Arn),
			RoleArn:        pulumi.Any(aws_iam_role.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_smb_file_share` can be imported by using the SMB File Share Amazon Resource Name (ARN), e.g.

```sh

$ pulumi import aws:storagegateway/smbFileShare:SmbFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678

```

func GetSmbFileShare

func GetSmbFileShare(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SmbFileShareState, opts ...pulumi.ResourceOption) (*SmbFileShare, error)

GetSmbFileShare gets an existing SmbFileShare 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 NewSmbFileShare

func NewSmbFileShare(ctx *pulumi.Context,
	name string, args *SmbFileShareArgs, opts ...pulumi.ResourceOption) (*SmbFileShare, error)

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

func (*SmbFileShare) ElementType

func (*SmbFileShare) ElementType() reflect.Type

func (*SmbFileShare) ToSmbFileShareOutput

func (i *SmbFileShare) ToSmbFileShareOutput() SmbFileShareOutput

func (*SmbFileShare) ToSmbFileShareOutputWithContext

func (i *SmbFileShare) ToSmbFileShareOutputWithContext(ctx context.Context) SmbFileShareOutput

func (*SmbFileShare) ToSmbFileSharePtrOutput

func (i *SmbFileShare) ToSmbFileSharePtrOutput() SmbFileSharePtrOutput

func (*SmbFileShare) ToSmbFileSharePtrOutputWithContext

func (i *SmbFileShare) ToSmbFileSharePtrOutputWithContext(ctx context.Context) SmbFileSharePtrOutput

type SmbFileShareArgs

type SmbFileShareArgs struct {
	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
	AccessBasedEnumeration pulumi.BoolPtrInput
	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	AdminUserLists pulumi.StringArrayInput
	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
	AuditDestinationArn pulumi.StringPtrInput
	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
	Authentication pulumi.StringPtrInput
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes SmbFileShareCacheAttributesPtrInput
	// The case of an object name in an Amazon S3 bucket. For `ClientSpecified`, the client determines the case sensitivity. For `CaseSensitive`, the gateway determines the case sensitivity. The default value is `ClientSpecified`.
	CaseSensitivity pulumi.StringPtrInput
	// The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`. Valid values: `S3_STANDARD`, `S3_STANDARD_IA`, `S3_ONEZONE_IA`.
	DefaultStorageClass pulumi.StringPtrInput
	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
	FileShareName pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the file gateway.
	GatewayArn pulumi.StringInput
	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
	GuessMimeTypeEnabled pulumi.BoolPtrInput
	// A list of users in the Active Directory that are not allowed to access the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	InvalidUserLists pulumi.StringArrayInput
	// Boolean value if `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Defaults to `false`.
	KmsEncrypted pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
	KmsKeyArn pulumi.StringPtrInput
	// The ARN of the backed storage used for storing file data.
	LocationArn pulumi.StringInput
	// The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
	NotificationPolicy pulumi.StringPtrInput
	// Access Control List permission for S3 bucket objects. Defaults to `private`.
	ObjectAcl pulumi.StringPtrInput
	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
	ReadOnly pulumi.BoolPtrInput
	// Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to `true` if you want the requester to pay instead of the bucket owner. Defaults to `false`.
	RequesterPays pulumi.BoolPtrInput
	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
	RoleArn pulumi.StringInput
	// Set this value to `true` to enable ACL (access control list) on the SMB fileshare. Set it to `false` to map file and directory permissions to the POSIX permissions. This setting applies only to `ActiveDirectory` authentication type.
	SmbAclEnabled pulumi.BoolPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// A list of users in the Active Directory that are allowed to access the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	ValidUserLists pulumi.StringArrayInput
}

The set of arguments for constructing a SmbFileShare resource.

func (SmbFileShareArgs) ElementType

func (SmbFileShareArgs) ElementType() reflect.Type

type SmbFileShareArray

type SmbFileShareArray []SmbFileShareInput

func (SmbFileShareArray) ElementType

func (SmbFileShareArray) ElementType() reflect.Type

func (SmbFileShareArray) ToSmbFileShareArrayOutput

func (i SmbFileShareArray) ToSmbFileShareArrayOutput() SmbFileShareArrayOutput

func (SmbFileShareArray) ToSmbFileShareArrayOutputWithContext

func (i SmbFileShareArray) ToSmbFileShareArrayOutputWithContext(ctx context.Context) SmbFileShareArrayOutput

type SmbFileShareArrayInput

type SmbFileShareArrayInput interface {
	pulumi.Input

	ToSmbFileShareArrayOutput() SmbFileShareArrayOutput
	ToSmbFileShareArrayOutputWithContext(context.Context) SmbFileShareArrayOutput
}

SmbFileShareArrayInput is an input type that accepts SmbFileShareArray and SmbFileShareArrayOutput values. You can construct a concrete instance of `SmbFileShareArrayInput` via:

SmbFileShareArray{ SmbFileShareArgs{...} }

type SmbFileShareArrayOutput

type SmbFileShareArrayOutput struct{ *pulumi.OutputState }

func (SmbFileShareArrayOutput) ElementType

func (SmbFileShareArrayOutput) ElementType() reflect.Type

func (SmbFileShareArrayOutput) Index

func (SmbFileShareArrayOutput) ToSmbFileShareArrayOutput

func (o SmbFileShareArrayOutput) ToSmbFileShareArrayOutput() SmbFileShareArrayOutput

func (SmbFileShareArrayOutput) ToSmbFileShareArrayOutputWithContext

func (o SmbFileShareArrayOutput) ToSmbFileShareArrayOutputWithContext(ctx context.Context) SmbFileShareArrayOutput

type SmbFileShareCacheAttributes

type SmbFileShareCacheAttributes struct {
	// Refreshes a file share's cache by using Time To Live (TTL).
	// TTL is the length of time since the last refresh after which access to the directory would cause the file gateway
	// to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)
	CacheStaleTimeoutInSeconds *int `pulumi:"cacheStaleTimeoutInSeconds"`
}

type SmbFileShareCacheAttributesArgs

type SmbFileShareCacheAttributesArgs struct {
	// Refreshes a file share's cache by using Time To Live (TTL).
	// TTL is the length of time since the last refresh after which access to the directory would cause the file gateway
	// to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)
	CacheStaleTimeoutInSeconds pulumi.IntPtrInput `pulumi:"cacheStaleTimeoutInSeconds"`
}

func (SmbFileShareCacheAttributesArgs) ElementType

func (SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesOutput

func (i SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesOutput() SmbFileShareCacheAttributesOutput

func (SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesOutputWithContext

func (i SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesOutputWithContext(ctx context.Context) SmbFileShareCacheAttributesOutput

func (SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesPtrOutput

func (i SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesPtrOutput() SmbFileShareCacheAttributesPtrOutput

func (SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesPtrOutputWithContext

func (i SmbFileShareCacheAttributesArgs) ToSmbFileShareCacheAttributesPtrOutputWithContext(ctx context.Context) SmbFileShareCacheAttributesPtrOutput

type SmbFileShareCacheAttributesInput

type SmbFileShareCacheAttributesInput interface {
	pulumi.Input

	ToSmbFileShareCacheAttributesOutput() SmbFileShareCacheAttributesOutput
	ToSmbFileShareCacheAttributesOutputWithContext(context.Context) SmbFileShareCacheAttributesOutput
}

SmbFileShareCacheAttributesInput is an input type that accepts SmbFileShareCacheAttributesArgs and SmbFileShareCacheAttributesOutput values. You can construct a concrete instance of `SmbFileShareCacheAttributesInput` via:

SmbFileShareCacheAttributesArgs{...}

type SmbFileShareCacheAttributesOutput

type SmbFileShareCacheAttributesOutput struct{ *pulumi.OutputState }

func (SmbFileShareCacheAttributesOutput) CacheStaleTimeoutInSeconds

func (o SmbFileShareCacheAttributesOutput) CacheStaleTimeoutInSeconds() pulumi.IntPtrOutput

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length of time since the last refresh after which access to the directory would cause the file gateway to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)

func (SmbFileShareCacheAttributesOutput) ElementType

func (SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesOutput

func (o SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesOutput() SmbFileShareCacheAttributesOutput

func (SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesOutputWithContext

func (o SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesOutputWithContext(ctx context.Context) SmbFileShareCacheAttributesOutput

func (SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesPtrOutput

func (o SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesPtrOutput() SmbFileShareCacheAttributesPtrOutput

func (SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesPtrOutputWithContext

func (o SmbFileShareCacheAttributesOutput) ToSmbFileShareCacheAttributesPtrOutputWithContext(ctx context.Context) SmbFileShareCacheAttributesPtrOutput

type SmbFileShareCacheAttributesPtrInput

type SmbFileShareCacheAttributesPtrInput interface {
	pulumi.Input

	ToSmbFileShareCacheAttributesPtrOutput() SmbFileShareCacheAttributesPtrOutput
	ToSmbFileShareCacheAttributesPtrOutputWithContext(context.Context) SmbFileShareCacheAttributesPtrOutput
}

SmbFileShareCacheAttributesPtrInput is an input type that accepts SmbFileShareCacheAttributesArgs, SmbFileShareCacheAttributesPtr and SmbFileShareCacheAttributesPtrOutput values. You can construct a concrete instance of `SmbFileShareCacheAttributesPtrInput` via:

        SmbFileShareCacheAttributesArgs{...}

or:

        nil

type SmbFileShareCacheAttributesPtrOutput

type SmbFileShareCacheAttributesPtrOutput struct{ *pulumi.OutputState }

func (SmbFileShareCacheAttributesPtrOutput) CacheStaleTimeoutInSeconds

func (o SmbFileShareCacheAttributesPtrOutput) CacheStaleTimeoutInSeconds() pulumi.IntPtrOutput

Refreshes a file share's cache by using Time To Live (TTL). TTL is the length of time since the last refresh after which access to the directory would cause the file gateway to first refresh that directory's contents from the Amazon S3 bucket. Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days)

func (SmbFileShareCacheAttributesPtrOutput) Elem

func (SmbFileShareCacheAttributesPtrOutput) ElementType

func (SmbFileShareCacheAttributesPtrOutput) ToSmbFileShareCacheAttributesPtrOutput

func (o SmbFileShareCacheAttributesPtrOutput) ToSmbFileShareCacheAttributesPtrOutput() SmbFileShareCacheAttributesPtrOutput

func (SmbFileShareCacheAttributesPtrOutput) ToSmbFileShareCacheAttributesPtrOutputWithContext

func (o SmbFileShareCacheAttributesPtrOutput) ToSmbFileShareCacheAttributesPtrOutputWithContext(ctx context.Context) SmbFileShareCacheAttributesPtrOutput

type SmbFileShareInput

type SmbFileShareInput interface {
	pulumi.Input

	ToSmbFileShareOutput() SmbFileShareOutput
	ToSmbFileShareOutputWithContext(ctx context.Context) SmbFileShareOutput
}

type SmbFileShareMap

type SmbFileShareMap map[string]SmbFileShareInput

func (SmbFileShareMap) ElementType

func (SmbFileShareMap) ElementType() reflect.Type

func (SmbFileShareMap) ToSmbFileShareMapOutput

func (i SmbFileShareMap) ToSmbFileShareMapOutput() SmbFileShareMapOutput

func (SmbFileShareMap) ToSmbFileShareMapOutputWithContext

func (i SmbFileShareMap) ToSmbFileShareMapOutputWithContext(ctx context.Context) SmbFileShareMapOutput

type SmbFileShareMapInput

type SmbFileShareMapInput interface {
	pulumi.Input

	ToSmbFileShareMapOutput() SmbFileShareMapOutput
	ToSmbFileShareMapOutputWithContext(context.Context) SmbFileShareMapOutput
}

SmbFileShareMapInput is an input type that accepts SmbFileShareMap and SmbFileShareMapOutput values. You can construct a concrete instance of `SmbFileShareMapInput` via:

SmbFileShareMap{ "key": SmbFileShareArgs{...} }

type SmbFileShareMapOutput

type SmbFileShareMapOutput struct{ *pulumi.OutputState }

func (SmbFileShareMapOutput) ElementType

func (SmbFileShareMapOutput) ElementType() reflect.Type

func (SmbFileShareMapOutput) MapIndex

func (SmbFileShareMapOutput) ToSmbFileShareMapOutput

func (o SmbFileShareMapOutput) ToSmbFileShareMapOutput() SmbFileShareMapOutput

func (SmbFileShareMapOutput) ToSmbFileShareMapOutputWithContext

func (o SmbFileShareMapOutput) ToSmbFileShareMapOutputWithContext(ctx context.Context) SmbFileShareMapOutput

type SmbFileShareOutput

type SmbFileShareOutput struct {
	*pulumi.OutputState
}

func (SmbFileShareOutput) ElementType

func (SmbFileShareOutput) ElementType() reflect.Type

func (SmbFileShareOutput) ToSmbFileShareOutput

func (o SmbFileShareOutput) ToSmbFileShareOutput() SmbFileShareOutput

func (SmbFileShareOutput) ToSmbFileShareOutputWithContext

func (o SmbFileShareOutput) ToSmbFileShareOutputWithContext(ctx context.Context) SmbFileShareOutput

func (SmbFileShareOutput) ToSmbFileSharePtrOutput

func (o SmbFileShareOutput) ToSmbFileSharePtrOutput() SmbFileSharePtrOutput

func (SmbFileShareOutput) ToSmbFileSharePtrOutputWithContext

func (o SmbFileShareOutput) ToSmbFileSharePtrOutputWithContext(ctx context.Context) SmbFileSharePtrOutput

type SmbFileSharePtrInput

type SmbFileSharePtrInput interface {
	pulumi.Input

	ToSmbFileSharePtrOutput() SmbFileSharePtrOutput
	ToSmbFileSharePtrOutputWithContext(ctx context.Context) SmbFileSharePtrOutput
}

type SmbFileSharePtrOutput

type SmbFileSharePtrOutput struct {
	*pulumi.OutputState
}

func (SmbFileSharePtrOutput) ElementType

func (SmbFileSharePtrOutput) ElementType() reflect.Type

func (SmbFileSharePtrOutput) ToSmbFileSharePtrOutput

func (o SmbFileSharePtrOutput) ToSmbFileSharePtrOutput() SmbFileSharePtrOutput

func (SmbFileSharePtrOutput) ToSmbFileSharePtrOutputWithContext

func (o SmbFileSharePtrOutput) ToSmbFileSharePtrOutputWithContext(ctx context.Context) SmbFileSharePtrOutput

type SmbFileShareState

type SmbFileShareState struct {
	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
	AccessBasedEnumeration pulumi.BoolPtrInput
	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	AdminUserLists pulumi.StringArrayInput
	// Amazon Resource Name (ARN) of the SMB File Share.
	Arn pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
	AuditDestinationArn pulumi.StringPtrInput
	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
	Authentication pulumi.StringPtrInput
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes SmbFileShareCacheAttributesPtrInput
	// The case of an object name in an Amazon S3 bucket. For `ClientSpecified`, the client determines the case sensitivity. For `CaseSensitive`, the gateway determines the case sensitivity. The default value is `ClientSpecified`.
	CaseSensitivity pulumi.StringPtrInput
	// The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`. Valid values: `S3_STANDARD`, `S3_STANDARD_IA`, `S3_ONEZONE_IA`.
	DefaultStorageClass pulumi.StringPtrInput
	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
	FileShareName pulumi.StringPtrInput
	// ID of the SMB File Share.
	FileshareId pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the file gateway.
	GatewayArn pulumi.StringPtrInput
	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
	GuessMimeTypeEnabled pulumi.BoolPtrInput
	// A list of users in the Active Directory that are not allowed to access the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	InvalidUserLists pulumi.StringArrayInput
	// Boolean value if `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Defaults to `false`.
	KmsEncrypted pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
	KmsKeyArn pulumi.StringPtrInput
	// The ARN of the backed storage used for storing file data.
	LocationArn pulumi.StringPtrInput
	// The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
	NotificationPolicy pulumi.StringPtrInput
	// Access Control List permission for S3 bucket objects. Defaults to `private`.
	ObjectAcl pulumi.StringPtrInput
	// File share path used by the NFS client to identify the mount point.
	Path pulumi.StringPtrInput
	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
	ReadOnly pulumi.BoolPtrInput
	// Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to `true` if you want the requester to pay instead of the bucket owner. Defaults to `false`.
	RequesterPays pulumi.BoolPtrInput
	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
	RoleArn pulumi.StringPtrInput
	// Set this value to `true` to enable ACL (access control list) on the SMB fileshare. Set it to `false` to map file and directory permissions to the POSIX permissions. This setting applies only to `ActiveDirectory` authentication type.
	SmbAclEnabled pulumi.BoolPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// A list of users in the Active Directory that are allowed to access the file share. Only valid if `authentication` is set to `ActiveDirectory`.
	ValidUserLists pulumi.StringArrayInput
}

func (SmbFileShareState) ElementType

func (SmbFileShareState) ElementType() reflect.Type

type StoredIscsiVolume

type StoredIscsiVolume struct {
	pulumi.CustomResourceState

	// Volume Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether mutual CHAP is enabled for the iSCSI target.
	ChapEnabled pulumi.BoolOutput `pulumi:"chapEnabled"`
	// The unique identifier for the gateway local disk that is configured as a stored volume.
	DiskId pulumi.StringOutput `pulumi:"diskId"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
	// `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
	KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"`
	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`.
	KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"`
	// Logical disk number.
	LunNumber pulumi.IntOutput `pulumi:"lunNumber"`
	// The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
	NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"`
	// The port used to communicate with iSCSI targets.
	NetworkInterfacePort pulumi.IntOutput `pulumi:"networkInterfacePort"`
	// Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
	PreserveExistingData pulumi.BoolOutput `pulumi:"preserveExistingData"`
	// The snapshot ID of the snapshot to restore as the new stored volume. e.g. `snap-1122aabb`.
	SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"`
	// Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Target Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
	TargetArn pulumi.StringOutput `pulumi:"targetArn"`
	// The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
	TargetName pulumi.StringOutput `pulumi:"targetName"`
	// A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway.
	VolumeAttachmentStatus pulumi.StringOutput `pulumi:"volumeAttachmentStatus"`
	// Volume ID, e.g. `vol-12345678`.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
	// The size of the data stored on the volume in bytes.
	VolumeSizeInBytes pulumi.IntOutput `pulumi:"volumeSizeInBytes"`
	// indicates the state of the storage volume.
	VolumeStatus pulumi.StringOutput `pulumi:"volumeStatus"`
	// indicates the type of the volume.
	VolumeType pulumi.StringOutput `pulumi:"volumeType"`
}

Manages an AWS Storage Gateway stored iSCSI volume.

> **NOTE:** The gateway must have a working storage added (e.g. via the `storagegateway.WorkingStorage` resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as `WORKING STORAGE NOT CONFIGURED`.

## Example Usage ### Create Empty Stored iSCSI Volume

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewStoredIscsiVolume(ctx, "example", &storagegateway.StoredIscsiVolumeArgs{
			GatewayArn:           pulumi.Any(aws_storagegateway_cache.Example.Gateway_arn),
			NetworkInterfaceId:   pulumi.Any(aws_instance.Example.Private_ip),
			TargetName:           pulumi.String("example"),
			PreserveExistingData: pulumi.Bool(false),
			DiskId:               pulumi.Any(data.Aws_storagegateway_local_disk.Test.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create Stored iSCSI Volume From Snapshot

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewStoredIscsiVolume(ctx, "example", &storagegateway.StoredIscsiVolumeArgs{
			GatewayArn:           pulumi.Any(aws_storagegateway_cache.Example.Gateway_arn),
			NetworkInterfaceId:   pulumi.Any(aws_instance.Example.Private_ip),
			SnapshotId:           pulumi.Any(aws_ebs_snapshot.Example.Id),
			TargetName:           pulumi.String("example"),
			PreserveExistingData: pulumi.Bool(false),
			DiskId:               pulumi.Any(data.Aws_storagegateway_local_disk.Test.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_stored_iscsi_volume` can be imported by using the volume Amazon Resource Name (ARN), e.g.

```sh

$ pulumi import aws:storagegateway/storedIscsiVolume:StoredIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678

```

func GetStoredIscsiVolume

func GetStoredIscsiVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StoredIscsiVolumeState, opts ...pulumi.ResourceOption) (*StoredIscsiVolume, error)

GetStoredIscsiVolume gets an existing StoredIscsiVolume 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 NewStoredIscsiVolume

func NewStoredIscsiVolume(ctx *pulumi.Context,
	name string, args *StoredIscsiVolumeArgs, opts ...pulumi.ResourceOption) (*StoredIscsiVolume, error)

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

func (*StoredIscsiVolume) ElementType

func (*StoredIscsiVolume) ElementType() reflect.Type

func (*StoredIscsiVolume) ToStoredIscsiVolumeOutput

func (i *StoredIscsiVolume) ToStoredIscsiVolumeOutput() StoredIscsiVolumeOutput

func (*StoredIscsiVolume) ToStoredIscsiVolumeOutputWithContext

func (i *StoredIscsiVolume) ToStoredIscsiVolumeOutputWithContext(ctx context.Context) StoredIscsiVolumeOutput

func (*StoredIscsiVolume) ToStoredIscsiVolumePtrOutput

func (i *StoredIscsiVolume) ToStoredIscsiVolumePtrOutput() StoredIscsiVolumePtrOutput

func (*StoredIscsiVolume) ToStoredIscsiVolumePtrOutputWithContext

func (i *StoredIscsiVolume) ToStoredIscsiVolumePtrOutputWithContext(ctx context.Context) StoredIscsiVolumePtrOutput

type StoredIscsiVolumeArgs

type StoredIscsiVolumeArgs struct {
	// The unique identifier for the gateway local disk that is configured as a stored volume.
	DiskId pulumi.StringInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringInput
	// `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
	KmsEncrypted pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`.
	KmsKey pulumi.StringPtrInput
	// The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
	NetworkInterfaceId pulumi.StringInput
	// Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
	PreserveExistingData pulumi.BoolInput
	// The snapshot ID of the snapshot to restore as the new stored volume. e.g. `snap-1122aabb`.
	SnapshotId pulumi.StringPtrInput
	// Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
	TargetName pulumi.StringInput
}

The set of arguments for constructing a StoredIscsiVolume resource.

func (StoredIscsiVolumeArgs) ElementType

func (StoredIscsiVolumeArgs) ElementType() reflect.Type

type StoredIscsiVolumeArray

type StoredIscsiVolumeArray []StoredIscsiVolumeInput

func (StoredIscsiVolumeArray) ElementType

func (StoredIscsiVolumeArray) ElementType() reflect.Type

func (StoredIscsiVolumeArray) ToStoredIscsiVolumeArrayOutput

func (i StoredIscsiVolumeArray) ToStoredIscsiVolumeArrayOutput() StoredIscsiVolumeArrayOutput

func (StoredIscsiVolumeArray) ToStoredIscsiVolumeArrayOutputWithContext

func (i StoredIscsiVolumeArray) ToStoredIscsiVolumeArrayOutputWithContext(ctx context.Context) StoredIscsiVolumeArrayOutput

type StoredIscsiVolumeArrayInput

type StoredIscsiVolumeArrayInput interface {
	pulumi.Input

	ToStoredIscsiVolumeArrayOutput() StoredIscsiVolumeArrayOutput
	ToStoredIscsiVolumeArrayOutputWithContext(context.Context) StoredIscsiVolumeArrayOutput
}

StoredIscsiVolumeArrayInput is an input type that accepts StoredIscsiVolumeArray and StoredIscsiVolumeArrayOutput values. You can construct a concrete instance of `StoredIscsiVolumeArrayInput` via:

StoredIscsiVolumeArray{ StoredIscsiVolumeArgs{...} }

type StoredIscsiVolumeArrayOutput

type StoredIscsiVolumeArrayOutput struct{ *pulumi.OutputState }

func (StoredIscsiVolumeArrayOutput) ElementType

func (StoredIscsiVolumeArrayOutput) Index

func (StoredIscsiVolumeArrayOutput) ToStoredIscsiVolumeArrayOutput

func (o StoredIscsiVolumeArrayOutput) ToStoredIscsiVolumeArrayOutput() StoredIscsiVolumeArrayOutput

func (StoredIscsiVolumeArrayOutput) ToStoredIscsiVolumeArrayOutputWithContext

func (o StoredIscsiVolumeArrayOutput) ToStoredIscsiVolumeArrayOutputWithContext(ctx context.Context) StoredIscsiVolumeArrayOutput

type StoredIscsiVolumeInput

type StoredIscsiVolumeInput interface {
	pulumi.Input

	ToStoredIscsiVolumeOutput() StoredIscsiVolumeOutput
	ToStoredIscsiVolumeOutputWithContext(ctx context.Context) StoredIscsiVolumeOutput
}

type StoredIscsiVolumeMap

type StoredIscsiVolumeMap map[string]StoredIscsiVolumeInput

func (StoredIscsiVolumeMap) ElementType

func (StoredIscsiVolumeMap) ElementType() reflect.Type

func (StoredIscsiVolumeMap) ToStoredIscsiVolumeMapOutput

func (i StoredIscsiVolumeMap) ToStoredIscsiVolumeMapOutput() StoredIscsiVolumeMapOutput

func (StoredIscsiVolumeMap) ToStoredIscsiVolumeMapOutputWithContext

func (i StoredIscsiVolumeMap) ToStoredIscsiVolumeMapOutputWithContext(ctx context.Context) StoredIscsiVolumeMapOutput

type StoredIscsiVolumeMapInput

type StoredIscsiVolumeMapInput interface {
	pulumi.Input

	ToStoredIscsiVolumeMapOutput() StoredIscsiVolumeMapOutput
	ToStoredIscsiVolumeMapOutputWithContext(context.Context) StoredIscsiVolumeMapOutput
}

StoredIscsiVolumeMapInput is an input type that accepts StoredIscsiVolumeMap and StoredIscsiVolumeMapOutput values. You can construct a concrete instance of `StoredIscsiVolumeMapInput` via:

StoredIscsiVolumeMap{ "key": StoredIscsiVolumeArgs{...} }

type StoredIscsiVolumeMapOutput

type StoredIscsiVolumeMapOutput struct{ *pulumi.OutputState }

func (StoredIscsiVolumeMapOutput) ElementType

func (StoredIscsiVolumeMapOutput) ElementType() reflect.Type

func (StoredIscsiVolumeMapOutput) MapIndex

func (StoredIscsiVolumeMapOutput) ToStoredIscsiVolumeMapOutput

func (o StoredIscsiVolumeMapOutput) ToStoredIscsiVolumeMapOutput() StoredIscsiVolumeMapOutput

func (StoredIscsiVolumeMapOutput) ToStoredIscsiVolumeMapOutputWithContext

func (o StoredIscsiVolumeMapOutput) ToStoredIscsiVolumeMapOutputWithContext(ctx context.Context) StoredIscsiVolumeMapOutput

type StoredIscsiVolumeOutput

type StoredIscsiVolumeOutput struct {
	*pulumi.OutputState
}

func (StoredIscsiVolumeOutput) ElementType

func (StoredIscsiVolumeOutput) ElementType() reflect.Type

func (StoredIscsiVolumeOutput) ToStoredIscsiVolumeOutput

func (o StoredIscsiVolumeOutput) ToStoredIscsiVolumeOutput() StoredIscsiVolumeOutput

func (StoredIscsiVolumeOutput) ToStoredIscsiVolumeOutputWithContext

func (o StoredIscsiVolumeOutput) ToStoredIscsiVolumeOutputWithContext(ctx context.Context) StoredIscsiVolumeOutput

func (StoredIscsiVolumeOutput) ToStoredIscsiVolumePtrOutput

func (o StoredIscsiVolumeOutput) ToStoredIscsiVolumePtrOutput() StoredIscsiVolumePtrOutput

func (StoredIscsiVolumeOutput) ToStoredIscsiVolumePtrOutputWithContext

func (o StoredIscsiVolumeOutput) ToStoredIscsiVolumePtrOutputWithContext(ctx context.Context) StoredIscsiVolumePtrOutput

type StoredIscsiVolumePtrInput

type StoredIscsiVolumePtrInput interface {
	pulumi.Input

	ToStoredIscsiVolumePtrOutput() StoredIscsiVolumePtrOutput
	ToStoredIscsiVolumePtrOutputWithContext(ctx context.Context) StoredIscsiVolumePtrOutput
}

type StoredIscsiVolumePtrOutput

type StoredIscsiVolumePtrOutput struct {
	*pulumi.OutputState
}

func (StoredIscsiVolumePtrOutput) ElementType

func (StoredIscsiVolumePtrOutput) ElementType() reflect.Type

func (StoredIscsiVolumePtrOutput) ToStoredIscsiVolumePtrOutput

func (o StoredIscsiVolumePtrOutput) ToStoredIscsiVolumePtrOutput() StoredIscsiVolumePtrOutput

func (StoredIscsiVolumePtrOutput) ToStoredIscsiVolumePtrOutputWithContext

func (o StoredIscsiVolumePtrOutput) ToStoredIscsiVolumePtrOutputWithContext(ctx context.Context) StoredIscsiVolumePtrOutput

type StoredIscsiVolumeState

type StoredIscsiVolumeState struct {
	// Volume Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
	Arn pulumi.StringPtrInput
	// Whether mutual CHAP is enabled for the iSCSI target.
	ChapEnabled pulumi.BoolPtrInput
	// The unique identifier for the gateway local disk that is configured as a stored volume.
	DiskId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringPtrInput
	// `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
	KmsEncrypted pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is `true`.
	KmsKey pulumi.StringPtrInput
	// Logical disk number.
	LunNumber pulumi.IntPtrInput
	// The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
	NetworkInterfaceId pulumi.StringPtrInput
	// The port used to communicate with iSCSI targets.
	NetworkInterfacePort pulumi.IntPtrInput
	// Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
	PreserveExistingData pulumi.BoolPtrInput
	// The snapshot ID of the snapshot to restore as the new stored volume. e.g. `snap-1122aabb`.
	SnapshotId pulumi.StringPtrInput
	// Key-value mapping of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// Target Amazon Resource Name (ARN), e.g. `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
	TargetArn pulumi.StringPtrInput
	// The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
	TargetName pulumi.StringPtrInput
	// A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway.
	VolumeAttachmentStatus pulumi.StringPtrInput
	// Volume ID, e.g. `vol-12345678`.
	VolumeId pulumi.StringPtrInput
	// The size of the data stored on the volume in bytes.
	VolumeSizeInBytes pulumi.IntPtrInput
	// indicates the state of the storage volume.
	VolumeStatus pulumi.StringPtrInput
	// indicates the type of the volume.
	VolumeType pulumi.StringPtrInput
}

func (StoredIscsiVolumeState) ElementType

func (StoredIscsiVolumeState) ElementType() reflect.Type

type TapePool

type TapePool struct {
	pulumi.CustomResourceState

	// Volume Amazon Resource Name (ARN), e.g. `aws_storagegateway_tape_pool.example arn:aws:storagegateway:us-east-1:123456789012:tapepool/pool-12345678`.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the new custom tape pool.
	PoolName pulumi.StringOutput `pulumi:"poolName"`
	// Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 years (36,500 days). Default value is 0.
	RetentionLockTimeInDays pulumi.IntPtrOutput `pulumi:"retentionLockTimeInDays"`
	// Tape retention lock can be configured in two modes. When configured in governance mode, AWS accounts with specific IAM permissions are authorized to remove the tape retention lock from archived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by any user, including the root AWS account. Possible values are `COMPLIANCE`, `GOVERNANCE`, and `NONE`. Default value is `NONE`.
	RetentionLockType pulumi.StringPtrOutput `pulumi:"retentionLockType"`
	// The storage class that is associated with the new custom pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class that corresponds to the pool. Possible values are `DEEP_ARCHIVE` or `GLACIER`.
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Manages an AWS Storage Gateway Tape Pool.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewTapePool(ctx, "example", &storagegateway.TapePoolArgs{
			PoolName:     pulumi.String("example"),
			StorageClass: pulumi.String("GLACIER"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_tape_pool` can be imported by using the volume Amazon Resource Name (ARN), e.g.

```sh

$ pulumi import aws:storagegateway/tapePool:TapePool example arn:aws:storagegateway:us-east-1:123456789012:tapepool/pool-12345678

```

func GetTapePool

func GetTapePool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TapePoolState, opts ...pulumi.ResourceOption) (*TapePool, error)

GetTapePool gets an existing TapePool 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 NewTapePool

func NewTapePool(ctx *pulumi.Context,
	name string, args *TapePoolArgs, opts ...pulumi.ResourceOption) (*TapePool, error)

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

func (*TapePool) ElementType

func (*TapePool) ElementType() reflect.Type

func (*TapePool) ToTapePoolOutput

func (i *TapePool) ToTapePoolOutput() TapePoolOutput

func (*TapePool) ToTapePoolOutputWithContext

func (i *TapePool) ToTapePoolOutputWithContext(ctx context.Context) TapePoolOutput

func (*TapePool) ToTapePoolPtrOutput

func (i *TapePool) ToTapePoolPtrOutput() TapePoolPtrOutput

func (*TapePool) ToTapePoolPtrOutputWithContext

func (i *TapePool) ToTapePoolPtrOutputWithContext(ctx context.Context) TapePoolPtrOutput

type TapePoolArgs

type TapePoolArgs struct {
	// The name of the new custom tape pool.
	PoolName pulumi.StringInput
	// Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 years (36,500 days). Default value is 0.
	RetentionLockTimeInDays pulumi.IntPtrInput
	// Tape retention lock can be configured in two modes. When configured in governance mode, AWS accounts with specific IAM permissions are authorized to remove the tape retention lock from archived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by any user, including the root AWS account. Possible values are `COMPLIANCE`, `GOVERNANCE`, and `NONE`. Default value is `NONE`.
	RetentionLockType pulumi.StringPtrInput
	// The storage class that is associated with the new custom pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class that corresponds to the pool. Possible values are `DEEP_ARCHIVE` or `GLACIER`.
	StorageClass pulumi.StringInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

The set of arguments for constructing a TapePool resource.

func (TapePoolArgs) ElementType

func (TapePoolArgs) ElementType() reflect.Type

type TapePoolArray

type TapePoolArray []TapePoolInput

func (TapePoolArray) ElementType

func (TapePoolArray) ElementType() reflect.Type

func (TapePoolArray) ToTapePoolArrayOutput

func (i TapePoolArray) ToTapePoolArrayOutput() TapePoolArrayOutput

func (TapePoolArray) ToTapePoolArrayOutputWithContext

func (i TapePoolArray) ToTapePoolArrayOutputWithContext(ctx context.Context) TapePoolArrayOutput

type TapePoolArrayInput

type TapePoolArrayInput interface {
	pulumi.Input

	ToTapePoolArrayOutput() TapePoolArrayOutput
	ToTapePoolArrayOutputWithContext(context.Context) TapePoolArrayOutput
}

TapePoolArrayInput is an input type that accepts TapePoolArray and TapePoolArrayOutput values. You can construct a concrete instance of `TapePoolArrayInput` via:

TapePoolArray{ TapePoolArgs{...} }

type TapePoolArrayOutput

type TapePoolArrayOutput struct{ *pulumi.OutputState }

func (TapePoolArrayOutput) ElementType

func (TapePoolArrayOutput) ElementType() reflect.Type

func (TapePoolArrayOutput) Index

func (TapePoolArrayOutput) ToTapePoolArrayOutput

func (o TapePoolArrayOutput) ToTapePoolArrayOutput() TapePoolArrayOutput

func (TapePoolArrayOutput) ToTapePoolArrayOutputWithContext

func (o TapePoolArrayOutput) ToTapePoolArrayOutputWithContext(ctx context.Context) TapePoolArrayOutput

type TapePoolInput

type TapePoolInput interface {
	pulumi.Input

	ToTapePoolOutput() TapePoolOutput
	ToTapePoolOutputWithContext(ctx context.Context) TapePoolOutput
}

type TapePoolMap

type TapePoolMap map[string]TapePoolInput

func (TapePoolMap) ElementType

func (TapePoolMap) ElementType() reflect.Type

func (TapePoolMap) ToTapePoolMapOutput

func (i TapePoolMap) ToTapePoolMapOutput() TapePoolMapOutput

func (TapePoolMap) ToTapePoolMapOutputWithContext

func (i TapePoolMap) ToTapePoolMapOutputWithContext(ctx context.Context) TapePoolMapOutput

type TapePoolMapInput

type TapePoolMapInput interface {
	pulumi.Input

	ToTapePoolMapOutput() TapePoolMapOutput
	ToTapePoolMapOutputWithContext(context.Context) TapePoolMapOutput
}

TapePoolMapInput is an input type that accepts TapePoolMap and TapePoolMapOutput values. You can construct a concrete instance of `TapePoolMapInput` via:

TapePoolMap{ "key": TapePoolArgs{...} }

type TapePoolMapOutput

type TapePoolMapOutput struct{ *pulumi.OutputState }

func (TapePoolMapOutput) ElementType

func (TapePoolMapOutput) ElementType() reflect.Type

func (TapePoolMapOutput) MapIndex

func (TapePoolMapOutput) ToTapePoolMapOutput

func (o TapePoolMapOutput) ToTapePoolMapOutput() TapePoolMapOutput

func (TapePoolMapOutput) ToTapePoolMapOutputWithContext

func (o TapePoolMapOutput) ToTapePoolMapOutputWithContext(ctx context.Context) TapePoolMapOutput

type TapePoolOutput

type TapePoolOutput struct {
	*pulumi.OutputState
}

func (TapePoolOutput) ElementType

func (TapePoolOutput) ElementType() reflect.Type

func (TapePoolOutput) ToTapePoolOutput

func (o TapePoolOutput) ToTapePoolOutput() TapePoolOutput

func (TapePoolOutput) ToTapePoolOutputWithContext

func (o TapePoolOutput) ToTapePoolOutputWithContext(ctx context.Context) TapePoolOutput

func (TapePoolOutput) ToTapePoolPtrOutput

func (o TapePoolOutput) ToTapePoolPtrOutput() TapePoolPtrOutput

func (TapePoolOutput) ToTapePoolPtrOutputWithContext

func (o TapePoolOutput) ToTapePoolPtrOutputWithContext(ctx context.Context) TapePoolPtrOutput

type TapePoolPtrInput

type TapePoolPtrInput interface {
	pulumi.Input

	ToTapePoolPtrOutput() TapePoolPtrOutput
	ToTapePoolPtrOutputWithContext(ctx context.Context) TapePoolPtrOutput
}

type TapePoolPtrOutput

type TapePoolPtrOutput struct {
	*pulumi.OutputState
}

func (TapePoolPtrOutput) ElementType

func (TapePoolPtrOutput) ElementType() reflect.Type

func (TapePoolPtrOutput) ToTapePoolPtrOutput

func (o TapePoolPtrOutput) ToTapePoolPtrOutput() TapePoolPtrOutput

func (TapePoolPtrOutput) ToTapePoolPtrOutputWithContext

func (o TapePoolPtrOutput) ToTapePoolPtrOutputWithContext(ctx context.Context) TapePoolPtrOutput

type TapePoolState

type TapePoolState struct {
	// Volume Amazon Resource Name (ARN), e.g. `aws_storagegateway_tape_pool.example arn:aws:storagegateway:us-east-1:123456789012:tapepool/pool-12345678`.
	Arn pulumi.StringPtrInput
	// The name of the new custom tape pool.
	PoolName pulumi.StringPtrInput
	// Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 years (36,500 days). Default value is 0.
	RetentionLockTimeInDays pulumi.IntPtrInput
	// Tape retention lock can be configured in two modes. When configured in governance mode, AWS accounts with specific IAM permissions are authorized to remove the tape retention lock from archived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by any user, including the root AWS account. Possible values are `COMPLIANCE`, `GOVERNANCE`, and `NONE`. Default value is `NONE`.
	RetentionLockType pulumi.StringPtrInput
	// The storage class that is associated with the new custom pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class that corresponds to the pool. Possible values are `DEEP_ARCHIVE` or `GLACIER`.
	StorageClass pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (TapePoolState) ElementType

func (TapePoolState) ElementType() reflect.Type

type UploadBuffer

type UploadBuffer struct {
	pulumi.CustomResourceState

	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringOutput `pulumi:"diskId"`
	// Local disk path. For example, `/dev/nvme1n1`.
	DiskPath pulumi.StringOutput `pulumi:"diskPath"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
}

Manages an AWS Storage Gateway upload buffer.

> **NOTE:** The Storage Gateway API provides no method to remove an upload buffer disk. Destroying this resource does not perform any Storage Gateway actions.

## Example Usage ### Cached and VTL Gateway Type

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := aws_volume_attachment.Test.Device_name
		testLocalDisk, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{
			DiskNode:   &opt0,
			GatewayArn: aws_storagegateway_gateway.Test.Arn,
		}, nil)
		if err != nil {
			return err
		}
		_, err = storagegateway.NewUploadBuffer(ctx, "testUploadBuffer", &storagegateway.UploadBufferArgs{
			DiskPath:   pulumi.String(testLocalDisk.DiskPath),
			GatewayArn: pulumi.Any(aws_storagegateway_gateway.Test.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Stored Gateway Type

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := aws_volume_attachment.Test.Device_name
		_, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{
			DiskNode:   &opt0,
			GatewayArn: aws_storagegateway_gateway.Test.Arn,
		}, nil)
		if err != nil {
			return err
		}
		_, err = storagegateway.NewUploadBuffer(ctx, "example", &storagegateway.UploadBufferArgs{
			DiskId:     pulumi.Any(data.Aws_storagegateway_local_disk.Example.Id),
			GatewayArn: pulumi.Any(aws_storagegateway_gateway.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_upload_buffer` can be imported by using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`), e.g.

```sh

$ pulumi import aws:storagegateway/uploadBuffer:UploadBuffer example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0

```

func GetUploadBuffer

func GetUploadBuffer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UploadBufferState, opts ...pulumi.ResourceOption) (*UploadBuffer, error)

GetUploadBuffer gets an existing UploadBuffer 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 NewUploadBuffer

func NewUploadBuffer(ctx *pulumi.Context,
	name string, args *UploadBufferArgs, opts ...pulumi.ResourceOption) (*UploadBuffer, error)

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

func (*UploadBuffer) ElementType

func (*UploadBuffer) ElementType() reflect.Type

func (*UploadBuffer) ToUploadBufferOutput

func (i *UploadBuffer) ToUploadBufferOutput() UploadBufferOutput

func (*UploadBuffer) ToUploadBufferOutputWithContext

func (i *UploadBuffer) ToUploadBufferOutputWithContext(ctx context.Context) UploadBufferOutput

func (*UploadBuffer) ToUploadBufferPtrOutput

func (i *UploadBuffer) ToUploadBufferPtrOutput() UploadBufferPtrOutput

func (*UploadBuffer) ToUploadBufferPtrOutputWithContext

func (i *UploadBuffer) ToUploadBufferPtrOutputWithContext(ctx context.Context) UploadBufferPtrOutput

type UploadBufferArgs

type UploadBufferArgs struct {
	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringPtrInput
	// Local disk path. For example, `/dev/nvme1n1`.
	DiskPath pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringInput
}

The set of arguments for constructing a UploadBuffer resource.

func (UploadBufferArgs) ElementType

func (UploadBufferArgs) ElementType() reflect.Type

type UploadBufferArray

type UploadBufferArray []UploadBufferInput

func (UploadBufferArray) ElementType

func (UploadBufferArray) ElementType() reflect.Type

func (UploadBufferArray) ToUploadBufferArrayOutput

func (i UploadBufferArray) ToUploadBufferArrayOutput() UploadBufferArrayOutput

func (UploadBufferArray) ToUploadBufferArrayOutputWithContext

func (i UploadBufferArray) ToUploadBufferArrayOutputWithContext(ctx context.Context) UploadBufferArrayOutput

type UploadBufferArrayInput

type UploadBufferArrayInput interface {
	pulumi.Input

	ToUploadBufferArrayOutput() UploadBufferArrayOutput
	ToUploadBufferArrayOutputWithContext(context.Context) UploadBufferArrayOutput
}

UploadBufferArrayInput is an input type that accepts UploadBufferArray and UploadBufferArrayOutput values. You can construct a concrete instance of `UploadBufferArrayInput` via:

UploadBufferArray{ UploadBufferArgs{...} }

type UploadBufferArrayOutput

type UploadBufferArrayOutput struct{ *pulumi.OutputState }

func (UploadBufferArrayOutput) ElementType

func (UploadBufferArrayOutput) ElementType() reflect.Type

func (UploadBufferArrayOutput) Index

func (UploadBufferArrayOutput) ToUploadBufferArrayOutput

func (o UploadBufferArrayOutput) ToUploadBufferArrayOutput() UploadBufferArrayOutput

func (UploadBufferArrayOutput) ToUploadBufferArrayOutputWithContext

func (o UploadBufferArrayOutput) ToUploadBufferArrayOutputWithContext(ctx context.Context) UploadBufferArrayOutput

type UploadBufferInput

type UploadBufferInput interface {
	pulumi.Input

	ToUploadBufferOutput() UploadBufferOutput
	ToUploadBufferOutputWithContext(ctx context.Context) UploadBufferOutput
}

type UploadBufferMap

type UploadBufferMap map[string]UploadBufferInput

func (UploadBufferMap) ElementType

func (UploadBufferMap) ElementType() reflect.Type

func (UploadBufferMap) ToUploadBufferMapOutput

func (i UploadBufferMap) ToUploadBufferMapOutput() UploadBufferMapOutput

func (UploadBufferMap) ToUploadBufferMapOutputWithContext

func (i UploadBufferMap) ToUploadBufferMapOutputWithContext(ctx context.Context) UploadBufferMapOutput

type UploadBufferMapInput

type UploadBufferMapInput interface {
	pulumi.Input

	ToUploadBufferMapOutput() UploadBufferMapOutput
	ToUploadBufferMapOutputWithContext(context.Context) UploadBufferMapOutput
}

UploadBufferMapInput is an input type that accepts UploadBufferMap and UploadBufferMapOutput values. You can construct a concrete instance of `UploadBufferMapInput` via:

UploadBufferMap{ "key": UploadBufferArgs{...} }

type UploadBufferMapOutput

type UploadBufferMapOutput struct{ *pulumi.OutputState }

func (UploadBufferMapOutput) ElementType

func (UploadBufferMapOutput) ElementType() reflect.Type

func (UploadBufferMapOutput) MapIndex

func (UploadBufferMapOutput) ToUploadBufferMapOutput

func (o UploadBufferMapOutput) ToUploadBufferMapOutput() UploadBufferMapOutput

func (UploadBufferMapOutput) ToUploadBufferMapOutputWithContext

func (o UploadBufferMapOutput) ToUploadBufferMapOutputWithContext(ctx context.Context) UploadBufferMapOutput

type UploadBufferOutput

type UploadBufferOutput struct {
	*pulumi.OutputState
}

func (UploadBufferOutput) ElementType

func (UploadBufferOutput) ElementType() reflect.Type

func (UploadBufferOutput) ToUploadBufferOutput

func (o UploadBufferOutput) ToUploadBufferOutput() UploadBufferOutput

func (UploadBufferOutput) ToUploadBufferOutputWithContext

func (o UploadBufferOutput) ToUploadBufferOutputWithContext(ctx context.Context) UploadBufferOutput

func (UploadBufferOutput) ToUploadBufferPtrOutput

func (o UploadBufferOutput) ToUploadBufferPtrOutput() UploadBufferPtrOutput

func (UploadBufferOutput) ToUploadBufferPtrOutputWithContext

func (o UploadBufferOutput) ToUploadBufferPtrOutputWithContext(ctx context.Context) UploadBufferPtrOutput

type UploadBufferPtrInput

type UploadBufferPtrInput interface {
	pulumi.Input

	ToUploadBufferPtrOutput() UploadBufferPtrOutput
	ToUploadBufferPtrOutputWithContext(ctx context.Context) UploadBufferPtrOutput
}

type UploadBufferPtrOutput

type UploadBufferPtrOutput struct {
	*pulumi.OutputState
}

func (UploadBufferPtrOutput) ElementType

func (UploadBufferPtrOutput) ElementType() reflect.Type

func (UploadBufferPtrOutput) ToUploadBufferPtrOutput

func (o UploadBufferPtrOutput) ToUploadBufferPtrOutput() UploadBufferPtrOutput

func (UploadBufferPtrOutput) ToUploadBufferPtrOutputWithContext

func (o UploadBufferPtrOutput) ToUploadBufferPtrOutputWithContext(ctx context.Context) UploadBufferPtrOutput

type UploadBufferState

type UploadBufferState struct {
	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringPtrInput
	// Local disk path. For example, `/dev/nvme1n1`.
	DiskPath pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringPtrInput
}

func (UploadBufferState) ElementType

func (UploadBufferState) ElementType() reflect.Type

type WorkingStorage

type WorkingStorage struct {
	pulumi.CustomResourceState

	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringOutput `pulumi:"diskId"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
}

Manages an AWS Storage Gateway working storage.

> **NOTE:** The Storage Gateway API provides no method to remove a working storage disk. Destroying this resource does not perform any Storage Gateway actions.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/storagegateway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storagegateway.NewWorkingStorage(ctx, "example", &storagegateway.WorkingStorageArgs{
			DiskId:     pulumi.Any(data.Aws_storagegateway_local_disk.Example.Id),
			GatewayArn: pulumi.Any(aws_storagegateway_gateway.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_working_storage` can be imported by using the gateway Amazon Resource Name (ARN) and local disk identifier separated with a colon (`:`), e.g.

```sh

$ pulumi import aws:storagegateway/workingStorage:WorkingStorage example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678:pci-0000:03:00.0-scsi-0:0:0:0

```

func GetWorkingStorage

func GetWorkingStorage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkingStorageState, opts ...pulumi.ResourceOption) (*WorkingStorage, error)

GetWorkingStorage gets an existing WorkingStorage 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 NewWorkingStorage

func NewWorkingStorage(ctx *pulumi.Context,
	name string, args *WorkingStorageArgs, opts ...pulumi.ResourceOption) (*WorkingStorage, error)

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

func (*WorkingStorage) ElementType

func (*WorkingStorage) ElementType() reflect.Type

func (*WorkingStorage) ToWorkingStorageOutput

func (i *WorkingStorage) ToWorkingStorageOutput() WorkingStorageOutput

func (*WorkingStorage) ToWorkingStorageOutputWithContext

func (i *WorkingStorage) ToWorkingStorageOutputWithContext(ctx context.Context) WorkingStorageOutput

func (*WorkingStorage) ToWorkingStoragePtrOutput

func (i *WorkingStorage) ToWorkingStoragePtrOutput() WorkingStoragePtrOutput

func (*WorkingStorage) ToWorkingStoragePtrOutputWithContext

func (i *WorkingStorage) ToWorkingStoragePtrOutputWithContext(ctx context.Context) WorkingStoragePtrOutput

type WorkingStorageArgs

type WorkingStorageArgs struct {
	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringInput
}

The set of arguments for constructing a WorkingStorage resource.

func (WorkingStorageArgs) ElementType

func (WorkingStorageArgs) ElementType() reflect.Type

type WorkingStorageArray

type WorkingStorageArray []WorkingStorageInput

func (WorkingStorageArray) ElementType

func (WorkingStorageArray) ElementType() reflect.Type

func (WorkingStorageArray) ToWorkingStorageArrayOutput

func (i WorkingStorageArray) ToWorkingStorageArrayOutput() WorkingStorageArrayOutput

func (WorkingStorageArray) ToWorkingStorageArrayOutputWithContext

func (i WorkingStorageArray) ToWorkingStorageArrayOutputWithContext(ctx context.Context) WorkingStorageArrayOutput

type WorkingStorageArrayInput

type WorkingStorageArrayInput interface {
	pulumi.Input

	ToWorkingStorageArrayOutput() WorkingStorageArrayOutput
	ToWorkingStorageArrayOutputWithContext(context.Context) WorkingStorageArrayOutput
}

WorkingStorageArrayInput is an input type that accepts WorkingStorageArray and WorkingStorageArrayOutput values. You can construct a concrete instance of `WorkingStorageArrayInput` via:

WorkingStorageArray{ WorkingStorageArgs{...} }

type WorkingStorageArrayOutput

type WorkingStorageArrayOutput struct{ *pulumi.OutputState }

func (WorkingStorageArrayOutput) ElementType

func (WorkingStorageArrayOutput) ElementType() reflect.Type

func (WorkingStorageArrayOutput) Index

func (WorkingStorageArrayOutput) ToWorkingStorageArrayOutput

func (o WorkingStorageArrayOutput) ToWorkingStorageArrayOutput() WorkingStorageArrayOutput

func (WorkingStorageArrayOutput) ToWorkingStorageArrayOutputWithContext

func (o WorkingStorageArrayOutput) ToWorkingStorageArrayOutputWithContext(ctx context.Context) WorkingStorageArrayOutput

type WorkingStorageInput

type WorkingStorageInput interface {
	pulumi.Input

	ToWorkingStorageOutput() WorkingStorageOutput
	ToWorkingStorageOutputWithContext(ctx context.Context) WorkingStorageOutput
}

type WorkingStorageMap

type WorkingStorageMap map[string]WorkingStorageInput

func (WorkingStorageMap) ElementType

func (WorkingStorageMap) ElementType() reflect.Type

func (WorkingStorageMap) ToWorkingStorageMapOutput

func (i WorkingStorageMap) ToWorkingStorageMapOutput() WorkingStorageMapOutput

func (WorkingStorageMap) ToWorkingStorageMapOutputWithContext

func (i WorkingStorageMap) ToWorkingStorageMapOutputWithContext(ctx context.Context) WorkingStorageMapOutput

type WorkingStorageMapInput

type WorkingStorageMapInput interface {
	pulumi.Input

	ToWorkingStorageMapOutput() WorkingStorageMapOutput
	ToWorkingStorageMapOutputWithContext(context.Context) WorkingStorageMapOutput
}

WorkingStorageMapInput is an input type that accepts WorkingStorageMap and WorkingStorageMapOutput values. You can construct a concrete instance of `WorkingStorageMapInput` via:

WorkingStorageMap{ "key": WorkingStorageArgs{...} }

type WorkingStorageMapOutput

type WorkingStorageMapOutput struct{ *pulumi.OutputState }

func (WorkingStorageMapOutput) ElementType

func (WorkingStorageMapOutput) ElementType() reflect.Type

func (WorkingStorageMapOutput) MapIndex

func (WorkingStorageMapOutput) ToWorkingStorageMapOutput

func (o WorkingStorageMapOutput) ToWorkingStorageMapOutput() WorkingStorageMapOutput

func (WorkingStorageMapOutput) ToWorkingStorageMapOutputWithContext

func (o WorkingStorageMapOutput) ToWorkingStorageMapOutputWithContext(ctx context.Context) WorkingStorageMapOutput

type WorkingStorageOutput

type WorkingStorageOutput struct {
	*pulumi.OutputState
}

func (WorkingStorageOutput) ElementType

func (WorkingStorageOutput) ElementType() reflect.Type

func (WorkingStorageOutput) ToWorkingStorageOutput

func (o WorkingStorageOutput) ToWorkingStorageOutput() WorkingStorageOutput

func (WorkingStorageOutput) ToWorkingStorageOutputWithContext

func (o WorkingStorageOutput) ToWorkingStorageOutputWithContext(ctx context.Context) WorkingStorageOutput

func (WorkingStorageOutput) ToWorkingStoragePtrOutput

func (o WorkingStorageOutput) ToWorkingStoragePtrOutput() WorkingStoragePtrOutput

func (WorkingStorageOutput) ToWorkingStoragePtrOutputWithContext

func (o WorkingStorageOutput) ToWorkingStoragePtrOutputWithContext(ctx context.Context) WorkingStoragePtrOutput

type WorkingStoragePtrInput

type WorkingStoragePtrInput interface {
	pulumi.Input

	ToWorkingStoragePtrOutput() WorkingStoragePtrOutput
	ToWorkingStoragePtrOutputWithContext(ctx context.Context) WorkingStoragePtrOutput
}

type WorkingStoragePtrOutput

type WorkingStoragePtrOutput struct {
	*pulumi.OutputState
}

func (WorkingStoragePtrOutput) ElementType

func (WorkingStoragePtrOutput) ElementType() reflect.Type

func (WorkingStoragePtrOutput) ToWorkingStoragePtrOutput

func (o WorkingStoragePtrOutput) ToWorkingStoragePtrOutput() WorkingStoragePtrOutput

func (WorkingStoragePtrOutput) ToWorkingStoragePtrOutputWithContext

func (o WorkingStoragePtrOutput) ToWorkingStoragePtrOutputWithContext(ctx context.Context) WorkingStoragePtrOutput

type WorkingStorageState

type WorkingStorageState struct {
	// Local disk identifier. For example, `pci-0000:03:00.0-scsi-0:0:0:0`.
	DiskId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringPtrInput
}

func (WorkingStorageState) ElementType

func (WorkingStorageState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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