Estoy tratando de crear un servidor AWS SFTP usando un script de terraform .
Puedo validar usando el comando de validación de terraform validate y también puedo obtener un plan usando el terraform plan
pero obtengo el siguiente error al intentar ejecutar el comando de terraform apply
Error: error al crear el servidor de transferencia: InvalidRequestException: debe especificar IdentityProviderType con IdentityProviderDetails en .terraform/modules/sftp/sftp.tf línea 1, en el recurso "aws_transfer_server" "sftp": 1: recurso "aws_transfer_server" "sftp" {
He proporcionado el identity_provider_type = "SERVICE_MANAGED" en mi secuencia de comandos, pero sigo recibiendo el error y no puedo crear el servidor SFTP de AWS.
Aquí están mis guiones
sftp.tf
provider "aws" { version = "~> 2.0" region = "us-east-1" } resource "aws_transfer_server" "sftp" { identity_provider_type = "SERVICE_MANAGED" invocation_role = "arn:aws:iam::<id>" tags = { NAME = "test-sftp" } }principal.tf
provider "aws" { version = "~> 2.0" region = "us-east-1" } module "sftp" { source = "/home/sasi/TerraForm/terraform-scripts/modules/sftp" aws-transfer-server-name = "test-sftp" iam-role-name-for-sftp = "test-sftp-role" s3-access-policy-name = "s3-specific-bucket-access" sftp-user-name = "sasi-sftp" sftp-s3-bucket-name = "/sasi-learn-test-bucket" ssh-public-key-file-location = "${file("/home/sasi/TerraForm/terraform-scripts/modules/sftp/rsa.pub")}" }Parece que no necesita el rol de invocation_role cuando identity_provider_type es SERVICE_MANAGED . Aquí está la información de la página de recursos del servidor de transferencia de Terraform:
invocation_role - (Optional) Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an identity_provider_type of API_GATEWAY. Dado que su tipo de proveedor de identity_provider_type no es API_GATEWAY , probablemente pueda intentarlo sin proporcionar el rol de invocation_role .