Manage RDSs
New in version Beryllium.
Create and destroy RDS instances. Be aware that this interacts with Amazon's
services, and so may incur charges.
This module uses boto
, which can be installed via package, or pip.
This module accepts explicit rds credentials but can also utilize
IAM roles assigned to the instance through Instance Profiles. Dynamic
credentials are then automatically obtained from AWS API and no further
configuration is necessary. More information available here.
If IAM roles are not used you need to specify them either in a pillar file or
in the minion's config file:
rds.keyid: GKTADJGHEIQSXMKKRBJ08H
rds.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
It's also possible to specify key
, keyid
and region
via a profile,
either passed in as a dict, or as a string to pull from pillars or minion
config:
myprofile:
keyid: GKTADJGHEIQSXMKKRBJ08H
key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
region: us-east-1
Ensure myrds RDS exists:
boto_rds.present:
- name: myrds
- allocated_storage: 5
- storage_type: gp2
- db_instance_class: db.t2.micro
- engine: MySQL
- master_username: myuser
- master_user_password: mypass
- region: us-east-1
- keyid: GKTADJGHEIQSXMKKRBJ08H
- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
-
salt.states.boto_rds.
absent
(name, skip_final_snapshot=None, final_db_snapshot_identifier=None, tags=None, region=None, key=None, keyid=None, profile=None)
-
salt.states.boto_rds.
present
(name, allocated_storage, storage_type, db_instance_class, engine, master_username, master_user_password, db_name=None, db_security_groups=None, vpc_security_group_ids=None, availability_zone=None, db_subnet_group_name=None, preferred_maintenance_window=None, db_parameter_group_name=None, backup_retention_period=None, preferred_backup_window=None, port=None, multi_az=None, engine_version=None, auto_minor_version_upgrade=None, license_model=None, iops=None, option_group_name=None, character_set_name=None, publicly_accessible=None, wait_status=None, tags=None, region=None, key=None, keyid=None, profile=None)
Ensure RDS instance exists.
- name
- Name of the RDS instance.
- allocated_storage
- The amount of storage (in gigabytes) to be initially allocated for the
database instance.
- storage_type
- The storage type you want to use, available: standard, gp2 and io1
- db_instance_class
- The compute and memory capacity of the Amazon RDS DB instance.
- engine
- The name of the database engine to be used for this instance.
- master_username
- The name of master user for the client DB instance.
- master_user_password
- The password for the master database user. Can be any printable ASCII
character except "/", '"', or "@".
- db_name
- The database name for the restored DB instance.
- db_security_groups
- A list of DB security groups to associate with this DB instance.
- vpc_security_group_ids
- A list of EC2 VPC security groups to associate with this DB instance.
- availability_zone
- The EC2 Availability Zone that the database instance will be created
in.
- db_subnet_group_name
- A DB subnet group to associate with this DB instance.
- preferred_maintenance_window
- The weekly time range (in UTC) during which system maintenance can
occur.
- backup_retention_period
- The number of days for which automated backups are retained.
- preferred_backup_window
- The daily time range during which automated backups are created if
automated backups are enabled.
- port
- The port number on which the database accepts connections.
- multi_az
- Specifies if the DB instance is a Multi-AZ deployment. You cannot set
the AvailabilityZone parameter if the MultiAZ parameter is set to true.
- engine_version
- The version number of the database engine to use.
- auto_minor_version_upgrade
- Indicates that minor engine upgrades will be applied automatically to
the DB instance during the maintenance window.
- license_model
- License model information for this DB instance.
- iops
- The amount of Provisioned IOPS (input/output operations per second) to
be initially allocated for the DB instance.
- option_group_name
- Indicates that the DB instance should be associated with the specified
option group.
- character_set_name
- For supported engines, indicates that the DB instance should be
associated with the specified CharacterSet.
- publicly_accessible
- Specifies the accessibility options for the DB instance. A value of
true specifies an Internet-facing instance with a publicly resolvable
DNS name, which resolves to a public IP address. A value of false
specifies an internal instance with a DNS name that resolves to a
private IP address.
- wait_status
- Wait for the RDS instance to reach a disared status before finishing
the state. Available states: available, modifying, backing-up
- tags
- A list of tags.
- region
- Region to connect to.
- key
- Secret key to be used.
- keyid
- Access key to be used.
- profile
- A dict with region, key and keyid, or a pillar key (string) that
contains a dict with region, key and keyid.
-
salt.states.boto_rds.
replica_present
(name, source, db_instance_class=None, availability_zone=None, port=None, auto_minor_version_upgrade=None, iops=None, option_group_name=None, publicly_accessible=None, tags=None, region=None, key=None, keyid=None, profile=None)
Ensure RDS replica exists.
Ensure myrds replica RDS exists:
boto_rds.create_replica:
- name: myreplica
- source: mydb
-
salt.states.boto_rds.
subnet_group_absent
(name, tags=None, region=None, key=None, keyid=None, profile=None)
-
salt.states.boto_rds.
subnet_group_present
(name, subnet_ids, description, tags=None, region=None, key=None, keyid=None, profile=None)
Ensure DB subnet group exists.
New in version Beryllium.
- name
- The name for the DB subnet group. This value is stored as a lowercase string.
- subnet_ids
- The EC2 Subnet IDs for the DB subnet group.
- description
- Subnet group description.
- tags
- A list of tags.
- region
- Region to connect to.
- key
- Secret key to be used.
- keyid
- Access key to be used.
- profile
- A dict with region, key and keyid, or a pillar key (string) that
contains a dict with region, key and keyid.