community / community.aws / 5.1.0 / module / api_gateway Manage AWS API Gateway APIs | "added in version" 1.0.0 of community.aws" Authors: Michael De La Rue (@mikedlr)community.aws.api_gateway (5.1.0) — module
Install with ansible-galaxy collection install community.aws:==5.1.0
collections: - name: community.aws version: 5.1.0
Allows for the management of API Gateway APIs.
Normally you should give the api_id since there is no other stable guaranteed unique identifier for the API. If you do not give api_id then a new API will be created each time this is run.
swagger_file and swagger_text are passed directly on to AWS transparently whilst swagger_dict is an ansible dict which is converted to JSON before the API definitions are uploaded.
Prior to release 5.0.0 this module was called C(community.aws.aws_api_gateway). The usage did not change.
- name: Setup AWS API Gateway setup on AWS and deploy API definition community.aws.api_gateway: swagger_file: my_api.yml stage: production cache_enabled: true cache_size: '1.6' tracing_enabled: true endpoint_type: EDGE state: present
- name: Update API definition to deploy new version community.aws.api_gateway: api_id: 'abc123321cba' swagger_file: my_api.yml deploy_desc: Make auth fix available. cache_enabled: true cache_size: '1.6' endpoint_type: EDGE state: present
- name: Update API definitions and settings and deploy as canary community.aws.api_gateway: api_id: 'abc123321cba' swagger_file: my_api.yml cache_enabled: true cache_size: '6.1' canary_settings: { percentTraffic: 50.0, deploymentId: '123', useStageCache: True } state: present
stage: description: - The name of the stage the API should be deployed to. type: str state: choices: - present - absent default: present description: Create or delete API Gateway. type: str api_id: description: - The ID of the API you want to manage. type: str region: aliases: - aws_region - ec2_region description: - The AWS region to use. - For global services such as IAM, Route53 and CloudFront, I(region) is ignored. - The C(AWS_REGION) or C(EC2_REGION) environment variables may also be used. - See the Amazon AWS documentation for more information U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region). - The C(ec2_region) alias has been deprecated and will be removed in a release after 2024-12-01 - Support for the C(EC2_REGION) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str profile: aliases: - aws_profile description: - A named AWS profile to use for authentication. - See the AWS documentation for more information about named profiles U(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html). - The C(AWS_PROFILE) environment variable may also be used. - The I(profile) option is mutually exclusive with the I(aws_access_key), I(aws_secret_key) and I(security_token) options. type: str access_key: aliases: - aws_access_key_id - aws_access_key - ec2_access_key description: - AWS access key ID. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variables may also be used in decreasing order of preference. - The I(aws_access_key) and I(profile) options are mutually exclusive. - The I(aws_access_key_id) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_access_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_ACCESS_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str aws_config: description: - A dictionary to modify the botocore configuration. - Parameters can be found in the AWS documentation U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config). type: dict cache_size: choices: - '0.5' - '1.6' - '6.1' - '13.5' - '28.4' - '58.2' - '118' - '237' default: '0.5' description: - Size in GB of the API GW cache, becomes effective when cache_enabled is true. type: str secret_key: aliases: - aws_secret_access_key - aws_secret_key - ec2_secret_key description: - AWS secret access key. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment variables may also be used in decreasing order of preference. - The I(secret_key) and I(profile) options are mutually exclusive. - The I(aws_secret_access_key) alias was added in release 5.1.0 for consistency with the AWS botocore SDK. - The I(ec2_secret_key) alias has been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str deploy_desc: default: Automatic deployment by Ansible. description: - Description of the deployment. - Recorded and visible in the AWS console. type: str endpoint_url: aliases: - ec2_url - aws_endpoint_url - s3_url description: - URL to connect to instead of the default AWS endpoints. While this can be used to connection to other AWS-compatible services the amazon.aws and community.aws collections are only tested against AWS. - The C(AWS_URL) or C(EC2_URL) environment variables may also be used, in decreasing order of preference. - The I(ec2_url) and I(s3_url) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_URL) environment variable has been deprecated and will be removed in a release after 2024-12-01. type: str swagger_dict: description: - Swagger definitions API ansible dictionary which will be converted to JSON and uploaded. type: json swagger_file: aliases: - src - api_file description: - JSON or YAML file containing swagger definitions for API. Exactly one of I(swagger_file), I(swagger_text) or I(swagger_dict) must be present. type: path swagger_text: description: - Swagger definitions for API in JSON or YAML as a string direct from playbook. type: str aws_ca_bundle: description: - The location of a CA Bundle to use when validating SSL certificates. - The C(AWS_CA_BUNDLE) environment variable may also be used. type: path cache_enabled: default: false description: - Enable API GW caching of backend responses. type: bool endpoint_type: choices: - EDGE - REGIONAL - PRIVATE default: EDGE description: - Type of endpoint configuration. - Use C(EDGE) for an edge optimized API endpoint, C(REGIONAL) for just a regional deploy or C(PRIVATE) for a private API. - This flag will only be used when creating a new API Gateway setup, not for updates. type: str session_token: aliases: - aws_session_token - security_token - aws_security_token - access_token description: - AWS STS session token for use with temporary credentials. - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - The C(AWS_SESSION_TOKEN), C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment variables may also be used in decreasing order of preference. - The I(security_token) and I(profile) options are mutually exclusive. - Aliases I(aws_session_token) and I(session_token) were added in release 3.2.0, with the parameter being renamed from I(security_token) to I(session_token) in release 6.0.0. - The I(security_token), I(aws_security_token), and I(access_token) aliases have been deprecated and will be removed in a release after 2024-12-01. - Support for the C(EC2_SECRET_KEY) and C(AWS_SECURITY_TOKEN) environment variables has been deprecated and will be removed in a release after 2024-12-01. type: str validate_certs: default: true description: - When set to C(false), SSL certificates will not be validated for communication with the AWS APIs. - Setting I(validate_certs=false) is strongly discouraged, as an alternative, consider setting I(aws_ca_bundle) instead. type: bool stage_variables: default: {} description: - ENV variables for the stage. Define a dict of key values pairs for variables. type: dict tracing_enabled: default: false description: - Specifies whether active tracing with X-ray is enabled for the API GW stage. type: bool stage_canary_settings: default: {} description: - Canary settings for the deployment of the stage. - 'Dict with following settings:' - 'C(percentTraffic): The percent (0-100) of traffic diverted to a canary deployment.' - 'C(deploymentId): The ID of the canary deployment.' - 'C(stageVariableOverrides): Stage variables overridden for a canary release deployment.' - 'C(useStageCache): A Boolean flag to indicate whether the canary deployment uses the stage cache or not.' - See docs U(https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigateway.html#APIGateway.Client.create_stage) type: dict debug_botocore_endpoint_logs: default: false description: - Use a C(botocore.endpoint) logger to parse the unique (rather than total) C("resource:action") API calls made during a task, outputing the set to the resource_actions key in the task results. Use the C(aws_resource_action) callback to output to total list made during a playbook. - The C(ANSIBLE_DEBUG_BOTOCORE_LOGS) environment variable may also be used. type: bool
api_id: description: API id of the API endpoint created returned: success sample: 0ln4zq7p86 type: str configure_response: description: AWS response from the API configure call returned: success sample: api_key_source: HEADER created_at: '2020-01-01T11:37:59+00:00' id: 0ln4zq7p86 type: dict deploy_response: description: AWS response from the API deploy call returned: success sample: created_date: '2020-01-01T11:36:59+00:00' description: Automatic deployment by Ansible. id: rptv4b type: dict resource_actions: description: Actions performed against AWS API returned: always sample: - apigateway:CreateRestApi - apigateway:CreateDeployment - apigateway:PutRestApi type: list