Note

Ce plugin fait partie du programme collection community.aws (version 1.3.0).

Pour l'installer, utilisez : ansible-galaxy collection install community.aws.

Pour l'utiliser dans un playbook, spécifiez : community.aws.rds.

Nouveau dans la version 1.0.0 : de community.aws

  • Synopsis
  • Exigences
  • Paramètres
  • Notes
  • Exemples
  • Valeurs de retour

Synopsis

  • Crée, supprime ou modifie les ressources rds.
  • Lors de la création d'une instance, il peut s'agir d'une nouvelle instance ou d'une réplique en lecture seule d'une instance existante.
  • Ce module a une dépendance sur python-boto >= 2.5 et sera bientôt déprécié.
  • La commande 'promote' nécessite boto >= 2.18.0. Certaines fonctionnalités telles que les balises dépendent de boto.rds2 (boto >= 2.26.0).
  • Veuillez utiliser la base boto3 community.aws.rds_instance à la place.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • boto
  • python >= 2.6

Paramètres

Paramètre Choix/par défaut Commentaires
appliquer_immédiatementbooléen
    Choix :

  • pas de
  • oui
Quand apply_immediately=true, les modifications seront appliquées dès que possible plutôt que d'attendre la prochaine fenêtre de maintenance préférée.Utilisé uniquement lorsque command=modify.
aws_access_keychaîne de caractères Clé d'accès AWS. S'il n'est pas défini, alors la valeur de la variable d'environnement AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY ou EC2_ACCESS_KEY est utilisée.Si profil est défini, ce paramètre est ignoré.Passer le paramètre aws_access_key et profil en même temps a été déprécié et les options seront rendues mutuellement exclusives après le 2022-06-01.
alias : ec2_access_key, access_key
aws_ca_bundlechemin d'accès L'emplacement d'un Bundle CA à utiliser lors de la validation des certificats SSL.Uniquement utilisé pour les modules basés sur boto3.Remarque : le Bundle CA est lu côté 'module' et peut devoir être explicitement copié depuis le contrôleur s'il n'est pas exécuté localement.
aws_configdictionnaire Un dictionnaire pour modifier la configuration de botocore.Les paramètres se trouvent à l'endroit suivant https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.seule la clé 'user_agent' est utilisée pour les modules boto. Voir http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto pour plus de configuration boto.
aws_secret_keychaîne de caractères Clé secrète AWS. Si elle n'est pas définie, alors la valeur de la variable d'environnement AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY ou EC2_SECRET_KEY est utilisée.Si profil est défini, ce paramètre est ignoré.Passer le paramètre aws_secret_key et profil en même temps a été déprécié et les options seront rendues mutuellement exclusives après le 2022-06-01.
alias : ec2_secret_key, secret_key
rétention_de_sauvegardechaîne de caractères Nombre de jours de rétention des sauvegardes.Défini à 0 pour désactiver les sauvegardes.La valeur par défaut est 1 jour.Plage valide : 0-35.Utilisé uniquement lorsque command=create ou command=modify.
fenêtre de sauvegardechaîne de caractères Fenêtre de sauvegarde au format de hh24:mi-hh24:mi. (Exemple : 18:00-20:30)Les heures sont spécifiées en UTC.Si elles ne sont pas spécifiées, une fenêtre de sauvegarde aléatoire est attribuée.Utilisée uniquement lorsque la commande=create ou la commande=modify.
nom du jeu de caractèreschaîne de caractères Associe l'instance de la BD à un jeu de caractères spécifié.Utilisé avec command=create.
commandechaîne de caractères / requis
    Choix :

  • créer
  • répliquer
  • supprimer
  • faits
  • modifier
  • promouvoir
  • snapshot
  • redémarrer
  • restaurer
Spécifie l'action à entreprendre. L'option 'reboot' est disponible à partir de la version 2.0.
db_enginechaîne de caractères
    Choix :

  • mariadb
  • MySQL
  • oracle-se1
  • oracle-se2
  • oracle-se
  • oracle-ee
  • sqlserver-ee
  • sqlserver-se
  • sqlserver-ex
  • sqlserver-web
  • postgres
  • aurora
Le type de base de données.Utilisé uniquement lorsque command=create.mariadb a été ajouté dans la version 2.2.
db_namechaîne de caractères Nom d'une base de données à créer au sein de l'instance.Si elle n'est pas spécifiée alors aucune base de données n'est créée.Utilisé uniquement lorsque command=create.
debug_botocore_endpoint_logsboolean
    Choix :

  • pas de
  • oui
Utilisez un logger botocore.endpoint pour analyser les appels API uniques (plutôt que le total) "resource:action" effectués pendant une tâche, en fournissant l'ensemble à la clé resource_actions dans les résultats de la tâche. Utilisez le callback aws_resource_action pour afficher la liste totale des appels effectués pendant un playbook. La variable d'environnement ANSIBLE_DEBUG_BOTOCORE_LOGS peut également être utilisée.
ec2_urlchaîne de caractères Url à utiliser pour se connecter à EC2 ou à votre cloud Eucalyptus (par défaut, le module utilisera les endpoints EC2). Ignoré pour les modules où la région est requise. Doit être spécifié pour tous les autres modules si la région n'est pas utilisée. Si elle n'est pas définie, alors la valeur de la variable d'environnement EC2_URL, si elle existe, est utilisée.
Alias : aws_endpoint_url, endpoint_url.
engine_versionchaîne de caractères Numéro de version du moteur de base de données à utiliser.S'il n'est pas spécifié, alors la version actuelle du moteur par défaut d'Amazon RDS est utiliséeUtilisé uniquement lorsque. command=create.
force_failoverbooléen
    Choix :

  • pas de
  • oui
Si cette option est activée, le redémarrage est effectué en utilisant un basculement MultiAZ.Utilisé uniquement lorsque command=reboot.
nom_instancechaîne de caractères Identifiant de l'instance de la base de données.Obligatoire sauf en cas d'utilisation de command=facts ou command=delete sur un simple instantané.
instance_typechaîne de caractères Le type d'instance de la base de données.Si elle n'est pas spécifiée, alors la réplique hérite du même type d'instance que l'instance source.Obligatoire lorsque command=create Facultatif lorsque command=replicate, command=modify ou command=restore.
alias : type
iopschaîne de caractères Spécifie le nombre d'IOPS pour l'instance.Utilisé uniquement lorsque command=create ou command=modify Doit être un nombre entier supérieur à 1000.
modèle_de_licencechaîne de caractères
    Choix :

  • inclus dans la licence
  • apportez votre propre licence
  • licence publique générale
  • postgresql-license
Le modèle de licence pour cette instance de DB.Utilisé uniquement lorsque command=create ou command=restore.
maint_windowchaîne de caractères Fenêtre de maintenance au format de ddd:hh24:mi-ddd:hh24:mi. (Exemple : Mon:22:00-Mon:23:15)Les heures sont spécifiées en UTC.Si elles ne sont pas spécifiées, une fenêtre de maintenance aléatoire est attribuée.Utilisé uniquement lorsque command=create ou command=modify.
multi_zonebooléen
    Choix :

  • pas de
  • oui
Spécifie s'il s'agit d'un déploiement de zones de multi-disponibilité.Ne peut pas être utilisé en conjonction avec zone Utilisé uniquement lorsque commande=créer ou command=modify.
nom_de_la_nouvelle_instancechaîne de caractères Nom pour renommer une instance en.Utilisé uniquement lorsque command=modify.
option_groupchaîne de caractères Le nom du groupe d'option à utiliser.S'il n'est pas spécifié alors le groupe d'option par défaut est utilisé.Utilisé uniquement lorsque command=create.
groupe_de_paramètreschaîne de caractères Nom du groupe de paramètres de la DB à associer à cette instance.Si elle est omise, le DBParameterGroup par défaut de RDS sera utilisé.Utilisé uniquement lorsque command=create ou command=modify.
mot de passechaîne de caractères Mot de passe pour le nom d'utilisateur de la base de données principale.Utilisé uniquement lorsque command=create ou command=modify.
portentier Numéro de port que l'instance DB utilise pour les connexions.Utilisé uniquement lorsque command=create ou command=replicate Par défaut, les ports standard sont utilisés pour chaque type de port. db_engine: 3306 pour MySQL et MariaDB, 1521 pour Oracle 1433 pour SQL Server, 5432 pour PostgreSQL.
profilchaîne de caractères Utilise un profil boto. Ne fonctionne qu'avec boto >= 2.24.0.Using profil remplacera aws_access_key, aws_secret_key et security_token et le support pour les passer en même temps que profil a été déprécié.aws_access_key, aws_secret_key et security_token seront rendus mutuellement exclusifs avec profil après le 2022-06-01.
alias : aws_profile
publiquement_accessiblechaîne de caractères Définit explicitement si la ressource doit être accessible publiquement ou non.Utilisé avec command=create, command=replicate.Requiert boto >= 2.26.0
régionchaîne de caractères La région AWS à utiliser. Si elle n'est pas spécifiée, la valeur de la variable d'environnement AWS_REGION ou EC2_REGION, le cas échéant, est utilisée. Voir http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
alias : aws_region, ec2_region
groupes de sécuritéchaîne de caractères Liste séparée par des virgules d'un ou plusieurs groupes de sécurité.Utilisé uniquement lorsque command=create ou command=modify.
security_tokenchaîne de caractères Jeton de sécurité AWS STS. S'il n'est pas défini, alors la valeur de la variable d'environnement AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN est utilisée.Si profil est défini, ce paramètre est ignoré.Le passage de la variable d'environnement security_token et profil en même temps a été déprécié et les options seront rendues mutuellement exclusives après le 2022-06-01.
alias : aws_security_token, access_token.
taillechaîne de caractères Taille en gigaoctets du stockage initial de l'instance de la BD.Utilisé uniquement lorsque command=create ou command=modify.
snapshotchaîne de caractères Nom de l'instantané à prendre.Quand command=delete si aucun snapshot n'est fourni, aucun instantané n'est réalisé. command=delete si aucun nom_instance n'est fourni, le snapshot est supprimé.Utilisé avec commande=facts, command=delete ou command=snapshot.
source_instancechaîne de caractères Nom de la base de données à répliquer.Utilisé uniquement lorsque command=replicate.
sous-réseauchaîne de caractères Groupe de sous-réseau VPC.S'il est spécifié, alors une instance VPC est créée.Utilisé uniquement lorsque command=create.
balisesdictionnaire dictée de balises à appliquer à une ressource.Utilisée avec command=create, command=replicate, command=restore.demande boto >= 2.26.0
mise à niveaubooléen
    Choix :

  • pas de
  • oui
Indique que les mises à niveau de versions mineures doivent être appliquées automatiquement.Utilisé uniquement lorsque commande=créer ou command=modify ou command=restore ou command=replicate.
nom d'utilisateurchaîne de caractères Nom d'utilisateur de la base de données principale.Utilisé uniquement lorsque command=create.
valider_certsbooléen
    Choix :

  • pas de
  • oui
Lorsqu'il est défini sur "non", les certificats SSL ne seront pas validés pour les versions boto >= 2.6.0.
vpc_security_groupsliste / elements=chaîne Liste séparée par des virgules d'un ou plusieurs ids de groupes de sécurité vpc.nécessite également sous-réseau Utilisé uniquement lorsque commande=créer ou command=modify.
attendrebooléen
    Choix :

  • pas de
  • oui
Quand command=create, répliquer, modifier ou restaurer puis attendre que la base de données passe à l'état 'disponible'.Lorsque commande=suppression, attendez que la base de données soit terminée.
wait_timeoutnombre entier Par défaut :
300
Combien de temps avant que le serveur n'abandonne, en secondes. wait=true.
zonechaîne de caractères zone de disponibilité dans laquelle lancer l'instance.Utilisé uniquement lorsque command=create, command=replicate ou command=restore Ne peut pas être utilisé en conjonction avec multi_zone paramètre.
alias : aws_zone, ec2_zone

Notes

Note

  • Si les paramètres ne sont pas définis dans le module, les variables d'environnement suivantes peuvent être utilisées dans l'ordre décroissant de préséance. AWS_URL ou EC2_URL, AWS_PROFILE ou AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID ou AWS_ACCESS_KEY ou EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY ou AWS_SECRET_KEY ou EC2_SECRET_KEY, AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN, AWS_REGION ou EC2_REGION, AWS_CA_BUNDLE
  • Ansible utilise le fichier de configuration boto (généralement ~/.boto) si aucun identifiant n'est fourni. Voir https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION ou EC2_REGION peuvent être typiquement utilisés pour spécifier la région AWS, lorsque cela est nécessaire, mais cela peut également être configuré dans le fichier de configuration boto.

Exemples

- name: Basic mysql provisioning example
  community.aws.rds:
    command: create
    instance_name: new-database
    db_engine: MySQL
    size: 10
    instance_type: db.m1.small
    username: mysql_admin
    password: 1nsecure
    tags:
      Environment: testing
      Application: cms

- name: Create a read-only replica and wait for it to become available
  community.aws.rds:
    command: replicate
    instance_name: new-database-replica
    source_instance: new_database
    wait: yes
    wait_timeout: 600

- name: Delete an instance, but create a snapshot before doing so
  community.aws.rds:
    command: delete
    instance_name: new-database
    snapshot: new_database_snapshot

- name: Get facts about an instance
  community.aws.rds:
    command: facts
    instance_name: new-database
  register: new_database_facts

- name: Rename an instance and wait for the change to take effect
  community.aws.rds:
    command: modify
    instance_name: new-database
    new_instance_name: renamed-database
    wait: yes

- name: Reboot an instance and wait for it to become available again
  community.aws.rds:
    command: reboot
    instance_name: database
    wait: yes

# Restore a Postgres db instance from a snapshot, wait for it to become available again, and
#  then modify it to add your security group. Also, display the new endpoint.
#  Note that the "publicly_accessible" option is allowed here just as it is in the AWS CLI
- community.aws.rds:
    command: restore
    snapshot: mypostgres-snapshot
    instance_name: MyNewInstanceName
    region: us-west-2
    zone: us-west-2b
    subnet: default-vpc-xx441xxx
    publicly_accessible: yes
    wait: yes
    wait_timeout: 600
    tags:
        Name: pg1_test_name_tag
  register: rds

- community.aws.rds:
    command: modify
    instance_name: MyNewInstanceName
    region: us-west-2
    vpc_security_groups: sg-xxx945xx

- ansible.builtin.debug:
    msg: "The new db endpoint is {{ rds.instance.endpoint }}"

Valeurs de retour

Les valeurs de retour courantes sont documentées ici, les champs suivants sont uniques à ce module :

Clé Renvoyé Description
instancecomplexe toujours l'instance rds
allocated_storagechaîne de caractères lorsque l'instance RDS existe la taille de stockage allouée en gigaoctets (Go)
Exemple : 100
auto_minor_version_upgradebooléen lorsque l'instance RDS existe indique que des mises à niveau mineures du moteur seront appliquées automatiquement à l'instance RDS pendant la fenêtre de maintenance.
Exemple : true
fenêtre de sauvegardechaîne de caractères lorsque l'instance RDS existe et que les sauvegardes automatiques sont activées. la plage horaire quotidienne pendant laquelle les sauvegardes automatiques sont créées si les sauvegardes automatiques sont activées.
Exemple : 03:00-03:30
nom du jeu de caractèreschaîne de caractères lorsque l'instance RDS existe le nom du jeu de caractères auquel cette instance est associée.
Exemple : AL32UTF8
db_namechaîne de caractères lorsque l'instance RDS existe le nom de la base de données à créer lors de la création de l'instance RDS.
Exemple : ASERTG
db_subnet_groupscomplexe lorsque l'instance RDS existe informations sur le groupe de sous-réseaux associé à cette instance RDS
descriptionchaîne de caractères quand l'instance RDS existe le groupe de sous-réseau associé à l'instance RDS
Exemple : Sous-réseaux pour l'instance de la BD SQL UAT RDS
nomchaîne de caractères lorsque l'instance RDS existe le nom du groupe de sous-réseau de la DB
Exemple : samplesubnetgrouprds-j6paiqkxqp4z
statutchaîne de caractères lorsque l'instance RDS existe l'état du groupe de sous-réseau de la DB
Exemple : complet
sous-réseauxcomplexe lorsque l'instance RDS existe la description du groupe de sous-réseau de la BD
zone de disponibilitécomplexe lorsque l'instance RDS existe informations sur la zone de disponibilité du sous-réseau
nomchaîne de caractères lorsque l'instance RDS existe zone de disponibilité
Exemple : eu-west-1b
provisioned_iops_capablebooléen lorsque l'instance RDS existe si les iops provisionnés sont disponibles dans le sous-réseau AZ.
Exemple : faux
identifiantchaîne de caractères lorsque l'instance RDS existe l'identifiant du sous-réseau
Exemple : subnet-3fdba63e
statutchaîne de caractères lorsque l'instance RDS existe l'état du sous-réseau
Exemple : actif
point de terminaisonchaîne de caractères lorsque l'instance RDS existe l'uri du point de terminaison de l'instance de la base de données
Exemple : ma-base-de-données-ansible.asdfaosdgih.us-east-1.rds.amazonaws.com
moteurchaîne de caractères lorsque l'instance RDS existe le nom du moteur de la base de données
Exemple : oracle-se
version_du_moteurchaîne de caractères lorsque l'instance RDS existe la version du moteur de la base de données
Exemple : 11.2.0.4.v6
latest_restorable_timechaîne de caractères quand l'instance RDS existe la dernière heure à laquelle une base de données peut être restaurée avec la restauration ponctuelle.
Exemple : 1489707802.0
modèle_de_licencechaîne de caractères lorsque l'instance RDS existe les informations sur le modèle de licence
Exemple : bring-your-own-license
options_groupescomplexe lorsque l'instance RDS existe la liste des appartenances à un groupe d'options pour cette instance RDS
nom_du_groupe_d'optionschaîne de caractères lorsque l'instance RDS existe le nom du groupe d'options pour cette instance RDS
Exemple : default:oracle-se-11-2
statutchaîne de caractères lorsque l'instance RDS existe l'état de l'appartenance de l'instance RDS au groupe d'options.
Exemple : in-sync
groupes_de_paramètrescomplexe lorsque l'instance RDS existe et que des groupes de paramètres sont définis. la liste des groupes de paramètres de la BD appliqués à cette instance RDS.
paramètre_apply_statuschaîne de caractères lorsque l'instance RDS existe le statut des mises à jour des paramètres
Exemple : en synchronisation
nom_du_groupe_de_paramètreschaîne de caractères lorsque l'instance RDS existe le nom du groupe de paramètres DP
Exemple : testawsrpprodb01spfile-1ujg7nrs7sgyz
valeurs_modifiées_en_attentecomplexe lorsque l'instance RDS existe un dictionnaire des modifications de l'instance RDS qui sont en suspens
allocated_storagechaîne de caractères lorsque l'instance RDS existe la nouvelle taille de stockage allouée pour cette instance RDS qui sera appliquée ou qui est en cours.
Exemple : null
période de rétention de la sauvegardechaîne de caractères lorsque l'instance RDS existe le nombre de jours en attente pour lesquels les sauvegardes automatisées sont conservées.
Exemple : null
db_instance_classchaîne de caractères lorsque l'instance RDS existe la nouvelle classe d'instance de la DB pour cette instance RDS qui sera appliquée ou qui est en cours.
Exemple : null
db_instance_identifierchaîne de caractères lorsque l'instance RDS existe le nouvel identifiant de l'instance de la DB cette instance RDS qui sera appliquée ou qui est en cours.
Exemple : null
engine_versionchaîne de caractères lorsque l'instance RDS existe indique la version du moteur de base de données
Exemple : null
iopschaîne de caractères lorsque l'instance RDS existe la nouvelle valeur IOPS provisionnée pour cette instance RDS qui sera appliquée ou qui est en cours d'application.
Exemple : null
mot_de_passe_utilisateur_maîtrechaîne de caractères lorsque l'instance RDS existe le changement en attente ou en cours des informations d'identification du maître pour cette instance RDS.
Exemple : null
multi_azchaîne de caractères lorsque l'instance RDS existe indique que l'instance RDS mono-AZ doit passer à un déploiement multi-AZ.
Exemple : null
portchaîne de caractères lorsque l'instance RDS existe spécifie le port en attente pour cette instance RDS
Exemple : null
portentier lorsque l'instance RDS existe le port d'écoute de l'instance de la base de données
Exemple : 3306
public_accessiblebooléen lorsque l'instance RDS existe les options d'accessibilité pour l'instance RDS
Exemple : true
read_replica_source_dbinstance_identifierchaîne de caractères lorsque l'instance RDS read replica existe l'identifiant de l'instance de la BD source si cette instance RDS est une réplique en lecture.
Exemple : null
zone de disponibilité secondairechaîne de caractères lorsque l'instance RDS existe et qu'elle est multi-AZ le nom de l'AZ secondaire pour une instance de DB avec support multi-AZ.
Exemple : eu-west-1b

Auteurs :

  • Bruce Pennypacker (@bpennypacker)
  • Will Thames (@willthames)