The Ansible Community AWS collection includes a variety of Ansible content to help automate the management of AWS instances. This collection is maintained by the Ansible community.
AWS related modules and plugins supported by the Ansible Cloud team are in the amazon.aws collection.
This collection has been tested against following Ansible versions: >=2.9.10.
Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible.
This collection depends on the AWS SDK for Python (Boto3 and Botocore). Due to the AWS SDK Python Support Policy this collection requires Python 3.6 or greater.
Amazon have also announced the end of support for Python less than 3.7. As such support for Python less than 3.7 by this collection has been deprecated and will be removed in a release after 2023-05-31.
Starting with the 2.0.0 releases of amazon.aws and community.aws, it is generally the collection's policy to support the versions of botocore
and boto3
that were released 12 months prior to the most recent major collection release, following semantic versioning (for example, 2.0.0, 3.0.0).
Version 5.0.0 of this collection supports boto3 >= 1.18.0
and botocore >= 1.21.0
All support for the original AWS SDK boto
was removed in release 4.0.0.
Name | Description |
---|---|
community.aws.aws_ssm | execute via AWS Systems Manager |
Name | Description |
---|---|
community.aws.acm_certificate | Upload and delete certificates in the AWS Certificate Manager service |
community.aws.acm_certificate_info | Retrieve certificate information from AWS Certificate Manager service |
community.aws.api_gateway | Manage AWS API Gateway APIs |
community.aws.api_gateway_domain | Manage AWS API Gateway custom domains |
community.aws.application_autoscaling_policy | Manage Application Auto Scaling Scaling Policies |
community.aws.autoscaling_group | Create or delete AWS AutoScaling Groups (ASGs) |
community.aws.autoscaling_group_info | Gather information about EC2 Auto Scaling Groups (ASGs) in AWS |
community.aws.autoscaling_instance_refresh | Start or cancel an EC2 Auto Scaling Group (ASG) instance refresh in AWS |
community.aws.autoscaling_instance_refresh_info | Gather information about EC2 Auto Scaling Group (ASG) Instance Refreshes in AWS |
community.aws.autoscaling_launch_config | Create or delete AWS Autoscaling Launch Configurations |
community.aws.autoscaling_launch_config_find | Find AWS Autoscaling Launch Configurations |
community.aws.autoscaling_launch_config_info | Gather information about AWS Autoscaling Launch Configurations |
community.aws.autoscaling_lifecycle_hook | Create, delete or update AWS ASG Lifecycle Hooks |
community.aws.autoscaling_policy | Create or delete AWS scaling policies for Autoscaling groups |
community.aws.autoscaling_scheduled_action | Create, modify and delete ASG scheduled scaling actions |
community.aws.aws_region_info | Gather information about AWS regions. |
community.aws.batch_compute_environment | Manage AWS Batch Compute Environments |
community.aws.batch_job_definition | Manage AWS Batch Job Definitions |
community.aws.batch_job_queue | Manage AWS Batch Job Queues |
community.aws.cloudformation_exports_info | Read a value from CloudFormation Exports |
community.aws.cloudformation_stack_set | Manage groups of CloudFormation stacks |
community.aws.cloudfront_distribution | Create, update and delete AWS CloudFront distributions |
community.aws.cloudfront_distribution_info | Obtain facts about an AWS CloudFront distribution |
community.aws.cloudfront_invalidation | create invalidations for AWS CloudFront distributions |
community.aws.cloudfront_origin_access_identity | Create, update and delete origin access identities for a CloudFront distribution |
community.aws.cloudfront_response_headers_policy | Create, update and delete response headers policies to be used in a Cloudfront distribution |
community.aws.cloudtrail | manage CloudTrail create, delete, update |
community.aws.cloudwatch_metric_alarm | Create/update or delete AWS CloudWatch 'metric alarms' |
community.aws.cloudwatchevent_rule | Manage CloudWatch Event rules and targets |
community.aws.cloudwatchlogs_log_group | create or delete log_group in CloudWatchLogs |
community.aws.cloudwatchlogs_log_group_info | Get information about log_group in CloudWatchLogs |
community.aws.cloudwatchlogs_log_group_metric_filter | Manage CloudWatch log group metric filter |
community.aws.codebuild_project | Create or delete an AWS CodeBuild project |
community.aws.codecommit_repository | Manage repositories in AWS CodeCommit |
community.aws.codepipeline | Create or delete AWS CodePipelines |
community.aws.config_aggregation_authorization | Manage cross-account AWS Config authorizations |
community.aws.config_aggregator | Manage AWS Config aggregations across multiple accounts |
community.aws.config_delivery_channel | Manage AWS Config delivery channels |
community.aws.config_recorder | Manage AWS Config Recorders |
community.aws.config_rule | Manage AWS Config rule resources |
community.aws.data_pipeline | Create and manage AWS Datapipelines |
community.aws.directconnect_confirm_connection | Confirms the creation of a hosted DirectConnect connection |
community.aws.directconnect_connection | Creates, deletes, modifies a DirectConnect connection |
community.aws.directconnect_gateway | Manage AWS Direct Connect gateway |
community.aws.directconnect_link_aggregation_group | Manage Direct Connect LAG bundles |
community.aws.directconnect_virtual_interface | Manage Direct Connect virtual interfaces |
community.aws.dms_endpoint | Creates or destroys a data migration services endpoint |
community.aws.dms_replication_subnet_group | creates or destroys a data migration services subnet group |
community.aws.dynamodb_table | Create, update or delete AWS Dynamo DB tables |
community.aws.dynamodb_ttl | Set TTL for a given DynamoDB table |
community.aws.ec2_ami_copy | copies AMI between AWS regions, return new image id |
community.aws.ec2_customer_gateway | Manage an AWS customer gateway |
community.aws.ec2_customer_gateway_info | Gather information about customer gateways in AWS |
community.aws.ec2_eip | manages EC2 elastic IP (EIP) addresses. |
community.aws.ec2_eip_info | List EC2 EIP details |
community.aws.ec2_launch_template | Manage EC2 launch templates |
community.aws.ec2_placement_group | Create or delete an EC2 Placement Group |
community.aws.ec2_placement_group_info | List EC2 Placement Group(s) details |
community.aws.ec2_snapshot_copy | Copies an EC2 snapshot and returns the new Snapshot ID |
community.aws.ec2_transit_gateway | Create and delete AWS Transit Gateways |
community.aws.ec2_transit_gateway_info | Gather information about ec2 transit gateways in AWS |
community.aws.ec2_transit_gateway_vpc_attachment | Create and delete AWS Transit Gateway VPC attachments |
community.aws.ec2_transit_gateway_vpc_attachment_info | describes AWS Transit Gateway VPC attachments |
community.aws.ec2_vpc_egress_igw | Manage an AWS VPC Egress Only Internet gateway |
community.aws.ec2_vpc_nacl | create and delete Network ACLs |
community.aws.ec2_vpc_nacl_info | Gather information about Network ACLs in an AWS VPC |
community.aws.ec2_vpc_peer | create, delete, accept, and reject VPC peering connections between two VPCs. |
community.aws.ec2_vpc_peering_info | Retrieves AWS VPC Peering details using AWS methods. |
community.aws.ec2_vpc_vgw | Create and delete AWS VPN Virtual Gateways |
community.aws.ec2_vpc_vgw_info | Gather information about virtual gateways in AWS |
community.aws.ec2_vpc_vpn | Create, modify, and delete EC2 VPN connections |
community.aws.ec2_vpc_vpn_info | Gather information about VPN Connections in AWS. |
community.aws.ec2_win_password | Gets the default administrator password for EC2 Windows instances |
community.aws.ecs_attribute | manage ecs attributes |
community.aws.ecs_cluster | Create or terminate ECS clusters. |
community.aws.ecs_ecr | Manage Elastic Container Registry repositories |
community.aws.ecs_service | Create, terminate, start or stop a service in ECS |
community.aws.ecs_service_info | List or describe services in ECS |
community.aws.ecs_tag | create and remove tags on Amazon ECS resources |
community.aws.ecs_task | Run, start or stop a task in ECS |
community.aws.ecs_taskdefinition | register a task definition in ecs |
community.aws.ecs_taskdefinition_info | Describe a task definition in ECS |
community.aws.efs | create and maintain EFS file systems |
community.aws.efs_info | Get information about Amazon EFS file systems |
community.aws.efs_tag | create and remove tags on Amazon EFS resources |
community.aws.eks_cluster | Manage Elastic Kubernetes Service (EKS) Clusters |
community.aws.eks_fargate_profile | Manage EKS Fargate Profile |
community.aws.elasticache | Manage cache clusters in Amazon ElastiCache |
community.aws.elasticache_info | Retrieve information for AWS ElastiCache clusters |
community.aws.elasticache_parameter_group | Manage cache parameter groups in Amazon ElastiCache. |
community.aws.elasticache_snapshot | Manage cache snapshots in Amazon ElastiCache |
community.aws.elasticache_subnet_group | manage ElastiCache subnet groups |
community.aws.elasticbeanstalk_app | Create, update, and delete an Elastic Beanstalk application |
community.aws.elb_application_lb | Manage an Application Load Balancer |
community.aws.elb_application_lb_info | Gather information about Application Load Balancers in AWS |
community.aws.elb_classic_lb_info | Gather information about EC2 Elastic Load Balancers in AWS |
community.aws.elb_instance | De-registers or registers instances from EC2 ELBs |
community.aws.elb_network_lb | Manage a Network Load Balancer |
community.aws.elb_target | Manage a target in a target group |
community.aws.elb_target_group | Manage a target group for an Application or Network load balancer |
community.aws.elb_target_group_info | Gather information about ELB target groups in AWS |
community.aws.elb_target_info | Gathers which target groups a target is associated with. |
community.aws.glue_connection | Manage an AWS Glue connection |
community.aws.glue_crawler | Manage an AWS Glue crawler |
community.aws.glue_job | Manage an AWS Glue job |
community.aws.iam_access_key | Manage AWS IAM User access keys |
community.aws.iam_access_key_info | fetch information about AWS IAM User access keys |
community.aws.iam_group | Manage AWS IAM groups |
community.aws.iam_managed_policy | Manage User Managed IAM policies |
community.aws.iam_mfa_device_info | List the MFA (Multi-Factor Authentication) devices registered for a user |
community.aws.iam_password_policy | Update an IAM Password Policy |
community.aws.iam_policy | Manage inline IAM policies for users, groups, and roles |
community.aws.iam_policy_info | Retrieve inline IAM policies for users, groups, and roles |
community.aws.iam_role | Manage AWS IAM roles |
community.aws.iam_role_info | Gather information on IAM roles |
community.aws.iam_saml_federation | Maintain IAM SAML federation configuration. |
community.aws.iam_server_certificate | Manage server certificates for use on ELBs and CloudFront |
community.aws.iam_server_certificate_info | Retrieve the information of a server certificate |
community.aws.iam_user | Manage AWS IAM users |
community.aws.iam_user_info | Gather IAM user(s) facts in AWS |
community.aws.inspector_target | Create, Update and Delete Amazon Inspector Assessment Targets |
community.aws.kinesis_stream | Manage a Kinesis Stream. |
community.aws.kms_key | Perform various KMS key management tasks |
community.aws.kms_key_info | Gather information about AWS KMS keys |
community.aws.lambda | Manage AWS Lambda functions |
community.aws.lambda_alias | Creates, updates or deletes AWS Lambda function aliases |
community.aws.lambda_event | Creates, updates or deletes AWS Lambda function event mappings |
community.aws.lambda_execute | Execute an AWS Lambda function |
community.aws.lambda_info | Gathers AWS Lambda function details |
community.aws.lambda_policy | Creates, updates or deletes AWS Lambda policy statements. |
community.aws.lightsail | Manage instances in AWS Lightsail |
community.aws.msk_cluster | Manage Amazon MSK clusters |
community.aws.msk_config | Manage Amazon MSK cluster configurations |
community.aws.networkfirewall | manage AWS Network Firewall firewalls |
community.aws.networkfirewall_info | describe AWS Network Firewall firewalls |
community.aws.networkfirewall_policy | manage AWS Network Firewall policies |
community.aws.networkfirewall_policy_info | describe AWS Network Firewall policies |
community.aws.networkfirewall_rule_group | create, delete and modify AWS Network Firewall rule groups |
community.aws.networkfirewall_rule_group_info | describe AWS Network Firewall rule groups |
community.aws.opensearch | Creates OpenSearch or ElasticSearch domain |
community.aws.opensearch_info | obtain information about one or more OpenSearch or ElasticSearch domain |
community.aws.rds_cluster | rds_cluster module |
community.aws.rds_cluster_info | Obtain information about one or more RDS clusters |
community.aws.rds_cluster_snapshot | Manage Amazon RDS snapshots of DB clusters |
community.aws.rds_instance | Manage RDS instances |
community.aws.rds_instance_info | obtain information about one or more RDS instances |
community.aws.rds_instance_snapshot | Manage Amazon RDS instance snapshots |
community.aws.rds_option_group | Manages the creation, modification, deletion of RDS option groups |
community.aws.rds_option_group_info | rds_option_group_info module |
community.aws.rds_param_group | manage RDS parameter groups |
community.aws.rds_snapshot_info | obtain information about one or more RDS snapshots |
community.aws.rds_subnet_group | manage RDS database subnet groups |
community.aws.redshift | create, delete, or modify an Amazon Redshift instance |
community.aws.redshift_cross_region_snapshots | Manage Redshift Cross Region Snapshots |
community.aws.redshift_info | Gather information about Redshift cluster(s) |
community.aws.redshift_subnet_group | manage Redshift cluster subnet groups |
community.aws.route53 | add or delete entries in Amazons Route 53 DNS service |
community.aws.route53_health_check | Manage health-checks in Amazons Route53 DNS service |
community.aws.route53_info | Retrieves route53 details using AWS methods |
community.aws.route53_zone | add or delete Route53 zones |
community.aws.s3_bucket_info | Lists S3 buckets in AWS |
community.aws.s3_bucket_notification | Creates, updates or deletes S3 Bucket notifications targeting Lambda functions, SNS or SQS. |
community.aws.s3_cors | Manage CORS for S3 buckets in AWS |
community.aws.s3_lifecycle | Manage S3 bucket lifecycle rules in AWS |
community.aws.s3_logging | Manage logging facility of an s3 bucket in AWS |
community.aws.s3_metrics_configuration | Manage s3 bucket metrics configuration in AWS |
community.aws.s3_sync | Efficiently upload multiple files to S3 |
community.aws.s3_website | Configure an s3 bucket as a website |
community.aws.secretsmanager_secret | Manage secrets stored in AWS Secrets Manager |
community.aws.ses_identity | Manages SES email and domain identity |
community.aws.ses_identity_policy | Manages SES sending authorization policies |
community.aws.ses_rule_set | Manages SES inbound receipt rule sets |
community.aws.sns | Send Amazon Simple Notification Service messages |
community.aws.sns_topic | Manages AWS SNS topics and subscriptions |
community.aws.sns_topic_info | sns_topic_info module |
community.aws.sqs_queue | Creates or deletes AWS SQS queues |
community.aws.ssm_parameter | Manage key-value pairs in AWS Systems Manager Parameter Store |
community.aws.stepfunctions_state_machine | Manage AWS Step Functions state machines |
community.aws.stepfunctions_state_machine_execution | Start or stop execution of an AWS Step Functions state machine |
community.aws.storagegateway_info | Fetch AWS Storage Gateway information |
community.aws.sts_assume_role | Assume a role using AWS Security Token Service and obtain temporary credentials |
community.aws.sts_session_token | Obtain a session token from the AWS Security Token Service |
community.aws.waf_condition | Create and delete WAF Conditions |
community.aws.waf_info | Retrieve information for WAF ACLs, Rules, Conditions and Filters |
community.aws.waf_rule | Create and delete WAF Rules |
community.aws.waf_web_acl | Create and delete WAF Web ACLs |
community.aws.wafv2_ip_set | wafv2_ip_set |
community.aws.wafv2_ip_set_info | Get information about wafv2 ip sets |
community.aws.wafv2_resources | wafv2_web_acl |
community.aws.wafv2_resources_info | wafv2_resources_info |
community.aws.wafv2_rule_group | wafv2_web_acl |
community.aws.wafv2_rule_group_info | wafv2_web_acl_info |
community.aws.wafv2_web_acl | Create and delete WAF Web ACLs |
community.aws.wafv2_web_acl_info | wafv2_web_acl |
You can install the AWS collection with the Ansible Galaxy CLI:
ansible-galaxy collection install community.aws
You can also include it in a requirements.yml
file and install it with ansible-galaxy collection install -r requirements.yml
, using the format:
---
collections:
- name: community.aws
A specific version of the collection can be installed by using the version
keyword in the requirements.yml
file:
---
collections:
- name: community.aws
version: 3.1.1
The python module dependencies are not installed by ansible-galaxy
. They can
be manually installed using pip:
pip install requirements.txt
or:
pip install boto3 botocore
You can either call modules by their Fully Qualified Collection Namespace (FQCN), such as community.aws.ec2_instance
, or you can call modules by their short name if you list the community.aws
collection in the playbook's collections
keyword:
---
- name: Create a DB instance using the default AWS KMS encryption key
community.aws.rds_instance:
id: test-encrypted-db
state: present
engine: mariadb
storage_encrypted: True
db_instance_class: db.t2.medium
username: "{{ username }}"
password: "{{ password }}"
allocated_storage: "{{ allocated_storage }}"
- Amazon Web Services Guide
- Ansible Using collections for more details.
We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the Community AWS collection repository. See Contributing to Ansible-maintained collections for more details.
You can also join us on:
- Libera.Chat IRC - the
#ansible-aws
irc.libera.chat channel
- Ansible Community Guide - Details on contributing to Ansible
- Contributing to Collections - How to check out collection git repositories correctly
- Guidelines for Ansible Amazon AWS module development
- Getting Started With AWS Ansible Module Development and Community Contribution
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Collection Developer Guide
- Ansible Community code of conduct
GNU General Public License v3.0 or later.
See COPYING to see the full text.