I'm first creating a session as below:

aws_session=$(
  aws sts assume-role \
  --role-arn ${AWS_ROLE_ARN} \
  --role-session-name ${AWS_SESSION_NAME} \
  --region ${AWS_DEFAULT_REGION} \
  ${AWS_ARGS}
) 

Then I'm exporting environment variables:

echo AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION
echo AWS_ACCESS_KEY_ID=$(echo $aws_session | jq -r 
'.Credentials.AccessKeyId')
echo AWS_SESSION_TOKEN=$(echo $aws_session | jq -r 
'.Credentials.SessionToken')
echo AWS_SECRET_ACCESS_KEY=$(echo $aws_session | jq -r 
'.Credentials.SecretAccessKey')

Packer relies on these environment variables to access AWS.

{
  "description": "...",
  "variables": {
    "source_ami": "{{env `SOURCE_AMI`}}",
    "enhanced_networking_type": "{{env `ENHANCED_NETWORKING_TYPE`}}",
    "region": "us-east-1",
    "project_name": "project1",
    "os_name": "centos",
    "os_version": "7"
  },

  "provisioners": [
    {
      "destination": "/tmp/packer",
      "source": "./files",
      "type": "file"
    },
    {
      "type": "shell",
      "execute_command": "echo 'packer' | sudo -S sh -c '{{ .Vars }} {{ 
.Path }}'",
      "scripts": [
        "scripts/0-prep.sh",
        "scripts/10-bootstrap.sh",
        "scripts/20-......sh",
        "scripts/40-cleanup.sh"
      ]
    }
  ],


  "builders": [
    {
      "type": "amazon-ebs",
      "ami_name": "{{user `os_name`}}-{{user `os_version`}}-{{user 
`project_name` }}-{{user `enhanced_networking_type`}}-{{isotime 
\"2006-01-02-030405\" | clean_ami_name}}",
      "ami_description": "{{user `os_name`}} {{user `project_name`}} {{user 
`enhanced_networking_type`}} {{user `os_version`}} {{user `build_stage`}} 
image built on {{isotime \"2006-01-02\"}}",
      "enhanced_networking": true,
      "instance_type": "m4.2xlarge",
      "region": "{{user `region`}}",
      "security_group_id": "....",
      "subnet_id": "...",
      "ssh_username": "centos",
      "source_ami": "{{ user `source_ami` }}",
      "vpc_id": "...",
      "iam_instance_profile": "...",
      "launch_block_device_mappings": [
        {
          "device_name": "/dev/xvda",
          "volume_size": 300,
          "volume_type": "gp2",
          "delete_on_termination": true
        }
      ],
      "run_tags": {
        "created_by": "packer",
        "environment": "packer_dev"
      },
      "tags": {
        "Name": "{{user `os_name`}}-{{user `os_version`}}-{{user 
`project_name` }}-{{user `enhanced_networking_type`}}-{{isotime 
\"2006-01-02-030405\" | clean_ami_name}}",
        "build_date": "{{isotime \"2006-01-02\"}}",
        "os": "{{user `os_name`}}",
        "source_ami": "{{user `source_ami`}}",
        "version": "{{user `os_version`}}",
        "description": "{{user  `description`}}"
      }
    }
  ]
}


I couldn't find any documentation on using aws assume role profile. I'm 
running packer from a container. I'll follow Richard's suggestions and keep 
you posted.

Thank you!


-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/75141bdd-311d-46f9-afbd-5f3148467f1f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to