Bash script для установки инструментов AWS CLI

Я пишу bash script, который будет автоматически устанавливать и настраивать инструменты CLI AWS. Я могу установить инструменты AWS CLI, но не смог его настроить.

Мой script выглядит примерно так:

#!/bin/bash


wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
./awscli-bundle/install -b ~/bin/aws
./awscli-bundle/install -h

aws configure
AWS Access Key ID [None]: ABCDEFGHIJKLMNOP   ## unable to provide this data
AWS Secret Access Key [None]: xbdwsdADDS/ssfsfa/afzfASADQASAd   ## unable to provide this data
Default region name [None]: us-west-2   ## unable to provide this data
Default output format [None]: json   ## unable to provide this data

Я хочу сделать конфигурацию, используя этот script. Я хочу, чтобы я мог предоставить эти учетные данные через script, чтобы предотвратить ввод вручную. Как это можно сделать?

Ответ 1

Используйте конфигурационный файл, а не команду aws configure. Создайте файл с именем ~/.aws/config, который выглядит так:

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
region=us-west-2
output=json

Дополнительная информация в документах.

Ответ 2

лучше всего установить awscli утилиту BASH и скопировать файл из вашего собственного указанного расположения из 2 файлов

без удара

#aws configure 

эти файлы не будут созданы, вы можете скопировать и вставить файлы с помощью BASH script и выполнить все выполненные действия

~/.aws/credintials
~/.aws/config

где учетные данные содержат

[default]
aws_access_key_id=ABCDEFGHIJKLMNOP
aws_secret_access_key=xbdwsdADDS/ssfsfa/afzfASADQASAd

и файл конфигурации содержит

[default]
output=json
region=us-west-2

Это поможет вам сохранить ключи в одном месте, и вы также можете сделать то же самое для своего исполнения для любого инструмента CMT, а также для Ansible.