/community.aws

Ansible Collection for Community AWS

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Community AWS Collection

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.

Ansible version compatibility

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.

Python version compatibility

As the AWS SDK for Python (Boto3 and Botocore) has ceased supporting Python 2.7, this collection requires Python 3.6 or greater.

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 2.0.0 of this collection supports boto3 >= 1.15.0 and botocore >= 1.18.0

Included content

Connection plugins

Name Description
community.aws.aws_ssm execute via AWS Systems Manager

Modules

Name Description
community.aws.aws_acm Upload and delete certificates in the AWS Certificate Manager service
community.aws.aws_acm_info Retrieve certificate information from AWS Certificate Manager service
community.aws.aws_api_gateway Manage AWS API Gateway APIs
community.aws.aws_application_scaling_policy Manage Application Auto Scaling Scaling Policies
community.aws.aws_batch_compute_environment Manage AWS Batch Compute Environments
community.aws.aws_batch_job_definition Manage AWS Batch Job Definitions
community.aws.aws_batch_job_queue Manage AWS Batch Job Queues
community.aws.aws_codebuild Create or delete an AWS CodeBuild project
community.aws.aws_codecommit Manage repositories in AWS CodeCommit
community.aws.aws_codepipeline Create or delete AWS CodePipelines
community.aws.aws_config_aggregation_authorization Manage cross-account AWS Config authorizations
community.aws.aws_config_aggregator Manage AWS Config aggregations across multiple accounts
community.aws.aws_config_delivery_channel Manage AWS Config delivery channels
community.aws.aws_config_recorder Manage AWS Config Recorders
community.aws.aws_config_rule Manage AWS Config resources
community.aws.aws_direct_connect_confirm_connection Confirms the creation of a hosted DirectConnect connection.
community.aws.aws_direct_connect_connection Creates, deletes, modifies a DirectConnect connection
community.aws.aws_direct_connect_gateway Manage AWS Direct Connect gateway
community.aws.aws_direct_connect_link_aggregation_group Manage Direct Connect LAG bundles
community.aws.aws_direct_connect_virtual_interface Manage Direct Connect virtual interfaces
community.aws.aws_eks_cluster Manage Elastic Kubernetes Service Clusters
community.aws.aws_elasticbeanstalk_app Create, update, and delete an elastic beanstalk application
community.aws.aws_glue_connection Manage an AWS Glue connection
community.aws.aws_glue_job Manage an AWS Glue job
community.aws.aws_inspector_target Create, Update and Delete Amazon Inspector Assessment Targets
community.aws.aws_kms Perform various KMS management tasks.
community.aws.aws_kms_info Gather information about AWS KMS keys
community.aws.aws_msk_cluster Manage Amazon MSK clusters.
community.aws.aws_msk_config Manage Amazon MSK cluster configurations.
community.aws.aws_region_info Gather information about AWS regions.
community.aws.aws_s3_bucket_info lists S3 buckets in AWS
community.aws.aws_s3_cors Manage CORS for S3 buckets in AWS
community.aws.aws_secret Manage secrets stored in AWS Secrets Manager.
community.aws.aws_ses_identity Manages SES email and domain identity
community.aws.aws_ses_identity_policy Manages SES sending authorization policies
community.aws.aws_ses_rule_set Manages SES inbound receipt rule sets
community.aws.aws_sgw_info Fetch AWS Storage Gateway information
community.aws.aws_ssm_parameter_store Manage key-value pairs in aws parameter store.
community.aws.aws_step_functions_state_machine Manage AWS Step Functions state machines
community.aws.aws_step_functions_state_machine_execution Start or stop execution of an AWS Step Functions state machine.
community.aws.aws_waf_condition Create and delete WAF Conditions
community.aws.aws_waf_info Retrieve information for WAF ACLs, Rule , Conditions and Filters.
community.aws.aws_waf_rule Create and delete WAF Rules
community.aws.aws_waf_web_acl Create and delete WAF Web ACLs.
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_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.cloudtrail manage CloudTrail create, delete, update
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.data_pipeline Create and manage AWS Datapipelines
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_asg Create or delete AWS AutoScaling Groups (ASGs)
community.aws.ec2_asg_info Gather information about ec2 Auto Scaling Groups (ASGs) in AWS
community.aws.ec2_asg_lifecycle_hook Create, delete or update AWS ASG Lifecycle Hooks.
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_elb_info Gather information about EC2 Elastic Load Balancers in AWS
community.aws.ec2_launch_template Manage EC2 launch templates
community.aws.ec2_lc Create or delete AWS Autoscaling Launch Configurations
community.aws.ec2_lc_find Find AWS Autoscaling Launch Configurations
community.aws.ec2_lc_info Gather information about AWS Autoscaling Launch Configurations.
community.aws.ec2_metric_alarm Create/update or delete AWS Cloudwatch 'metric alarms'
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_scaling_policy Create or delete AWS scaling policies for Autoscaling groups
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_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_route_table Manage route tables for AWS virtual private clouds
community.aws.ec2_vpc_route_table_info Gather information about ec2 VPC route tables in AWS
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.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.elb_application_lb Manage an Application Load Balancer
community.aws.elb_application_lb_info Gather information about application ELBs 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.execute_lambda Execute an AWS Lambda function
community.aws.iam Manage IAM users, groups, roles and keys
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.kinesis_stream Manage a Kinesis Stream.
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_facts Gathers AWS Lambda function details as Ansible facts
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.rds create, delete, or modify Amazon rds instances, rds snapshots, and related facts
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 snapshots.
community.aws.rds_option_group rds_option_group module
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_notification Creates, updates or deletes S3 Bucket notification for lambda
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.sns Send Amazon Simple Notification Service messages
community.aws.sns_topic Manages AWS SNS topics and subscriptions
community.aws.sqs_queue Creates or deletes AWS SQS queues
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.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 wafv2_web_acl
community.aws.wafv2_web_acl_info wafv2_web_acl

Installing this collection

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: 0.1.1

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 }}"

See Also:

Contributing to this collection

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.

You can also join us on:

More information about contributing

Release notes

Roadmap

More information

Licensing

GNU General Public License v3.0 or later.

See LICENSE to see the full text.