This is my first time using the ask-cli trying to create a new skill.
"aws deploy" successfully deploys the skill and model (which don't use the AWS credentials).
However, when it starts on the AWS side, it fails creating the role.
$ askprofile=MYASKPROFILE $ skill_name="alexa-skill-sample-python-quiz-game" $ skill_template="Quiz Game" $ ask new --profile "$askprofile" --skill-name "$skill_name" --template "$skill_template" $ cd $skill_name $ ask deploy --profile "$askprofile" [Warn]: Changed the property name from 'skillManifest' to 'manifest' in skill.json in order to fit the v1 Alexa Skill Management APIs accepted format. -------------------- Create Skill Project -------------------- Profile for the deployment: [MYASKPROFILE] Skill Id: amzn1.ask.skill.5f9aa2a4-b3fd-4875-b6d4-202048af709c Skill deployment finished. Model deployment finished. Create role error. CredentialsError: Missing credentials in config
The "aws_profile" value in the $askprofile entry in $HOME/.ask/config contains the correct AWS profile name that would be used by aws-cli.
Things that might be a little different from what ask-cli normally expects include:
- $AWS_CONFIG_FILE points to a different file location than normal.
- $AWS_SHARED_CREDENTIALS_FILE points to a different file location than normal.
- $AWS_PROFILE and $AWS_DEFAULT_PROFILE contain the same value as "aws_profile" in .ask/config
- The profile is a cross-account IAM role that needs to be assumed. I have already done so in the aws-cli, so everything would work if it were using aws-cli.
I'm starting to suspect that ask-cli only looks at $HOME/.aws/credentials for its selection of credentials. If this is true, would it be possible to add support for the above environment variables so that it works well in more complicated AWS environments?
-- Eric Hammond https://Alestic.com