2017-05-20 25 views
1

如果我有给我的凭据以下...如何在Terraform中获取AWS用户名(不是完整的ARN)?

$ aws iam get-user 
{ 
    "User": { 
     "UserName": "fred-bob", 
     "Path": "/", 
     "CreateDate": "2017-04-01T12:34:56Z", 
     "UserId": "ABCD1234...", 
     "Arn": "arn:aws:iam::123456789012:user/fred-bob" 
    } 
} 

...有一个Terraform变量,会给我只是"fred-bob",而不是完整ARN?

+0

您是否有兴趣获取使用Terraform创建的用户的名称或_running_ Terraform的用户名? –

回答

1

是的,您可以使用iam_user资源并通过name属性访问IAM用户的名称。

你可以平凡导入现有的“弗雷德,鲍勃”的用户,并观察该名“弗雷德,鲍勃”存储在名称:

导入:

terraform import aws_iam_user.myuser fred-bob 

使用方法:

"${aws_iam_user.myuser.name}" 

产生的tfstate会是这个样子(片段),与“弗雷德-b ob“作为名称属性提供:

"aws_iam_user.myuser": { 
    "type": "aws_iam_user", 
    "depends_on": [], 
    "primary": { 
     "id": "fred-bob", 
     "attributes": { 
      "arn": "arn:aws:iam::AWSACCOUNTNUMBER:user/fred-bob", 
      "id": "fred-bob", 
      "name": "fred-bob", 
      "path": "/", 
      "unique_id": "UNIQUEID" 
     }, 
     "meta": {}, 
     "tainted": false 
    }, 
    "deposed": [], 
    "provider": "aws" 
} 
相关问题