Documentation
¶
Index ¶
- type Server
- func (r *Server) Arn() *pulumi.StringOutput
- func (r *Server) Endpoint() *pulumi.StringOutput
- func (r *Server) ForceDestroy() *pulumi.BoolOutput
- func (r *Server) ID() *pulumi.IDOutput
- func (r *Server) IdentityProviderType() *pulumi.StringOutput
- func (r *Server) InvocationRole() *pulumi.StringOutput
- func (r *Server) LoggingRole() *pulumi.StringOutput
- func (r *Server) Tags() *pulumi.MapOutput
- func (r *Server) URN() *pulumi.URNOutput
- func (r *Server) Url() *pulumi.StringOutput
- type ServerArgs
- type ServerState
- type SshKey
- type SshKeyArgs
- type SshKeyState
- type User
- func (r *User) Arn() *pulumi.StringOutput
- func (r *User) HomeDirectory() *pulumi.StringOutput
- func (r *User) ID() *pulumi.IDOutput
- func (r *User) Policy() *pulumi.StringOutput
- func (r *User) Role() *pulumi.StringOutput
- func (r *User) ServerId() *pulumi.StringOutput
- func (r *User) Tags() *pulumi.MapOutput
- func (r *User) URN() *pulumi.URNOutput
- func (r *User) UserName() *pulumi.StringOutput
- type UserArgs
- type UserState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Provides a AWS Transfer Server resource.
```hcl
resource "aws_iam_role" "foo" { name = "tf-test-transfer-server-iam-role" assume_role_policy = <<EOF
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
EOF }
resource "aws_iam_role_policy" "foo" { name = "tf-test-transfer-server-iam-policy-%s" role = "${aws_iam_role.foo.id}" policy = <<POLICY
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFullAccesstoCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:*" ], "Resource": "*" } ] }
POLICY }
resource "aws_transfer_server" "foo" { identity_provider_type = "SERVICE_MANAGED" logging_role = "${aws_iam_role.foo.arn}" tags { NAME = "tf-acc-test-transfer-server" ENV = "test" } }
```
func GetServer ¶
func GetServer(ctx *pulumi.Context, name string, id pulumi.ID, state *ServerState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Server, error)
NewServer registers a new resource with the given unique name, arguments, and options.
func (*Server) Arn ¶
func (r *Server) Arn() *pulumi.StringOutput
Amazon Resource Name (ARN) of Transfer Server
func (*Server) Endpoint ¶
func (r *Server) Endpoint() *pulumi.StringOutput
The endpoint of the Transfer Server (e.g. `s-12345678.server.transfer.REGION.amazonaws.com`)
func (*Server) ForceDestroy ¶ added in v0.16.5
func (r *Server) ForceDestroy() *pulumi.BoolOutput
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`.
func (*Server) IdentityProviderType ¶
func (r *Server) IdentityProviderType() *pulumi.StringOutput
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.
func (*Server) InvocationRole ¶
func (r *Server) InvocationRole() *pulumi.StringOutput
Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`.
func (*Server) LoggingRole ¶
func (r *Server) LoggingRole() *pulumi.StringOutput
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.
func (*Server) Url ¶
func (r *Server) Url() *pulumi.StringOutput
- URL of the service endpoint used to authenticate users with an `identity_provider_type` of `API_GATEWAY`.
type ServerArgs ¶
type ServerArgs struct { // 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 interface{} // 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 interface{} // Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`. InvocationRole interface{} // 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 interface{} // A mapping of tags to assign to the resource. Tags interface{} // - URL of the service endpoint used to authenticate users with an `identity_provider_type` of `API_GATEWAY`. Url interface{} }
The set of arguments for constructing a Server resource.
type ServerState ¶
type ServerState struct { // Amazon Resource Name (ARN) of Transfer Server Arn interface{} // The endpoint of the Transfer Server (e.g. `s-12345678.server.transfer.REGION.amazonaws.com`) Endpoint interface{} // 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 interface{} // 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 interface{} // Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an `identity_provider_type` of `API_GATEWAY`. InvocationRole interface{} // 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 interface{} // A mapping of tags to assign to the resource. Tags interface{} // - URL of the service endpoint used to authenticate users with an `identity_provider_type` of `API_GATEWAY`. Url interface{} }
Input properties used for looking up and filtering Server resources.
type SshKey ¶ added in v0.16.5
type SshKey struct {
// contains filtered or unexported fields
}
Provides a AWS Transfer User SSH Key resource.
```hcl
resource "aws_transfer_server" "foo" { identity_provider_type = "SERVICE_MANAGED" tags { NAME = "tf-acc-test-transfer-server" } }
resource "aws_iam_role" "foo" { name = "tf-test-transfer-user-iam-role-%s" assume_role_policy = <<EOF
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
EOF }
resource "aws_iam_role_policy" "foo" { name = "tf-test-transfer-user-iam-policy-%s" role = "${aws_iam_role.foo.id}" policy = <<POLICY
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFullAccesstoS3", "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "*" } ] }
POLICY }
resource "aws_transfer_user" "foo" { server_id = "${aws_transfer_server.foo.id}" user_name = "tftestuser" role = "${aws_iam_role.foo.arn}" tags { NAME = "tftestuser" } }
resource "aws_transfer_ssh_key" "foo" { server_id = "${aws_transfer_server.foo.id}" user_name = "${aws_transfer_user.foo.user_name}" body = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 example@example.com" }
```
func GetSshKey ¶ added in v0.16.5
func GetSshKey(ctx *pulumi.Context, name string, id pulumi.ID, state *SshKeyState, opts ...pulumi.ResourceOpt) (*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 ¶ added in v0.16.5
func NewSshKey(ctx *pulumi.Context, name string, args *SshKeyArgs, opts ...pulumi.ResourceOpt) (*SshKey, error)
NewSshKey registers a new resource with the given unique name, arguments, and options.
func (*SshKey) Body ¶ added in v0.16.5
func (r *SshKey) Body() *pulumi.StringOutput
The public key portion of an SSH key pair.
func (*SshKey) ID ¶ added in v0.16.5
ID is this resource's unique identifier assigned by its provider.
func (*SshKey) ServerId ¶ added in v0.16.5
func (r *SshKey) ServerId() *pulumi.StringOutput
The Server ID of the Transfer Server (e.g. `s-12345678`)
func (*SshKey) UserName ¶ added in v0.16.5
func (r *SshKey) UserName() *pulumi.StringOutput
The name of the user account that is assigned to one or more servers.
type SshKeyArgs ¶ added in v0.16.5
type SshKeyArgs struct { // The public key portion of an SSH key pair. Body interface{} // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId interface{} // The name of the user account that is assigned to one or more servers. UserName interface{} }
The set of arguments for constructing a SshKey resource.
type SshKeyState ¶ added in v0.16.5
type SshKeyState struct { // The public key portion of an SSH key pair. Body interface{} // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId interface{} // The name of the user account that is assigned to one or more servers. UserName interface{} }
Input properties used for looking up and filtering SshKey resources.
type User ¶ added in v0.16.5
type User struct {
// contains filtered or unexported fields
}
Provides a AWS Transfer User resource. Managing SSH keys can be accomplished with the [`aws_transfer_ssh_key` resource](https://www.terraform.io/docs/providers/aws/r/transfer_ssh_key.html).
```hcl
resource "aws_transfer_server" "foo" { identity_provider_type = "SERVICE_MANAGED" tags { NAME = "tf-acc-test-transfer-server" } }
resource "aws_iam_role" "foo" { name = "tf-test-transfer-user-iam-role" assume_role_policy = <<EOF
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
EOF }
resource "aws_iam_role_policy" "foo" { name = "tf-test-transfer-user-iam-policy" role = "${aws_iam_role.foo.id}" policy = <<POLICY
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFullAccesstoS3", "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "*" } ] }
POLICY }
resource "aws_transfer_user" "foo" { server_id = "${aws_transfer_server.foo.id}" user_name = "tftestuser" role = "${aws_iam_role.foo.arn}" }
```
func GetUser ¶ added in v0.16.5
func GetUser(ctx *pulumi.Context, name string, id pulumi.ID, state *UserState, opts ...pulumi.ResourceOpt) (*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 ¶ added in v0.16.5
func NewUser(ctx *pulumi.Context, name string, args *UserArgs, opts ...pulumi.ResourceOpt) (*User, error)
NewUser registers a new resource with the given unique name, arguments, and options.
func (*User) Arn ¶ added in v0.16.5
func (r *User) Arn() *pulumi.StringOutput
Amazon Resource Name (ARN) of Transfer User
func (*User) HomeDirectory ¶ added in v0.16.5
func (r *User) HomeDirectory() *pulumi.StringOutput
The landing directory (folder) for a user when they log in to the server using their SFTP client.
func (*User) ID ¶ added in v0.16.5
ID is this resource's unique identifier assigned by its provider.
func (*User) Policy ¶ added in v0.16.5
func (r *User) Policy() *pulumi.StringOutput
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}`. Since the IAM variable syntax matches Terraform's interpolation syntax, they must be escaped inside Terraform configuration strings (`$${Transfer:UserName}`).
func (*User) Role ¶ added in v0.16.5
func (r *User) Role() *pulumi.StringOutput
Amazon Resource Name (ARN) of an IAM role that allows the service to controls your user’s access to your Amazon S3 bucket.
func (*User) ServerId ¶ added in v0.16.5
func (r *User) ServerId() *pulumi.StringOutput
The Server ID of the Transfer Server (e.g. `s-12345678`)
func (*User) UserName ¶ added in v0.16.5
func (r *User) UserName() *pulumi.StringOutput
The name used for log in to your SFTP server.
type UserArgs ¶ added in v0.16.5
type UserArgs struct { // The landing directory (folder) for a user when they log in to the server using their SFTP client. HomeDirectory interface{} // 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}`. Since the IAM variable syntax matches Terraform's interpolation syntax, they must be escaped inside Terraform configuration strings (`$${Transfer:UserName}`). Policy interface{} // Amazon Resource Name (ARN) of an IAM role that allows the service to controls your user’s access to your Amazon S3 bucket. Role interface{} // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId interface{} // A mapping of tags to assign to the resource. Tags interface{} // The name used for log in to your SFTP server. UserName interface{} }
The set of arguments for constructing a User resource.
type UserState ¶ added in v0.16.5
type UserState struct { // Amazon Resource Name (ARN) of Transfer User Arn interface{} // The landing directory (folder) for a user when they log in to the server using their SFTP client. HomeDirectory interface{} // 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}`. Since the IAM variable syntax matches Terraform's interpolation syntax, they must be escaped inside Terraform configuration strings (`$${Transfer:UserName}`). Policy interface{} // Amazon Resource Name (ARN) of an IAM role that allows the service to controls your user’s access to your Amazon S3 bucket. Role interface{} // The Server ID of the Transfer Server (e.g. `s-12345678`) ServerId interface{} // A mapping of tags to assign to the resource. Tags interface{} // The name used for log in to your SFTP server. UserName interface{} }
Input properties used for looking up and filtering User resources.