datasync

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 Agent

type Agent struct {
	pulumi.CustomResourceState

	// DataSync Agent activation key during resource creation. Conflicts with `ipAddress`. If an `ipAddress` is provided instead, the provider will retrieve the `activationKey` as part of the resource creation.
	ActivationKey pulumi.StringOutput `pulumi:"activationKey"`
	// Amazon Resource Name (ARN) of the DataSync Agent.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// DataSync Agent IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. DataSync Agent must be accessible on port 80 from where the provider is running.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// Name of the DataSync Agent.
	Name pulumi.StringOutput `pulumi:"name"`
	// The IP address of the VPC endpoint the agent should connect to when retrieving an activation key during resource creation. Conflicts with `activationKey`.
	PrivateLinkEndpoint pulumi.StringPtrOutput `pulumi:"privateLinkEndpoint"`
	// The ARNs of the security groups used to protect your data transfer task subnets.
	SecurityGroupArns pulumi.StringArrayOutput `pulumi:"securityGroupArns"`
	// The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic network interfaces for each data transfer task.
	SubnetArns pulumi.StringArrayOutput `pulumi:"subnetArns"`
	// Key-value pairs of resource tags to assign to the DataSync Agent. 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"`
	// The ID of the VPC (virtual private cloud) endpoint that the agent has access to.
	VpcEndpointId pulumi.StringPtrOutput `pulumi:"vpcEndpointId"`
}

Manages an AWS DataSync Agent deployed on premises.

> **NOTE:** One of `activationKey` or `ipAddress` must be provided for resource creation (agent activation). Neither is required for resource import. If using `ipAddress`, this provider must be able to make an HTTP (port 80) GET request to the specified IP address from where it is running. The agent will turn off that HTTP server after activation.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewAgent(ctx, "example", &datasync.AgentArgs{
			IpAddress: pulumi.String("1.2.3.4"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_agent` can be imported by using the DataSync Agent Amazon Resource Name (ARN), e.g.,

```sh

$ pulumi import aws:datasync/agent:Agent example arn:aws:datasync:us-east-1:123456789012:agent/agent-12345678901234567

```

func GetAgent

func GetAgent(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AgentState, opts ...pulumi.ResourceOption) (*Agent, error)

GetAgent gets an existing Agent 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 NewAgent

func NewAgent(ctx *pulumi.Context,
	name string, args *AgentArgs, opts ...pulumi.ResourceOption) (*Agent, error)

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

func (*Agent) ElementType

func (*Agent) ElementType() reflect.Type

func (*Agent) ToAgentOutput

func (i *Agent) ToAgentOutput() AgentOutput

func (*Agent) ToAgentOutputWithContext

func (i *Agent) ToAgentOutputWithContext(ctx context.Context) AgentOutput

type AgentArgs

type AgentArgs struct {
	// DataSync Agent activation key during resource creation. Conflicts with `ipAddress`. If an `ipAddress` is provided instead, the provider will retrieve the `activationKey` as part of the resource creation.
	ActivationKey pulumi.StringPtrInput
	// DataSync Agent IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. DataSync Agent must be accessible on port 80 from where the provider is running.
	IpAddress pulumi.StringPtrInput
	// Name of the DataSync Agent.
	Name pulumi.StringPtrInput
	// The IP address of the VPC endpoint the agent should connect to when retrieving an activation key during resource creation. Conflicts with `activationKey`.
	PrivateLinkEndpoint pulumi.StringPtrInput
	// The ARNs of the security groups used to protect your data transfer task subnets.
	SecurityGroupArns pulumi.StringArrayInput
	// The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic network interfaces for each data transfer task.
	SubnetArns pulumi.StringArrayInput
	// Key-value pairs of resource tags to assign to the DataSync Agent. 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 ID of the VPC (virtual private cloud) endpoint that the agent has access to.
	VpcEndpointId pulumi.StringPtrInput
}

The set of arguments for constructing a Agent resource.

func (AgentArgs) ElementType

func (AgentArgs) ElementType() reflect.Type

type AgentArray

type AgentArray []AgentInput

func (AgentArray) ElementType

func (AgentArray) ElementType() reflect.Type

func (AgentArray) ToAgentArrayOutput

func (i AgentArray) ToAgentArrayOutput() AgentArrayOutput

func (AgentArray) ToAgentArrayOutputWithContext

func (i AgentArray) ToAgentArrayOutputWithContext(ctx context.Context) AgentArrayOutput

type AgentArrayInput

type AgentArrayInput interface {
	pulumi.Input

	ToAgentArrayOutput() AgentArrayOutput
	ToAgentArrayOutputWithContext(context.Context) AgentArrayOutput
}

AgentArrayInput is an input type that accepts AgentArray and AgentArrayOutput values. You can construct a concrete instance of `AgentArrayInput` via:

AgentArray{ AgentArgs{...} }

type AgentArrayOutput

type AgentArrayOutput struct{ *pulumi.OutputState }

func (AgentArrayOutput) ElementType

func (AgentArrayOutput) ElementType() reflect.Type

func (AgentArrayOutput) Index

func (AgentArrayOutput) ToAgentArrayOutput

func (o AgentArrayOutput) ToAgentArrayOutput() AgentArrayOutput

func (AgentArrayOutput) ToAgentArrayOutputWithContext

func (o AgentArrayOutput) ToAgentArrayOutputWithContext(ctx context.Context) AgentArrayOutput

type AgentInput

type AgentInput interface {
	pulumi.Input

	ToAgentOutput() AgentOutput
	ToAgentOutputWithContext(ctx context.Context) AgentOutput
}

type AgentMap

type AgentMap map[string]AgentInput

func (AgentMap) ElementType

func (AgentMap) ElementType() reflect.Type

func (AgentMap) ToAgentMapOutput

func (i AgentMap) ToAgentMapOutput() AgentMapOutput

func (AgentMap) ToAgentMapOutputWithContext

func (i AgentMap) ToAgentMapOutputWithContext(ctx context.Context) AgentMapOutput

type AgentMapInput

type AgentMapInput interface {
	pulumi.Input

	ToAgentMapOutput() AgentMapOutput
	ToAgentMapOutputWithContext(context.Context) AgentMapOutput
}

AgentMapInput is an input type that accepts AgentMap and AgentMapOutput values. You can construct a concrete instance of `AgentMapInput` via:

AgentMap{ "key": AgentArgs{...} }

type AgentMapOutput

type AgentMapOutput struct{ *pulumi.OutputState }

func (AgentMapOutput) ElementType

func (AgentMapOutput) ElementType() reflect.Type

func (AgentMapOutput) MapIndex

func (AgentMapOutput) ToAgentMapOutput

func (o AgentMapOutput) ToAgentMapOutput() AgentMapOutput

func (AgentMapOutput) ToAgentMapOutputWithContext

func (o AgentMapOutput) ToAgentMapOutputWithContext(ctx context.Context) AgentMapOutput

type AgentOutput

type AgentOutput struct{ *pulumi.OutputState }

func (AgentOutput) ElementType

func (AgentOutput) ElementType() reflect.Type

func (AgentOutput) ToAgentOutput

func (o AgentOutput) ToAgentOutput() AgentOutput

func (AgentOutput) ToAgentOutputWithContext

func (o AgentOutput) ToAgentOutputWithContext(ctx context.Context) AgentOutput

type AgentState

type AgentState struct {
	// DataSync Agent activation key during resource creation. Conflicts with `ipAddress`. If an `ipAddress` is provided instead, the provider will retrieve the `activationKey` as part of the resource creation.
	ActivationKey pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the DataSync Agent.
	Arn pulumi.StringPtrInput
	// DataSync Agent IP address to retrieve activation key during resource creation. Conflicts with `activationKey`. DataSync Agent must be accessible on port 80 from where the provider is running.
	IpAddress pulumi.StringPtrInput
	// Name of the DataSync Agent.
	Name pulumi.StringPtrInput
	// The IP address of the VPC endpoint the agent should connect to when retrieving an activation key during resource creation. Conflicts with `activationKey`.
	PrivateLinkEndpoint pulumi.StringPtrInput
	// The ARNs of the security groups used to protect your data transfer task subnets.
	SecurityGroupArns pulumi.StringArrayInput
	// The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic network interfaces for each data transfer task.
	SubnetArns pulumi.StringArrayInput
	// Key-value pairs of resource tags to assign to the DataSync Agent. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// The ID of the VPC (virtual private cloud) endpoint that the agent has access to.
	VpcEndpointId pulumi.StringPtrInput
}

func (AgentState) ElementType

func (AgentState) ElementType() reflect.Type

type EfsLocation

type EfsLocation struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Configuration block containing EC2 configurations for connecting to the EFS File System.
	Ec2Config EfsLocationEc2ConfigOutput `pulumi:"ec2Config"`
	// Amazon Resource Name (ARN) of EFS File System.
	EfsFileSystemArn pulumi.StringOutput `pulumi:"efsFileSystemArn"`
	// Subdirectory to perform actions as source or destination. Default `/`.
	Subdirectory pulumi.StringPtrOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. .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"`
	Uri     pulumi.StringOutput    `pulumi:"uri"`
}

Manages an AWS DataSync EFS Location.

> **NOTE:** The EFS File System must have a mounted EFS Mount Target before creating this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewEfsLocation(ctx, "example", &datasync.EfsLocationArgs{
			EfsFileSystemArn: pulumi.Any(aws_efs_mount_target.Example.File_system_arn),
			Ec2Config: &datasync.EfsLocationEc2ConfigArgs{
				SecurityGroupArns: pulumi.StringArray{
					pulumi.Any(aws_security_group.Example.Arn),
				},
				SubnetArn: pulumi.Any(aws_subnet.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_location_efs` can be imported by using the DataSync Task Amazon Resource Name (ARN), e.g.,

```sh

$ pulumi import aws:datasync/efsLocation:EfsLocation example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567

```

func GetEfsLocation

func GetEfsLocation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EfsLocationState, opts ...pulumi.ResourceOption) (*EfsLocation, error)

GetEfsLocation gets an existing EfsLocation 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 NewEfsLocation

func NewEfsLocation(ctx *pulumi.Context,
	name string, args *EfsLocationArgs, opts ...pulumi.ResourceOption) (*EfsLocation, error)

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

func (*EfsLocation) ElementType

func (*EfsLocation) ElementType() reflect.Type

func (*EfsLocation) ToEfsLocationOutput

func (i *EfsLocation) ToEfsLocationOutput() EfsLocationOutput

func (*EfsLocation) ToEfsLocationOutputWithContext

func (i *EfsLocation) ToEfsLocationOutputWithContext(ctx context.Context) EfsLocationOutput

type EfsLocationArgs

type EfsLocationArgs struct {
	// Configuration block containing EC2 configurations for connecting to the EFS File System.
	Ec2Config EfsLocationEc2ConfigInput
	// Amazon Resource Name (ARN) of EFS File System.
	EfsFileSystemArn pulumi.StringInput
	// Subdirectory to perform actions as source or destination. Default `/`.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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 EfsLocation resource.

func (EfsLocationArgs) ElementType

func (EfsLocationArgs) ElementType() reflect.Type

type EfsLocationArray

type EfsLocationArray []EfsLocationInput

func (EfsLocationArray) ElementType

func (EfsLocationArray) ElementType() reflect.Type

func (EfsLocationArray) ToEfsLocationArrayOutput

func (i EfsLocationArray) ToEfsLocationArrayOutput() EfsLocationArrayOutput

func (EfsLocationArray) ToEfsLocationArrayOutputWithContext

func (i EfsLocationArray) ToEfsLocationArrayOutputWithContext(ctx context.Context) EfsLocationArrayOutput

type EfsLocationArrayInput

type EfsLocationArrayInput interface {
	pulumi.Input

	ToEfsLocationArrayOutput() EfsLocationArrayOutput
	ToEfsLocationArrayOutputWithContext(context.Context) EfsLocationArrayOutput
}

EfsLocationArrayInput is an input type that accepts EfsLocationArray and EfsLocationArrayOutput values. You can construct a concrete instance of `EfsLocationArrayInput` via:

EfsLocationArray{ EfsLocationArgs{...} }

type EfsLocationArrayOutput

type EfsLocationArrayOutput struct{ *pulumi.OutputState }

func (EfsLocationArrayOutput) ElementType

func (EfsLocationArrayOutput) ElementType() reflect.Type

func (EfsLocationArrayOutput) Index

func (EfsLocationArrayOutput) ToEfsLocationArrayOutput

func (o EfsLocationArrayOutput) ToEfsLocationArrayOutput() EfsLocationArrayOutput

func (EfsLocationArrayOutput) ToEfsLocationArrayOutputWithContext

func (o EfsLocationArrayOutput) ToEfsLocationArrayOutputWithContext(ctx context.Context) EfsLocationArrayOutput

type EfsLocationEc2Config

type EfsLocationEc2Config struct {
	// List of Amazon Resource Names (ARNs) of the EC2 Security Groups that are associated with the EFS Mount Target.
	SecurityGroupArns []string `pulumi:"securityGroupArns"`
	// Amazon Resource Name (ARN) of the EC2 Subnet that is associated with the EFS Mount Target.
	SubnetArn string `pulumi:"subnetArn"`
}

type EfsLocationEc2ConfigArgs

type EfsLocationEc2ConfigArgs struct {
	// List of Amazon Resource Names (ARNs) of the EC2 Security Groups that are associated with the EFS Mount Target.
	SecurityGroupArns pulumi.StringArrayInput `pulumi:"securityGroupArns"`
	// Amazon Resource Name (ARN) of the EC2 Subnet that is associated with the EFS Mount Target.
	SubnetArn pulumi.StringInput `pulumi:"subnetArn"`
}

func (EfsLocationEc2ConfigArgs) ElementType

func (EfsLocationEc2ConfigArgs) ElementType() reflect.Type

func (EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigOutput

func (i EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigOutput() EfsLocationEc2ConfigOutput

func (EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigOutputWithContext

func (i EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigOutputWithContext(ctx context.Context) EfsLocationEc2ConfigOutput

func (EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigPtrOutput

func (i EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigPtrOutput() EfsLocationEc2ConfigPtrOutput

func (EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigPtrOutputWithContext

func (i EfsLocationEc2ConfigArgs) ToEfsLocationEc2ConfigPtrOutputWithContext(ctx context.Context) EfsLocationEc2ConfigPtrOutput

type EfsLocationEc2ConfigInput

type EfsLocationEc2ConfigInput interface {
	pulumi.Input

	ToEfsLocationEc2ConfigOutput() EfsLocationEc2ConfigOutput
	ToEfsLocationEc2ConfigOutputWithContext(context.Context) EfsLocationEc2ConfigOutput
}

EfsLocationEc2ConfigInput is an input type that accepts EfsLocationEc2ConfigArgs and EfsLocationEc2ConfigOutput values. You can construct a concrete instance of `EfsLocationEc2ConfigInput` via:

EfsLocationEc2ConfigArgs{...}

type EfsLocationEc2ConfigOutput

type EfsLocationEc2ConfigOutput struct{ *pulumi.OutputState }

func (EfsLocationEc2ConfigOutput) ElementType

func (EfsLocationEc2ConfigOutput) ElementType() reflect.Type

func (EfsLocationEc2ConfigOutput) SecurityGroupArns

func (o EfsLocationEc2ConfigOutput) SecurityGroupArns() pulumi.StringArrayOutput

List of Amazon Resource Names (ARNs) of the EC2 Security Groups that are associated with the EFS Mount Target.

func (EfsLocationEc2ConfigOutput) SubnetArn

Amazon Resource Name (ARN) of the EC2 Subnet that is associated with the EFS Mount Target.

func (EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigOutput

func (o EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigOutput() EfsLocationEc2ConfigOutput

func (EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigOutputWithContext

func (o EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigOutputWithContext(ctx context.Context) EfsLocationEc2ConfigOutput

func (EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigPtrOutput

func (o EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigPtrOutput() EfsLocationEc2ConfigPtrOutput

func (EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigPtrOutputWithContext

func (o EfsLocationEc2ConfigOutput) ToEfsLocationEc2ConfigPtrOutputWithContext(ctx context.Context) EfsLocationEc2ConfigPtrOutput

type EfsLocationEc2ConfigPtrInput

type EfsLocationEc2ConfigPtrInput interface {
	pulumi.Input

	ToEfsLocationEc2ConfigPtrOutput() EfsLocationEc2ConfigPtrOutput
	ToEfsLocationEc2ConfigPtrOutputWithContext(context.Context) EfsLocationEc2ConfigPtrOutput
}

EfsLocationEc2ConfigPtrInput is an input type that accepts EfsLocationEc2ConfigArgs, EfsLocationEc2ConfigPtr and EfsLocationEc2ConfigPtrOutput values. You can construct a concrete instance of `EfsLocationEc2ConfigPtrInput` via:

        EfsLocationEc2ConfigArgs{...}

or:

        nil

type EfsLocationEc2ConfigPtrOutput

type EfsLocationEc2ConfigPtrOutput struct{ *pulumi.OutputState }

func (EfsLocationEc2ConfigPtrOutput) Elem

func (EfsLocationEc2ConfigPtrOutput) ElementType

func (EfsLocationEc2ConfigPtrOutput) SecurityGroupArns

List of Amazon Resource Names (ARNs) of the EC2 Security Groups that are associated with the EFS Mount Target.

func (EfsLocationEc2ConfigPtrOutput) SubnetArn

Amazon Resource Name (ARN) of the EC2 Subnet that is associated with the EFS Mount Target.

func (EfsLocationEc2ConfigPtrOutput) ToEfsLocationEc2ConfigPtrOutput

func (o EfsLocationEc2ConfigPtrOutput) ToEfsLocationEc2ConfigPtrOutput() EfsLocationEc2ConfigPtrOutput

func (EfsLocationEc2ConfigPtrOutput) ToEfsLocationEc2ConfigPtrOutputWithContext

func (o EfsLocationEc2ConfigPtrOutput) ToEfsLocationEc2ConfigPtrOutputWithContext(ctx context.Context) EfsLocationEc2ConfigPtrOutput

type EfsLocationInput

type EfsLocationInput interface {
	pulumi.Input

	ToEfsLocationOutput() EfsLocationOutput
	ToEfsLocationOutputWithContext(ctx context.Context) EfsLocationOutput
}

type EfsLocationMap

type EfsLocationMap map[string]EfsLocationInput

func (EfsLocationMap) ElementType

func (EfsLocationMap) ElementType() reflect.Type

func (EfsLocationMap) ToEfsLocationMapOutput

func (i EfsLocationMap) ToEfsLocationMapOutput() EfsLocationMapOutput

func (EfsLocationMap) ToEfsLocationMapOutputWithContext

func (i EfsLocationMap) ToEfsLocationMapOutputWithContext(ctx context.Context) EfsLocationMapOutput

type EfsLocationMapInput

type EfsLocationMapInput interface {
	pulumi.Input

	ToEfsLocationMapOutput() EfsLocationMapOutput
	ToEfsLocationMapOutputWithContext(context.Context) EfsLocationMapOutput
}

EfsLocationMapInput is an input type that accepts EfsLocationMap and EfsLocationMapOutput values. You can construct a concrete instance of `EfsLocationMapInput` via:

EfsLocationMap{ "key": EfsLocationArgs{...} }

type EfsLocationMapOutput

type EfsLocationMapOutput struct{ *pulumi.OutputState }

func (EfsLocationMapOutput) ElementType

func (EfsLocationMapOutput) ElementType() reflect.Type

func (EfsLocationMapOutput) MapIndex

func (EfsLocationMapOutput) ToEfsLocationMapOutput

func (o EfsLocationMapOutput) ToEfsLocationMapOutput() EfsLocationMapOutput

func (EfsLocationMapOutput) ToEfsLocationMapOutputWithContext

func (o EfsLocationMapOutput) ToEfsLocationMapOutputWithContext(ctx context.Context) EfsLocationMapOutput

type EfsLocationOutput

type EfsLocationOutput struct{ *pulumi.OutputState }

func (EfsLocationOutput) ElementType

func (EfsLocationOutput) ElementType() reflect.Type

func (EfsLocationOutput) ToEfsLocationOutput

func (o EfsLocationOutput) ToEfsLocationOutput() EfsLocationOutput

func (EfsLocationOutput) ToEfsLocationOutputWithContext

func (o EfsLocationOutput) ToEfsLocationOutputWithContext(ctx context.Context) EfsLocationOutput

type EfsLocationState

type EfsLocationState struct {
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// Configuration block containing EC2 configurations for connecting to the EFS File System.
	Ec2Config EfsLocationEc2ConfigPtrInput
	// Amazon Resource Name (ARN) of EFS File System.
	EfsFileSystemArn pulumi.StringPtrInput
	// Subdirectory to perform actions as source or destination. Default `/`.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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
	Uri     pulumi.StringPtrInput
}

func (EfsLocationState) ElementType

func (EfsLocationState) ElementType() reflect.Type

type LocationFsxLustre added in v4.34.0

type LocationFsxLustre struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The time that the FSx for Lustre location was created.
	CreationTime pulumi.StringOutput `pulumi:"creationTime"`
	// The Amazon Resource Name (ARN) for the FSx for Lustre file system.
	FsxFilesystemArn pulumi.StringOutput `pulumi:"fsxFilesystemArn"`
	// The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Lustre file system.
	SecurityGroupArns pulumi.StringArrayOutput `pulumi:"securityGroupArns"`
	// Subdirectory to perform actions as source or destination.
	Subdirectory pulumi.StringOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-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](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The URL of the FSx for Lustre location that was described.
	Uri pulumi.StringOutput `pulumi:"uri"`
}

Manages an AWS DataSync FSx Lustre Location.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewLocationFsxLustre(ctx, "example", &datasync.LocationFsxLustreArgs{
			FsxFilesystemArn: pulumi.Any(aws_fsx_lustre_file_system.Example.Arn),
			SecurityGroupArns: pulumi.StringArray{
				pulumi.Any(aws_security_group.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_location_fsx_lustre_file_system` can be imported by using the `DataSync-ARN#FSx-Lustre-ARN`, e.g.,

```sh

$ pulumi import aws:datasync/locationFsxLustre:LocationFsxLustre example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:476956259333:file-system/fs-08e04cd442c1bb94a

```

func GetLocationFsxLustre added in v4.34.0

func GetLocationFsxLustre(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LocationFsxLustreState, opts ...pulumi.ResourceOption) (*LocationFsxLustre, error)

GetLocationFsxLustre gets an existing LocationFsxLustre 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 NewLocationFsxLustre added in v4.34.0

func NewLocationFsxLustre(ctx *pulumi.Context,
	name string, args *LocationFsxLustreArgs, opts ...pulumi.ResourceOption) (*LocationFsxLustre, error)

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

func (*LocationFsxLustre) ElementType added in v4.34.0

func (*LocationFsxLustre) ElementType() reflect.Type

func (*LocationFsxLustre) ToLocationFsxLustreOutput added in v4.34.0

func (i *LocationFsxLustre) ToLocationFsxLustreOutput() LocationFsxLustreOutput

func (*LocationFsxLustre) ToLocationFsxLustreOutputWithContext added in v4.34.0

func (i *LocationFsxLustre) ToLocationFsxLustreOutputWithContext(ctx context.Context) LocationFsxLustreOutput

type LocationFsxLustreArgs added in v4.34.0

type LocationFsxLustreArgs struct {
	// The Amazon Resource Name (ARN) for the FSx for Lustre file system.
	FsxFilesystemArn pulumi.StringInput
	// The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Lustre file system.
	SecurityGroupArns pulumi.StringArrayInput
	// Subdirectory to perform actions as source or destination.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-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](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
	TagsAll pulumi.StringMapInput
}

The set of arguments for constructing a LocationFsxLustre resource.

func (LocationFsxLustreArgs) ElementType added in v4.34.0

func (LocationFsxLustreArgs) ElementType() reflect.Type

type LocationFsxLustreArray added in v4.34.0

type LocationFsxLustreArray []LocationFsxLustreInput

func (LocationFsxLustreArray) ElementType added in v4.34.0

func (LocationFsxLustreArray) ElementType() reflect.Type

func (LocationFsxLustreArray) ToLocationFsxLustreArrayOutput added in v4.34.0

func (i LocationFsxLustreArray) ToLocationFsxLustreArrayOutput() LocationFsxLustreArrayOutput

func (LocationFsxLustreArray) ToLocationFsxLustreArrayOutputWithContext added in v4.34.0

func (i LocationFsxLustreArray) ToLocationFsxLustreArrayOutputWithContext(ctx context.Context) LocationFsxLustreArrayOutput

type LocationFsxLustreArrayInput added in v4.34.0

type LocationFsxLustreArrayInput interface {
	pulumi.Input

	ToLocationFsxLustreArrayOutput() LocationFsxLustreArrayOutput
	ToLocationFsxLustreArrayOutputWithContext(context.Context) LocationFsxLustreArrayOutput
}

LocationFsxLustreArrayInput is an input type that accepts LocationFsxLustreArray and LocationFsxLustreArrayOutput values. You can construct a concrete instance of `LocationFsxLustreArrayInput` via:

LocationFsxLustreArray{ LocationFsxLustreArgs{...} }

type LocationFsxLustreArrayOutput added in v4.34.0

type LocationFsxLustreArrayOutput struct{ *pulumi.OutputState }

func (LocationFsxLustreArrayOutput) ElementType added in v4.34.0

func (LocationFsxLustreArrayOutput) Index added in v4.34.0

func (LocationFsxLustreArrayOutput) ToLocationFsxLustreArrayOutput added in v4.34.0

func (o LocationFsxLustreArrayOutput) ToLocationFsxLustreArrayOutput() LocationFsxLustreArrayOutput

func (LocationFsxLustreArrayOutput) ToLocationFsxLustreArrayOutputWithContext added in v4.34.0

func (o LocationFsxLustreArrayOutput) ToLocationFsxLustreArrayOutputWithContext(ctx context.Context) LocationFsxLustreArrayOutput

type LocationFsxLustreInput added in v4.34.0

type LocationFsxLustreInput interface {
	pulumi.Input

	ToLocationFsxLustreOutput() LocationFsxLustreOutput
	ToLocationFsxLustreOutputWithContext(ctx context.Context) LocationFsxLustreOutput
}

type LocationFsxLustreMap added in v4.34.0

type LocationFsxLustreMap map[string]LocationFsxLustreInput

func (LocationFsxLustreMap) ElementType added in v4.34.0

func (LocationFsxLustreMap) ElementType() reflect.Type

func (LocationFsxLustreMap) ToLocationFsxLustreMapOutput added in v4.34.0

func (i LocationFsxLustreMap) ToLocationFsxLustreMapOutput() LocationFsxLustreMapOutput

func (LocationFsxLustreMap) ToLocationFsxLustreMapOutputWithContext added in v4.34.0

func (i LocationFsxLustreMap) ToLocationFsxLustreMapOutputWithContext(ctx context.Context) LocationFsxLustreMapOutput

type LocationFsxLustreMapInput added in v4.34.0

type LocationFsxLustreMapInput interface {
	pulumi.Input

	ToLocationFsxLustreMapOutput() LocationFsxLustreMapOutput
	ToLocationFsxLustreMapOutputWithContext(context.Context) LocationFsxLustreMapOutput
}

LocationFsxLustreMapInput is an input type that accepts LocationFsxLustreMap and LocationFsxLustreMapOutput values. You can construct a concrete instance of `LocationFsxLustreMapInput` via:

LocationFsxLustreMap{ "key": LocationFsxLustreArgs{...} }

type LocationFsxLustreMapOutput added in v4.34.0

type LocationFsxLustreMapOutput struct{ *pulumi.OutputState }

func (LocationFsxLustreMapOutput) ElementType added in v4.34.0

func (LocationFsxLustreMapOutput) ElementType() reflect.Type

func (LocationFsxLustreMapOutput) MapIndex added in v4.34.0

func (LocationFsxLustreMapOutput) ToLocationFsxLustreMapOutput added in v4.34.0

func (o LocationFsxLustreMapOutput) ToLocationFsxLustreMapOutput() LocationFsxLustreMapOutput

func (LocationFsxLustreMapOutput) ToLocationFsxLustreMapOutputWithContext added in v4.34.0

func (o LocationFsxLustreMapOutput) ToLocationFsxLustreMapOutputWithContext(ctx context.Context) LocationFsxLustreMapOutput

type LocationFsxLustreOutput added in v4.34.0

type LocationFsxLustreOutput struct{ *pulumi.OutputState }

func (LocationFsxLustreOutput) ElementType added in v4.34.0

func (LocationFsxLustreOutput) ElementType() reflect.Type

func (LocationFsxLustreOutput) ToLocationFsxLustreOutput added in v4.34.0

func (o LocationFsxLustreOutput) ToLocationFsxLustreOutput() LocationFsxLustreOutput

func (LocationFsxLustreOutput) ToLocationFsxLustreOutputWithContext added in v4.34.0

func (o LocationFsxLustreOutput) ToLocationFsxLustreOutputWithContext(ctx context.Context) LocationFsxLustreOutput

type LocationFsxLustreState added in v4.34.0

type LocationFsxLustreState struct {
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// The time that the FSx for Lustre location was created.
	CreationTime pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the FSx for Lustre file system.
	FsxFilesystemArn pulumi.StringPtrInput
	// The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Lustre file system.
	SecurityGroupArns pulumi.StringArrayInput
	// Subdirectory to perform actions as source or destination.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-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](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
	TagsAll pulumi.StringMapInput
	// The URL of the FSx for Lustre location that was described.
	Uri pulumi.StringPtrInput
}

func (LocationFsxLustreState) ElementType added in v4.34.0

func (LocationFsxLustreState) ElementType() reflect.Type

type LocationFsxWindows

type LocationFsxWindows struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The time that the FSx for Windows location was created.
	CreationTime pulumi.StringOutput `pulumi:"creationTime"`
	// The name of the Windows domain that the FSx for Windows server belongs to.
	Domain pulumi.StringPtrOutput `pulumi:"domain"`
	// The Amazon Resource Name (ARN) for the FSx for Windows file system.
	FsxFilesystemArn pulumi.StringOutput `pulumi:"fsxFilesystemArn"`
	// The password of the user who has the permissions to access files and folders in the FSx for Windows file system.
	Password pulumi.StringOutput `pulumi:"password"`
	// The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Windows file system.
	SecurityGroupArns pulumi.StringArrayOutput `pulumi:"securityGroupArns"`
	// Subdirectory to perform actions as source or destination.
	Subdirectory pulumi.StringOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. .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"`
	// The URL of the FSx for Windows location that was described.
	Uri pulumi.StringOutput `pulumi:"uri"`
	// The user who has the permissions to access files and folders in the FSx for Windows file system.
	User pulumi.StringOutput `pulumi:"user"`
}

Manages an AWS DataSync FSx Windows Location.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewLocationFsxWindows(ctx, "example", &datasync.LocationFsxWindowsArgs{
			FsxFilesystemArn: pulumi.Any(aws_fsx_windows_file_system.Example.Arn),
			User:             pulumi.String("SomeUser"),
			Password:         pulumi.String("SuperSecretPassw0rd"),
			SecurityGroupArns: pulumi.StringArray{
				pulumi.Any(aws_security_group.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_location_fsx_windows_file_system` can be imported by using the `DataSync-ARN#FSx-Windows-ARN`, e.g.,

```sh

$ pulumi import aws:datasync/locationFsxWindows:LocationFsxWindows example arn:aws:datasync:us-west-2:123456789012:location/loc-12345678901234567#arn:aws:fsx:us-west-2:476956259333:file-system/fs-08e04cd442c1bb94a

```

func GetLocationFsxWindows

func GetLocationFsxWindows(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LocationFsxWindowsState, opts ...pulumi.ResourceOption) (*LocationFsxWindows, error)

GetLocationFsxWindows gets an existing LocationFsxWindows 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 NewLocationFsxWindows

func NewLocationFsxWindows(ctx *pulumi.Context,
	name string, args *LocationFsxWindowsArgs, opts ...pulumi.ResourceOption) (*LocationFsxWindows, error)

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

func (*LocationFsxWindows) ElementType

func (*LocationFsxWindows) ElementType() reflect.Type

func (*LocationFsxWindows) ToLocationFsxWindowsOutput

func (i *LocationFsxWindows) ToLocationFsxWindowsOutput() LocationFsxWindowsOutput

func (*LocationFsxWindows) ToLocationFsxWindowsOutputWithContext

func (i *LocationFsxWindows) ToLocationFsxWindowsOutputWithContext(ctx context.Context) LocationFsxWindowsOutput

type LocationFsxWindowsArgs

type LocationFsxWindowsArgs struct {
	// The name of the Windows domain that the FSx for Windows server belongs to.
	Domain pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the FSx for Windows file system.
	FsxFilesystemArn pulumi.StringInput
	// The password of the user who has the permissions to access files and folders in the FSx for Windows file system.
	Password pulumi.StringInput
	// The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Windows file system.
	SecurityGroupArns pulumi.StringArrayInput
	// Subdirectory to perform actions as source or destination.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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 who has the permissions to access files and folders in the FSx for Windows file system.
	User pulumi.StringInput
}

The set of arguments for constructing a LocationFsxWindows resource.

func (LocationFsxWindowsArgs) ElementType

func (LocationFsxWindowsArgs) ElementType() reflect.Type

type LocationFsxWindowsArray

type LocationFsxWindowsArray []LocationFsxWindowsInput

func (LocationFsxWindowsArray) ElementType

func (LocationFsxWindowsArray) ElementType() reflect.Type

func (LocationFsxWindowsArray) ToLocationFsxWindowsArrayOutput

func (i LocationFsxWindowsArray) ToLocationFsxWindowsArrayOutput() LocationFsxWindowsArrayOutput

func (LocationFsxWindowsArray) ToLocationFsxWindowsArrayOutputWithContext

func (i LocationFsxWindowsArray) ToLocationFsxWindowsArrayOutputWithContext(ctx context.Context) LocationFsxWindowsArrayOutput

type LocationFsxWindowsArrayInput

type LocationFsxWindowsArrayInput interface {
	pulumi.Input

	ToLocationFsxWindowsArrayOutput() LocationFsxWindowsArrayOutput
	ToLocationFsxWindowsArrayOutputWithContext(context.Context) LocationFsxWindowsArrayOutput
}

LocationFsxWindowsArrayInput is an input type that accepts LocationFsxWindowsArray and LocationFsxWindowsArrayOutput values. You can construct a concrete instance of `LocationFsxWindowsArrayInput` via:

LocationFsxWindowsArray{ LocationFsxWindowsArgs{...} }

type LocationFsxWindowsArrayOutput

type LocationFsxWindowsArrayOutput struct{ *pulumi.OutputState }

func (LocationFsxWindowsArrayOutput) ElementType

func (LocationFsxWindowsArrayOutput) Index

func (LocationFsxWindowsArrayOutput) ToLocationFsxWindowsArrayOutput

func (o LocationFsxWindowsArrayOutput) ToLocationFsxWindowsArrayOutput() LocationFsxWindowsArrayOutput

func (LocationFsxWindowsArrayOutput) ToLocationFsxWindowsArrayOutputWithContext

func (o LocationFsxWindowsArrayOutput) ToLocationFsxWindowsArrayOutputWithContext(ctx context.Context) LocationFsxWindowsArrayOutput

type LocationFsxWindowsInput

type LocationFsxWindowsInput interface {
	pulumi.Input

	ToLocationFsxWindowsOutput() LocationFsxWindowsOutput
	ToLocationFsxWindowsOutputWithContext(ctx context.Context) LocationFsxWindowsOutput
}

type LocationFsxWindowsMap

type LocationFsxWindowsMap map[string]LocationFsxWindowsInput

func (LocationFsxWindowsMap) ElementType

func (LocationFsxWindowsMap) ElementType() reflect.Type

func (LocationFsxWindowsMap) ToLocationFsxWindowsMapOutput

func (i LocationFsxWindowsMap) ToLocationFsxWindowsMapOutput() LocationFsxWindowsMapOutput

func (LocationFsxWindowsMap) ToLocationFsxWindowsMapOutputWithContext

func (i LocationFsxWindowsMap) ToLocationFsxWindowsMapOutputWithContext(ctx context.Context) LocationFsxWindowsMapOutput

type LocationFsxWindowsMapInput

type LocationFsxWindowsMapInput interface {
	pulumi.Input

	ToLocationFsxWindowsMapOutput() LocationFsxWindowsMapOutput
	ToLocationFsxWindowsMapOutputWithContext(context.Context) LocationFsxWindowsMapOutput
}

LocationFsxWindowsMapInput is an input type that accepts LocationFsxWindowsMap and LocationFsxWindowsMapOutput values. You can construct a concrete instance of `LocationFsxWindowsMapInput` via:

LocationFsxWindowsMap{ "key": LocationFsxWindowsArgs{...} }

type LocationFsxWindowsMapOutput

type LocationFsxWindowsMapOutput struct{ *pulumi.OutputState }

func (LocationFsxWindowsMapOutput) ElementType

func (LocationFsxWindowsMapOutput) MapIndex

func (LocationFsxWindowsMapOutput) ToLocationFsxWindowsMapOutput

func (o LocationFsxWindowsMapOutput) ToLocationFsxWindowsMapOutput() LocationFsxWindowsMapOutput

func (LocationFsxWindowsMapOutput) ToLocationFsxWindowsMapOutputWithContext

func (o LocationFsxWindowsMapOutput) ToLocationFsxWindowsMapOutputWithContext(ctx context.Context) LocationFsxWindowsMapOutput

type LocationFsxWindowsOutput

type LocationFsxWindowsOutput struct{ *pulumi.OutputState }

func (LocationFsxWindowsOutput) ElementType

func (LocationFsxWindowsOutput) ElementType() reflect.Type

func (LocationFsxWindowsOutput) ToLocationFsxWindowsOutput

func (o LocationFsxWindowsOutput) ToLocationFsxWindowsOutput() LocationFsxWindowsOutput

func (LocationFsxWindowsOutput) ToLocationFsxWindowsOutputWithContext

func (o LocationFsxWindowsOutput) ToLocationFsxWindowsOutputWithContext(ctx context.Context) LocationFsxWindowsOutput

type LocationFsxWindowsState

type LocationFsxWindowsState struct {
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// The time that the FSx for Windows location was created.
	CreationTime pulumi.StringPtrInput
	// The name of the Windows domain that the FSx for Windows server belongs to.
	Domain pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the FSx for Windows file system.
	FsxFilesystemArn pulumi.StringPtrInput
	// The password of the user who has the permissions to access files and folders in the FSx for Windows file system.
	Password pulumi.StringPtrInput
	// The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Windows file system.
	SecurityGroupArns pulumi.StringArrayInput
	// Subdirectory to perform actions as source or destination.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
	// The URL of the FSx for Windows location that was described.
	Uri pulumi.StringPtrInput
	// The user who has the permissions to access files and folders in the FSx for Windows file system.
	User pulumi.StringPtrInput
}

func (LocationFsxWindowsState) ElementType

func (LocationFsxWindowsState) ElementType() reflect.Type

type LocationHdfs added in v4.34.0

type LocationHdfs struct {
	pulumi.CustomResourceState

	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayOutput `pulumi:"agentArns"`
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`.
	AuthenticationType pulumi.StringPtrOutput `pulumi:"authenticationType"`
	// The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).
	BlockSize pulumi.IntPtrOutput `pulumi:"blockSize"`
	// The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosKeytab pulumi.StringPtrOutput `pulumi:"kerberosKeytab"`
	// The krb5.conf file that contains the Kerberos configuration information. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosKrb5Conf pulumi.StringPtrOutput `pulumi:"kerberosKrb5Conf"`
	// The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosPrincipal pulumi.StringPtrOutput `pulumi:"kerberosPrincipal"`
	// The URI of the HDFS cluster's Key Management Server (KMS).
	KmsKeyProviderUri pulumi.StringPtrOutput `pulumi:"kmsKeyProviderUri"`
	// The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below.
	NameNodes LocationHdfsNameNodeArrayOutput `pulumi:"nameNodes"`
	// The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If QopConfiguration isn't specified, RpcProtection and DataTransferProtection default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value.  See configuration below.
	QopConfiguration LocationHdfsQopConfigurationPtrOutput `pulumi:"qopConfiguration"`
	// The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.
	ReplicationFactor pulumi.IntPtrOutput `pulumi:"replicationFactor"`
	// The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required.
	SimpleUser pulumi.StringPtrOutput `pulumi:"simpleUser"`
	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
	Subdirectory pulumi.StringPtrOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-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](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	Uri     pulumi.StringOutput    `pulumi:"uri"`
}

Manages a Hdfs Location within AWS DataSync.

> **NOTE:** The DataSync Agents must be available before creating this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewLocationHdfs(ctx, "example", &datasync.LocationHdfsArgs{
			AgentArns: pulumi.StringArray{
				pulumi.Any(aws_datasync_agent.Example.Arn),
			},
			AuthenticationType: pulumi.String("SIMPLE"),
			SimpleUser:         pulumi.String("example"),
			NameNodes: datasync.LocationHdfsNameNodeArray{
				&datasync.LocationHdfsNameNodeArgs{
					Hostname: pulumi.Any(aws_instance.Example.Private_dns),
					Port:     pulumi.Int(80),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import aws:datasync/locationHdfs:LocationHdfs example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567

```

func GetLocationHdfs added in v4.34.0

func GetLocationHdfs(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LocationHdfsState, opts ...pulumi.ResourceOption) (*LocationHdfs, error)

GetLocationHdfs gets an existing LocationHdfs 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 NewLocationHdfs added in v4.34.0

func NewLocationHdfs(ctx *pulumi.Context,
	name string, args *LocationHdfsArgs, opts ...pulumi.ResourceOption) (*LocationHdfs, error)

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

func (*LocationHdfs) ElementType added in v4.34.0

func (*LocationHdfs) ElementType() reflect.Type

func (*LocationHdfs) ToLocationHdfsOutput added in v4.34.0

func (i *LocationHdfs) ToLocationHdfsOutput() LocationHdfsOutput

func (*LocationHdfs) ToLocationHdfsOutputWithContext added in v4.34.0

func (i *LocationHdfs) ToLocationHdfsOutputWithContext(ctx context.Context) LocationHdfsOutput

type LocationHdfsArgs added in v4.34.0

type LocationHdfsArgs struct {
	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayInput
	// The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`.
	AuthenticationType pulumi.StringPtrInput
	// The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).
	BlockSize pulumi.IntPtrInput
	// The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosKeytab pulumi.StringPtrInput
	// The krb5.conf file that contains the Kerberos configuration information. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosKrb5Conf pulumi.StringPtrInput
	// The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosPrincipal pulumi.StringPtrInput
	// The URI of the HDFS cluster's Key Management Server (KMS).
	KmsKeyProviderUri pulumi.StringPtrInput
	// The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below.
	NameNodes LocationHdfsNameNodeArrayInput
	// The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If QopConfiguration isn't specified, RpcProtection and DataTransferProtection default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value.  See configuration below.
	QopConfiguration LocationHdfsQopConfigurationPtrInput
	// The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.
	ReplicationFactor pulumi.IntPtrInput
	// The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required.
	SimpleUser pulumi.StringPtrInput
	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-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](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
	TagsAll pulumi.StringMapInput
}

The set of arguments for constructing a LocationHdfs resource.

func (LocationHdfsArgs) ElementType added in v4.34.0

func (LocationHdfsArgs) ElementType() reflect.Type

type LocationHdfsArray added in v4.34.0

type LocationHdfsArray []LocationHdfsInput

func (LocationHdfsArray) ElementType added in v4.34.0

func (LocationHdfsArray) ElementType() reflect.Type

func (LocationHdfsArray) ToLocationHdfsArrayOutput added in v4.34.0

func (i LocationHdfsArray) ToLocationHdfsArrayOutput() LocationHdfsArrayOutput

func (LocationHdfsArray) ToLocationHdfsArrayOutputWithContext added in v4.34.0

func (i LocationHdfsArray) ToLocationHdfsArrayOutputWithContext(ctx context.Context) LocationHdfsArrayOutput

type LocationHdfsArrayInput added in v4.34.0

type LocationHdfsArrayInput interface {
	pulumi.Input

	ToLocationHdfsArrayOutput() LocationHdfsArrayOutput
	ToLocationHdfsArrayOutputWithContext(context.Context) LocationHdfsArrayOutput
}

LocationHdfsArrayInput is an input type that accepts LocationHdfsArray and LocationHdfsArrayOutput values. You can construct a concrete instance of `LocationHdfsArrayInput` via:

LocationHdfsArray{ LocationHdfsArgs{...} }

type LocationHdfsArrayOutput added in v4.34.0

type LocationHdfsArrayOutput struct{ *pulumi.OutputState }

func (LocationHdfsArrayOutput) ElementType added in v4.34.0

func (LocationHdfsArrayOutput) ElementType() reflect.Type

func (LocationHdfsArrayOutput) Index added in v4.34.0

func (LocationHdfsArrayOutput) ToLocationHdfsArrayOutput added in v4.34.0

func (o LocationHdfsArrayOutput) ToLocationHdfsArrayOutput() LocationHdfsArrayOutput

func (LocationHdfsArrayOutput) ToLocationHdfsArrayOutputWithContext added in v4.34.0

func (o LocationHdfsArrayOutput) ToLocationHdfsArrayOutputWithContext(ctx context.Context) LocationHdfsArrayOutput

type LocationHdfsInput added in v4.34.0

type LocationHdfsInput interface {
	pulumi.Input

	ToLocationHdfsOutput() LocationHdfsOutput
	ToLocationHdfsOutputWithContext(ctx context.Context) LocationHdfsOutput
}

type LocationHdfsMap added in v4.34.0

type LocationHdfsMap map[string]LocationHdfsInput

func (LocationHdfsMap) ElementType added in v4.34.0

func (LocationHdfsMap) ElementType() reflect.Type

func (LocationHdfsMap) ToLocationHdfsMapOutput added in v4.34.0

func (i LocationHdfsMap) ToLocationHdfsMapOutput() LocationHdfsMapOutput

func (LocationHdfsMap) ToLocationHdfsMapOutputWithContext added in v4.34.0

func (i LocationHdfsMap) ToLocationHdfsMapOutputWithContext(ctx context.Context) LocationHdfsMapOutput

type LocationHdfsMapInput added in v4.34.0

type LocationHdfsMapInput interface {
	pulumi.Input

	ToLocationHdfsMapOutput() LocationHdfsMapOutput
	ToLocationHdfsMapOutputWithContext(context.Context) LocationHdfsMapOutput
}

LocationHdfsMapInput is an input type that accepts LocationHdfsMap and LocationHdfsMapOutput values. You can construct a concrete instance of `LocationHdfsMapInput` via:

LocationHdfsMap{ "key": LocationHdfsArgs{...} }

type LocationHdfsMapOutput added in v4.34.0

type LocationHdfsMapOutput struct{ *pulumi.OutputState }

func (LocationHdfsMapOutput) ElementType added in v4.34.0

func (LocationHdfsMapOutput) ElementType() reflect.Type

func (LocationHdfsMapOutput) MapIndex added in v4.34.0

func (LocationHdfsMapOutput) ToLocationHdfsMapOutput added in v4.34.0

func (o LocationHdfsMapOutput) ToLocationHdfsMapOutput() LocationHdfsMapOutput

func (LocationHdfsMapOutput) ToLocationHdfsMapOutputWithContext added in v4.34.0

func (o LocationHdfsMapOutput) ToLocationHdfsMapOutputWithContext(ctx context.Context) LocationHdfsMapOutput

type LocationHdfsNameNode added in v4.34.0

type LocationHdfsNameNode struct {
	// The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.
	Hostname string `pulumi:"hostname"`
	// The port that the NameNode uses to listen to client requests.
	Port int `pulumi:"port"`
}

type LocationHdfsNameNodeArgs added in v4.34.0

type LocationHdfsNameNodeArgs struct {
	// The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.
	Hostname pulumi.StringInput `pulumi:"hostname"`
	// The port that the NameNode uses to listen to client requests.
	Port pulumi.IntInput `pulumi:"port"`
}

func (LocationHdfsNameNodeArgs) ElementType added in v4.34.0

func (LocationHdfsNameNodeArgs) ElementType() reflect.Type

func (LocationHdfsNameNodeArgs) ToLocationHdfsNameNodeOutput added in v4.34.0

func (i LocationHdfsNameNodeArgs) ToLocationHdfsNameNodeOutput() LocationHdfsNameNodeOutput

func (LocationHdfsNameNodeArgs) ToLocationHdfsNameNodeOutputWithContext added in v4.34.0

func (i LocationHdfsNameNodeArgs) ToLocationHdfsNameNodeOutputWithContext(ctx context.Context) LocationHdfsNameNodeOutput

type LocationHdfsNameNodeArray added in v4.34.0

type LocationHdfsNameNodeArray []LocationHdfsNameNodeInput

func (LocationHdfsNameNodeArray) ElementType added in v4.34.0

func (LocationHdfsNameNodeArray) ElementType() reflect.Type

func (LocationHdfsNameNodeArray) ToLocationHdfsNameNodeArrayOutput added in v4.34.0

func (i LocationHdfsNameNodeArray) ToLocationHdfsNameNodeArrayOutput() LocationHdfsNameNodeArrayOutput

func (LocationHdfsNameNodeArray) ToLocationHdfsNameNodeArrayOutputWithContext added in v4.34.0

func (i LocationHdfsNameNodeArray) ToLocationHdfsNameNodeArrayOutputWithContext(ctx context.Context) LocationHdfsNameNodeArrayOutput

type LocationHdfsNameNodeArrayInput added in v4.34.0

type LocationHdfsNameNodeArrayInput interface {
	pulumi.Input

	ToLocationHdfsNameNodeArrayOutput() LocationHdfsNameNodeArrayOutput
	ToLocationHdfsNameNodeArrayOutputWithContext(context.Context) LocationHdfsNameNodeArrayOutput
}

LocationHdfsNameNodeArrayInput is an input type that accepts LocationHdfsNameNodeArray and LocationHdfsNameNodeArrayOutput values. You can construct a concrete instance of `LocationHdfsNameNodeArrayInput` via:

LocationHdfsNameNodeArray{ LocationHdfsNameNodeArgs{...} }

type LocationHdfsNameNodeArrayOutput added in v4.34.0

type LocationHdfsNameNodeArrayOutput struct{ *pulumi.OutputState }

func (LocationHdfsNameNodeArrayOutput) ElementType added in v4.34.0

func (LocationHdfsNameNodeArrayOutput) Index added in v4.34.0

func (LocationHdfsNameNodeArrayOutput) ToLocationHdfsNameNodeArrayOutput added in v4.34.0

func (o LocationHdfsNameNodeArrayOutput) ToLocationHdfsNameNodeArrayOutput() LocationHdfsNameNodeArrayOutput

func (LocationHdfsNameNodeArrayOutput) ToLocationHdfsNameNodeArrayOutputWithContext added in v4.34.0

func (o LocationHdfsNameNodeArrayOutput) ToLocationHdfsNameNodeArrayOutputWithContext(ctx context.Context) LocationHdfsNameNodeArrayOutput

type LocationHdfsNameNodeInput added in v4.34.0

type LocationHdfsNameNodeInput interface {
	pulumi.Input

	ToLocationHdfsNameNodeOutput() LocationHdfsNameNodeOutput
	ToLocationHdfsNameNodeOutputWithContext(context.Context) LocationHdfsNameNodeOutput
}

LocationHdfsNameNodeInput is an input type that accepts LocationHdfsNameNodeArgs and LocationHdfsNameNodeOutput values. You can construct a concrete instance of `LocationHdfsNameNodeInput` via:

LocationHdfsNameNodeArgs{...}

type LocationHdfsNameNodeOutput added in v4.34.0

type LocationHdfsNameNodeOutput struct{ *pulumi.OutputState }

func (LocationHdfsNameNodeOutput) ElementType added in v4.34.0

func (LocationHdfsNameNodeOutput) ElementType() reflect.Type

func (LocationHdfsNameNodeOutput) Hostname added in v4.34.0

The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.

func (LocationHdfsNameNodeOutput) Port added in v4.34.0

The port that the NameNode uses to listen to client requests.

func (LocationHdfsNameNodeOutput) ToLocationHdfsNameNodeOutput added in v4.34.0

func (o LocationHdfsNameNodeOutput) ToLocationHdfsNameNodeOutput() LocationHdfsNameNodeOutput

func (LocationHdfsNameNodeOutput) ToLocationHdfsNameNodeOutputWithContext added in v4.34.0

func (o LocationHdfsNameNodeOutput) ToLocationHdfsNameNodeOutputWithContext(ctx context.Context) LocationHdfsNameNodeOutput

type LocationHdfsOutput added in v4.34.0

type LocationHdfsOutput struct{ *pulumi.OutputState }

func (LocationHdfsOutput) ElementType added in v4.34.0

func (LocationHdfsOutput) ElementType() reflect.Type

func (LocationHdfsOutput) ToLocationHdfsOutput added in v4.34.0

func (o LocationHdfsOutput) ToLocationHdfsOutput() LocationHdfsOutput

func (LocationHdfsOutput) ToLocationHdfsOutputWithContext added in v4.34.0

func (o LocationHdfsOutput) ToLocationHdfsOutputWithContext(ctx context.Context) LocationHdfsOutput

type LocationHdfsQopConfiguration added in v4.34.0

type LocationHdfsQopConfiguration struct {
	// The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.
	DataTransferProtection *string `pulumi:"dataTransferProtection"`
	// The RPC protection setting configured on the HDFS cluster. This setting corresponds to your hadoop.rpc.protection setting in your core-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.
	RpcProtection *string `pulumi:"rpcProtection"`
}

type LocationHdfsQopConfigurationArgs added in v4.34.0

type LocationHdfsQopConfigurationArgs struct {
	// The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.
	DataTransferProtection pulumi.StringPtrInput `pulumi:"dataTransferProtection"`
	// The RPC protection setting configured on the HDFS cluster. This setting corresponds to your hadoop.rpc.protection setting in your core-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.
	RpcProtection pulumi.StringPtrInput `pulumi:"rpcProtection"`
}

func (LocationHdfsQopConfigurationArgs) ElementType added in v4.34.0

func (LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationOutput added in v4.34.0

func (i LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationOutput() LocationHdfsQopConfigurationOutput

func (LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationOutputWithContext added in v4.34.0

func (i LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationOutputWithContext(ctx context.Context) LocationHdfsQopConfigurationOutput

func (LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationPtrOutput added in v4.34.0

func (i LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationPtrOutput() LocationHdfsQopConfigurationPtrOutput

func (LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationPtrOutputWithContext added in v4.34.0

func (i LocationHdfsQopConfigurationArgs) ToLocationHdfsQopConfigurationPtrOutputWithContext(ctx context.Context) LocationHdfsQopConfigurationPtrOutput

type LocationHdfsQopConfigurationInput added in v4.34.0

type LocationHdfsQopConfigurationInput interface {
	pulumi.Input

	ToLocationHdfsQopConfigurationOutput() LocationHdfsQopConfigurationOutput
	ToLocationHdfsQopConfigurationOutputWithContext(context.Context) LocationHdfsQopConfigurationOutput
}

LocationHdfsQopConfigurationInput is an input type that accepts LocationHdfsQopConfigurationArgs and LocationHdfsQopConfigurationOutput values. You can construct a concrete instance of `LocationHdfsQopConfigurationInput` via:

LocationHdfsQopConfigurationArgs{...}

type LocationHdfsQopConfigurationOutput added in v4.34.0

type LocationHdfsQopConfigurationOutput struct{ *pulumi.OutputState }

func (LocationHdfsQopConfigurationOutput) DataTransferProtection added in v4.34.0

func (o LocationHdfsQopConfigurationOutput) DataTransferProtection() pulumi.StringPtrOutput

The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.

func (LocationHdfsQopConfigurationOutput) ElementType added in v4.34.0

func (LocationHdfsQopConfigurationOutput) RpcProtection added in v4.34.0

The RPC protection setting configured on the HDFS cluster. This setting corresponds to your hadoop.rpc.protection setting in your core-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.

func (LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationOutput added in v4.34.0

func (o LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationOutput() LocationHdfsQopConfigurationOutput

func (LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationOutputWithContext added in v4.34.0

func (o LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationOutputWithContext(ctx context.Context) LocationHdfsQopConfigurationOutput

func (LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationPtrOutput added in v4.34.0

func (o LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationPtrOutput() LocationHdfsQopConfigurationPtrOutput

func (LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationPtrOutputWithContext added in v4.34.0

func (o LocationHdfsQopConfigurationOutput) ToLocationHdfsQopConfigurationPtrOutputWithContext(ctx context.Context) LocationHdfsQopConfigurationPtrOutput

type LocationHdfsQopConfigurationPtrInput added in v4.34.0

type LocationHdfsQopConfigurationPtrInput interface {
	pulumi.Input

	ToLocationHdfsQopConfigurationPtrOutput() LocationHdfsQopConfigurationPtrOutput
	ToLocationHdfsQopConfigurationPtrOutputWithContext(context.Context) LocationHdfsQopConfigurationPtrOutput
}

LocationHdfsQopConfigurationPtrInput is an input type that accepts LocationHdfsQopConfigurationArgs, LocationHdfsQopConfigurationPtr and LocationHdfsQopConfigurationPtrOutput values. You can construct a concrete instance of `LocationHdfsQopConfigurationPtrInput` via:

        LocationHdfsQopConfigurationArgs{...}

or:

        nil

func LocationHdfsQopConfigurationPtr added in v4.34.0

type LocationHdfsQopConfigurationPtrOutput added in v4.34.0

type LocationHdfsQopConfigurationPtrOutput struct{ *pulumi.OutputState }

func (LocationHdfsQopConfigurationPtrOutput) DataTransferProtection added in v4.34.0

The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.

func (LocationHdfsQopConfigurationPtrOutput) Elem added in v4.34.0

func (LocationHdfsQopConfigurationPtrOutput) ElementType added in v4.34.0

func (LocationHdfsQopConfigurationPtrOutput) RpcProtection added in v4.34.0

The RPC protection setting configured on the HDFS cluster. This setting corresponds to your hadoop.rpc.protection setting in your core-site.xml file on your Hadoop cluster. Valid values are `DISABLED`, `AUTHENTICATION`, `INTEGRITY` and `PRIVACY`.

func (LocationHdfsQopConfigurationPtrOutput) ToLocationHdfsQopConfigurationPtrOutput added in v4.34.0

func (o LocationHdfsQopConfigurationPtrOutput) ToLocationHdfsQopConfigurationPtrOutput() LocationHdfsQopConfigurationPtrOutput

func (LocationHdfsQopConfigurationPtrOutput) ToLocationHdfsQopConfigurationPtrOutputWithContext added in v4.34.0

func (o LocationHdfsQopConfigurationPtrOutput) ToLocationHdfsQopConfigurationPtrOutputWithContext(ctx context.Context) LocationHdfsQopConfigurationPtrOutput

type LocationHdfsState added in v4.34.0

type LocationHdfsState struct {
	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayInput
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// The type of authentication used to determine the identity of the user. Valid values are `SIMPLE` and `KERBEROS`.
	AuthenticationType pulumi.StringPtrInput
	// The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).
	BlockSize pulumi.IntPtrInput
	// The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosKeytab pulumi.StringPtrInput
	// The krb5.conf file that contains the Kerberos configuration information. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosKrb5Conf pulumi.StringPtrInput
	// The Kerberos principal with access to the files and folders on the HDFS cluster. If `KERBEROS` is specified for `authenticationType`, this parameter is required.
	KerberosPrincipal pulumi.StringPtrInput
	// The URI of the HDFS cluster's Key Management Server (KMS).
	KmsKeyProviderUri pulumi.StringPtrInput
	// The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode. See configuration below.
	NameNodes LocationHdfsNameNodeArrayInput
	// The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If QopConfiguration isn't specified, RpcProtection and DataTransferProtection default to `PRIVACY`. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value.  See configuration below.
	QopConfiguration LocationHdfsQopConfigurationPtrInput
	// The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.
	ReplicationFactor pulumi.IntPtrInput
	// The user name used to identify the client on the host operating system. If `SIMPLE` is specified for `authenticationType`, this parameter is required.
	SimpleUser pulumi.StringPtrInput
	// A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider [`defaultTags` configuration block](https://www.terraform.io/docs/providers/aws/index.html#default_tags-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](https://www.terraform.io/docs/providers/aws/index.html#default_tags-configuration-block).
	TagsAll pulumi.StringMapInput
	Uri     pulumi.StringPtrInput
}

func (LocationHdfsState) ElementType added in v4.34.0

func (LocationHdfsState) ElementType() reflect.Type

type LocationSmb

type LocationSmb struct {
	pulumi.CustomResourceState

	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayOutput `pulumi:"agentArns"`
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the Windows domain the SMB server belongs to.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// Configuration block containing mount options used by DataSync to access the SMB Server. Can be `AUTOMATIC`, `SMB2`, or `SMB3`.
	MountOptions LocationSmbMountOptionsPtrOutput `pulumi:"mountOptions"`
	// The password of the user who can mount the share and has file permissions in the SMB.
	Password pulumi.StringOutput `pulumi:"password"`
	// Specifies the IP address or DNS name of the SMB server. The DataSync Agent(s) use this to mount the SMB share.
	ServerHostname pulumi.StringOutput `pulumi:"serverHostname"`
	// Subdirectory to perform actions as source or destination. Should be exported by the NFS server.
	Subdirectory pulumi.StringOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. .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"`
	Uri     pulumi.StringOutput    `pulumi:"uri"`
	// The user who can mount the share and has file and folder permissions in the SMB share.
	User pulumi.StringOutput `pulumi:"user"`
}

Manages a SMB Location within AWS DataSync.

> **NOTE:** The DataSync Agents must be available before creating this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewLocationSmb(ctx, "example", &datasync.LocationSmbArgs{
			ServerHostname: pulumi.String("smb.example.com"),
			Subdirectory:   pulumi.String("/exported/path"),
			User:           pulumi.String("Guest"),
			Password:       pulumi.String("ANotGreatPassword"),
			AgentArns: pulumi.StringArray{
				pulumi.Any(aws_datasync_agent.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import aws:datasync/locationSmb:LocationSmb example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567

```

func GetLocationSmb

func GetLocationSmb(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LocationSmbState, opts ...pulumi.ResourceOption) (*LocationSmb, error)

GetLocationSmb gets an existing LocationSmb 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 NewLocationSmb

func NewLocationSmb(ctx *pulumi.Context,
	name string, args *LocationSmbArgs, opts ...pulumi.ResourceOption) (*LocationSmb, error)

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

func (*LocationSmb) ElementType

func (*LocationSmb) ElementType() reflect.Type

func (*LocationSmb) ToLocationSmbOutput

func (i *LocationSmb) ToLocationSmbOutput() LocationSmbOutput

func (*LocationSmb) ToLocationSmbOutputWithContext

func (i *LocationSmb) ToLocationSmbOutputWithContext(ctx context.Context) LocationSmbOutput

type LocationSmbArgs

type LocationSmbArgs struct {
	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayInput
	// The name of the Windows domain the SMB server belongs to.
	Domain pulumi.StringPtrInput
	// Configuration block containing mount options used by DataSync to access the SMB Server. Can be `AUTOMATIC`, `SMB2`, or `SMB3`.
	MountOptions LocationSmbMountOptionsPtrInput
	// The password of the user who can mount the share and has file permissions in the SMB.
	Password pulumi.StringInput
	// Specifies the IP address or DNS name of the SMB server. The DataSync Agent(s) use this to mount the SMB share.
	ServerHostname pulumi.StringInput
	// Subdirectory to perform actions as source or destination. Should be exported by the NFS server.
	Subdirectory pulumi.StringInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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 who can mount the share and has file and folder permissions in the SMB share.
	User pulumi.StringInput
}

The set of arguments for constructing a LocationSmb resource.

func (LocationSmbArgs) ElementType

func (LocationSmbArgs) ElementType() reflect.Type

type LocationSmbArray

type LocationSmbArray []LocationSmbInput

func (LocationSmbArray) ElementType

func (LocationSmbArray) ElementType() reflect.Type

func (LocationSmbArray) ToLocationSmbArrayOutput

func (i LocationSmbArray) ToLocationSmbArrayOutput() LocationSmbArrayOutput

func (LocationSmbArray) ToLocationSmbArrayOutputWithContext

func (i LocationSmbArray) ToLocationSmbArrayOutputWithContext(ctx context.Context) LocationSmbArrayOutput

type LocationSmbArrayInput

type LocationSmbArrayInput interface {
	pulumi.Input

	ToLocationSmbArrayOutput() LocationSmbArrayOutput
	ToLocationSmbArrayOutputWithContext(context.Context) LocationSmbArrayOutput
}

LocationSmbArrayInput is an input type that accepts LocationSmbArray and LocationSmbArrayOutput values. You can construct a concrete instance of `LocationSmbArrayInput` via:

LocationSmbArray{ LocationSmbArgs{...} }

type LocationSmbArrayOutput

type LocationSmbArrayOutput struct{ *pulumi.OutputState }

func (LocationSmbArrayOutput) ElementType

func (LocationSmbArrayOutput) ElementType() reflect.Type

func (LocationSmbArrayOutput) Index

func (LocationSmbArrayOutput) ToLocationSmbArrayOutput

func (o LocationSmbArrayOutput) ToLocationSmbArrayOutput() LocationSmbArrayOutput

func (LocationSmbArrayOutput) ToLocationSmbArrayOutputWithContext

func (o LocationSmbArrayOutput) ToLocationSmbArrayOutputWithContext(ctx context.Context) LocationSmbArrayOutput

type LocationSmbInput

type LocationSmbInput interface {
	pulumi.Input

	ToLocationSmbOutput() LocationSmbOutput
	ToLocationSmbOutputWithContext(ctx context.Context) LocationSmbOutput
}

type LocationSmbMap

type LocationSmbMap map[string]LocationSmbInput

func (LocationSmbMap) ElementType

func (LocationSmbMap) ElementType() reflect.Type

func (LocationSmbMap) ToLocationSmbMapOutput

func (i LocationSmbMap) ToLocationSmbMapOutput() LocationSmbMapOutput

func (LocationSmbMap) ToLocationSmbMapOutputWithContext

func (i LocationSmbMap) ToLocationSmbMapOutputWithContext(ctx context.Context) LocationSmbMapOutput

type LocationSmbMapInput

type LocationSmbMapInput interface {
	pulumi.Input

	ToLocationSmbMapOutput() LocationSmbMapOutput
	ToLocationSmbMapOutputWithContext(context.Context) LocationSmbMapOutput
}

LocationSmbMapInput is an input type that accepts LocationSmbMap and LocationSmbMapOutput values. You can construct a concrete instance of `LocationSmbMapInput` via:

LocationSmbMap{ "key": LocationSmbArgs{...} }

type LocationSmbMapOutput

type LocationSmbMapOutput struct{ *pulumi.OutputState }

func (LocationSmbMapOutput) ElementType

func (LocationSmbMapOutput) ElementType() reflect.Type

func (LocationSmbMapOutput) MapIndex

func (LocationSmbMapOutput) ToLocationSmbMapOutput

func (o LocationSmbMapOutput) ToLocationSmbMapOutput() LocationSmbMapOutput

func (LocationSmbMapOutput) ToLocationSmbMapOutputWithContext

func (o LocationSmbMapOutput) ToLocationSmbMapOutputWithContext(ctx context.Context) LocationSmbMapOutput

type LocationSmbMountOptions

type LocationSmbMountOptions struct {
	// The specific SMB version that you want DataSync to use for mounting your SMB share. Valid values: `AUTOMATIC`, `SMB2`, and `SMB3`. Default: `AUTOMATIC`
	Version *string `pulumi:"version"`
}

type LocationSmbMountOptionsArgs

type LocationSmbMountOptionsArgs struct {
	// The specific SMB version that you want DataSync to use for mounting your SMB share. Valid values: `AUTOMATIC`, `SMB2`, and `SMB3`. Default: `AUTOMATIC`
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (LocationSmbMountOptionsArgs) ElementType

func (LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsOutput

func (i LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsOutput() LocationSmbMountOptionsOutput

func (LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsOutputWithContext

func (i LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsOutputWithContext(ctx context.Context) LocationSmbMountOptionsOutput

func (LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsPtrOutput

func (i LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsPtrOutput() LocationSmbMountOptionsPtrOutput

func (LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsPtrOutputWithContext

func (i LocationSmbMountOptionsArgs) ToLocationSmbMountOptionsPtrOutputWithContext(ctx context.Context) LocationSmbMountOptionsPtrOutput

type LocationSmbMountOptionsInput

type LocationSmbMountOptionsInput interface {
	pulumi.Input

	ToLocationSmbMountOptionsOutput() LocationSmbMountOptionsOutput
	ToLocationSmbMountOptionsOutputWithContext(context.Context) LocationSmbMountOptionsOutput
}

LocationSmbMountOptionsInput is an input type that accepts LocationSmbMountOptionsArgs and LocationSmbMountOptionsOutput values. You can construct a concrete instance of `LocationSmbMountOptionsInput` via:

LocationSmbMountOptionsArgs{...}

type LocationSmbMountOptionsOutput

type LocationSmbMountOptionsOutput struct{ *pulumi.OutputState }

func (LocationSmbMountOptionsOutput) ElementType

func (LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsOutput

func (o LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsOutput() LocationSmbMountOptionsOutput

func (LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsOutputWithContext

func (o LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsOutputWithContext(ctx context.Context) LocationSmbMountOptionsOutput

func (LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsPtrOutput

func (o LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsPtrOutput() LocationSmbMountOptionsPtrOutput

func (LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsPtrOutputWithContext

func (o LocationSmbMountOptionsOutput) ToLocationSmbMountOptionsPtrOutputWithContext(ctx context.Context) LocationSmbMountOptionsPtrOutput

func (LocationSmbMountOptionsOutput) Version

The specific SMB version that you want DataSync to use for mounting your SMB share. Valid values: `AUTOMATIC`, `SMB2`, and `SMB3`. Default: `AUTOMATIC`

type LocationSmbMountOptionsPtrInput

type LocationSmbMountOptionsPtrInput interface {
	pulumi.Input

	ToLocationSmbMountOptionsPtrOutput() LocationSmbMountOptionsPtrOutput
	ToLocationSmbMountOptionsPtrOutputWithContext(context.Context) LocationSmbMountOptionsPtrOutput
}

LocationSmbMountOptionsPtrInput is an input type that accepts LocationSmbMountOptionsArgs, LocationSmbMountOptionsPtr and LocationSmbMountOptionsPtrOutput values. You can construct a concrete instance of `LocationSmbMountOptionsPtrInput` via:

        LocationSmbMountOptionsArgs{...}

or:

        nil

type LocationSmbMountOptionsPtrOutput

type LocationSmbMountOptionsPtrOutput struct{ *pulumi.OutputState }

func (LocationSmbMountOptionsPtrOutput) Elem

func (LocationSmbMountOptionsPtrOutput) ElementType

func (LocationSmbMountOptionsPtrOutput) ToLocationSmbMountOptionsPtrOutput

func (o LocationSmbMountOptionsPtrOutput) ToLocationSmbMountOptionsPtrOutput() LocationSmbMountOptionsPtrOutput

func (LocationSmbMountOptionsPtrOutput) ToLocationSmbMountOptionsPtrOutputWithContext

func (o LocationSmbMountOptionsPtrOutput) ToLocationSmbMountOptionsPtrOutputWithContext(ctx context.Context) LocationSmbMountOptionsPtrOutput

func (LocationSmbMountOptionsPtrOutput) Version

The specific SMB version that you want DataSync to use for mounting your SMB share. Valid values: `AUTOMATIC`, `SMB2`, and `SMB3`. Default: `AUTOMATIC`

type LocationSmbOutput

type LocationSmbOutput struct{ *pulumi.OutputState }

func (LocationSmbOutput) ElementType

func (LocationSmbOutput) ElementType() reflect.Type

func (LocationSmbOutput) ToLocationSmbOutput

func (o LocationSmbOutput) ToLocationSmbOutput() LocationSmbOutput

func (LocationSmbOutput) ToLocationSmbOutputWithContext

func (o LocationSmbOutput) ToLocationSmbOutputWithContext(ctx context.Context) LocationSmbOutput

type LocationSmbState

type LocationSmbState struct {
	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayInput
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// The name of the Windows domain the SMB server belongs to.
	Domain pulumi.StringPtrInput
	// Configuration block containing mount options used by DataSync to access the SMB Server. Can be `AUTOMATIC`, `SMB2`, or `SMB3`.
	MountOptions LocationSmbMountOptionsPtrInput
	// The password of the user who can mount the share and has file permissions in the SMB.
	Password pulumi.StringPtrInput
	// Specifies the IP address or DNS name of the SMB server. The DataSync Agent(s) use this to mount the SMB share.
	ServerHostname pulumi.StringPtrInput
	// Subdirectory to perform actions as source or destination. Should be exported by the NFS server.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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
	Uri     pulumi.StringPtrInput
	// The user who can mount the share and has file and folder permissions in the SMB share.
	User pulumi.StringPtrInput
}

func (LocationSmbState) ElementType

func (LocationSmbState) ElementType() reflect.Type

type NfsLocation

type NfsLocation struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Configuration block containing mount options used by DataSync to access the NFS Server.
	MountOptions NfsLocationMountOptionsPtrOutput `pulumi:"mountOptions"`
	// Configuration block containing information for connecting to the NFS File System.
	OnPremConfig NfsLocationOnPremConfigOutput `pulumi:"onPremConfig"`
	// Specifies the IP address or DNS name of the NFS server. The DataSync Agent(s) use this to mount the NFS server.
	ServerHostname pulumi.StringOutput `pulumi:"serverHostname"`
	// Subdirectory to perform actions as source or destination. Should be exported by the NFS server.
	Subdirectory pulumi.StringOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. .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"`
	Uri     pulumi.StringOutput    `pulumi:"uri"`
}

Manages an NFS Location within AWS DataSync.

> **NOTE:** The DataSync Agents must be available before creating this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewNfsLocation(ctx, "example", &datasync.NfsLocationArgs{
			ServerHostname: pulumi.String("nfs.example.com"),
			Subdirectory:   pulumi.String("/exported/path"),
			OnPremConfig: &datasync.NfsLocationOnPremConfigArgs{
				AgentArns: pulumi.StringArray{
					pulumi.Any(aws_datasync_agent.Example.Arn),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_location_nfs` can be imported by using the DataSync Task Amazon Resource Name (ARN), e.g.,

```sh

$ pulumi import aws:datasync/nfsLocation:NfsLocation example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567

```

func GetNfsLocation

func GetNfsLocation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NfsLocationState, opts ...pulumi.ResourceOption) (*NfsLocation, error)

GetNfsLocation gets an existing NfsLocation 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 NewNfsLocation

func NewNfsLocation(ctx *pulumi.Context,
	name string, args *NfsLocationArgs, opts ...pulumi.ResourceOption) (*NfsLocation, error)

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

func (*NfsLocation) ElementType

func (*NfsLocation) ElementType() reflect.Type

func (*NfsLocation) ToNfsLocationOutput

func (i *NfsLocation) ToNfsLocationOutput() NfsLocationOutput

func (*NfsLocation) ToNfsLocationOutputWithContext

func (i *NfsLocation) ToNfsLocationOutputWithContext(ctx context.Context) NfsLocationOutput

type NfsLocationArgs

type NfsLocationArgs struct {
	// Configuration block containing mount options used by DataSync to access the NFS Server.
	MountOptions NfsLocationMountOptionsPtrInput
	// Configuration block containing information for connecting to the NFS File System.
	OnPremConfig NfsLocationOnPremConfigInput
	// Specifies the IP address or DNS name of the NFS server. The DataSync Agent(s) use this to mount the NFS server.
	ServerHostname pulumi.StringInput
	// Subdirectory to perform actions as source or destination. Should be exported by the NFS server.
	Subdirectory pulumi.StringInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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 NfsLocation resource.

func (NfsLocationArgs) ElementType

func (NfsLocationArgs) ElementType() reflect.Type

type NfsLocationArray

type NfsLocationArray []NfsLocationInput

func (NfsLocationArray) ElementType

func (NfsLocationArray) ElementType() reflect.Type

func (NfsLocationArray) ToNfsLocationArrayOutput

func (i NfsLocationArray) ToNfsLocationArrayOutput() NfsLocationArrayOutput

func (NfsLocationArray) ToNfsLocationArrayOutputWithContext

func (i NfsLocationArray) ToNfsLocationArrayOutputWithContext(ctx context.Context) NfsLocationArrayOutput

type NfsLocationArrayInput

type NfsLocationArrayInput interface {
	pulumi.Input

	ToNfsLocationArrayOutput() NfsLocationArrayOutput
	ToNfsLocationArrayOutputWithContext(context.Context) NfsLocationArrayOutput
}

NfsLocationArrayInput is an input type that accepts NfsLocationArray and NfsLocationArrayOutput values. You can construct a concrete instance of `NfsLocationArrayInput` via:

NfsLocationArray{ NfsLocationArgs{...} }

type NfsLocationArrayOutput

type NfsLocationArrayOutput struct{ *pulumi.OutputState }

func (NfsLocationArrayOutput) ElementType

func (NfsLocationArrayOutput) ElementType() reflect.Type

func (NfsLocationArrayOutput) Index

func (NfsLocationArrayOutput) ToNfsLocationArrayOutput

func (o NfsLocationArrayOutput) ToNfsLocationArrayOutput() NfsLocationArrayOutput

func (NfsLocationArrayOutput) ToNfsLocationArrayOutputWithContext

func (o NfsLocationArrayOutput) ToNfsLocationArrayOutputWithContext(ctx context.Context) NfsLocationArrayOutput

type NfsLocationInput

type NfsLocationInput interface {
	pulumi.Input

	ToNfsLocationOutput() NfsLocationOutput
	ToNfsLocationOutputWithContext(ctx context.Context) NfsLocationOutput
}

type NfsLocationMap

type NfsLocationMap map[string]NfsLocationInput

func (NfsLocationMap) ElementType

func (NfsLocationMap) ElementType() reflect.Type

func (NfsLocationMap) ToNfsLocationMapOutput

func (i NfsLocationMap) ToNfsLocationMapOutput() NfsLocationMapOutput

func (NfsLocationMap) ToNfsLocationMapOutputWithContext

func (i NfsLocationMap) ToNfsLocationMapOutputWithContext(ctx context.Context) NfsLocationMapOutput

type NfsLocationMapInput

type NfsLocationMapInput interface {
	pulumi.Input

	ToNfsLocationMapOutput() NfsLocationMapOutput
	ToNfsLocationMapOutputWithContext(context.Context) NfsLocationMapOutput
}

NfsLocationMapInput is an input type that accepts NfsLocationMap and NfsLocationMapOutput values. You can construct a concrete instance of `NfsLocationMapInput` via:

NfsLocationMap{ "key": NfsLocationArgs{...} }

type NfsLocationMapOutput

type NfsLocationMapOutput struct{ *pulumi.OutputState }

func (NfsLocationMapOutput) ElementType

func (NfsLocationMapOutput) ElementType() reflect.Type

func (NfsLocationMapOutput) MapIndex

func (NfsLocationMapOutput) ToNfsLocationMapOutput

func (o NfsLocationMapOutput) ToNfsLocationMapOutput() NfsLocationMapOutput

func (NfsLocationMapOutput) ToNfsLocationMapOutputWithContext

func (o NfsLocationMapOutput) ToNfsLocationMapOutputWithContext(ctx context.Context) NfsLocationMapOutput

type NfsLocationMountOptions added in v4.9.0

type NfsLocationMountOptions struct {
	// The specific NFS version that you want DataSync to use for mounting your NFS share. Valid values: `AUTOMATIC`, `NFS3`, `NFS4_0` and `NFS4_1`. Default: `AUTOMATIC`
	Version *string `pulumi:"version"`
}

type NfsLocationMountOptionsArgs added in v4.9.0

type NfsLocationMountOptionsArgs struct {
	// The specific NFS version that you want DataSync to use for mounting your NFS share. Valid values: `AUTOMATIC`, `NFS3`, `NFS4_0` and `NFS4_1`. Default: `AUTOMATIC`
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (NfsLocationMountOptionsArgs) ElementType added in v4.9.0

func (NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsOutput added in v4.9.0

func (i NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsOutput() NfsLocationMountOptionsOutput

func (NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsOutputWithContext added in v4.9.0

func (i NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsOutputWithContext(ctx context.Context) NfsLocationMountOptionsOutput

func (NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsPtrOutput added in v4.9.0

func (i NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsPtrOutput() NfsLocationMountOptionsPtrOutput

func (NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsPtrOutputWithContext added in v4.9.0

func (i NfsLocationMountOptionsArgs) ToNfsLocationMountOptionsPtrOutputWithContext(ctx context.Context) NfsLocationMountOptionsPtrOutput

type NfsLocationMountOptionsInput added in v4.9.0

type NfsLocationMountOptionsInput interface {
	pulumi.Input

	ToNfsLocationMountOptionsOutput() NfsLocationMountOptionsOutput
	ToNfsLocationMountOptionsOutputWithContext(context.Context) NfsLocationMountOptionsOutput
}

NfsLocationMountOptionsInput is an input type that accepts NfsLocationMountOptionsArgs and NfsLocationMountOptionsOutput values. You can construct a concrete instance of `NfsLocationMountOptionsInput` via:

NfsLocationMountOptionsArgs{...}

type NfsLocationMountOptionsOutput added in v4.9.0

type NfsLocationMountOptionsOutput struct{ *pulumi.OutputState }

func (NfsLocationMountOptionsOutput) ElementType added in v4.9.0

func (NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsOutput added in v4.9.0

func (o NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsOutput() NfsLocationMountOptionsOutput

func (NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsOutputWithContext added in v4.9.0

func (o NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsOutputWithContext(ctx context.Context) NfsLocationMountOptionsOutput

func (NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsPtrOutput added in v4.9.0

func (o NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsPtrOutput() NfsLocationMountOptionsPtrOutput

func (NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsPtrOutputWithContext added in v4.9.0

func (o NfsLocationMountOptionsOutput) ToNfsLocationMountOptionsPtrOutputWithContext(ctx context.Context) NfsLocationMountOptionsPtrOutput

func (NfsLocationMountOptionsOutput) Version added in v4.9.0

The specific NFS version that you want DataSync to use for mounting your NFS share. Valid values: `AUTOMATIC`, `NFS3`, `NFS4_0` and `NFS4_1`. Default: `AUTOMATIC`

type NfsLocationMountOptionsPtrInput added in v4.9.0

type NfsLocationMountOptionsPtrInput interface {
	pulumi.Input

	ToNfsLocationMountOptionsPtrOutput() NfsLocationMountOptionsPtrOutput
	ToNfsLocationMountOptionsPtrOutputWithContext(context.Context) NfsLocationMountOptionsPtrOutput
}

NfsLocationMountOptionsPtrInput is an input type that accepts NfsLocationMountOptionsArgs, NfsLocationMountOptionsPtr and NfsLocationMountOptionsPtrOutput values. You can construct a concrete instance of `NfsLocationMountOptionsPtrInput` via:

        NfsLocationMountOptionsArgs{...}

or:

        nil

func NfsLocationMountOptionsPtr added in v4.9.0

func NfsLocationMountOptionsPtr(v *NfsLocationMountOptionsArgs) NfsLocationMountOptionsPtrInput

type NfsLocationMountOptionsPtrOutput added in v4.9.0

type NfsLocationMountOptionsPtrOutput struct{ *pulumi.OutputState }

func (NfsLocationMountOptionsPtrOutput) Elem added in v4.9.0

func (NfsLocationMountOptionsPtrOutput) ElementType added in v4.9.0

func (NfsLocationMountOptionsPtrOutput) ToNfsLocationMountOptionsPtrOutput added in v4.9.0

func (o NfsLocationMountOptionsPtrOutput) ToNfsLocationMountOptionsPtrOutput() NfsLocationMountOptionsPtrOutput

func (NfsLocationMountOptionsPtrOutput) ToNfsLocationMountOptionsPtrOutputWithContext added in v4.9.0

func (o NfsLocationMountOptionsPtrOutput) ToNfsLocationMountOptionsPtrOutputWithContext(ctx context.Context) NfsLocationMountOptionsPtrOutput

func (NfsLocationMountOptionsPtrOutput) Version added in v4.9.0

The specific NFS version that you want DataSync to use for mounting your NFS share. Valid values: `AUTOMATIC`, `NFS3`, `NFS4_0` and `NFS4_1`. Default: `AUTOMATIC`

type NfsLocationOnPremConfig

type NfsLocationOnPremConfig struct {
	// List of Amazon Resource Names (ARNs) of the DataSync Agents used to connect to the NFS server.
	AgentArns []string `pulumi:"agentArns"`
}

type NfsLocationOnPremConfigArgs

type NfsLocationOnPremConfigArgs struct {
	// List of Amazon Resource Names (ARNs) of the DataSync Agents used to connect to the NFS server.
	AgentArns pulumi.StringArrayInput `pulumi:"agentArns"`
}

func (NfsLocationOnPremConfigArgs) ElementType

func (NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigOutput

func (i NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigOutput() NfsLocationOnPremConfigOutput

func (NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigOutputWithContext

func (i NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigOutputWithContext(ctx context.Context) NfsLocationOnPremConfigOutput

func (NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigPtrOutput

func (i NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigPtrOutput() NfsLocationOnPremConfigPtrOutput

func (NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigPtrOutputWithContext

func (i NfsLocationOnPremConfigArgs) ToNfsLocationOnPremConfigPtrOutputWithContext(ctx context.Context) NfsLocationOnPremConfigPtrOutput

type NfsLocationOnPremConfigInput

type NfsLocationOnPremConfigInput interface {
	pulumi.Input

	ToNfsLocationOnPremConfigOutput() NfsLocationOnPremConfigOutput
	ToNfsLocationOnPremConfigOutputWithContext(context.Context) NfsLocationOnPremConfigOutput
}

NfsLocationOnPremConfigInput is an input type that accepts NfsLocationOnPremConfigArgs and NfsLocationOnPremConfigOutput values. You can construct a concrete instance of `NfsLocationOnPremConfigInput` via:

NfsLocationOnPremConfigArgs{...}

type NfsLocationOnPremConfigOutput

type NfsLocationOnPremConfigOutput struct{ *pulumi.OutputState }

func (NfsLocationOnPremConfigOutput) AgentArns

List of Amazon Resource Names (ARNs) of the DataSync Agents used to connect to the NFS server.

func (NfsLocationOnPremConfigOutput) ElementType

func (NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigOutput

func (o NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigOutput() NfsLocationOnPremConfigOutput

func (NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigOutputWithContext

func (o NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigOutputWithContext(ctx context.Context) NfsLocationOnPremConfigOutput

func (NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigPtrOutput

func (o NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigPtrOutput() NfsLocationOnPremConfigPtrOutput

func (NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigPtrOutputWithContext

func (o NfsLocationOnPremConfigOutput) ToNfsLocationOnPremConfigPtrOutputWithContext(ctx context.Context) NfsLocationOnPremConfigPtrOutput

type NfsLocationOnPremConfigPtrInput

type NfsLocationOnPremConfigPtrInput interface {
	pulumi.Input

	ToNfsLocationOnPremConfigPtrOutput() NfsLocationOnPremConfigPtrOutput
	ToNfsLocationOnPremConfigPtrOutputWithContext(context.Context) NfsLocationOnPremConfigPtrOutput
}

NfsLocationOnPremConfigPtrInput is an input type that accepts NfsLocationOnPremConfigArgs, NfsLocationOnPremConfigPtr and NfsLocationOnPremConfigPtrOutput values. You can construct a concrete instance of `NfsLocationOnPremConfigPtrInput` via:

        NfsLocationOnPremConfigArgs{...}

or:

        nil

type NfsLocationOnPremConfigPtrOutput

type NfsLocationOnPremConfigPtrOutput struct{ *pulumi.OutputState }

func (NfsLocationOnPremConfigPtrOutput) AgentArns

List of Amazon Resource Names (ARNs) of the DataSync Agents used to connect to the NFS server.

func (NfsLocationOnPremConfigPtrOutput) Elem

func (NfsLocationOnPremConfigPtrOutput) ElementType

func (NfsLocationOnPremConfigPtrOutput) ToNfsLocationOnPremConfigPtrOutput

func (o NfsLocationOnPremConfigPtrOutput) ToNfsLocationOnPremConfigPtrOutput() NfsLocationOnPremConfigPtrOutput

func (NfsLocationOnPremConfigPtrOutput) ToNfsLocationOnPremConfigPtrOutputWithContext

func (o NfsLocationOnPremConfigPtrOutput) ToNfsLocationOnPremConfigPtrOutputWithContext(ctx context.Context) NfsLocationOnPremConfigPtrOutput

type NfsLocationOutput

type NfsLocationOutput struct{ *pulumi.OutputState }

func (NfsLocationOutput) ElementType

func (NfsLocationOutput) ElementType() reflect.Type

func (NfsLocationOutput) ToNfsLocationOutput

func (o NfsLocationOutput) ToNfsLocationOutput() NfsLocationOutput

func (NfsLocationOutput) ToNfsLocationOutputWithContext

func (o NfsLocationOutput) ToNfsLocationOutputWithContext(ctx context.Context) NfsLocationOutput

type NfsLocationState

type NfsLocationState struct {
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// Configuration block containing mount options used by DataSync to access the NFS Server.
	MountOptions NfsLocationMountOptionsPtrInput
	// Configuration block containing information for connecting to the NFS File System.
	OnPremConfig NfsLocationOnPremConfigPtrInput
	// Specifies the IP address or DNS name of the NFS server. The DataSync Agent(s) use this to mount the NFS server.
	ServerHostname pulumi.StringPtrInput
	// Subdirectory to perform actions as source or destination. Should be exported by the NFS server.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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
	Uri     pulumi.StringPtrInput
}

func (NfsLocationState) ElementType

func (NfsLocationState) ElementType() reflect.Type

type S3Location

type S3Location struct {
	pulumi.CustomResourceState

	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayOutput `pulumi:"agentArns"`
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Amazon Resource Name (ARN) of the S3 Bucket.
	S3BucketArn pulumi.StringOutput `pulumi:"s3BucketArn"`
	// Configuration block containing information for connecting to S3.
	S3Config S3LocationS3ConfigOutput `pulumi:"s3Config"`
	// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
	S3StorageClass pulumi.StringOutput `pulumi:"s3StorageClass"`
	// Prefix to perform actions as source or destination.
	Subdirectory pulumi.StringOutput `pulumi:"subdirectory"`
	// Key-value pairs of resource tags to assign to the DataSync Location. .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"`
	Uri     pulumi.StringOutput    `pulumi:"uri"`
}

Manages an S3 Location within AWS DataSync.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewS3Location(ctx, "example", &datasync.S3LocationArgs{
			S3BucketArn:  pulumi.Any(aws_s3_bucket.Example.Arn),
			Subdirectory: pulumi.String("/example/prefix"),
			S3Config: &datasync.S3LocationS3ConfigArgs{
				BucketAccessRoleArn: pulumi.Any(aws_iam_role.Example.Arn),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_location_s3` can be imported by using the DataSync Task Amazon Resource Name (ARN), e.g.,

```sh

$ pulumi import aws:datasync/s3Location:S3Location example arn:aws:datasync:us-east-1:123456789012:location/loc-12345678901234567

```

func GetS3Location

func GetS3Location(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *S3LocationState, opts ...pulumi.ResourceOption) (*S3Location, error)

GetS3Location gets an existing S3Location 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 NewS3Location

func NewS3Location(ctx *pulumi.Context,
	name string, args *S3LocationArgs, opts ...pulumi.ResourceOption) (*S3Location, error)

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

func (*S3Location) ElementType

func (*S3Location) ElementType() reflect.Type

func (*S3Location) ToS3LocationOutput

func (i *S3Location) ToS3LocationOutput() S3LocationOutput

func (*S3Location) ToS3LocationOutputWithContext

func (i *S3Location) ToS3LocationOutputWithContext(ctx context.Context) S3LocationOutput

type S3LocationArgs

type S3LocationArgs struct {
	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayInput
	// Amazon Resource Name (ARN) of the S3 Bucket.
	S3BucketArn pulumi.StringInput
	// Configuration block containing information for connecting to S3.
	S3Config S3LocationS3ConfigInput
	// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
	S3StorageClass pulumi.StringPtrInput
	// Prefix to perform actions as source or destination.
	Subdirectory pulumi.StringInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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 S3Location resource.

func (S3LocationArgs) ElementType

func (S3LocationArgs) ElementType() reflect.Type

type S3LocationArray

type S3LocationArray []S3LocationInput

func (S3LocationArray) ElementType

func (S3LocationArray) ElementType() reflect.Type

func (S3LocationArray) ToS3LocationArrayOutput

func (i S3LocationArray) ToS3LocationArrayOutput() S3LocationArrayOutput

func (S3LocationArray) ToS3LocationArrayOutputWithContext

func (i S3LocationArray) ToS3LocationArrayOutputWithContext(ctx context.Context) S3LocationArrayOutput

type S3LocationArrayInput

type S3LocationArrayInput interface {
	pulumi.Input

	ToS3LocationArrayOutput() S3LocationArrayOutput
	ToS3LocationArrayOutputWithContext(context.Context) S3LocationArrayOutput
}

S3LocationArrayInput is an input type that accepts S3LocationArray and S3LocationArrayOutput values. You can construct a concrete instance of `S3LocationArrayInput` via:

S3LocationArray{ S3LocationArgs{...} }

type S3LocationArrayOutput

type S3LocationArrayOutput struct{ *pulumi.OutputState }

func (S3LocationArrayOutput) ElementType

func (S3LocationArrayOutput) ElementType() reflect.Type

func (S3LocationArrayOutput) Index

func (S3LocationArrayOutput) ToS3LocationArrayOutput

func (o S3LocationArrayOutput) ToS3LocationArrayOutput() S3LocationArrayOutput

func (S3LocationArrayOutput) ToS3LocationArrayOutputWithContext

func (o S3LocationArrayOutput) ToS3LocationArrayOutputWithContext(ctx context.Context) S3LocationArrayOutput

type S3LocationInput

type S3LocationInput interface {
	pulumi.Input

	ToS3LocationOutput() S3LocationOutput
	ToS3LocationOutputWithContext(ctx context.Context) S3LocationOutput
}

type S3LocationMap

type S3LocationMap map[string]S3LocationInput

func (S3LocationMap) ElementType

func (S3LocationMap) ElementType() reflect.Type

func (S3LocationMap) ToS3LocationMapOutput

func (i S3LocationMap) ToS3LocationMapOutput() S3LocationMapOutput

func (S3LocationMap) ToS3LocationMapOutputWithContext

func (i S3LocationMap) ToS3LocationMapOutputWithContext(ctx context.Context) S3LocationMapOutput

type S3LocationMapInput

type S3LocationMapInput interface {
	pulumi.Input

	ToS3LocationMapOutput() S3LocationMapOutput
	ToS3LocationMapOutputWithContext(context.Context) S3LocationMapOutput
}

S3LocationMapInput is an input type that accepts S3LocationMap and S3LocationMapOutput values. You can construct a concrete instance of `S3LocationMapInput` via:

S3LocationMap{ "key": S3LocationArgs{...} }

type S3LocationMapOutput

type S3LocationMapOutput struct{ *pulumi.OutputState }

func (S3LocationMapOutput) ElementType

func (S3LocationMapOutput) ElementType() reflect.Type

func (S3LocationMapOutput) MapIndex

func (S3LocationMapOutput) ToS3LocationMapOutput

func (o S3LocationMapOutput) ToS3LocationMapOutput() S3LocationMapOutput

func (S3LocationMapOutput) ToS3LocationMapOutputWithContext

func (o S3LocationMapOutput) ToS3LocationMapOutputWithContext(ctx context.Context) S3LocationMapOutput

type S3LocationOutput

type S3LocationOutput struct{ *pulumi.OutputState }

func (S3LocationOutput) ElementType

func (S3LocationOutput) ElementType() reflect.Type

func (S3LocationOutput) ToS3LocationOutput

func (o S3LocationOutput) ToS3LocationOutput() S3LocationOutput

func (S3LocationOutput) ToS3LocationOutputWithContext

func (o S3LocationOutput) ToS3LocationOutputWithContext(ctx context.Context) S3LocationOutput

type S3LocationS3Config

type S3LocationS3Config struct {
	// Amazon Resource Names (ARN) of the IAM Role used to connect to the S3 Bucket.
	BucketAccessRoleArn string `pulumi:"bucketAccessRoleArn"`
}

type S3LocationS3ConfigArgs

type S3LocationS3ConfigArgs struct {
	// Amazon Resource Names (ARN) of the IAM Role used to connect to the S3 Bucket.
	BucketAccessRoleArn pulumi.StringInput `pulumi:"bucketAccessRoleArn"`
}

func (S3LocationS3ConfigArgs) ElementType

func (S3LocationS3ConfigArgs) ElementType() reflect.Type

func (S3LocationS3ConfigArgs) ToS3LocationS3ConfigOutput

func (i S3LocationS3ConfigArgs) ToS3LocationS3ConfigOutput() S3LocationS3ConfigOutput

func (S3LocationS3ConfigArgs) ToS3LocationS3ConfigOutputWithContext

func (i S3LocationS3ConfigArgs) ToS3LocationS3ConfigOutputWithContext(ctx context.Context) S3LocationS3ConfigOutput

func (S3LocationS3ConfigArgs) ToS3LocationS3ConfigPtrOutput

func (i S3LocationS3ConfigArgs) ToS3LocationS3ConfigPtrOutput() S3LocationS3ConfigPtrOutput

func (S3LocationS3ConfigArgs) ToS3LocationS3ConfigPtrOutputWithContext

func (i S3LocationS3ConfigArgs) ToS3LocationS3ConfigPtrOutputWithContext(ctx context.Context) S3LocationS3ConfigPtrOutput

type S3LocationS3ConfigInput

type S3LocationS3ConfigInput interface {
	pulumi.Input

	ToS3LocationS3ConfigOutput() S3LocationS3ConfigOutput
	ToS3LocationS3ConfigOutputWithContext(context.Context) S3LocationS3ConfigOutput
}

S3LocationS3ConfigInput is an input type that accepts S3LocationS3ConfigArgs and S3LocationS3ConfigOutput values. You can construct a concrete instance of `S3LocationS3ConfigInput` via:

S3LocationS3ConfigArgs{...}

type S3LocationS3ConfigOutput

type S3LocationS3ConfigOutput struct{ *pulumi.OutputState }

func (S3LocationS3ConfigOutput) BucketAccessRoleArn

func (o S3LocationS3ConfigOutput) BucketAccessRoleArn() pulumi.StringOutput

Amazon Resource Names (ARN) of the IAM Role used to connect to the S3 Bucket.

func (S3LocationS3ConfigOutput) ElementType

func (S3LocationS3ConfigOutput) ElementType() reflect.Type

func (S3LocationS3ConfigOutput) ToS3LocationS3ConfigOutput

func (o S3LocationS3ConfigOutput) ToS3LocationS3ConfigOutput() S3LocationS3ConfigOutput

func (S3LocationS3ConfigOutput) ToS3LocationS3ConfigOutputWithContext

func (o S3LocationS3ConfigOutput) ToS3LocationS3ConfigOutputWithContext(ctx context.Context) S3LocationS3ConfigOutput

func (S3LocationS3ConfigOutput) ToS3LocationS3ConfigPtrOutput

func (o S3LocationS3ConfigOutput) ToS3LocationS3ConfigPtrOutput() S3LocationS3ConfigPtrOutput

func (S3LocationS3ConfigOutput) ToS3LocationS3ConfigPtrOutputWithContext

func (o S3LocationS3ConfigOutput) ToS3LocationS3ConfigPtrOutputWithContext(ctx context.Context) S3LocationS3ConfigPtrOutput

type S3LocationS3ConfigPtrInput

type S3LocationS3ConfigPtrInput interface {
	pulumi.Input

	ToS3LocationS3ConfigPtrOutput() S3LocationS3ConfigPtrOutput
	ToS3LocationS3ConfigPtrOutputWithContext(context.Context) S3LocationS3ConfigPtrOutput
}

S3LocationS3ConfigPtrInput is an input type that accepts S3LocationS3ConfigArgs, S3LocationS3ConfigPtr and S3LocationS3ConfigPtrOutput values. You can construct a concrete instance of `S3LocationS3ConfigPtrInput` via:

        S3LocationS3ConfigArgs{...}

or:

        nil

type S3LocationS3ConfigPtrOutput

type S3LocationS3ConfigPtrOutput struct{ *pulumi.OutputState }

func (S3LocationS3ConfigPtrOutput) BucketAccessRoleArn

func (o S3LocationS3ConfigPtrOutput) BucketAccessRoleArn() pulumi.StringPtrOutput

Amazon Resource Names (ARN) of the IAM Role used to connect to the S3 Bucket.

func (S3LocationS3ConfigPtrOutput) Elem

func (S3LocationS3ConfigPtrOutput) ElementType

func (S3LocationS3ConfigPtrOutput) ToS3LocationS3ConfigPtrOutput

func (o S3LocationS3ConfigPtrOutput) ToS3LocationS3ConfigPtrOutput() S3LocationS3ConfigPtrOutput

func (S3LocationS3ConfigPtrOutput) ToS3LocationS3ConfigPtrOutputWithContext

func (o S3LocationS3ConfigPtrOutput) ToS3LocationS3ConfigPtrOutputWithContext(ctx context.Context) S3LocationS3ConfigPtrOutput

type S3LocationState

type S3LocationState struct {
	// A list of DataSync Agent ARNs with which this location will be associated.
	AgentArns pulumi.StringArrayInput
	// Amazon Resource Name (ARN) of the DataSync Location.
	Arn pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the S3 Bucket.
	S3BucketArn pulumi.StringPtrInput
	// Configuration block containing information for connecting to S3.
	S3Config S3LocationS3ConfigPtrInput
	// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
	S3StorageClass pulumi.StringPtrInput
	// Prefix to perform actions as source or destination.
	Subdirectory pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Location. .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
	Uri     pulumi.StringPtrInput
}

func (S3LocationState) ElementType

func (S3LocationState) ElementType() reflect.Type

type Task

type Task struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the DataSync Task.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Amazon Resource Name (ARN) of the CloudWatch Log Group that is used to monitor and log events in the sync task.
	CloudwatchLogGroupArn pulumi.StringPtrOutput `pulumi:"cloudwatchLogGroupArn"`
	// Amazon Resource Name (ARN) of destination DataSync Location.
	DestinationLocationArn pulumi.StringOutput `pulumi:"destinationLocationArn"`
	// Filter rules that determines which files to exclude from a task.
	Excludes TaskExcludesPtrOutput `pulumi:"excludes"`
	// Name of the DataSync Task.
	Name pulumi.StringOutput `pulumi:"name"`
	// Configuration block containing option that controls the default behavior when you start an execution of this DataSync Task. For each individual task execution, you can override these options by specifying an overriding configuration in those executions.
	Options TaskOptionsPtrOutput `pulumi:"options"`
	// Specifies a schedule used to periodically transfer files from a source to a destination location.
	Schedule TaskSchedulePtrOutput `pulumi:"schedule"`
	// Amazon Resource Name (ARN) of source DataSync Location.
	SourceLocationArn pulumi.StringOutput `pulumi:"sourceLocationArn"`
	// Key-value pairs of resource tags to assign to the DataSync Task. .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 DataSync Task, which represents a configuration for synchronization. Starting an execution of these DataSync Tasks (actually synchronizing files) is performed outside of this resource.

## Example Usage ### With Scheduling

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewTask(ctx, "example", &datasync.TaskArgs{
			DestinationLocationArn: pulumi.Any(aws_datasync_location_s3.Destination.Arn),
			SourceLocationArn:      pulumi.Any(aws_datasync_location_nfs.Source.Arn),
			Schedule: &datasync.TaskScheduleArgs{
				ScheduleExpression: pulumi.String("cron(0 12 ? * SUN,WED *)"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### With Filtering

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := datasync.NewTask(ctx, "example", &datasync.TaskArgs{
			DestinationLocationArn: pulumi.Any(aws_datasync_location_s3.Destination.Arn),
			SourceLocationArn:      pulumi.Any(aws_datasync_location_nfs.Source.Arn),
			Excludes: &datasync.TaskExcludesArgs{
				FilterType: pulumi.String("SIMPLE_PATTERN"),
				Value:      pulumi.String("/folder1|/folder2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_datasync_task` can be imported by using the DataSync Task Amazon Resource Name (ARN), e.g.,

```sh

$ pulumi import aws:datasync/task:Task example arn:aws:datasync:us-east-1:123456789012:task/task-12345678901234567

```

func GetTask

func GetTask(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TaskState, opts ...pulumi.ResourceOption) (*Task, error)

GetTask gets an existing Task 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 NewTask

func NewTask(ctx *pulumi.Context,
	name string, args *TaskArgs, opts ...pulumi.ResourceOption) (*Task, error)

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

func (*Task) ElementType

func (*Task) ElementType() reflect.Type

func (*Task) ToTaskOutput

func (i *Task) ToTaskOutput() TaskOutput

func (*Task) ToTaskOutputWithContext

func (i *Task) ToTaskOutputWithContext(ctx context.Context) TaskOutput

type TaskArgs

type TaskArgs struct {
	// Amazon Resource Name (ARN) of the CloudWatch Log Group that is used to monitor and log events in the sync task.
	CloudwatchLogGroupArn pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of destination DataSync Location.
	DestinationLocationArn pulumi.StringInput
	// Filter rules that determines which files to exclude from a task.
	Excludes TaskExcludesPtrInput
	// Name of the DataSync Task.
	Name pulumi.StringPtrInput
	// Configuration block containing option that controls the default behavior when you start an execution of this DataSync Task. For each individual task execution, you can override these options by specifying an overriding configuration in those executions.
	Options TaskOptionsPtrInput
	// Specifies a schedule used to periodically transfer files from a source to a destination location.
	Schedule TaskSchedulePtrInput
	// Amazon Resource Name (ARN) of source DataSync Location.
	SourceLocationArn pulumi.StringInput
	// Key-value pairs of resource tags to assign to the DataSync Task. .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 Task resource.

func (TaskArgs) ElementType

func (TaskArgs) ElementType() reflect.Type

type TaskArray

type TaskArray []TaskInput

func (TaskArray) ElementType

func (TaskArray) ElementType() reflect.Type

func (TaskArray) ToTaskArrayOutput

func (i TaskArray) ToTaskArrayOutput() TaskArrayOutput

func (TaskArray) ToTaskArrayOutputWithContext

func (i TaskArray) ToTaskArrayOutputWithContext(ctx context.Context) TaskArrayOutput

type TaskArrayInput

type TaskArrayInput interface {
	pulumi.Input

	ToTaskArrayOutput() TaskArrayOutput
	ToTaskArrayOutputWithContext(context.Context) TaskArrayOutput
}

TaskArrayInput is an input type that accepts TaskArray and TaskArrayOutput values. You can construct a concrete instance of `TaskArrayInput` via:

TaskArray{ TaskArgs{...} }

type TaskArrayOutput

type TaskArrayOutput struct{ *pulumi.OutputState }

func (TaskArrayOutput) ElementType

func (TaskArrayOutput) ElementType() reflect.Type

func (TaskArrayOutput) Index

func (TaskArrayOutput) ToTaskArrayOutput

func (o TaskArrayOutput) ToTaskArrayOutput() TaskArrayOutput

func (TaskArrayOutput) ToTaskArrayOutputWithContext

func (o TaskArrayOutput) ToTaskArrayOutputWithContext(ctx context.Context) TaskArrayOutput

type TaskExcludes added in v4.4.0

type TaskExcludes struct {
	// The type of filter rule to apply. Valid values: `SIMPLE_PATTERN`.
	FilterType *string `pulumi:"filterType"`
	// A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: `/folder1|/folder2`
	Value *string `pulumi:"value"`
}

type TaskExcludesArgs added in v4.4.0

type TaskExcludesArgs struct {
	// The type of filter rule to apply. Valid values: `SIMPLE_PATTERN`.
	FilterType pulumi.StringPtrInput `pulumi:"filterType"`
	// A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: `/folder1|/folder2`
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (TaskExcludesArgs) ElementType added in v4.4.0

func (TaskExcludesArgs) ElementType() reflect.Type

func (TaskExcludesArgs) ToTaskExcludesOutput added in v4.4.0

func (i TaskExcludesArgs) ToTaskExcludesOutput() TaskExcludesOutput

func (TaskExcludesArgs) ToTaskExcludesOutputWithContext added in v4.4.0

func (i TaskExcludesArgs) ToTaskExcludesOutputWithContext(ctx context.Context) TaskExcludesOutput

func (TaskExcludesArgs) ToTaskExcludesPtrOutput added in v4.4.0

func (i TaskExcludesArgs) ToTaskExcludesPtrOutput() TaskExcludesPtrOutput

func (TaskExcludesArgs) ToTaskExcludesPtrOutputWithContext added in v4.4.0

func (i TaskExcludesArgs) ToTaskExcludesPtrOutputWithContext(ctx context.Context) TaskExcludesPtrOutput

type TaskExcludesInput added in v4.4.0

type TaskExcludesInput interface {
	pulumi.Input

	ToTaskExcludesOutput() TaskExcludesOutput
	ToTaskExcludesOutputWithContext(context.Context) TaskExcludesOutput
}

TaskExcludesInput is an input type that accepts TaskExcludesArgs and TaskExcludesOutput values. You can construct a concrete instance of `TaskExcludesInput` via:

TaskExcludesArgs{...}

type TaskExcludesOutput added in v4.4.0

type TaskExcludesOutput struct{ *pulumi.OutputState }

func (TaskExcludesOutput) ElementType added in v4.4.0

func (TaskExcludesOutput) ElementType() reflect.Type

func (TaskExcludesOutput) FilterType added in v4.4.0

func (o TaskExcludesOutput) FilterType() pulumi.StringPtrOutput

The type of filter rule to apply. Valid values: `SIMPLE_PATTERN`.

func (TaskExcludesOutput) ToTaskExcludesOutput added in v4.4.0

func (o TaskExcludesOutput) ToTaskExcludesOutput() TaskExcludesOutput

func (TaskExcludesOutput) ToTaskExcludesOutputWithContext added in v4.4.0

func (o TaskExcludesOutput) ToTaskExcludesOutputWithContext(ctx context.Context) TaskExcludesOutput

func (TaskExcludesOutput) ToTaskExcludesPtrOutput added in v4.4.0

func (o TaskExcludesOutput) ToTaskExcludesPtrOutput() TaskExcludesPtrOutput

func (TaskExcludesOutput) ToTaskExcludesPtrOutputWithContext added in v4.4.0

func (o TaskExcludesOutput) ToTaskExcludesPtrOutputWithContext(ctx context.Context) TaskExcludesPtrOutput

func (TaskExcludesOutput) Value added in v4.4.0

A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: `/folder1|/folder2`

type TaskExcludesPtrInput added in v4.4.0

type TaskExcludesPtrInput interface {
	pulumi.Input

	ToTaskExcludesPtrOutput() TaskExcludesPtrOutput
	ToTaskExcludesPtrOutputWithContext(context.Context) TaskExcludesPtrOutput
}

TaskExcludesPtrInput is an input type that accepts TaskExcludesArgs, TaskExcludesPtr and TaskExcludesPtrOutput values. You can construct a concrete instance of `TaskExcludesPtrInput` via:

        TaskExcludesArgs{...}

or:

        nil

func TaskExcludesPtr added in v4.4.0

func TaskExcludesPtr(v *TaskExcludesArgs) TaskExcludesPtrInput

type TaskExcludesPtrOutput added in v4.4.0

type TaskExcludesPtrOutput struct{ *pulumi.OutputState }

func (TaskExcludesPtrOutput) Elem added in v4.4.0

func (TaskExcludesPtrOutput) ElementType added in v4.4.0

func (TaskExcludesPtrOutput) ElementType() reflect.Type

func (TaskExcludesPtrOutput) FilterType added in v4.4.0

The type of filter rule to apply. Valid values: `SIMPLE_PATTERN`.

func (TaskExcludesPtrOutput) ToTaskExcludesPtrOutput added in v4.4.0

func (o TaskExcludesPtrOutput) ToTaskExcludesPtrOutput() TaskExcludesPtrOutput

func (TaskExcludesPtrOutput) ToTaskExcludesPtrOutputWithContext added in v4.4.0

func (o TaskExcludesPtrOutput) ToTaskExcludesPtrOutputWithContext(ctx context.Context) TaskExcludesPtrOutput

func (TaskExcludesPtrOutput) Value added in v4.4.0

A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: `/folder1|/folder2`

type TaskInput

type TaskInput interface {
	pulumi.Input

	ToTaskOutput() TaskOutput
	ToTaskOutputWithContext(ctx context.Context) TaskOutput
}

type TaskMap

type TaskMap map[string]TaskInput

func (TaskMap) ElementType

func (TaskMap) ElementType() reflect.Type

func (TaskMap) ToTaskMapOutput

func (i TaskMap) ToTaskMapOutput() TaskMapOutput

func (TaskMap) ToTaskMapOutputWithContext

func (i TaskMap) ToTaskMapOutputWithContext(ctx context.Context) TaskMapOutput

type TaskMapInput

type TaskMapInput interface {
	pulumi.Input

	ToTaskMapOutput() TaskMapOutput
	ToTaskMapOutputWithContext(context.Context) TaskMapOutput
}

TaskMapInput is an input type that accepts TaskMap and TaskMapOutput values. You can construct a concrete instance of `TaskMapInput` via:

TaskMap{ "key": TaskArgs{...} }

type TaskMapOutput

type TaskMapOutput struct{ *pulumi.OutputState }

func (TaskMapOutput) ElementType

func (TaskMapOutput) ElementType() reflect.Type

func (TaskMapOutput) MapIndex

func (TaskMapOutput) ToTaskMapOutput

func (o TaskMapOutput) ToTaskMapOutput() TaskMapOutput

func (TaskMapOutput) ToTaskMapOutputWithContext

func (o TaskMapOutput) ToTaskMapOutputWithContext(ctx context.Context) TaskMapOutput

type TaskOptions

type TaskOptions struct {
	// A file metadata that shows the last time a file was accessed (that is when the file was read or written to). If set to `BEST_EFFORT`, the DataSync Task attempts to preserve the original (that is, the version before sync `PREPARING` phase) `atime` attribute on all source files. Valid values: `BEST_EFFORT`, `NONE`. Default: `BEST_EFFORT`.
	Atime *string `pulumi:"atime"`
	// Limits the bandwidth utilized. For example, to set a maximum of 1 MB, set this value to `1048576`. Value values: `-1` or greater. Default: `-1` (unlimited).
	BytesPerSecond *int `pulumi:"bytesPerSecond"`
	// Group identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).
	Gid *string `pulumi:"gid"`
	// Determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. Valid values: `OFF`, `BASIC`, `TRANSFER`. Default: `OFF`.
	LogLevel *string `pulumi:"logLevel"`
	// A file metadata that indicates the last time a file was modified (written to) before the sync `PREPARING` phase. Value values: `NONE`, `PRESERVE`. Default: `PRESERVE`.
	Mtime *string `pulumi:"mtime"`
	// Determines whether files at the destination should be overwritten or preserved when copying files. Valid values: `ALWAYS`, `NEVER`. Default: `ALWAYS`.
	OverwriteMode *string `pulumi:"overwriteMode"`
	// Determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. Valid values: `NONE`, `PRESERVE`. Default: `PRESERVE`.
	PosixPermissions *string `pulumi:"posixPermissions"`
	// Whether files deleted in the source should be removed or preserved in the destination file system. Valid values: `PRESERVE`, `REMOVE`. Default: `PRESERVE`.
	PreserveDeletedFiles *string `pulumi:"preserveDeletedFiles"`
	// Whether the DataSync Task should preserve the metadata of block and character devices in the source files system, and recreate the files with that device name and metadata on the destination. The DataSync Task can’t sync the actual contents of such devices, because many of the devices are non-terminal and don’t return an end of file (EOF) marker. Valid values: `NONE`, `PRESERVE`. Default: `NONE` (ignore special devices).
	PreserveDevices *string `pulumi:"preserveDevices"`
	// Determines whether tasks should be queued before executing the tasks. Valid values: `ENABLED`, `DISABLED`. Default `ENABLED`.
	TaskQueueing *string `pulumi:"taskQueueing"`
	// Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location. Valid values: `CHANGED`, `ALL`. Default: `CHANGED`
	TransferMode *string `pulumi:"transferMode"`
	// User identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).
	Uid *string `pulumi:"uid"`
	// Whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. Valid values: `NONE`, `POINT_IN_TIME_CONSISTENT`, `ONLY_FILES_TRANSFERRED`. Default: `POINT_IN_TIME_CONSISTENT`.
	VerifyMode *string `pulumi:"verifyMode"`
}

type TaskOptionsArgs

type TaskOptionsArgs struct {
	// A file metadata that shows the last time a file was accessed (that is when the file was read or written to). If set to `BEST_EFFORT`, the DataSync Task attempts to preserve the original (that is, the version before sync `PREPARING` phase) `atime` attribute on all source files. Valid values: `BEST_EFFORT`, `NONE`. Default: `BEST_EFFORT`.
	Atime pulumi.StringPtrInput `pulumi:"atime"`
	// Limits the bandwidth utilized. For example, to set a maximum of 1 MB, set this value to `1048576`. Value values: `-1` or greater. Default: `-1` (unlimited).
	BytesPerSecond pulumi.IntPtrInput `pulumi:"bytesPerSecond"`
	// Group identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).
	Gid pulumi.StringPtrInput `pulumi:"gid"`
	// Determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. Valid values: `OFF`, `BASIC`, `TRANSFER`. Default: `OFF`.
	LogLevel pulumi.StringPtrInput `pulumi:"logLevel"`
	// A file metadata that indicates the last time a file was modified (written to) before the sync `PREPARING` phase. Value values: `NONE`, `PRESERVE`. Default: `PRESERVE`.
	Mtime pulumi.StringPtrInput `pulumi:"mtime"`
	// Determines whether files at the destination should be overwritten or preserved when copying files. Valid values: `ALWAYS`, `NEVER`. Default: `ALWAYS`.
	OverwriteMode pulumi.StringPtrInput `pulumi:"overwriteMode"`
	// Determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. Valid values: `NONE`, `PRESERVE`. Default: `PRESERVE`.
	PosixPermissions pulumi.StringPtrInput `pulumi:"posixPermissions"`
	// Whether files deleted in the source should be removed or preserved in the destination file system. Valid values: `PRESERVE`, `REMOVE`. Default: `PRESERVE`.
	PreserveDeletedFiles pulumi.StringPtrInput `pulumi:"preserveDeletedFiles"`
	// Whether the DataSync Task should preserve the metadata of block and character devices in the source files system, and recreate the files with that device name and metadata on the destination. The DataSync Task can’t sync the actual contents of such devices, because many of the devices are non-terminal and don’t return an end of file (EOF) marker. Valid values: `NONE`, `PRESERVE`. Default: `NONE` (ignore special devices).
	PreserveDevices pulumi.StringPtrInput `pulumi:"preserveDevices"`
	// Determines whether tasks should be queued before executing the tasks. Valid values: `ENABLED`, `DISABLED`. Default `ENABLED`.
	TaskQueueing pulumi.StringPtrInput `pulumi:"taskQueueing"`
	// Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location. Valid values: `CHANGED`, `ALL`. Default: `CHANGED`
	TransferMode pulumi.StringPtrInput `pulumi:"transferMode"`
	// User identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).
	Uid pulumi.StringPtrInput `pulumi:"uid"`
	// Whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. Valid values: `NONE`, `POINT_IN_TIME_CONSISTENT`, `ONLY_FILES_TRANSFERRED`. Default: `POINT_IN_TIME_CONSISTENT`.
	VerifyMode pulumi.StringPtrInput `pulumi:"verifyMode"`
}

func (TaskOptionsArgs) ElementType

func (TaskOptionsArgs) ElementType() reflect.Type

func (TaskOptionsArgs) ToTaskOptionsOutput

func (i TaskOptionsArgs) ToTaskOptionsOutput() TaskOptionsOutput

func (TaskOptionsArgs) ToTaskOptionsOutputWithContext

func (i TaskOptionsArgs) ToTaskOptionsOutputWithContext(ctx context.Context) TaskOptionsOutput

func (TaskOptionsArgs) ToTaskOptionsPtrOutput

func (i TaskOptionsArgs) ToTaskOptionsPtrOutput() TaskOptionsPtrOutput

func (TaskOptionsArgs) ToTaskOptionsPtrOutputWithContext

func (i TaskOptionsArgs) ToTaskOptionsPtrOutputWithContext(ctx context.Context) TaskOptionsPtrOutput

type TaskOptionsInput

type TaskOptionsInput interface {
	pulumi.Input

	ToTaskOptionsOutput() TaskOptionsOutput
	ToTaskOptionsOutputWithContext(context.Context) TaskOptionsOutput
}

TaskOptionsInput is an input type that accepts TaskOptionsArgs and TaskOptionsOutput values. You can construct a concrete instance of `TaskOptionsInput` via:

TaskOptionsArgs{...}

type TaskOptionsOutput

type TaskOptionsOutput struct{ *pulumi.OutputState }

func (TaskOptionsOutput) Atime

A file metadata that shows the last time a file was accessed (that is when the file was read or written to). If set to `BEST_EFFORT`, the DataSync Task attempts to preserve the original (that is, the version before sync `PREPARING` phase) `atime` attribute on all source files. Valid values: `BEST_EFFORT`, `NONE`. Default: `BEST_EFFORT`.

func (TaskOptionsOutput) BytesPerSecond

func (o TaskOptionsOutput) BytesPerSecond() pulumi.IntPtrOutput

Limits the bandwidth utilized. For example, to set a maximum of 1 MB, set this value to `1048576`. Value values: `-1` or greater. Default: `-1` (unlimited).

func (TaskOptionsOutput) ElementType

func (TaskOptionsOutput) ElementType() reflect.Type

func (TaskOptionsOutput) Gid

Group identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).

func (TaskOptionsOutput) LogLevel added in v4.2.0

Determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. Valid values: `OFF`, `BASIC`, `TRANSFER`. Default: `OFF`.

func (TaskOptionsOutput) Mtime

A file metadata that indicates the last time a file was modified (written to) before the sync `PREPARING` phase. Value values: `NONE`, `PRESERVE`. Default: `PRESERVE`.

func (TaskOptionsOutput) OverwriteMode added in v4.4.0

func (o TaskOptionsOutput) OverwriteMode() pulumi.StringPtrOutput

Determines whether files at the destination should be overwritten or preserved when copying files. Valid values: `ALWAYS`, `NEVER`. Default: `ALWAYS`.

func (TaskOptionsOutput) PosixPermissions

func (o TaskOptionsOutput) PosixPermissions() pulumi.StringPtrOutput

Determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. Valid values: `NONE`, `PRESERVE`. Default: `PRESERVE`.

func (TaskOptionsOutput) PreserveDeletedFiles

func (o TaskOptionsOutput) PreserveDeletedFiles() pulumi.StringPtrOutput

Whether files deleted in the source should be removed or preserved in the destination file system. Valid values: `PRESERVE`, `REMOVE`. Default: `PRESERVE`.

func (TaskOptionsOutput) PreserveDevices

func (o TaskOptionsOutput) PreserveDevices() pulumi.StringPtrOutput

Whether the DataSync Task should preserve the metadata of block and character devices in the source files system, and recreate the files with that device name and metadata on the destination. The DataSync Task can’t sync the actual contents of such devices, because many of the devices are non-terminal and don’t return an end of file (EOF) marker. Valid values: `NONE`, `PRESERVE`. Default: `NONE` (ignore special devices).

func (TaskOptionsOutput) TaskQueueing added in v4.4.0

func (o TaskOptionsOutput) TaskQueueing() pulumi.StringPtrOutput

Determines whether tasks should be queued before executing the tasks. Valid values: `ENABLED`, `DISABLED`. Default `ENABLED`.

func (TaskOptionsOutput) ToTaskOptionsOutput

func (o TaskOptionsOutput) ToTaskOptionsOutput() TaskOptionsOutput

func (TaskOptionsOutput) ToTaskOptionsOutputWithContext

func (o TaskOptionsOutput) ToTaskOptionsOutputWithContext(ctx context.Context) TaskOptionsOutput

func (TaskOptionsOutput) ToTaskOptionsPtrOutput

func (o TaskOptionsOutput) ToTaskOptionsPtrOutput() TaskOptionsPtrOutput

func (TaskOptionsOutput) ToTaskOptionsPtrOutputWithContext

func (o TaskOptionsOutput) ToTaskOptionsPtrOutputWithContext(ctx context.Context) TaskOptionsPtrOutput

func (TaskOptionsOutput) TransferMode added in v4.4.0

func (o TaskOptionsOutput) TransferMode() pulumi.StringPtrOutput

Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location. Valid values: `CHANGED`, `ALL`. Default: `CHANGED`

func (TaskOptionsOutput) Uid

User identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).

func (TaskOptionsOutput) VerifyMode

func (o TaskOptionsOutput) VerifyMode() pulumi.StringPtrOutput

Whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. Valid values: `NONE`, `POINT_IN_TIME_CONSISTENT`, `ONLY_FILES_TRANSFERRED`. Default: `POINT_IN_TIME_CONSISTENT`.

type TaskOptionsPtrInput

type TaskOptionsPtrInput interface {
	pulumi.Input

	ToTaskOptionsPtrOutput() TaskOptionsPtrOutput
	ToTaskOptionsPtrOutputWithContext(context.Context) TaskOptionsPtrOutput
}

TaskOptionsPtrInput is an input type that accepts TaskOptionsArgs, TaskOptionsPtr and TaskOptionsPtrOutput values. You can construct a concrete instance of `TaskOptionsPtrInput` via:

        TaskOptionsArgs{...}

or:

        nil

func TaskOptionsPtr

func TaskOptionsPtr(v *TaskOptionsArgs) TaskOptionsPtrInput

type TaskOptionsPtrOutput

type TaskOptionsPtrOutput struct{ *pulumi.OutputState }

func (TaskOptionsPtrOutput) Atime

A file metadata that shows the last time a file was accessed (that is when the file was read or written to). If set to `BEST_EFFORT`, the DataSync Task attempts to preserve the original (that is, the version before sync `PREPARING` phase) `atime` attribute on all source files. Valid values: `BEST_EFFORT`, `NONE`. Default: `BEST_EFFORT`.

func (TaskOptionsPtrOutput) BytesPerSecond

func (o TaskOptionsPtrOutput) BytesPerSecond() pulumi.IntPtrOutput

Limits the bandwidth utilized. For example, to set a maximum of 1 MB, set this value to `1048576`. Value values: `-1` or greater. Default: `-1` (unlimited).

func (TaskOptionsPtrOutput) Elem

func (TaskOptionsPtrOutput) ElementType

func (TaskOptionsPtrOutput) ElementType() reflect.Type

func (TaskOptionsPtrOutput) Gid

Group identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).

func (TaskOptionsPtrOutput) LogLevel added in v4.2.0

Determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. Valid values: `OFF`, `BASIC`, `TRANSFER`. Default: `OFF`.

func (TaskOptionsPtrOutput) Mtime

A file metadata that indicates the last time a file was modified (written to) before the sync `PREPARING` phase. Value values: `NONE`, `PRESERVE`. Default: `PRESERVE`.

func (TaskOptionsPtrOutput) OverwriteMode added in v4.4.0

func (o TaskOptionsPtrOutput) OverwriteMode() pulumi.StringPtrOutput

Determines whether files at the destination should be overwritten or preserved when copying files. Valid values: `ALWAYS`, `NEVER`. Default: `ALWAYS`.

func (TaskOptionsPtrOutput) PosixPermissions

func (o TaskOptionsPtrOutput) PosixPermissions() pulumi.StringPtrOutput

Determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. Valid values: `NONE`, `PRESERVE`. Default: `PRESERVE`.

func (TaskOptionsPtrOutput) PreserveDeletedFiles

func (o TaskOptionsPtrOutput) PreserveDeletedFiles() pulumi.StringPtrOutput

Whether files deleted in the source should be removed or preserved in the destination file system. Valid values: `PRESERVE`, `REMOVE`. Default: `PRESERVE`.

func (TaskOptionsPtrOutput) PreserveDevices

func (o TaskOptionsPtrOutput) PreserveDevices() pulumi.StringPtrOutput

Whether the DataSync Task should preserve the metadata of block and character devices in the source files system, and recreate the files with that device name and metadata on the destination. The DataSync Task can’t sync the actual contents of such devices, because many of the devices are non-terminal and don’t return an end of file (EOF) marker. Valid values: `NONE`, `PRESERVE`. Default: `NONE` (ignore special devices).

func (TaskOptionsPtrOutput) TaskQueueing added in v4.4.0

func (o TaskOptionsPtrOutput) TaskQueueing() pulumi.StringPtrOutput

Determines whether tasks should be queued before executing the tasks. Valid values: `ENABLED`, `DISABLED`. Default `ENABLED`.

func (TaskOptionsPtrOutput) ToTaskOptionsPtrOutput

func (o TaskOptionsPtrOutput) ToTaskOptionsPtrOutput() TaskOptionsPtrOutput

func (TaskOptionsPtrOutput) ToTaskOptionsPtrOutputWithContext

func (o TaskOptionsPtrOutput) ToTaskOptionsPtrOutputWithContext(ctx context.Context) TaskOptionsPtrOutput

func (TaskOptionsPtrOutput) TransferMode added in v4.4.0

func (o TaskOptionsPtrOutput) TransferMode() pulumi.StringPtrOutput

Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location. Valid values: `CHANGED`, `ALL`. Default: `CHANGED`

func (TaskOptionsPtrOutput) Uid

User identifier of the file's owners. Valid values: `BOTH`, `INT_VALUE`, `NAME`, `NONE`. Default: `INT_VALUE` (preserve integer value of the ID).

func (TaskOptionsPtrOutput) VerifyMode

Whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. Valid values: `NONE`, `POINT_IN_TIME_CONSISTENT`, `ONLY_FILES_TRANSFERRED`. Default: `POINT_IN_TIME_CONSISTENT`.

type TaskOutput

type TaskOutput struct{ *pulumi.OutputState }

func (TaskOutput) ElementType

func (TaskOutput) ElementType() reflect.Type

func (TaskOutput) ToTaskOutput

func (o TaskOutput) ToTaskOutput() TaskOutput

func (TaskOutput) ToTaskOutputWithContext

func (o TaskOutput) ToTaskOutputWithContext(ctx context.Context) TaskOutput

type TaskSchedule added in v4.4.0

type TaskSchedule struct {
	// Specifies the schedule you want your task to use for repeated executions. For more information, see [Schedule Expressions for Rules](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
	ScheduleExpression string `pulumi:"scheduleExpression"`
}

type TaskScheduleArgs added in v4.4.0

type TaskScheduleArgs struct {
	// Specifies the schedule you want your task to use for repeated executions. For more information, see [Schedule Expressions for Rules](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
	ScheduleExpression pulumi.StringInput `pulumi:"scheduleExpression"`
}

func (TaskScheduleArgs) ElementType added in v4.4.0

func (TaskScheduleArgs) ElementType() reflect.Type

func (TaskScheduleArgs) ToTaskScheduleOutput added in v4.4.0

func (i TaskScheduleArgs) ToTaskScheduleOutput() TaskScheduleOutput

func (TaskScheduleArgs) ToTaskScheduleOutputWithContext added in v4.4.0

func (i TaskScheduleArgs) ToTaskScheduleOutputWithContext(ctx context.Context) TaskScheduleOutput

func (TaskScheduleArgs) ToTaskSchedulePtrOutput added in v4.4.0

func (i TaskScheduleArgs) ToTaskSchedulePtrOutput() TaskSchedulePtrOutput

func (TaskScheduleArgs) ToTaskSchedulePtrOutputWithContext added in v4.4.0

func (i TaskScheduleArgs) ToTaskSchedulePtrOutputWithContext(ctx context.Context) TaskSchedulePtrOutput

type TaskScheduleInput added in v4.4.0

type TaskScheduleInput interface {
	pulumi.Input

	ToTaskScheduleOutput() TaskScheduleOutput
	ToTaskScheduleOutputWithContext(context.Context) TaskScheduleOutput
}

TaskScheduleInput is an input type that accepts TaskScheduleArgs and TaskScheduleOutput values. You can construct a concrete instance of `TaskScheduleInput` via:

TaskScheduleArgs{...}

type TaskScheduleOutput added in v4.4.0

type TaskScheduleOutput struct{ *pulumi.OutputState }

func (TaskScheduleOutput) ElementType added in v4.4.0

func (TaskScheduleOutput) ElementType() reflect.Type

func (TaskScheduleOutput) ScheduleExpression added in v4.4.0

func (o TaskScheduleOutput) ScheduleExpression() pulumi.StringOutput

Specifies the schedule you want your task to use for repeated executions. For more information, see [Schedule Expressions for Rules](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).

func (TaskScheduleOutput) ToTaskScheduleOutput added in v4.4.0

func (o TaskScheduleOutput) ToTaskScheduleOutput() TaskScheduleOutput

func (TaskScheduleOutput) ToTaskScheduleOutputWithContext added in v4.4.0

func (o TaskScheduleOutput) ToTaskScheduleOutputWithContext(ctx context.Context) TaskScheduleOutput

func (TaskScheduleOutput) ToTaskSchedulePtrOutput added in v4.4.0

func (o TaskScheduleOutput) ToTaskSchedulePtrOutput() TaskSchedulePtrOutput

func (TaskScheduleOutput) ToTaskSchedulePtrOutputWithContext added in v4.4.0

func (o TaskScheduleOutput) ToTaskSchedulePtrOutputWithContext(ctx context.Context) TaskSchedulePtrOutput

type TaskSchedulePtrInput added in v4.4.0

type TaskSchedulePtrInput interface {
	pulumi.Input

	ToTaskSchedulePtrOutput() TaskSchedulePtrOutput
	ToTaskSchedulePtrOutputWithContext(context.Context) TaskSchedulePtrOutput
}

TaskSchedulePtrInput is an input type that accepts TaskScheduleArgs, TaskSchedulePtr and TaskSchedulePtrOutput values. You can construct a concrete instance of `TaskSchedulePtrInput` via:

        TaskScheduleArgs{...}

or:

        nil

func TaskSchedulePtr added in v4.4.0

func TaskSchedulePtr(v *TaskScheduleArgs) TaskSchedulePtrInput

type TaskSchedulePtrOutput added in v4.4.0

type TaskSchedulePtrOutput struct{ *pulumi.OutputState }

func (TaskSchedulePtrOutput) Elem added in v4.4.0

func (TaskSchedulePtrOutput) ElementType added in v4.4.0

func (TaskSchedulePtrOutput) ElementType() reflect.Type

func (TaskSchedulePtrOutput) ScheduleExpression added in v4.4.0

func (o TaskSchedulePtrOutput) ScheduleExpression() pulumi.StringPtrOutput

Specifies the schedule you want your task to use for repeated executions. For more information, see [Schedule Expressions for Rules](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).

func (TaskSchedulePtrOutput) ToTaskSchedulePtrOutput added in v4.4.0

func (o TaskSchedulePtrOutput) ToTaskSchedulePtrOutput() TaskSchedulePtrOutput

func (TaskSchedulePtrOutput) ToTaskSchedulePtrOutputWithContext added in v4.4.0

func (o TaskSchedulePtrOutput) ToTaskSchedulePtrOutputWithContext(ctx context.Context) TaskSchedulePtrOutput

type TaskState

type TaskState struct {
	// Amazon Resource Name (ARN) of the DataSync Task.
	Arn pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the CloudWatch Log Group that is used to monitor and log events in the sync task.
	CloudwatchLogGroupArn pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of destination DataSync Location.
	DestinationLocationArn pulumi.StringPtrInput
	// Filter rules that determines which files to exclude from a task.
	Excludes TaskExcludesPtrInput
	// Name of the DataSync Task.
	Name pulumi.StringPtrInput
	// Configuration block containing option that controls the default behavior when you start an execution of this DataSync Task. For each individual task execution, you can override these options by specifying an overriding configuration in those executions.
	Options TaskOptionsPtrInput
	// Specifies a schedule used to periodically transfer files from a source to a destination location.
	Schedule TaskSchedulePtrInput
	// Amazon Resource Name (ARN) of source DataSync Location.
	SourceLocationArn pulumi.StringPtrInput
	// Key-value pairs of resource tags to assign to the DataSync Task. .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 (TaskState) ElementType

func (TaskState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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