Documentation ¶
Index ¶
- type LookupServerArgs
- type LookupServerResult
- type Server
- func (*Server) ElementType() reflect.Type
- func (i *Server) ToServerOutput() ServerOutput
- func (i *Server) ToServerOutputWithContext(ctx context.Context) ServerOutput
- func (i *Server) ToServerPtrOutput() ServerPtrOutput
- func (i *Server) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput
- type ServerArgs
- type ServerArray
- type ServerArrayInput
- type ServerArrayOutput
- type ServerEndpointDetails
- type ServerEndpointDetailsArgs
- func (ServerEndpointDetailsArgs) ElementType() reflect.Type
- func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput
- func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsOutputWithContext(ctx context.Context) ServerEndpointDetailsOutput
- func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput
- func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput
- type ServerEndpointDetailsInput
- type ServerEndpointDetailsOutput
- func (o ServerEndpointDetailsOutput) AddressAllocationIds() pulumi.StringArrayOutput
- func (ServerEndpointDetailsOutput) ElementType() reflect.Type
- func (o ServerEndpointDetailsOutput) SubnetIds() pulumi.StringArrayOutput
- func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput
- func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsOutputWithContext(ctx context.Context) ServerEndpointDetailsOutput
- func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput
- func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput
- func (o ServerEndpointDetailsOutput) VpcEndpointId() pulumi.StringPtrOutput
- func (o ServerEndpointDetailsOutput) VpcId() pulumi.StringPtrOutput
- type ServerEndpointDetailsPtrInput
- type ServerEndpointDetailsPtrOutput
- func (o ServerEndpointDetailsPtrOutput) AddressAllocationIds() pulumi.StringArrayOutput
- func (o ServerEndpointDetailsPtrOutput) Elem() ServerEndpointDetailsOutput
- func (ServerEndpointDetailsPtrOutput) ElementType() reflect.Type
- func (o ServerEndpointDetailsPtrOutput) SubnetIds() pulumi.StringArrayOutput
- func (o ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput
- func (o ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput
- func (o ServerEndpointDetailsPtrOutput) VpcEndpointId() pulumi.StringPtrOutput
- func (o ServerEndpointDetailsPtrOutput) VpcId() pulumi.StringPtrOutput
- type ServerInput
- type ServerMap
- type ServerMapInput
- type ServerMapOutput
- type ServerOutput
- func (ServerOutput) ElementType() reflect.Type
- func (o ServerOutput) ToServerOutput() ServerOutput
- func (o ServerOutput) ToServerOutputWithContext(ctx context.Context) ServerOutput
- func (o ServerOutput) ToServerPtrOutput() ServerPtrOutput
- func (o ServerOutput) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput
- type ServerPtrInput
- type ServerPtrOutput
- type ServerState
- type SshKey
- func (*SshKey) ElementType() reflect.Type
- func (i *SshKey) ToSshKeyOutput() SshKeyOutput
- func (i *SshKey) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput
- func (i *SshKey) ToSshKeyPtrOutput() SshKeyPtrOutput
- func (i *SshKey) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
- type SshKeyArgs
- type SshKeyArray
- type SshKeyArrayInput
- type SshKeyArrayOutput
- type SshKeyInput
- type SshKeyMap
- type SshKeyMapInput
- type SshKeyMapOutput
- type SshKeyOutput
- func (SshKeyOutput) ElementType() reflect.Type
- func (o SshKeyOutput) ToSshKeyOutput() SshKeyOutput
- func (o SshKeyOutput) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput
- func (o SshKeyOutput) ToSshKeyPtrOutput() SshKeyPtrOutput
- func (o SshKeyOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
- type SshKeyPtrInput
- type SshKeyPtrOutput
- type SshKeyState
- type User
- type UserArgs
- type UserArray
- type UserArrayInput
- type UserArrayOutput
- type UserHomeDirectoryMapping
- type UserHomeDirectoryMappingArgs
- func (UserHomeDirectoryMappingArgs) ElementType() reflect.Type
- func (i UserHomeDirectoryMappingArgs) ToUserHomeDirectoryMappingOutput() UserHomeDirectoryMappingOutput
- func (i UserHomeDirectoryMappingArgs) ToUserHomeDirectoryMappingOutputWithContext(ctx context.Context) UserHomeDirectoryMappingOutput
- type UserHomeDirectoryMappingArray
- func (UserHomeDirectoryMappingArray) ElementType() reflect.Type
- func (i UserHomeDirectoryMappingArray) ToUserHomeDirectoryMappingArrayOutput() UserHomeDirectoryMappingArrayOutput
- func (i UserHomeDirectoryMappingArray) ToUserHomeDirectoryMappingArrayOutputWithContext(ctx context.Context) UserHomeDirectoryMappingArrayOutput
- type UserHomeDirectoryMappingArrayInput
- type UserHomeDirectoryMappingArrayOutput
- func (UserHomeDirectoryMappingArrayOutput) ElementType() reflect.Type
- func (o UserHomeDirectoryMappingArrayOutput) Index(i pulumi.IntInput) UserHomeDirectoryMappingOutput
- func (o UserHomeDirectoryMappingArrayOutput) ToUserHomeDirectoryMappingArrayOutput() UserHomeDirectoryMappingArrayOutput
- func (o UserHomeDirectoryMappingArrayOutput) ToUserHomeDirectoryMappingArrayOutputWithContext(ctx context.Context) UserHomeDirectoryMappingArrayOutput
- type UserHomeDirectoryMappingInput
- type UserHomeDirectoryMappingOutput
- func (UserHomeDirectoryMappingOutput) ElementType() reflect.Type
- func (o UserHomeDirectoryMappingOutput) Entry() pulumi.StringOutput
- func (o UserHomeDirectoryMappingOutput) Target() pulumi.StringOutput
- func (o UserHomeDirectoryMappingOutput) ToUserHomeDirectoryMappingOutput() UserHomeDirectoryMappingOutput
- func (o UserHomeDirectoryMappingOutput) ToUserHomeDirectoryMappingOutputWithContext(ctx context.Context) UserHomeDirectoryMappingOutput
- type UserInput
- type UserMap
- type UserMapInput
- type UserMapOutput
- type UserOutput
- func (UserOutput) ElementType() reflect.Type
- func (o UserOutput) ToUserOutput() UserOutput
- func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput
- func (o UserOutput) ToUserPtrOutput() UserPtrOutput
- func (o UserOutput) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput
- type UserPtrInput
- type UserPtrOutput
- type UserState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LookupServerArgs ¶
type LookupServerArgs struct { // ID for an SFTP server. ServerId string `pulumi:"serverId"` }
A collection of arguments for invoking getServer.
type LookupServerResult ¶
type LookupServerResult struct { // Amazon Resource Name (ARN) of Transfer Server. Arn string `pulumi:"arn"` // The ARN of any certificate. Certificate string `pulumi:"certificate"` // The endpoint of the Transfer Server (e.g. `s-12345678.server.transfer.REGION.amazonaws.com`). Endpoint string `pulumi:"endpoint"` // The type of endpoint that the server is connected to. EndpointType string `pulumi:"endpointType"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. IdentityProviderType string `pulumi:"identityProviderType"` // Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`. InvocationRole string `pulumi:"invocationRole"` // Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. LoggingRole string `pulumi:"loggingRole"` // The file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. Protocols []string `pulumi:"protocols"` // The name of the security policy that is attached to the server. SecurityPolicyName string `pulumi:"securityPolicyName"` ServerId string `pulumi:"serverId"` // URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`. Url string `pulumi:"url"` }
A collection of values returned by getServer.
func LookupServer ¶
func LookupServer(ctx *pulumi.Context, args *LookupServerArgs, opts ...pulumi.InvokeOption) (*LookupServerResult, error)
Use this data source to get the ARN of an AWS Transfer Server for use in other resources.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := transfer.LookupServer(ctx, &transfer.LookupServerArgs{ ServerId: "s-1234567", }, nil) if err != nil { return err } return nil }) }
```
type Server ¶
type Server struct { pulumi.CustomResourceState // Amazon Resource Name (ARN) of Transfer Server Arn pulumi.StringOutput `pulumi:"arn"` // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. This is required when `protocols` is set to `FTPS` Certificate pulumi.StringPtrOutput `pulumi:"certificate"` // The endpoint of the Transfer Server (e.g. `s-12345678.server.transfer.REGION.amazonaws.com`) Endpoint pulumi.StringOutput `pulumi:"endpoint"` // The virtual private cloud (VPC) endpoint settings that you want to configure for your SFTP server. Fields documented below. EndpointDetails ServerEndpointDetailsPtrOutput `pulumi:"endpointDetails"` // The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. EndpointType pulumi.StringPtrOutput `pulumi:"endpointType"` // A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` // RSA private key (e.g. as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). HostKey pulumi.StringPtrOutput `pulumi:"hostKey"` // This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. HostKeyFingerprint pulumi.StringOutput `pulumi:"hostKeyFingerprint"` // The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. IdentityProviderType pulumi.StringPtrOutput `pulumi:"identityProviderType"` // Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`. InvocationRole pulumi.StringPtrOutput `pulumi:"invocationRole"` // Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. LoggingRole pulumi.StringPtrOutput `pulumi:"loggingRole"` // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: // * `SFTP`: File transfer over SSH // * `FTPS`: File transfer with TLS encryption // * `FTP`: Unencrypted file transfer Protocols pulumi.StringArrayOutput `pulumi:"protocols"` // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, and `TransferSecurityPolicy-FIPS-2020-06`. Default value is: `TransferSecurityPolicy-2018-11`. SecurityPolicyName pulumi.StringPtrOutput `pulumi:"securityPolicyName"` Tags pulumi.StringMapOutput `pulumi:"tags"` TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // - URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`. Url pulumi.StringPtrOutput `pulumi:"url"` }
Provides a AWS Transfer Server resource.
## Example Usage ### Basic
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := transfer.NewServer(ctx, "example", &transfer.ServerArgs{ Tags: pulumi.StringMap{ "Name": pulumi.String("Example"), }, }) if err != nil { return err } return nil }) }
``` ### Basic
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := transfer.NewServer(ctx, "example", &transfer.ServerArgs{ Tags: pulumi.StringMap{ "Name": pulumi.String("Example"), }, }) if err != nil { return err } return nil }) }
``` ### Security Policy Name
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := transfer.NewServer(ctx, "example", &transfer.ServerArgs{ SecurityPolicyName: pulumi.String("TransferSecurityPolicy-2020-06"), }) if err != nil { return err } return nil }) }
``` ### Security Policy Name
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := transfer.NewServer(ctx, "example", &transfer.ServerArgs{ SecurityPolicyName: pulumi.String("TransferSecurityPolicy-2020-06"), }) if err != nil { return err } return nil }) }
```
## Import
Transfer Servers can be imported using the `server id`, e.g.
```sh
$ pulumi import aws:transfer/server:Server bar s-12345678
```
Certain resource arguments, such as `host_key`, cannot be read via the API and imported into the provider. This provider will display a difference for these arguments the first run after import if declared in the provider configuration for an imported resource.
func GetServer ¶
func GetServer(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ServerState, opts ...pulumi.ResourceOption) (*Server, error)
GetServer gets an existing Server 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 NewServer ¶
func NewServer(ctx *pulumi.Context, name string, args *ServerArgs, opts ...pulumi.ResourceOption) (*Server, error)
NewServer registers a new resource with the given unique name, arguments, and options.
func (*Server) ElementType ¶
func (*Server) ToServerOutput ¶
func (i *Server) ToServerOutput() ServerOutput
func (*Server) ToServerOutputWithContext ¶
func (i *Server) ToServerOutputWithContext(ctx context.Context) ServerOutput
func (*Server) ToServerPtrOutput ¶
func (i *Server) ToServerPtrOutput() ServerPtrOutput
func (*Server) ToServerPtrOutputWithContext ¶
func (i *Server) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput
type ServerArgs ¶
type ServerArgs struct { // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. This is required when `protocols` is set to `FTPS` Certificate pulumi.StringPtrInput // The virtual private cloud (VPC) endpoint settings that you want to configure for your SFTP server. Fields documented below. EndpointDetails ServerEndpointDetailsPtrInput // The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. EndpointType pulumi.StringPtrInput // A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. ForceDestroy pulumi.BoolPtrInput // RSA private key (e.g. as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). HostKey pulumi.StringPtrInput // The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. IdentityProviderType pulumi.StringPtrInput // Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`. InvocationRole pulumi.StringPtrInput // Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. LoggingRole pulumi.StringPtrInput // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: // * `SFTP`: File transfer over SSH // * `FTPS`: File transfer with TLS encryption // * `FTP`: Unencrypted file transfer Protocols pulumi.StringArrayInput // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, and `TransferSecurityPolicy-FIPS-2020-06`. Default value is: `TransferSecurityPolicy-2018-11`. SecurityPolicyName pulumi.StringPtrInput Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // - URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`. Url pulumi.StringPtrInput }
The set of arguments for constructing a Server resource.
func (ServerArgs) ElementType ¶
func (ServerArgs) ElementType() reflect.Type
type ServerArray ¶
type ServerArray []ServerInput
func (ServerArray) ElementType ¶
func (ServerArray) ElementType() reflect.Type
func (ServerArray) ToServerArrayOutput ¶
func (i ServerArray) ToServerArrayOutput() ServerArrayOutput
func (ServerArray) ToServerArrayOutputWithContext ¶
func (i ServerArray) ToServerArrayOutputWithContext(ctx context.Context) ServerArrayOutput
type ServerArrayInput ¶
type ServerArrayInput interface { pulumi.Input ToServerArrayOutput() ServerArrayOutput ToServerArrayOutputWithContext(context.Context) ServerArrayOutput }
ServerArrayInput is an input type that accepts ServerArray and ServerArrayOutput values. You can construct a concrete instance of `ServerArrayInput` via:
ServerArray{ ServerArgs{...} }
type ServerArrayOutput ¶
type ServerArrayOutput struct{ *pulumi.OutputState }
func (ServerArrayOutput) ElementType ¶
func (ServerArrayOutput) ElementType() reflect.Type
func (ServerArrayOutput) Index ¶
func (o ServerArrayOutput) Index(i pulumi.IntInput) ServerOutput
func (ServerArrayOutput) ToServerArrayOutput ¶
func (o ServerArrayOutput) ToServerArrayOutput() ServerArrayOutput
func (ServerArrayOutput) ToServerArrayOutputWithContext ¶
func (o ServerArrayOutput) ToServerArrayOutputWithContext(ctx context.Context) ServerArrayOutput
type ServerEndpointDetails ¶
type ServerEndpointDetails struct { // A list of address allocation IDs that are required to attach an Elastic IP address to your SFTP server's endpoint. This property can only be used when `endpointType` is set to `VPC`. AddressAllocationIds []string `pulumi:"addressAllocationIds"` // A list of subnet IDs that are required to host your SFTP server endpoint in your VPC. This property can only be used when `endpointType` is set to `VPC`. SubnetIds []string `pulumi:"subnetIds"` // The ID of the VPC endpoint. This property can only be used when `endpointType` is set to `VPC_ENDPOINT` VpcEndpointId *string `pulumi:"vpcEndpointId"` // The VPC ID of the virtual private cloud in which the SFTP server's endpoint will be hosted. This property can only be used when `endpointType` is set to `VPC`. VpcId *string `pulumi:"vpcId"` }
type ServerEndpointDetailsArgs ¶
type ServerEndpointDetailsArgs struct { // A list of address allocation IDs that are required to attach an Elastic IP address to your SFTP server's endpoint. This property can only be used when `endpointType` is set to `VPC`. AddressAllocationIds pulumi.StringArrayInput `pulumi:"addressAllocationIds"` // A list of subnet IDs that are required to host your SFTP server endpoint in your VPC. This property can only be used when `endpointType` is set to `VPC`. SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` // The ID of the VPC endpoint. This property can only be used when `endpointType` is set to `VPC_ENDPOINT` VpcEndpointId pulumi.StringPtrInput `pulumi:"vpcEndpointId"` // The VPC ID of the virtual private cloud in which the SFTP server's endpoint will be hosted. This property can only be used when `endpointType` is set to `VPC`. VpcId pulumi.StringPtrInput `pulumi:"vpcId"` }
func (ServerEndpointDetailsArgs) ElementType ¶
func (ServerEndpointDetailsArgs) ElementType() reflect.Type
func (ServerEndpointDetailsArgs) ToServerEndpointDetailsOutput ¶
func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput
func (ServerEndpointDetailsArgs) ToServerEndpointDetailsOutputWithContext ¶
func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsOutputWithContext(ctx context.Context) ServerEndpointDetailsOutput
func (ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutput ¶
func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput
func (ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutputWithContext ¶
func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput
type ServerEndpointDetailsInput ¶
type ServerEndpointDetailsInput interface { pulumi.Input ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput ToServerEndpointDetailsOutputWithContext(context.Context) ServerEndpointDetailsOutput }
ServerEndpointDetailsInput is an input type that accepts ServerEndpointDetailsArgs and ServerEndpointDetailsOutput values. You can construct a concrete instance of `ServerEndpointDetailsInput` via:
ServerEndpointDetailsArgs{...}
type ServerEndpointDetailsOutput ¶
type ServerEndpointDetailsOutput struct{ *pulumi.OutputState }
func (ServerEndpointDetailsOutput) AddressAllocationIds ¶
func (o ServerEndpointDetailsOutput) AddressAllocationIds() pulumi.StringArrayOutput
A list of address allocation IDs that are required to attach an Elastic IP address to your SFTP server's endpoint. This property can only be used when `endpointType` is set to `VPC`.
func (ServerEndpointDetailsOutput) ElementType ¶
func (ServerEndpointDetailsOutput) ElementType() reflect.Type
func (ServerEndpointDetailsOutput) SubnetIds ¶
func (o ServerEndpointDetailsOutput) SubnetIds() pulumi.StringArrayOutput
A list of subnet IDs that are required to host your SFTP server endpoint in your VPC. This property can only be used when `endpointType` is set to `VPC`.
func (ServerEndpointDetailsOutput) ToServerEndpointDetailsOutput ¶
func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput
func (ServerEndpointDetailsOutput) ToServerEndpointDetailsOutputWithContext ¶
func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsOutputWithContext(ctx context.Context) ServerEndpointDetailsOutput
func (ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutput ¶
func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput
func (ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutputWithContext ¶
func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput
func (ServerEndpointDetailsOutput) VpcEndpointId ¶
func (o ServerEndpointDetailsOutput) VpcEndpointId() pulumi.StringPtrOutput
The ID of the VPC endpoint. This property can only be used when `endpointType` is set to `VPC_ENDPOINT`
func (ServerEndpointDetailsOutput) VpcId ¶
func (o ServerEndpointDetailsOutput) VpcId() pulumi.StringPtrOutput
The VPC ID of the virtual private cloud in which the SFTP server's endpoint will be hosted. This property can only be used when `endpointType` is set to `VPC`.
type ServerEndpointDetailsPtrInput ¶
type ServerEndpointDetailsPtrInput interface { pulumi.Input ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput ToServerEndpointDetailsPtrOutputWithContext(context.Context) ServerEndpointDetailsPtrOutput }
ServerEndpointDetailsPtrInput is an input type that accepts ServerEndpointDetailsArgs, ServerEndpointDetailsPtr and ServerEndpointDetailsPtrOutput values. You can construct a concrete instance of `ServerEndpointDetailsPtrInput` via:
ServerEndpointDetailsArgs{...} or: nil
func ServerEndpointDetailsPtr ¶
func ServerEndpointDetailsPtr(v *ServerEndpointDetailsArgs) ServerEndpointDetailsPtrInput
type ServerEndpointDetailsPtrOutput ¶
type ServerEndpointDetailsPtrOutput struct{ *pulumi.OutputState }
func (ServerEndpointDetailsPtrOutput) AddressAllocationIds ¶
func (o ServerEndpointDetailsPtrOutput) AddressAllocationIds() pulumi.StringArrayOutput
A list of address allocation IDs that are required to attach an Elastic IP address to your SFTP server's endpoint. This property can only be used when `endpointType` is set to `VPC`.
func (ServerEndpointDetailsPtrOutput) Elem ¶
func (o ServerEndpointDetailsPtrOutput) Elem() ServerEndpointDetailsOutput
func (ServerEndpointDetailsPtrOutput) ElementType ¶
func (ServerEndpointDetailsPtrOutput) ElementType() reflect.Type
func (ServerEndpointDetailsPtrOutput) SubnetIds ¶
func (o ServerEndpointDetailsPtrOutput) SubnetIds() pulumi.StringArrayOutput
A list of subnet IDs that are required to host your SFTP server endpoint in your VPC. This property can only be used when `endpointType` is set to `VPC`.
func (ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutput ¶
func (o ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput
func (ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutputWithContext ¶
func (o ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput
func (ServerEndpointDetailsPtrOutput) VpcEndpointId ¶
func (o ServerEndpointDetailsPtrOutput) VpcEndpointId() pulumi.StringPtrOutput
The ID of the VPC endpoint. This property can only be used when `endpointType` is set to `VPC_ENDPOINT`
func (ServerEndpointDetailsPtrOutput) VpcId ¶
func (o ServerEndpointDetailsPtrOutput) VpcId() pulumi.StringPtrOutput
The VPC ID of the virtual private cloud in which the SFTP server's endpoint will be hosted. This property can only be used when `endpointType` is set to `VPC`.
type ServerInput ¶
type ServerInput interface { pulumi.Input ToServerOutput() ServerOutput ToServerOutputWithContext(ctx context.Context) ServerOutput }
type ServerMap ¶
type ServerMap map[string]ServerInput
func (ServerMap) ElementType ¶
func (ServerMap) ToServerMapOutput ¶
func (i ServerMap) ToServerMapOutput() ServerMapOutput
func (ServerMap) ToServerMapOutputWithContext ¶
func (i ServerMap) ToServerMapOutputWithContext(ctx context.Context) ServerMapOutput
type ServerMapInput ¶
type ServerMapInput interface { pulumi.Input ToServerMapOutput() ServerMapOutput ToServerMapOutputWithContext(context.Context) ServerMapOutput }
ServerMapInput is an input type that accepts ServerMap and ServerMapOutput values. You can construct a concrete instance of `ServerMapInput` via:
ServerMap{ "key": ServerArgs{...} }
type ServerMapOutput ¶
type ServerMapOutput struct{ *pulumi.OutputState }
func (ServerMapOutput) ElementType ¶
func (ServerMapOutput) ElementType() reflect.Type
func (ServerMapOutput) MapIndex ¶
func (o ServerMapOutput) MapIndex(k pulumi.StringInput) ServerOutput
func (ServerMapOutput) ToServerMapOutput ¶
func (o ServerMapOutput) ToServerMapOutput() ServerMapOutput
func (ServerMapOutput) ToServerMapOutputWithContext ¶
func (o ServerMapOutput) ToServerMapOutputWithContext(ctx context.Context) ServerMapOutput
type ServerOutput ¶
type ServerOutput struct {
*pulumi.OutputState
}
func (ServerOutput) ElementType ¶
func (ServerOutput) ElementType() reflect.Type
func (ServerOutput) ToServerOutput ¶
func (o ServerOutput) ToServerOutput() ServerOutput
func (ServerOutput) ToServerOutputWithContext ¶
func (o ServerOutput) ToServerOutputWithContext(ctx context.Context) ServerOutput
func (ServerOutput) ToServerPtrOutput ¶
func (o ServerOutput) ToServerPtrOutput() ServerPtrOutput
func (ServerOutput) ToServerPtrOutputWithContext ¶
func (o ServerOutput) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput
type ServerPtrInput ¶
type ServerPtrInput interface { pulumi.Input ToServerPtrOutput() ServerPtrOutput ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput }
type ServerPtrOutput ¶
type ServerPtrOutput struct {
*pulumi.OutputState
}
func (ServerPtrOutput) ElementType ¶
func (ServerPtrOutput) ElementType() reflect.Type
func (ServerPtrOutput) ToServerPtrOutput ¶
func (o ServerPtrOutput) ToServerPtrOutput() ServerPtrOutput
func (ServerPtrOutput) ToServerPtrOutputWithContext ¶
func (o ServerPtrOutput) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput
type ServerState ¶
type ServerState struct { // Amazon Resource Name (ARN) of Transfer Server Arn pulumi.StringPtrInput // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. This is required when `protocols` is set to `FTPS` Certificate pulumi.StringPtrInput // The endpoint of the Transfer Server (e.g. `s-12345678.server.transfer.REGION.amazonaws.com`) Endpoint pulumi.StringPtrInput // The virtual private cloud (VPC) endpoint settings that you want to configure for your SFTP server. Fields documented below. EndpointDetails ServerEndpointDetailsPtrInput // The type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. EndpointType pulumi.StringPtrInput // A boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. ForceDestroy pulumi.BoolPtrInput // RSA private key (e.g. as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` command). HostKey pulumi.StringPtrInput // This value contains the message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command. HostKeyFingerprint pulumi.StringPtrInput // The mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. IdentityProviderType pulumi.StringPtrInput // Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`. InvocationRole pulumi.StringPtrInput // Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. LoggingRole pulumi.StringPtrInput // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP` . The available protocols are: // * `SFTP`: File transfer over SSH // * `FTPS`: File transfer with TLS encryption // * `FTP`: Unencrypted file transfer Protocols pulumi.StringArrayInput // Specifies the name of the security policy that is attached to the server. Possible values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, and `TransferSecurityPolicy-FIPS-2020-06`. Default value is: `TransferSecurityPolicy-2018-11`. SecurityPolicyName pulumi.StringPtrInput Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // - URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`. Url pulumi.StringPtrInput }
func (ServerState) ElementType ¶
func (ServerState) ElementType() reflect.Type
type SshKey ¶
type SshKey struct { pulumi.CustomResourceState // The public key portion of an SSH key pair. Body pulumi.StringOutput `pulumi:"body"` // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId pulumi.StringOutput `pulumi:"serverId"` // The name of the user account that is assigned to one or more servers. UserName pulumi.StringOutput `pulumi:"userName"` }
Provides a AWS Transfer User SSH Key resource.
## Example Usage
```go package main
import (
"fmt" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { exampleServer, err := transfer.NewServer(ctx, "exampleServer", &transfer.ServerArgs{ IdentityProviderType: pulumi.String("SERVICE_MANAGED"), Tags: pulumi.StringMap{ "NAME": pulumi.String("tf-acc-test-transfer-server"), }, }) if err != nil { return err } exampleRole, err := iam.NewRole(ctx, "exampleRole", &iam.RoleArgs{ AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Statement\": [\n", " {\n", " \"Effect\": \"Allow\",\n", " \"Principal\": {\n", " \"Service\": \"transfer.amazonaws.com\"\n", " },\n", " \"Action\": \"sts:AssumeRole\"\n", " }\n", " ]\n", "}\n")), }) if err != nil { return err } exampleUser, err := transfer.NewUser(ctx, "exampleUser", &transfer.UserArgs{ ServerId: exampleServer.ID(), UserName: pulumi.String("tftestuser"), Role: exampleRole.Arn, Tags: pulumi.StringMap{ "NAME": pulumi.String("tftestuser"), }, }) if err != nil { return err } _, err = transfer.NewSshKey(ctx, "exampleSshKey", &transfer.SshKeyArgs{ ServerId: exampleServer.ID(), UserName: exampleUser.UserName, Body: pulumi.String("... SSH key ..."), }) if err != nil { return err } _, err = iam.NewRolePolicy(ctx, "exampleRolePolicy", &iam.RolePolicyArgs{ Role: exampleRole.ID(), Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Statement\": [\n", " {\n", " \"Sid\": \"AllowFullAccesstoS3\",\n", " \"Effect\": \"Allow\",\n", " \"Action\": [\n", " \"s3:*\"\n", " ],\n", " \"Resource\": \"*\"\n", " }\n", " ]\n", "}\n")), }) if err != nil { return err } return nil }) }
```
## Import
Transfer SSH Public Key can be imported using the `server_id` and `user_name` and `ssh_public_key_id` separated by `/`.
```sh
$ pulumi import aws:transfer/sshKey:SshKey bar s-12345678/test-username/key-12345
```
func GetSshKey ¶
func GetSshKey(ctx *pulumi.Context, name string, id pulumi.IDInput, state *SshKeyState, opts ...pulumi.ResourceOption) (*SshKey, error)
GetSshKey gets an existing SshKey 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 NewSshKey ¶
func NewSshKey(ctx *pulumi.Context, name string, args *SshKeyArgs, opts ...pulumi.ResourceOption) (*SshKey, error)
NewSshKey registers a new resource with the given unique name, arguments, and options.
func (*SshKey) ElementType ¶
func (*SshKey) ToSshKeyOutput ¶
func (i *SshKey) ToSshKeyOutput() SshKeyOutput
func (*SshKey) ToSshKeyOutputWithContext ¶
func (i *SshKey) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput
func (*SshKey) ToSshKeyPtrOutput ¶
func (i *SshKey) ToSshKeyPtrOutput() SshKeyPtrOutput
func (*SshKey) ToSshKeyPtrOutputWithContext ¶
func (i *SshKey) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
type SshKeyArgs ¶
type SshKeyArgs struct { // The public key portion of an SSH key pair. Body pulumi.StringInput // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId pulumi.StringInput // The name of the user account that is assigned to one or more servers. UserName pulumi.StringInput }
The set of arguments for constructing a SshKey resource.
func (SshKeyArgs) ElementType ¶
func (SshKeyArgs) ElementType() reflect.Type
type SshKeyArray ¶
type SshKeyArray []SshKeyInput
func (SshKeyArray) ElementType ¶
func (SshKeyArray) ElementType() reflect.Type
func (SshKeyArray) ToSshKeyArrayOutput ¶
func (i SshKeyArray) ToSshKeyArrayOutput() SshKeyArrayOutput
func (SshKeyArray) ToSshKeyArrayOutputWithContext ¶
func (i SshKeyArray) ToSshKeyArrayOutputWithContext(ctx context.Context) SshKeyArrayOutput
type SshKeyArrayInput ¶
type SshKeyArrayInput interface { pulumi.Input ToSshKeyArrayOutput() SshKeyArrayOutput ToSshKeyArrayOutputWithContext(context.Context) SshKeyArrayOutput }
SshKeyArrayInput is an input type that accepts SshKeyArray and SshKeyArrayOutput values. You can construct a concrete instance of `SshKeyArrayInput` via:
SshKeyArray{ SshKeyArgs{...} }
type SshKeyArrayOutput ¶
type SshKeyArrayOutput struct{ *pulumi.OutputState }
func (SshKeyArrayOutput) ElementType ¶
func (SshKeyArrayOutput) ElementType() reflect.Type
func (SshKeyArrayOutput) Index ¶
func (o SshKeyArrayOutput) Index(i pulumi.IntInput) SshKeyOutput
func (SshKeyArrayOutput) ToSshKeyArrayOutput ¶
func (o SshKeyArrayOutput) ToSshKeyArrayOutput() SshKeyArrayOutput
func (SshKeyArrayOutput) ToSshKeyArrayOutputWithContext ¶
func (o SshKeyArrayOutput) ToSshKeyArrayOutputWithContext(ctx context.Context) SshKeyArrayOutput
type SshKeyInput ¶
type SshKeyInput interface { pulumi.Input ToSshKeyOutput() SshKeyOutput ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput }
type SshKeyMap ¶
type SshKeyMap map[string]SshKeyInput
func (SshKeyMap) ElementType ¶
func (SshKeyMap) ToSshKeyMapOutput ¶
func (i SshKeyMap) ToSshKeyMapOutput() SshKeyMapOutput
func (SshKeyMap) ToSshKeyMapOutputWithContext ¶
func (i SshKeyMap) ToSshKeyMapOutputWithContext(ctx context.Context) SshKeyMapOutput
type SshKeyMapInput ¶
type SshKeyMapInput interface { pulumi.Input ToSshKeyMapOutput() SshKeyMapOutput ToSshKeyMapOutputWithContext(context.Context) SshKeyMapOutput }
SshKeyMapInput is an input type that accepts SshKeyMap and SshKeyMapOutput values. You can construct a concrete instance of `SshKeyMapInput` via:
SshKeyMap{ "key": SshKeyArgs{...} }
type SshKeyMapOutput ¶
type SshKeyMapOutput struct{ *pulumi.OutputState }
func (SshKeyMapOutput) ElementType ¶
func (SshKeyMapOutput) ElementType() reflect.Type
func (SshKeyMapOutput) MapIndex ¶
func (o SshKeyMapOutput) MapIndex(k pulumi.StringInput) SshKeyOutput
func (SshKeyMapOutput) ToSshKeyMapOutput ¶
func (o SshKeyMapOutput) ToSshKeyMapOutput() SshKeyMapOutput
func (SshKeyMapOutput) ToSshKeyMapOutputWithContext ¶
func (o SshKeyMapOutput) ToSshKeyMapOutputWithContext(ctx context.Context) SshKeyMapOutput
type SshKeyOutput ¶
type SshKeyOutput struct {
*pulumi.OutputState
}
func (SshKeyOutput) ElementType ¶
func (SshKeyOutput) ElementType() reflect.Type
func (SshKeyOutput) ToSshKeyOutput ¶
func (o SshKeyOutput) ToSshKeyOutput() SshKeyOutput
func (SshKeyOutput) ToSshKeyOutputWithContext ¶
func (o SshKeyOutput) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput
func (SshKeyOutput) ToSshKeyPtrOutput ¶
func (o SshKeyOutput) ToSshKeyPtrOutput() SshKeyPtrOutput
func (SshKeyOutput) ToSshKeyPtrOutputWithContext ¶
func (o SshKeyOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
type SshKeyPtrInput ¶
type SshKeyPtrInput interface { pulumi.Input ToSshKeyPtrOutput() SshKeyPtrOutput ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput }
type SshKeyPtrOutput ¶
type SshKeyPtrOutput struct {
*pulumi.OutputState
}
func (SshKeyPtrOutput) ElementType ¶
func (SshKeyPtrOutput) ElementType() reflect.Type
func (SshKeyPtrOutput) ToSshKeyPtrOutput ¶
func (o SshKeyPtrOutput) ToSshKeyPtrOutput() SshKeyPtrOutput
func (SshKeyPtrOutput) ToSshKeyPtrOutputWithContext ¶
func (o SshKeyPtrOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
type SshKeyState ¶
type SshKeyState struct { // The public key portion of an SSH key pair. Body pulumi.StringPtrInput // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId pulumi.StringPtrInput // The name of the user account that is assigned to one or more servers. UserName pulumi.StringPtrInput }
func (SshKeyState) ElementType ¶
func (SshKeyState) ElementType() reflect.Type
type User ¶
type User struct { pulumi.CustomResourceState // Amazon Resource Name (ARN) of Transfer User Arn pulumi.StringOutput `pulumi:"arn"` // The landing directory (folder) for a user when they log in to the server using their SFTP client. It should begin with a `/`. The first item in the path is the name of the home bucket (accessible as `${Transfer:HomeBucket}` in the policy) and the rest is the home directory (accessible as `${Transfer:HomeDirectory}` in the policy). For example, `/example-bucket-1234/username` would set the home bucket to `example-bucket-1234` and the home directory to `username`. HomeDirectory pulumi.StringPtrOutput `pulumi:"homeDirectory"` // Logical directory mappings that specify what S3 paths and keys should be visible to your user and how you want to make them visible. documented below. HomeDirectoryMappings UserHomeDirectoryMappingArrayOutput `pulumi:"homeDirectoryMappings"` // The type of landing directory (folder) you mapped for your users' home directory. Valid values are `PATH` and `LOGICAL`. HomeDirectoryType pulumi.StringPtrOutput `pulumi:"homeDirectoryType"` // An IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. These are evaluated on-the-fly when navigating the bucket. Policy pulumi.StringPtrOutput `pulumi:"policy"` // Amazon Resource Name (ARN) of an IAM role that allows the service to controls your user’s access to your Amazon S3 bucket. Role pulumi.StringOutput `pulumi:"role"` // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId pulumi.StringOutput `pulumi:"serverId"` Tags pulumi.StringMapOutput `pulumi:"tags"` TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // The name used for log in to your SFTP server. UserName pulumi.StringOutput `pulumi:"userName"` }
Provides a AWS Transfer User resource. Managing SSH keys can be accomplished with the `transfer.SshKey` resource.
## Example Usage
```go package main
import (
"fmt" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/transfer" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { fooServer, err := transfer.NewServer(ctx, "fooServer", &transfer.ServerArgs{ IdentityProviderType: pulumi.String("SERVICE_MANAGED"), Tags: pulumi.StringMap{ "NAME": pulumi.String("tf-acc-test-transfer-server"), }, }) if err != nil { return err } fooRole, err := iam.NewRole(ctx, "fooRole", &iam.RoleArgs{ AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Statement\": [\n", " {\n", " \"Effect\": \"Allow\",\n", " \"Principal\": {\n", " \"Service\": \"transfer.amazonaws.com\"\n", " },\n", " \"Action\": \"sts:AssumeRole\"\n", " }\n", " ]\n", "}\n")), }) if err != nil { return err } _, err = iam.NewRolePolicy(ctx, "fooRolePolicy", &iam.RolePolicyArgs{ Role: fooRole.ID(), Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Statement\": [\n", " {\n", " \"Sid\": \"AllowFullAccesstoS3\",\n", " \"Effect\": \"Allow\",\n", " \"Action\": [\n", " \"s3:*\"\n", " ],\n", " \"Resource\": \"*\"\n", " }\n", " ]\n", "}\n")), }) if err != nil { return err } _, err = transfer.NewUser(ctx, "fooUser", &transfer.UserArgs{ ServerId: fooServer.ID(), UserName: pulumi.String("tftestuser"), Role: fooRole.Arn, HomeDirectoryType: pulumi.String("LOGICAL"), HomeDirectoryMappings: transfer.UserHomeDirectoryMappingArray{ &transfer.UserHomeDirectoryMappingArgs{ Entry: pulumi.String("/test.pdf"), Target: pulumi.String("/bucket3/test-path/tftestuser.pdf"), }, }, }) if err != nil { return err } return nil }) }
```
## Import
Transfer Users can be imported using the `server_id` and `user_name` separated by `/`.
```sh
$ pulumi import aws:transfer/user:User bar s-12345678/test-username
```
func GetUser ¶
func GetUser(ctx *pulumi.Context, name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)
GetUser gets an existing User 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 NewUser ¶
func NewUser(ctx *pulumi.Context, name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)
NewUser registers a new resource with the given unique name, arguments, and options.
func (*User) ElementType ¶
func (*User) ToUserOutput ¶
func (i *User) ToUserOutput() UserOutput
func (*User) ToUserOutputWithContext ¶
func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput
func (*User) ToUserPtrOutput ¶
func (i *User) ToUserPtrOutput() UserPtrOutput
func (*User) ToUserPtrOutputWithContext ¶
func (i *User) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput
type UserArgs ¶
type UserArgs struct { // The landing directory (folder) for a user when they log in to the server using their SFTP client. It should begin with a `/`. The first item in the path is the name of the home bucket (accessible as `${Transfer:HomeBucket}` in the policy) and the rest is the home directory (accessible as `${Transfer:HomeDirectory}` in the policy). For example, `/example-bucket-1234/username` would set the home bucket to `example-bucket-1234` and the home directory to `username`. HomeDirectory pulumi.StringPtrInput // Logical directory mappings that specify what S3 paths and keys should be visible to your user and how you want to make them visible. documented below. HomeDirectoryMappings UserHomeDirectoryMappingArrayInput // The type of landing directory (folder) you mapped for your users' home directory. Valid values are `PATH` and `LOGICAL`. HomeDirectoryType pulumi.StringPtrInput // An IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. These are evaluated on-the-fly when navigating the bucket. Policy pulumi.StringPtrInput // Amazon Resource Name (ARN) of an IAM role that allows the service to controls your user’s access to your Amazon S3 bucket. Role pulumi.StringInput // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId pulumi.StringInput Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // The name used for log in to your SFTP server. UserName pulumi.StringInput }
The set of arguments for constructing a User resource.
func (UserArgs) ElementType ¶
type UserArray ¶
type UserArray []UserInput
func (UserArray) ElementType ¶
func (UserArray) ToUserArrayOutput ¶
func (i UserArray) ToUserArrayOutput() UserArrayOutput
func (UserArray) ToUserArrayOutputWithContext ¶
func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput
type UserArrayInput ¶
type UserArrayInput interface { pulumi.Input ToUserArrayOutput() UserArrayOutput ToUserArrayOutputWithContext(context.Context) UserArrayOutput }
UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:
UserArray{ UserArgs{...} }
type UserArrayOutput ¶
type UserArrayOutput struct{ *pulumi.OutputState }
func (UserArrayOutput) ElementType ¶
func (UserArrayOutput) ElementType() reflect.Type
func (UserArrayOutput) Index ¶
func (o UserArrayOutput) Index(i pulumi.IntInput) UserOutput
func (UserArrayOutput) ToUserArrayOutput ¶
func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput
func (UserArrayOutput) ToUserArrayOutputWithContext ¶
func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput
type UserHomeDirectoryMappingArgs ¶
type UserHomeDirectoryMappingArgs struct { // Represents an entry and a target. Entry pulumi.StringInput `pulumi:"entry"` // Represents the map target. Target pulumi.StringInput `pulumi:"target"` }
func (UserHomeDirectoryMappingArgs) ElementType ¶
func (UserHomeDirectoryMappingArgs) ElementType() reflect.Type
func (UserHomeDirectoryMappingArgs) ToUserHomeDirectoryMappingOutput ¶
func (i UserHomeDirectoryMappingArgs) ToUserHomeDirectoryMappingOutput() UserHomeDirectoryMappingOutput
func (UserHomeDirectoryMappingArgs) ToUserHomeDirectoryMappingOutputWithContext ¶
func (i UserHomeDirectoryMappingArgs) ToUserHomeDirectoryMappingOutputWithContext(ctx context.Context) UserHomeDirectoryMappingOutput
type UserHomeDirectoryMappingArray ¶
type UserHomeDirectoryMappingArray []UserHomeDirectoryMappingInput
func (UserHomeDirectoryMappingArray) ElementType ¶
func (UserHomeDirectoryMappingArray) ElementType() reflect.Type
func (UserHomeDirectoryMappingArray) ToUserHomeDirectoryMappingArrayOutput ¶
func (i UserHomeDirectoryMappingArray) ToUserHomeDirectoryMappingArrayOutput() UserHomeDirectoryMappingArrayOutput
func (UserHomeDirectoryMappingArray) ToUserHomeDirectoryMappingArrayOutputWithContext ¶
func (i UserHomeDirectoryMappingArray) ToUserHomeDirectoryMappingArrayOutputWithContext(ctx context.Context) UserHomeDirectoryMappingArrayOutput
type UserHomeDirectoryMappingArrayInput ¶
type UserHomeDirectoryMappingArrayInput interface { pulumi.Input ToUserHomeDirectoryMappingArrayOutput() UserHomeDirectoryMappingArrayOutput ToUserHomeDirectoryMappingArrayOutputWithContext(context.Context) UserHomeDirectoryMappingArrayOutput }
UserHomeDirectoryMappingArrayInput is an input type that accepts UserHomeDirectoryMappingArray and UserHomeDirectoryMappingArrayOutput values. You can construct a concrete instance of `UserHomeDirectoryMappingArrayInput` via:
UserHomeDirectoryMappingArray{ UserHomeDirectoryMappingArgs{...} }
type UserHomeDirectoryMappingArrayOutput ¶
type UserHomeDirectoryMappingArrayOutput struct{ *pulumi.OutputState }
func (UserHomeDirectoryMappingArrayOutput) ElementType ¶
func (UserHomeDirectoryMappingArrayOutput) ElementType() reflect.Type
func (UserHomeDirectoryMappingArrayOutput) Index ¶
func (o UserHomeDirectoryMappingArrayOutput) Index(i pulumi.IntInput) UserHomeDirectoryMappingOutput
func (UserHomeDirectoryMappingArrayOutput) ToUserHomeDirectoryMappingArrayOutput ¶
func (o UserHomeDirectoryMappingArrayOutput) ToUserHomeDirectoryMappingArrayOutput() UserHomeDirectoryMappingArrayOutput
func (UserHomeDirectoryMappingArrayOutput) ToUserHomeDirectoryMappingArrayOutputWithContext ¶
func (o UserHomeDirectoryMappingArrayOutput) ToUserHomeDirectoryMappingArrayOutputWithContext(ctx context.Context) UserHomeDirectoryMappingArrayOutput
type UserHomeDirectoryMappingInput ¶
type UserHomeDirectoryMappingInput interface { pulumi.Input ToUserHomeDirectoryMappingOutput() UserHomeDirectoryMappingOutput ToUserHomeDirectoryMappingOutputWithContext(context.Context) UserHomeDirectoryMappingOutput }
UserHomeDirectoryMappingInput is an input type that accepts UserHomeDirectoryMappingArgs and UserHomeDirectoryMappingOutput values. You can construct a concrete instance of `UserHomeDirectoryMappingInput` via:
UserHomeDirectoryMappingArgs{...}
type UserHomeDirectoryMappingOutput ¶
type UserHomeDirectoryMappingOutput struct{ *pulumi.OutputState }
func (UserHomeDirectoryMappingOutput) ElementType ¶
func (UserHomeDirectoryMappingOutput) ElementType() reflect.Type
func (UserHomeDirectoryMappingOutput) Entry ¶
func (o UserHomeDirectoryMappingOutput) Entry() pulumi.StringOutput
Represents an entry and a target.
func (UserHomeDirectoryMappingOutput) Target ¶
func (o UserHomeDirectoryMappingOutput) Target() pulumi.StringOutput
Represents the map target.
func (UserHomeDirectoryMappingOutput) ToUserHomeDirectoryMappingOutput ¶
func (o UserHomeDirectoryMappingOutput) ToUserHomeDirectoryMappingOutput() UserHomeDirectoryMappingOutput
func (UserHomeDirectoryMappingOutput) ToUserHomeDirectoryMappingOutputWithContext ¶
func (o UserHomeDirectoryMappingOutput) ToUserHomeDirectoryMappingOutputWithContext(ctx context.Context) UserHomeDirectoryMappingOutput
type UserInput ¶
type UserInput interface { pulumi.Input ToUserOutput() UserOutput ToUserOutputWithContext(ctx context.Context) UserOutput }
type UserMap ¶
func (UserMap) ElementType ¶
func (UserMap) ToUserMapOutput ¶
func (i UserMap) ToUserMapOutput() UserMapOutput
func (UserMap) ToUserMapOutputWithContext ¶
func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput
type UserMapInput ¶
type UserMapInput interface { pulumi.Input ToUserMapOutput() UserMapOutput ToUserMapOutputWithContext(context.Context) UserMapOutput }
UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:
UserMap{ "key": UserArgs{...} }
type UserMapOutput ¶
type UserMapOutput struct{ *pulumi.OutputState }
func (UserMapOutput) ElementType ¶
func (UserMapOutput) ElementType() reflect.Type
func (UserMapOutput) MapIndex ¶
func (o UserMapOutput) MapIndex(k pulumi.StringInput) UserOutput
func (UserMapOutput) ToUserMapOutput ¶
func (o UserMapOutput) ToUserMapOutput() UserMapOutput
func (UserMapOutput) ToUserMapOutputWithContext ¶
func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput
type UserOutput ¶
type UserOutput struct {
*pulumi.OutputState
}
func (UserOutput) ElementType ¶
func (UserOutput) ElementType() reflect.Type
func (UserOutput) ToUserOutput ¶
func (o UserOutput) ToUserOutput() UserOutput
func (UserOutput) ToUserOutputWithContext ¶
func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput
func (UserOutput) ToUserPtrOutput ¶
func (o UserOutput) ToUserPtrOutput() UserPtrOutput
func (UserOutput) ToUserPtrOutputWithContext ¶
func (o UserOutput) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput
type UserPtrInput ¶
type UserPtrInput interface { pulumi.Input ToUserPtrOutput() UserPtrOutput ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput }
type UserPtrOutput ¶
type UserPtrOutput struct {
*pulumi.OutputState
}
func (UserPtrOutput) ElementType ¶
func (UserPtrOutput) ElementType() reflect.Type
func (UserPtrOutput) ToUserPtrOutput ¶
func (o UserPtrOutput) ToUserPtrOutput() UserPtrOutput
func (UserPtrOutput) ToUserPtrOutputWithContext ¶
func (o UserPtrOutput) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput
type UserState ¶
type UserState struct { // Amazon Resource Name (ARN) of Transfer User Arn pulumi.StringPtrInput // The landing directory (folder) for a user when they log in to the server using their SFTP client. It should begin with a `/`. The first item in the path is the name of the home bucket (accessible as `${Transfer:HomeBucket}` in the policy) and the rest is the home directory (accessible as `${Transfer:HomeDirectory}` in the policy). For example, `/example-bucket-1234/username` would set the home bucket to `example-bucket-1234` and the home directory to `username`. HomeDirectory pulumi.StringPtrInput // Logical directory mappings that specify what S3 paths and keys should be visible to your user and how you want to make them visible. documented below. HomeDirectoryMappings UserHomeDirectoryMappingArrayInput // The type of landing directory (folder) you mapped for your users' home directory. Valid values are `PATH` and `LOGICAL`. HomeDirectoryType pulumi.StringPtrInput // An IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. These are evaluated on-the-fly when navigating the bucket. Policy pulumi.StringPtrInput // Amazon Resource Name (ARN) of an IAM role that allows the service to controls your user’s access to your Amazon S3 bucket. Role pulumi.StringPtrInput // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId pulumi.StringPtrInput Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // The name used for log in to your SFTP server. UserName pulumi.StringPtrInput }