storagegateway

package
v4.38.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2022 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

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

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 volumeE.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 `defaultTags` configuration block.
	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:  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

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 volumeE.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
	// 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

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 volumeE.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 `defaultTags` configuration block.
	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 FileSystemAssociation added in v4.15.0

type FileSystemAssociation struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the newly created file system association.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
	AuditDestinationArn pulumi.StringPtrOutput `pulumi:"auditDestinationArn"`
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes FileSystemAssociationCacheAttributesPtrOutput `pulumi:"cacheAttributes"`
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
	LocationArn pulumi.StringOutput `pulumi:"locationArn"`
	// The password of the user credential.
	Password pulumi.StringOutput `pulumi:"password"`
	// 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 `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
	Username pulumi.StringOutput `pulumi:"username"`
}

Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the file shares on the Amazon FSx file system are available for access through the gateway. This operation only supports the FSx File Gateway type.

[FSx File Gateway requirements](https://docs.aws.amazon.com/filegateway/latest/filefsxw/Requirements.html).

## 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.NewFileSystemAssociation(ctx, "example", &storagegateway.FileSystemAssociationArgs{
			GatewayArn:          pulumi.Any(aws_storagegateway_gateway.Example.Arn),
			LocationArn:         pulumi.Any(aws_fsx_windows_file_system.Example.Arn),
			Username:            pulumi.String("Admin"),
			Password:            pulumi.String("avoid-plaintext-passwords"),
			AuditDestinationArn: pulumi.Any(aws_s3_bucket.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Required Services Example

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/fsx"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ssm"
"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 {
		awsServiceStoragegatewayAmiFILES3Latest, err := ssm.LookupParameter(ctx, &ssm.LookupParameterArgs{
			Name: "/aws/service/storagegateway/ami/FILE_S3/latest",
		}, nil)
		if err != nil {
			return err
		}
		testInstance, err := ec2.NewInstance(ctx, "testInstance", &ec2.InstanceArgs{
			Ami:                      pulumi.String(awsServiceStoragegatewayAmiFILES3Latest.Value),
			AssociatePublicIpAddress: pulumi.Bool(true),
			InstanceType:             pulumi.Any(data.Aws_ec2_instance_type_offering.Available.Instance_type),
			VpcSecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Test.Id),
			},
			SubnetId: pulumi.Any(aws_subnet.Test[0].Id),
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_route.Test,
			aws_vpc_dhcp_options_association.Test,
		}))
		if err != nil {
			return err
		}
		testGateway, err := storagegateway.NewGateway(ctx, "testGateway", &storagegateway.GatewayArgs{
			GatewayIpAddress: testInstance.PublicIp,
			GatewayName:      pulumi.String("test-sgw"),
			GatewayTimezone:  pulumi.String("GMT"),
			GatewayType:      pulumi.String("FILE_FSX_SMB"),
			SmbActiveDirectorySettings: &storagegateway.GatewaySmbActiveDirectorySettingsArgs{
				DomainName: pulumi.Any(aws_directory_service_directory.Test.Name),
				Password:   pulumi.Any(aws_directory_service_directory.Test.Password),
				Username:   pulumi.String("Admin"),
			},
		})
		if err != nil {
			return err
		}
		testWindowsFileSystem, err := fsx.NewWindowsFileSystem(ctx, "testWindowsFileSystem", &fsx.WindowsFileSystemArgs{
			ActiveDirectoryId: pulumi.Any(aws_directory_service_directory.Test.Id),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(aws_security_group.Test.Id),
			},
			SkipFinalBackup: pulumi.Bool(true),
			StorageCapacity: pulumi.Int(32),
			SubnetIds: pulumi.StringArray{
				pulumi.Any(aws_subnet.Test[0].Id),
			},
			ThroughputCapacity: pulumi.Int(8),
		})
		if err != nil {
			return err
		}
		_, err = storagegateway.NewFileSystemAssociation(ctx, "fsx", &storagegateway.FileSystemAssociationArgs{
			GatewayArn:  testGateway.Arn,
			LocationArn: testWindowsFileSystem.Arn,
			Username:    pulumi.String("Admin"),
			Password:    pulumi.Any(aws_directory_service_directory.Test.Password),
			CacheAttributes: &storagegateway.FileSystemAssociationCacheAttributesArgs{
				CacheStaleTimeoutInSeconds: pulumi.Int(400),
			},
			AuditDestinationArn: pulumi.Any(aws_cloudwatch_log_group.Test.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_storagegateway_file_system_association` can be imported by using the FSx file system association Amazon Resource Name (ARN), e.g.,

```sh

$ pulumi import aws:storagegateway/fileSystemAssociation:FileSystemAssociation example arn:aws:storagegateway:us-east-1:123456789012:fs-association/fsa-0DA347732FDB40125

```

func GetFileSystemAssociation added in v4.15.0

func GetFileSystemAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FileSystemAssociationState, opts ...pulumi.ResourceOption) (*FileSystemAssociation, error)

GetFileSystemAssociation gets an existing FileSystemAssociation 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 NewFileSystemAssociation added in v4.15.0

func NewFileSystemAssociation(ctx *pulumi.Context,
	name string, args *FileSystemAssociationArgs, opts ...pulumi.ResourceOption) (*FileSystemAssociation, error)

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

func (*FileSystemAssociation) ElementType added in v4.15.0

func (*FileSystemAssociation) ElementType() reflect.Type

func (*FileSystemAssociation) ToFileSystemAssociationOutput added in v4.15.0

func (i *FileSystemAssociation) ToFileSystemAssociationOutput() FileSystemAssociationOutput

func (*FileSystemAssociation) ToFileSystemAssociationOutputWithContext added in v4.15.0

func (i *FileSystemAssociation) ToFileSystemAssociationOutputWithContext(ctx context.Context) FileSystemAssociationOutput

type FileSystemAssociationArgs added in v4.15.0

type FileSystemAssociationArgs struct {
	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
	AuditDestinationArn pulumi.StringPtrInput
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes FileSystemAssociationCacheAttributesPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringInput
	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
	LocationArn pulumi.StringInput
	// The password of the user credential.
	Password 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
	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
	Username pulumi.StringInput
}

The set of arguments for constructing a FileSystemAssociation resource.

func (FileSystemAssociationArgs) ElementType added in v4.15.0

func (FileSystemAssociationArgs) ElementType() reflect.Type

type FileSystemAssociationArray added in v4.15.0

type FileSystemAssociationArray []FileSystemAssociationInput

func (FileSystemAssociationArray) ElementType added in v4.15.0

func (FileSystemAssociationArray) ElementType() reflect.Type

func (FileSystemAssociationArray) ToFileSystemAssociationArrayOutput added in v4.15.0

func (i FileSystemAssociationArray) ToFileSystemAssociationArrayOutput() FileSystemAssociationArrayOutput

func (FileSystemAssociationArray) ToFileSystemAssociationArrayOutputWithContext added in v4.15.0

func (i FileSystemAssociationArray) ToFileSystemAssociationArrayOutputWithContext(ctx context.Context) FileSystemAssociationArrayOutput

type FileSystemAssociationArrayInput added in v4.15.0

type FileSystemAssociationArrayInput interface {
	pulumi.Input

	ToFileSystemAssociationArrayOutput() FileSystemAssociationArrayOutput
	ToFileSystemAssociationArrayOutputWithContext(context.Context) FileSystemAssociationArrayOutput
}

FileSystemAssociationArrayInput is an input type that accepts FileSystemAssociationArray and FileSystemAssociationArrayOutput values. You can construct a concrete instance of `FileSystemAssociationArrayInput` via:

FileSystemAssociationArray{ FileSystemAssociationArgs{...} }

type FileSystemAssociationArrayOutput added in v4.15.0

type FileSystemAssociationArrayOutput struct{ *pulumi.OutputState }

func (FileSystemAssociationArrayOutput) ElementType added in v4.15.0

func (FileSystemAssociationArrayOutput) Index added in v4.15.0

func (FileSystemAssociationArrayOutput) ToFileSystemAssociationArrayOutput added in v4.15.0

func (o FileSystemAssociationArrayOutput) ToFileSystemAssociationArrayOutput() FileSystemAssociationArrayOutput

func (FileSystemAssociationArrayOutput) ToFileSystemAssociationArrayOutputWithContext added in v4.15.0

func (o FileSystemAssociationArrayOutput) ToFileSystemAssociationArrayOutputWithContext(ctx context.Context) FileSystemAssociationArrayOutput

type FileSystemAssociationCacheAttributes added in v4.15.0

type FileSystemAssociationCacheAttributes 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: `0` or `300` to `2592000` seconds (5 minutes to 30 days). Defaults to `0`
	CacheStaleTimeoutInSeconds *int `pulumi:"cacheStaleTimeoutInSeconds"`
}

type FileSystemAssociationCacheAttributesArgs added in v4.15.0

type FileSystemAssociationCacheAttributesArgs 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: `0` or `300` to `2592000` seconds (5 minutes to 30 days). Defaults to `0`
	CacheStaleTimeoutInSeconds pulumi.IntPtrInput `pulumi:"cacheStaleTimeoutInSeconds"`
}

func (FileSystemAssociationCacheAttributesArgs) ElementType added in v4.15.0

func (FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesOutput added in v4.15.0

func (i FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesOutput() FileSystemAssociationCacheAttributesOutput

func (FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesOutputWithContext added in v4.15.0

func (i FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesOutputWithContext(ctx context.Context) FileSystemAssociationCacheAttributesOutput

func (FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesPtrOutput added in v4.15.0

func (i FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesPtrOutput() FileSystemAssociationCacheAttributesPtrOutput

func (FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesPtrOutputWithContext added in v4.15.0

func (i FileSystemAssociationCacheAttributesArgs) ToFileSystemAssociationCacheAttributesPtrOutputWithContext(ctx context.Context) FileSystemAssociationCacheAttributesPtrOutput

type FileSystemAssociationCacheAttributesInput added in v4.15.0

type FileSystemAssociationCacheAttributesInput interface {
	pulumi.Input

	ToFileSystemAssociationCacheAttributesOutput() FileSystemAssociationCacheAttributesOutput
	ToFileSystemAssociationCacheAttributesOutputWithContext(context.Context) FileSystemAssociationCacheAttributesOutput
}

FileSystemAssociationCacheAttributesInput is an input type that accepts FileSystemAssociationCacheAttributesArgs and FileSystemAssociationCacheAttributesOutput values. You can construct a concrete instance of `FileSystemAssociationCacheAttributesInput` via:

FileSystemAssociationCacheAttributesArgs{...}

type FileSystemAssociationCacheAttributesOutput added in v4.15.0

type FileSystemAssociationCacheAttributesOutput struct{ *pulumi.OutputState }

func (FileSystemAssociationCacheAttributesOutput) CacheStaleTimeoutInSeconds added in v4.15.0

func (o FileSystemAssociationCacheAttributesOutput) 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: `0` or `300` to `2592000` seconds (5 minutes to 30 days). Defaults to `0`

func (FileSystemAssociationCacheAttributesOutput) ElementType added in v4.15.0

func (FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesOutput added in v4.15.0

func (o FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesOutput() FileSystemAssociationCacheAttributesOutput

func (FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesOutputWithContext added in v4.15.0

func (o FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesOutputWithContext(ctx context.Context) FileSystemAssociationCacheAttributesOutput

func (FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesPtrOutput added in v4.15.0

func (o FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesPtrOutput() FileSystemAssociationCacheAttributesPtrOutput

func (FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesPtrOutputWithContext added in v4.15.0

func (o FileSystemAssociationCacheAttributesOutput) ToFileSystemAssociationCacheAttributesPtrOutputWithContext(ctx context.Context) FileSystemAssociationCacheAttributesPtrOutput

type FileSystemAssociationCacheAttributesPtrInput added in v4.15.0

type FileSystemAssociationCacheAttributesPtrInput interface {
	pulumi.Input

	ToFileSystemAssociationCacheAttributesPtrOutput() FileSystemAssociationCacheAttributesPtrOutput
	ToFileSystemAssociationCacheAttributesPtrOutputWithContext(context.Context) FileSystemAssociationCacheAttributesPtrOutput
}

FileSystemAssociationCacheAttributesPtrInput is an input type that accepts FileSystemAssociationCacheAttributesArgs, FileSystemAssociationCacheAttributesPtr and FileSystemAssociationCacheAttributesPtrOutput values. You can construct a concrete instance of `FileSystemAssociationCacheAttributesPtrInput` via:

        FileSystemAssociationCacheAttributesArgs{...}

or:

        nil

type FileSystemAssociationCacheAttributesPtrOutput added in v4.15.0

type FileSystemAssociationCacheAttributesPtrOutput struct{ *pulumi.OutputState }

func (FileSystemAssociationCacheAttributesPtrOutput) CacheStaleTimeoutInSeconds added in v4.15.0

func (o FileSystemAssociationCacheAttributesPtrOutput) 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: `0` or `300` to `2592000` seconds (5 minutes to 30 days). Defaults to `0`

func (FileSystemAssociationCacheAttributesPtrOutput) Elem added in v4.15.0

func (FileSystemAssociationCacheAttributesPtrOutput) ElementType added in v4.15.0

func (FileSystemAssociationCacheAttributesPtrOutput) ToFileSystemAssociationCacheAttributesPtrOutput added in v4.15.0

func (o FileSystemAssociationCacheAttributesPtrOutput) ToFileSystemAssociationCacheAttributesPtrOutput() FileSystemAssociationCacheAttributesPtrOutput

func (FileSystemAssociationCacheAttributesPtrOutput) ToFileSystemAssociationCacheAttributesPtrOutputWithContext added in v4.15.0

func (o FileSystemAssociationCacheAttributesPtrOutput) ToFileSystemAssociationCacheAttributesPtrOutputWithContext(ctx context.Context) FileSystemAssociationCacheAttributesPtrOutput

type FileSystemAssociationInput added in v4.15.0

type FileSystemAssociationInput interface {
	pulumi.Input

	ToFileSystemAssociationOutput() FileSystemAssociationOutput
	ToFileSystemAssociationOutputWithContext(ctx context.Context) FileSystemAssociationOutput
}

type FileSystemAssociationMap added in v4.15.0

type FileSystemAssociationMap map[string]FileSystemAssociationInput

func (FileSystemAssociationMap) ElementType added in v4.15.0

func (FileSystemAssociationMap) ElementType() reflect.Type

func (FileSystemAssociationMap) ToFileSystemAssociationMapOutput added in v4.15.0

func (i FileSystemAssociationMap) ToFileSystemAssociationMapOutput() FileSystemAssociationMapOutput

func (FileSystemAssociationMap) ToFileSystemAssociationMapOutputWithContext added in v4.15.0

func (i FileSystemAssociationMap) ToFileSystemAssociationMapOutputWithContext(ctx context.Context) FileSystemAssociationMapOutput

type FileSystemAssociationMapInput added in v4.15.0

type FileSystemAssociationMapInput interface {
	pulumi.Input

	ToFileSystemAssociationMapOutput() FileSystemAssociationMapOutput
	ToFileSystemAssociationMapOutputWithContext(context.Context) FileSystemAssociationMapOutput
}

FileSystemAssociationMapInput is an input type that accepts FileSystemAssociationMap and FileSystemAssociationMapOutput values. You can construct a concrete instance of `FileSystemAssociationMapInput` via:

FileSystemAssociationMap{ "key": FileSystemAssociationArgs{...} }

type FileSystemAssociationMapOutput added in v4.15.0

type FileSystemAssociationMapOutput struct{ *pulumi.OutputState }

func (FileSystemAssociationMapOutput) ElementType added in v4.15.0

func (FileSystemAssociationMapOutput) MapIndex added in v4.15.0

func (FileSystemAssociationMapOutput) ToFileSystemAssociationMapOutput added in v4.15.0

func (o FileSystemAssociationMapOutput) ToFileSystemAssociationMapOutput() FileSystemAssociationMapOutput

func (FileSystemAssociationMapOutput) ToFileSystemAssociationMapOutputWithContext added in v4.15.0

func (o FileSystemAssociationMapOutput) ToFileSystemAssociationMapOutputWithContext(ctx context.Context) FileSystemAssociationMapOutput

type FileSystemAssociationOutput added in v4.15.0

type FileSystemAssociationOutput struct{ *pulumi.OutputState }

func (FileSystemAssociationOutput) ElementType added in v4.15.0

func (FileSystemAssociationOutput) ToFileSystemAssociationOutput added in v4.15.0

func (o FileSystemAssociationOutput) ToFileSystemAssociationOutput() FileSystemAssociationOutput

func (FileSystemAssociationOutput) ToFileSystemAssociationOutputWithContext added in v4.15.0

func (o FileSystemAssociationOutput) ToFileSystemAssociationOutputWithContext(ctx context.Context) FileSystemAssociationOutput

type FileSystemAssociationState added in v4.15.0

type FileSystemAssociationState struct {
	// Amazon Resource Name (ARN) of the newly created file system association.
	Arn pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the storage used for the audit logs.
	AuditDestinationArn pulumi.StringPtrInput
	// Refresh cache information. see Cache Attributes for more details.
	CacheAttributes FileSystemAssociationCacheAttributesPtrInput
	// The Amazon Resource Name (ARN) of the gateway.
	GatewayArn pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the Amazon FSx file system to associate with the FSx File Gateway.
	LocationArn pulumi.StringPtrInput
	// The password of the user credential.
	Password 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 `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// The user name of the user credential that has permission to access the root share of the Amazon FSx file system. The user account must belong to the Amazon FSx delegated admin user group.
	Username pulumi.StringPtrInput
}

func (FileSystemAssociationState) ElementType added in v4.15.0

func (FileSystemAssociationState) 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_FSX_SMB`, `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 this provider. 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` and `FILE_FSX_SMB` gateway types. 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` and `FILE_FSX_SMB` gateway types. 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 ### Local Cache

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
"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 {
		testVolumeAttachment, err := ec2.NewVolumeAttachment(ctx, "testVolumeAttachment", &ec2.VolumeAttachmentArgs{
			DeviceName: pulumi.String("/dev/xvdb"),
			VolumeId:   pulumi.Any(aws_ebs_volume.Test.Id),
			InstanceId: pulumi.Any(aws_instance.Test.Id),
		})
		if err != nil {
			return err
		}
		_, err = storagegateway.NewCache(ctx, "testCache", &storagegateway.CacheArgs{
			DiskId: testLocalDisk.ApplyT(func(testLocalDisk storagegateway.GetLocalDiskResult) (string, error) {
				return testLocalDisk.DiskId, nil
			}).(pulumi.StringOutput),
			GatewayArn: pulumi.Any(aws_storagegateway_gateway.Test.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### FSx 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_FSX_SMB"),
			SmbActiveDirectorySettings: &storagegateway.GatewaySmbActiveDirectorySettingsArgs{
				DomainName: pulumi.String("corp.example.com"),
				Password:   pulumi.String("avoid-plaintext-passwords"),
				Username:   pulumi.String("Admin"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### S3 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

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_FSX_SMB`, `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 this provider. 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` and `FILE_FSX_SMB` gateway types. 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` and `FILE_FSX_SMB` gateway types. 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
	// 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

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_FSX_SMB`, `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 this provider. 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` and `FILE_FSX_SMB` gateway types. 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` and `FILE_FSX_SMB` gateway types. 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 GetLocalDiskOutputArgs added in v4.21.0

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

A collection of arguments for invoking getLocalDisk.

func (GetLocalDiskOutputArgs) ElementType added in v4.21.0

func (GetLocalDiskOutputArgs) ElementType() reflect.Type

type GetLocalDiskResult

type GetLocalDiskResult struct {
	// The disk identifierE.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 {
		_, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{
			DiskPath:   pulumi.StringRef(aws_volume_attachment.Test.Device_name),
			GatewayArn: aws_storagegateway_gateway.Test.Arn,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetLocalDiskResultOutput added in v4.21.0

type GetLocalDiskResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLocalDisk.

func GetLocalDiskOutput added in v4.21.0

func GetLocalDiskOutput(ctx *pulumi.Context, args GetLocalDiskOutputArgs, opts ...pulumi.InvokeOption) GetLocalDiskResultOutput

func (GetLocalDiskResultOutput) DiskId added in v4.21.0

The disk identifierE.g., `pci-0000:03:00.0-scsi-0:0:0:0`

func (GetLocalDiskResultOutput) DiskNode added in v4.21.0

func (GetLocalDiskResultOutput) DiskPath added in v4.21.0

func (GetLocalDiskResultOutput) ElementType added in v4.21.0

func (GetLocalDiskResultOutput) ElementType() reflect.Type

func (GetLocalDiskResultOutput) GatewayArn added in v4.21.0

func (GetLocalDiskResultOutput) Id added in v4.21.0

The provider-assigned unique ID for this managed resource.

func (GetLocalDiskResultOutput) ToGetLocalDiskResultOutput added in v4.21.0

func (o GetLocalDiskResultOutput) ToGetLocalDiskResultOutput() GetLocalDiskResultOutput

func (GetLocalDiskResultOutput) ToGetLocalDiskResultOutputWithContext added in v4.21.0

func (o GetLocalDiskResultOutput) ToGetLocalDiskResultOutputWithContext(ctx context.Context) GetLocalDiskResultOutput

type NfsFileShare

type NfsFileShare struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the NFS File Share.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Amazon Resource Name (ARN) of the storage used for audit logs.
	AuditDestinationArn pulumi.StringPtrOutput `pulumi:"auditDestinationArn"`
	// 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](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
	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

type NfsFileShareArgs

type NfsFileShareArgs struct {
	// The Amazon Resource Name (ARN) of the storage used for audit logs.
	AuditDestinationArn 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](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
	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
}

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

type NfsFileShareState

type NfsFileShareState struct {
	// Amazon Resource Name (ARN) of the NFS File Share.
	Arn pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the storage used for audit logs.
	AuditDestinationArn 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](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
	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"`
	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
	BucketRegion pulumi.StringPtrOutput `pulumi:"bucketRegion"`
	// 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](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
	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"`
	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
	OplocksEnabled pulumi.BoolOutput `pulumi:"oplocksEnabled"`
	// 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. If you need to specify an Active directory group, add '@' before the name of the group. It will be set on Allowed group in AWS console. Only valid if `authentication` is set to `ActiveDirectory`.
	ValidUserLists pulumi.StringArrayOutput `pulumi:"validUserLists"`
	// The DNS name of the VPC endpoint for S3 private link.
	VpcEndpointDnsName pulumi.StringPtrOutput `pulumi:"vpcEndpointDnsName"`
}

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

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
	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
	BucketRegion 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](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
	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 Opportunistic lock (oplock) status. Defaults to `true`.
	OplocksEnabled pulumi.BoolPtrInput
	// 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 list of users in the Active Directory that are allowed to access the file share. If you need to specify an Active directory group, add '@' before the name of the group. It will be set on Allowed group in AWS console. Only valid if `authentication` is set to `ActiveDirectory`.
	ValidUserLists pulumi.StringArrayInput
	// The DNS name of the VPC endpoint for S3 private link.
	VpcEndpointDnsName pulumi.StringPtrInput
}

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

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
	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
	BucketRegion 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](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
	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
	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
	OplocksEnabled pulumi.BoolPtrInput
	// 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. If you need to specify an Active directory group, add '@' before the name of the group. It will be set on Allowed group in AWS console. Only valid if `authentication` is set to `ActiveDirectory`.
	ValidUserLists pulumi.StringArrayInput
	// The DNS name of the VPC endpoint for S3 private link.
	VpcEndpointDnsName pulumi.StringPtrInput
}

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 volumeE.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 `defaultTags` configuration block.
	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

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 volumeE.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
	// 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

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 volumeE.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 `defaultTags` configuration block.
	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 `defaultTags` configuration block.
	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

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
}

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

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 `defaultTags` configuration block.
	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 {
		testLocalDisk, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{
			DiskNode:   pulumi.StringRef(aws_volume_attachment.Test.Device_name),
			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 {
		_, err := storagegateway.GetLocalDisk(ctx, &storagegateway.GetLocalDiskArgs{
			DiskNode:   pulumi.StringRef(aws_volume_attachment.Test.Device_name),
			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

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

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

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

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