Created
September 13, 2016 17:07
-
-
Save bluethundr/c9980562dbfb2e05245a4e0dd3e63237 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## used example verbatim. Same error | |
[root@salt:~] #salt-cloud -p base_ec2 ami.example.com | |
[ERROR ] Profile base_ec2 is not defined | |
Error: | |
Profile base_ec2 is not defined | |
## this is my cloud.providers file: | |
# Note: This example is for /etc/salt/cloud.providers or any file in the | |
# /etc/salt/cloud.providers.d/ directory. | |
my-ec2-southeast-public-ips: | |
# Set up the location of the salt master | |
# | |
minion: | |
master: salt.example.com | |
# Set up grains information, which will be common for all nodes | |
# using this provider | |
grains: | |
node_type: broker | |
release: 1.0.1 | |
# Specify whether to use public or private IP for deploy script. | |
# | |
# Valid options are: | |
# private_ips - The salt-cloud command is run inside the EC2 | |
# public_ips - The salt-cloud command is run outside of EC2 | |
# | |
ssh_interface: public_ips | |
# Optionally configure the Windows credential validation number of | |
# retries and delay between retries. This defaults to 10 retries | |
# with a one second delay betwee retries | |
win_deploy_auth_retries: 10 | |
win_deploy_auth_retry_delay: 1 | |
# Set the EC2 access credentials (see below) | |
# | |
id: 'removed' | |
key: 'removed' | |
# Make sure this key is owned by root with permissions 0400. | |
# | |
private_key: /etc/salt/my_test_key.pem | |
keyname: my_test_key | |
securitygroup: default | |
# Optionally configure default region | |
# Use salt-cloud --list-locations <provider> to obtain valid regions | |
# | |
location: ap-southeast-1 | |
availability_zone: ap-southeast-1b | |
# Configure which user to use to run the deploy script. This setting is | |
# dependent upon the AMI that is used to deploy. It is usually safer to | |
# configure this individually in a profile, than globally. Typical users | |
# are: | |
# | |
# Amazon Linux -> ec2-user | |
# RHEL -> ec2-user | |
# CentOS -> ec2-user | |
# Ubuntu -> ubuntu | |
# | |
ssh_username: ec2-user | |
# Optionally add an IAM profile | |
iam_profile: 'arn:aws:iam::removed:instance-profile/ExampleInstanceProfile' | |
driver: ec2 | |
my-ec2-southeast-private-ips: | |
# Set up the location of the salt master | |
# | |
minion: | |
master: salt.jokefire.com | |
# Specify whether to use public or private IP for deploy script. | |
# | |
# Valid options are: | |
# private_ips - The salt-master is also hosted with EC2 | |
# public_ips - The salt-master is hosted outside of EC2 | |
# | |
ssh_interface: private_ips | |
# Optionally configure the Windows credential validation number of | |
# retries and delay between retries. This defaults to 10 retries | |
# with a one second delay betwee retries | |
win_deploy_auth_retries: 10 | |
win_deploy_auth_retry_delay: 1 | |
# Set the EC2 access credentials (see below) | |
# | |
id: 'removed' | |
key: 'removed' | |
# Make sure this key is owned by root with permissions 0400. | |
# | |
private_key: /etc/salt/my_test_key.pem | |
keyname: my_test_key | |
# This one should NOT be specified if VPC was not configured in AWS to be | |
# the default. It might cause an error message which says that network | |
# interfaces and an instance-level security groups may not be specified | |
# on the same request. | |
# | |
securitygroup: default | |
# Optionally configure default region | |
# | |
location: ap-southeast-1 | |
availability_zone: ap-southeast-1b | |
# Configure which user to use to run the deploy script. This setting is | |
# dependent upon the AMI that is used to deploy. It is usually safer to | |
# configure this individually in a profile, than globally. Typical users | |
# are: | |
# | |
# Amazon Linux -> ec2-user | |
# RHEL -> ec2-user | |
# CentOS -> ec2-user | |
# Ubuntu -> ubuntu | |
# | |
ssh_username: ec2-user | |
# Optionally add an IAM profile | |
iam_profile: 'arn:aws:iam::removed:user/bluethundr' | |
driver: ec2 | |
## And this is my cloud.profiles file | |
base_ec2_private: | |
provider: my-ec2-southeast-private-ips | |
image: ami-e565ba8c | |
size: t2.micro | |
ssh_username: ec2-user | |
base_ec2_public: | |
provider: my-ec2-southeast-public-ips | |
image: ami-e565ba8c | |
size: t2.micro | |
ssh_username: ec2-user | |
base_ec2_db: | |
provider: my-ec2-southeast-public-ips | |
image: ami-e565ba8c | |
size: m1.xlarge | |
ssh_username: ec2-user | |
volumes: | |
- { size: 10, device: /dev/sdf } | |
- { size: 10, device: /dev/sdg, type: io1, iops: 1000 } | |
- { size: 10, device: /dev/sdh, type: io1, iops: 1000 } | |
- { size: 10, device: /dev/sdi, tags: {"Environment": "production"} } | |
# optionally add tags to profile: | |
tag: {'Environment': 'production', 'Role': 'database'} | |
# force grains to sync after install | |
sync_after_install: grains | |
base_ec2_vpc: | |
provider: my-ec2-southeast-public-ips | |
image: ami-a73264ce | |
size: m1.xlarge | |
ssh_username: ec2-user | |
script: /etc/salt/cloud.deploy.d/user_data.sh | |
network_interfaces: | |
- DeviceIndex: 0 | |
PrivateIpAddresses: | |
- Primary: True | |
#auto assign public ip (not EIP) | |
AssociatePublicIpAddress: True | |
SubnetId: subnet-813d4bbf | |
SecurityGroupId: | |
- sg-750af413 | |
del_root_vol_on_destroy: True | |
del_all_vol_on_destroy: True | |
volumes: | |
- { size: 10, device: /dev/sdf } | |
- { size: 10, device: /dev/sdg, type: io1, iops: 1000 } | |
- { size: 10, device: /dev/sdh, type: io1, iops: 1000 } | |
tag: {'Environment': 'production', 'Role': 'database'} | |
sync_after_install: grains | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment