{"id":26905206,"url":"https://github.com/jimdo/ansible-fastly","last_synced_at":"2025-07-26T18:07:17.253Z","repository":{"id":43319021,"uuid":"61132741","full_name":"Jimdo/ansible-fastly","owner":"Jimdo","description":"Ansible module to configure services in fastly","archived":true,"fork":false,"pushed_at":"2025-06-30T11:48:19.000Z","size":652,"stargazers_count":9,"open_issues_count":9,"forks_count":13,"subscribers_count":81,"default_branch":"master","last_synced_at":"2025-06-30T12:42:25.808Z","etag":null,"topics":["owner-team-creator"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jimdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-06-14T15:08:15.000Z","updated_at":"2025-06-30T12:05:47.000Z","dependencies_parsed_at":"2025-06-30T12:33:31.658Z","dependency_job_id":"bd9992ec-5220-454c-a754-66a08da3be4b","html_url":"https://github.com/Jimdo/ansible-fastly","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/Jimdo/ansible-fastly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jimdo%2Fansible-fastly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jimdo%2Fansible-fastly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jimdo%2Fansible-fastly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jimdo%2Fansible-fastly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jimdo","download_url":"https://codeload.github.com/Jimdo/ansible-fastly/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jimdo%2Fansible-fastly/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267205997,"owners_count":24052762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["owner-team-creator"],"created_at":"2025-04-01T10:56:30.056Z","updated_at":"2025-07-26T18:07:17.247Z","avatar_url":"https://github.com/Jimdo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Decommission Notice\nDue to the migration of Creator CDN to Cloudflare, this repository is not needed anymore.\n\n\n# ansible-fastly\n\n[![Build Status](https://travis-ci.org/Jimdo/ansible-fastly.svg?branch=master)](https://travis-ci.org/Jimdo/ansible-fastly) [![Ansible Galaxy](https://img.shields.io/badge/galaxy-Jimdo.fastly-blue.svg?style=flat)](https://galaxy.ansible.com/Jimdo/fastly/)\n\nAnsible module to configure services in Fastly\n\n## Installation\n\n``` bash\n$ ansible-galaxy install Jimdo.fastly\n```\n\n## Documentation\n\n### Module options\n\n| Name                 | Required | Description                                                                                   | Default |\n|:---------------------|:---------|:----------------------------------------------------------------------------------------------|:--------|\n| name                 | true     | The unique name for the service to create                                                     |         |\n| fastly_api_key       | false    | Fastly API key. If not set then the value of the FASTLY_API_KEY environment variable is used. |         |\n| activate_new_version | false    | Configures whether newly created versions should be activated automatically                   | true    |\n| domains              | true     | List of domain names to serve as entry points for your service                                |         |\n| backends             | true     | List of backends to service requests from your domains                                        |         |\n| cache_settings       | false    | List of cache settings                                                                        |         |\n| conditions           | false    | List of conditions                                                                            |         |\n| directors            | false    | List of directors                                                                             |         |\n| gzips                | false    | List of gzip configurations                                                                   |         |\n| headers              | false    | List of headers to manipulate for each request                                                |         |\n| healthchecks         | false    | List of healthchecks for the backend purpose                                                  |         |\n| request_settings     | false    | List of request settings                                                                      |         |\n| response_objects     | false    | List of response objects                                                                      |         |\n| settings             | false    | Settings object                                                                               |         |\n| s3s                  | false    | List of S3 loggers                                                                            |         |\n| syslogs              | false    | List of Syslog loggers                                                                        |         |\n| vcl_snippets         | false    | List of VCL snippets                                                                          |         |\n\n### Backend\n\n[Fastly documentation](https://docs.fastly.com/api/config#backend)\n\n| Field                 | Required | Type                                              | Default |\n|:----------------------|:---------|:--------------------------------------------------|:--------|\n| name                  | true     | string                                            |         |\n| port                  | false    | integer                                           | 80      |\n| address               | true     | string                                            |         |\n| ssl_hostname          | false    | string                                            |         |\n| ssl_ca_cert           | false    | string                                            |         |\n| ssl_cert_hostname     | false    | string                                            |         |\n| shield                | false    | string                                            |         |\n| healthcheck           | false    | string                                            |         |\n| weight                | false    | integer                                           | 100     |\n| connect_timeout       | false    | integer                                           | 1000    |\n| first_byte_timeout    | false    | integer                                           | 15000   |\n| between_bytes_timeout | false    | integer                                           | 10000   |\n| error_threshold       | false    | integer                                           | 0       |\n| max_conn              | false    | integer                                           | 200     |\n\n### Cache Settings\n\n[Fastly documentation](https://docs.fastly.com/api/config#cache_settings)\n\n| Field           | Required | Type                                                    | Default |\n|:----------------|:---------|:--------------------------------------------------------|:--------|\n| name            | true     | string                                                  |         |\n| action          | false    | enum ('cache', 'pass', 'restart')                       |         |\n| cache_condition | false    | string                                                  |         |\n| stale_ttl       | false    | integer                                                 | 0       |\n\n### Condition\n\n[Fastly documentation](https://docs.fastly.com/api/config#condition)\n\n| Field     | Required | Type                                                    | Default |\n|:----------|:---------|:--------------------------------------------------------|:--------|\n| name      | true     | string                                                  |         |\n| comment   | false    | string                                                  |         |\n| priority  | false    | integer                                                 | 0       |\n| statement | true     | string                                                  |         |\n| type      | true     | enum ('REQUEST', 'PREFETCH', 'CACHE', 'RESPONSE')       |         |\n\n### Director\n\n[Fastly documentation](https://docs.fastly.com/api/config#director)\n\n| Field     | Required | Type                                                    | Default |\n|:----------|:---------|:--------------------------------------------------------|:--------|\n| name      | true     | string                                                  |         |\n| backends  | false    | array of strings                                        |         |\n| capacity  | false    | integer                                                 | 100     |\n| comment   | false    | string                                                  | ''      |\n| quorum    | false    | integer                                                 | 75      |\n| shield    | false    | string                                                  |         |\n| type      | false    | integer (one of [1,2,3,4])                              | 1       |\n| retries   | false    | integer                                                 | 5       |\n\n### Header\n\n[Fastly documentation](https://docs.fastly.com/api/config#header)\n\n| Field              | Required | Type                                                      | Default |\n|:-------------------|:---------|:----------------------------------------------------------|:--------|\n| name               | true     | string                                                    |         |\n| action             | false    | enum ('set', 'append', 'delete', 'regex', 'regex_repeat') | set     |\n| dst                | true     | string                                                    |         |\n| ignore_if_set      | false    | integer (one of [0,1])                                    | 0       |\n| priority           | false    | integer                                                   | 100     |\n| regex              | false    | string                                                    |         |\n| request_condition  | false    | string                                                    |         |\n| response_condition | false    | string                                                    |         |\n| cache_condition    | false    | string                                                    |         |\n| src                | true     | string                                                    |         |\n| substitution       | false    | string                                                    |         |\n| type               | true     | enum ('request', 'fetch', 'cache', 'response')            |         |\n\n### Healthcheck\n\n[Fastly documentation](https://docs.fastly.com/api/config#healthcheck)\n\n| Field              | Required | Type                                                      | Default |\n|:-------------------|:---------|:----------------------------------------------------------|:--------|\n| name               | true     | string                                                    |         |\n| check_interval     | false    | integer                                                   |         |\n| comment            | false    | string                                                    | ''      |\n| expected_response  | false    | integer                                                   | 200     |\n| host               | true     | string                                                    |         |\n| http_version       | false    | string                                                    | 1.1     |\n| initial            | false    | integer                                                   |         |\n| method             | false    | string                                                    | HEAD    |\n| path               | false    | string                                                    | '/'     |\n| threshold          | false    | integer                                                   |         |\n| timeout            | false    | integer                                                   |         |\n| window             | false    | integer                                                   |         |\n\n### Request Setting\n\n[Fastly documentation](https://docs.fastly.com/api/config#request_setting)\n\n| Field             | Required | Type                                                         | Default |\n|:------------------|:---------|:-------------------------------------------------------------|:--------|\n| name              | true     | string                                                       |         |\n| request_condition | false    | string                                                       |         |\n| action            | false    | enum ('lookup', 'pass')                                      |         |\n| xff               | false    | enum ('clear', 'leave', 'append', 'append_all', 'overwrite') |         |\n| hash_keys         | false    | string                                                       |         |\n| default_host      | false    | string                                                       |         |\n| max_stale_age     | false    | integer                                                      | 0       |\n| force_miss        | false    | integer                                                      | 0       |\n| force_ssl         | false    | integer                                                      | 0       |\n| timer_support     | false    | integer                                                      | 0       |\n| geo_headers       | false    | integer                                                      | 0       |\n| bypass_busy_wait  | false    | integer                                                      | 0       |\n\n### Response Object\n\n[Fastly documentation](https://docs.fastly.com/api/config#response_object)\n\n| Field             | Required | Type                                                      | Default |\n|:------------------|:---------|:----------------------------------------------------------|:--------|\n| name              | true     | string                                                    |         |\n| request_condition | false    | string                                                    |         |\n| response          | false    | string                                                    | Ok      |\n| status            | false    | integer                                                   | 200     |\n| content           | false    | string                                                    |         |\n| content_type      | false    | string                                                    |         |\n\n### VCL Snippets\n\n[Fastly documentation](https://docs.fastly.com/api/config#snippet)\n\n| Field     | Required | Type                                    | Default |\n|:----------|:---------|:----------------------------------------|:--------|\n| name      | true     | string                                  |         |\n| dynamic   | false    | integer                                 | 0       |\n| type      | false    | string                                  | \"init\"  |\n| content   | true     | string                                  |         |\n| priority  | false    | integer                                 | 100     |\n\n### S3 Logging\n\n[Fastly documentation](https://docs.fastly.com/api/logging#logging_s3)\n\n| Field                             | Required | Type                                           | Default                              |\n|:----------------------------------|:---------|:-----------------------------------------------|:-------------------------------------|\n| name                              | true     | string                                         |                                      |\n| access_key                        | false    | string                                         |                                      |\n| bucket_name                       | false    | string                                         |                                      |\n| domain                            | false    | string                                         |                                      |\n| format                            | false    | string                                         | %{%Y-%m-%dT%H:%M:%S}t %h \"%r\" %\u003es %b |\n| format_version                    | false    | integer                                        | 2                                    |\n| gzip_level                        | false    | integer                                        | 0                                    |\n| message_type                      | false    | enum ('classic', 'loggly', 'logplex', 'blank') | classic                              |\n| path                              | false    | string                                         | /                                    |\n| period                            | false    | integer                                        | 3600                                 |\n| placement                         | false    | string                                         |                                      |\n| redundancy                        | false    | string                                         |                                      |\n| response_condition                | false    | string                                         | ''                                   |\n| secret_key                        | false    | string                                         |                                      |\n| server_side_encryption_kms_key_id | false    | string                                         |                                      |\n| server_side_encryption            | fasle    | string                                         |                                      |\n| timestamp_format                  | false    | string                                         | %Y-%m-%dT%H                          |\n\n### Syslog Logging\n\n[Fastly documentation](https://docs.fastly.com/api/logging#logging_syslog)\n\n| Field                             | Required | Type                                           | Default                              |\n|:----------------------------------|:---------|:-----------------------------------------------|:-------------------------------------|\n| name                              | true     | string                                         |                                      |\n| address                           | true     | string                                         |                                      |\n| format                            | false    | string                                         | %{%Y-%m-%dT%H:%M:%S}t %h \"%r\" %\u003es %b |\n| format_version                    | false    | integer                                        | 2                                    |\n| hostname                          | false    | string                                         |                                      |\n| ipv4                              | false    | string                                         |                                      |\n| message_type                      | false    | enum ('classic', 'loggly', 'logplex', 'blank') | classic                              |\n| placement                         | false    | string                                         |                                      |\n| port                              | true     | int                                            |                                      |\n| response_condition                | false    | string                                         | ''                                   |\n| tls_ca_cert                       | false    | string                                         |                                      |\n| tls_hostname                      | false    | string                                         |                                      |\n| token                             | false    | string                                         |                                      |\n| use_tls                           | false    | int                                            | 0                                    |\n\n\n### Settings\n\n[Fastly documentation](https://docs.fastly.com/api/config#settings)\n\n| Field               | Required | Type                                                      | Default |\n|:--------------------|:---------|:----------------------------------------------------------|:--------|\n| general.default_ttl | false    | integer                                                   | 3600    |\n\n\n## Examples\n\n### Using the fastly_service module in a Playbook\n\n``` yml\n---\n- hosts: localhost\n  connection: local\n  gather_facts: False\n  roles:\n    - Jimdo.fastly\n  tasks:\n    - fastly_service:\n        name: Redirect service\n        domains:\n          - name: test1.example.net\n            comment: redirect domain\n        backends:\n          - name: localhost\n            port: 80\n            address: 127.0.0.1\n        headers:\n          - name: Set Location header\n            dst: http.Location\n            type: response\n            action: set\n            src: http://test3.example.net req.url.path\n            ignore_if_set: 0\n            priority: 10\n        response_objects:\n          - name: Set 301 status code\n            status: 301\n```\n\n``` bash\n$ ansible-playbook -i localhost, fastly.yml\n```\n\n## Development\n\n### Running the tests\n```\nFASTLY_API_KEY=some_secret python -m unittest discover tests\n```\n\n#### Updating the VCR cassettes\n[VCR.py](https://vcrpy.readthedocs.io/en/latest/) is used in the tests for mocking HTTP requests.\n\nIn order to update the cassettes just delete the `tests/fixtures/cassettes` directory and run the tests as usual. You have to use a valid Fastly API key for the recording to work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimdo%2Fansible-fastly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimdo%2Fansible-fastly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimdo%2Fansible-fastly/lists"}