├── .github ├── CODEOWNERS ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── lock.yml ├── reaction.yml └── workflows │ ├── dependabot_changelog_update.yml │ └── pr_test.yml ├── .gitignore ├── .golangci.yaml ├── CHANGELOG.md ├── CHANGELOG_HISTORY.md ├── CONTRIBUTING.md ├── DEVELOPMENT.md ├── EXAMPLES.md ├── LICENSE ├── Makefile ├── README.md ├── RELEASE.md ├── TESTING.md ├── fastly ├── account_event_test.go ├── account_events.go ├── acl.go ├── acl_entries_batch_test.go ├── acl_entry.go ├── acl_entry_test.go ├── acl_test.go ├── alerts.go ├── alerts_test.go ├── automation_token.go ├── automation_token_test.go ├── backend.go ├── backend_test.go ├── billing.go ├── client.go ├── client_test.go ├── compute_package.go ├── compute_package_test.go ├── computeacls │ ├── api_create.go │ ├── api_delete.go │ ├── api_describe.go │ ├── api_list_acls.go │ ├── api_list_entries.go │ ├── api_lookup.go │ ├── api_response.go │ ├── api_test.go │ ├── api_update.go │ ├── doc.go │ └── fixtures │ │ ├── create_acl.yaml │ │ ├── delete_acl.yaml │ │ ├── describe_acl.yaml │ │ ├── list_acls.yaml │ │ ├── list_entries.yaml │ │ ├── lookup_entries.yaml │ │ ├── lookup_non_existing_ip.yaml │ │ └── update_acl.yaml ├── config_store.go ├── config_store_item.go ├── config_store_item_batch_test.go ├── config_store_item_test.go ├── config_store_test.go ├── datacenters.go ├── datacenters_test.go ├── dictionary.go ├── dictionary_info.go ├── dictionary_info_test.go ├── dictionary_item.go ├── dictionary_item_batch_test.go ├── dictionary_item_test.go ├── dictionary_test.go ├── diff.go ├── diff_test.go ├── domain.go ├── domain_test.go ├── domains │ ├── doc.go │ └── v1 │ │ ├── api_create.go │ │ ├── api_delete.go │ │ ├── api_get.go │ │ ├── api_list.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── api_update.go │ │ ├── doc.go │ │ ├── fixtures │ │ ├── create.yaml │ │ ├── create_duplicate.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ │ └── tools │ │ ├── doc.go │ │ ├── status │ │ ├── api_get.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── get.yaml │ │ │ ├── get_error.yaml │ │ │ ├── get_estimate.yaml │ │ │ └── get_offers.yaml │ │ └── suggest │ │ ├── api_get.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ └── get.yaml ├── edge_check.go ├── edge_check_test.go ├── errors.go ├── errors_test.go ├── example_ratelimit_test.go ├── fastly.go ├── fastly_test_utils.go ├── fixtures │ ├── acl_entries │ │ ├── acl.yaml │ │ ├── create.yaml │ │ ├── create_service.yaml │ │ ├── delete.yaml │ │ ├── delete_acl.yaml │ │ ├── delete_service.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── list2.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── acl_entries_batch │ │ ├── create │ │ │ ├── create_acl.yaml │ │ │ ├── create_acl_entries.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_acl.yaml │ │ │ ├── delete_service.yaml │ │ │ └── list_after_create.yaml │ │ ├── delete │ │ │ ├── create_acl.yaml │ │ │ ├── create_acl_entries.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_acl.yaml │ │ │ ├── delete_acl_entries.yaml │ │ │ ├── delete_service.yaml │ │ │ ├── list_after_delete.yaml │ │ │ └── list_before_delete.yaml │ │ └── update │ │ │ ├── create_acl.yaml │ │ │ ├── create_acl_entries.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_acl.yaml │ │ │ ├── delete_service.yaml │ │ │ ├── list_after_update.yaml │ │ │ ├── list_before_update.yaml │ │ │ └── update_acl_entries.yaml │ ├── acls │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create_expected_error.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── alerts │ │ ├── cleanup_alert_definition.yaml │ │ ├── cleanup_alert_definition_stats_percent.yaml │ │ ├── create_alert_definition.yaml │ │ ├── create_alert_definition_stats_percent.yaml │ │ ├── delete_alert_definition.yaml │ │ ├── disable_required_product.yaml │ │ ├── enable_required_product.yaml │ │ ├── get_alert_definition.yaml │ │ ├── list_alert_definitions.yaml │ │ ├── list_alert_history.yaml │ │ ├── test_alert_definition.yaml │ │ └── update_alert_definition.yaml │ ├── automation_tokens │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ └── list.yaml │ ├── backends │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update_allow_empty_values.yaml │ │ ├── update_ignore_empty_values.yaml │ │ └── version.yaml │ ├── bigqueries │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── blobstorages │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── cache_settings │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── cloudfiles │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── conditions │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── config_store │ │ ├── TestClient_CreateConfigStore │ │ │ ├── create_store.yaml │ │ │ └── delete_store.yaml │ │ ├── TestClient_DeleteConfigStore │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ └── delete_store_404.yaml │ │ ├── TestClient_GetConfigStore │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ ├── get_store.yaml │ │ │ └── get_store_404.yaml │ │ ├── TestClient_GetConfigStoreMetadata │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ ├── get_store_metadata.yaml │ │ │ └── get_store_metadata_404.yaml │ │ ├── TestClient_ListConfigStoreServices │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ └── list_services.yaml │ │ ├── TestClient_ListConfigStores │ │ │ ├── create_stores.yaml │ │ │ ├── delete_stores.yaml │ │ │ ├── empty.yaml │ │ │ ├── list-with-name.yaml │ │ │ └── list.yaml │ │ └── TestClient_UpdateConfigStore │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ └── update_store.yaml │ ├── config_store_batch │ │ ├── TestClient_ConfigStoreBatch │ │ │ ├── create_store.yaml │ │ │ └── delete_store.yaml │ │ ├── create_and_upsert.yaml │ │ ├── delete.yaml │ │ └── update_and_upsert.yaml │ ├── config_store_item │ │ ├── TestClient_CreateConfigStoreItem │ │ │ ├── create_item.yaml │ │ │ ├── create_store.yaml │ │ │ └── delete_store.yaml │ │ ├── TestClient_DeleteConfigStoreItem │ │ │ ├── create_item.yaml │ │ │ ├── create_store.yaml │ │ │ ├── delete_item.yaml │ │ │ └── delete_store.yaml │ │ ├── TestClient_GetConfigStoreItem │ │ │ ├── create_item.yaml │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ └── get_item.yaml │ │ ├── TestClient_ListConfigStoreItems │ │ │ ├── create_items.yaml │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ └── list_items.yaml │ │ └── TestClient_UpdateConfigStoreItem │ │ │ ├── create_and_update_item.yaml │ │ │ ├── create_store.yaml │ │ │ ├── delete_store.yaml │ │ │ └── upsert_item.yaml │ ├── content │ │ └── check.yaml │ ├── custom_tls │ │ ├── create-key.yaml │ │ ├── create.yaml │ │ ├── delete-cert.yaml │ │ ├── delete-key.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ ├── custom_tls_activation │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ ├── custom_tls_configuration │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ ├── custom_tls_domain │ │ └── list.yaml │ ├── datacenters │ │ └── list.yaml │ ├── datadog │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── dictionaries │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── dictionary_info │ │ ├── create_dictionary_items.yaml │ │ ├── create_service.yaml │ │ ├── delete_dictionary.yaml │ │ ├── delete_service.yaml │ │ ├── dictionary.yaml │ │ ├── get.yaml │ │ └── version.yaml │ ├── dictionary_items │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create_service.yaml │ │ ├── delete.yaml │ │ ├── delete_dictionary.yaml │ │ ├── delete_service.yaml │ │ ├── dictionary.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── list2.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── dictionary_items_batch │ │ ├── create │ │ │ ├── create_dictionary.yaml │ │ │ ├── create_dictionary_items.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_dictionary.yaml │ │ │ ├── delete_service.yaml │ │ │ └── list_after_create.yaml │ │ ├── delete │ │ │ ├── create_dictionary.yaml │ │ │ ├── create_dictionary_items.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_dictionary.yaml │ │ │ ├── delete_dictionary_items.yaml │ │ │ ├── delete_service.yaml │ │ │ └── list_after_delete.yaml │ │ ├── update │ │ │ ├── create_dictionary.yaml │ │ │ ├── create_dictionary_items.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_dictionary.yaml │ │ │ ├── delete_service.yaml │ │ │ ├── list_after_update.yaml │ │ │ └── update_dictionary_items.yaml │ │ └── upsert │ │ │ ├── create_dictionary.yaml │ │ │ ├── create_dictionary_items.yaml │ │ │ ├── create_service.yaml │ │ │ ├── create_version.yaml │ │ │ ├── delete_dictionary.yaml │ │ │ ├── delete_service.yaml │ │ │ ├── list_after_upsert.yaml │ │ │ └── upsert_dictionary_items.yaml │ ├── diff │ │ ├── cleanup.yaml │ │ ├── create_backend.yaml │ │ ├── get.yaml │ │ ├── get_again.yaml │ │ ├── version_1.yaml │ │ └── version_2.yaml │ ├── digitaloceans │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── director_backends │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ └── version.yaml │ ├── directors │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── domain_inspector │ │ └── metrics_for_service.yaml │ ├── domains │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── validate-all.yaml │ │ ├── validation.yaml │ │ └── version.yaml │ ├── elasticsearch │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── erls │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── logger_cleanup.yaml │ │ ├── logger_create.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── events │ │ ├── get_event.yaml │ │ └── get_events.yaml │ ├── ftps │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── gcses │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── grafanacloudlogs │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── gzips │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create_omissions.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── headers │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── health_checks │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── herokus │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── honeycombs │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── http3 │ │ ├── disable.yaml │ │ ├── enable.yaml │ │ ├── get-disabled.yaml │ │ ├── get.yaml │ │ └── version.yaml │ ├── https │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── ips │ │ └── list.yaml │ ├── kafkas │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── kinesis │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── get2.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ ├── update4.yaml │ │ └── version.yaml │ ├── kv_store │ │ ├── TestClient_CreateKVStoresWithLocations │ │ │ ├── create_stores.yaml │ │ │ └── delete_stores.yaml │ │ ├── batch-create-keys.yaml │ │ ├── check-keys.yaml │ │ ├── cleanup.yaml │ │ ├── create-keys.yaml │ │ ├── create-store.yaml │ │ ├── delete-item-generation-match-failure.yaml │ │ ├── delete-item-nonexistent-suppress-error.yaml │ │ ├── get-item-round-1.yaml │ │ ├── get-item-round-2.yaml │ │ ├── get-item-round-3.yaml │ │ ├── get-store.yaml │ │ ├── insert-item-add-failure.yaml │ │ ├── insert-item-append.yaml │ │ ├── insert-item-generation-match-failure.yaml │ │ ├── insert-item-prepend-set-metadata.yaml │ │ ├── list-keys-pagination.yaml │ │ ├── list-keys-prefix.yaml │ │ ├── list-keys.yaml │ │ └── list-store.yaml │ ├── logentries │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── loggly │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── logshuttles │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── managed_logging │ │ ├── create.yaml │ │ ├── delete.yaml │ │ └── recreate.yaml │ ├── mutual_authentication │ │ ├── create-cert.yaml │ │ ├── create-key.yaml │ │ ├── create-tma.yaml │ │ ├── delete-cert.yaml │ │ ├── delete-key.yaml │ │ ├── delete-tma.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ ├── newrelic │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── get2.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ └── version.yaml │ ├── newrelicotlp │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── notifications │ │ ├── cleanup_integration.yaml │ │ ├── create_integration.yaml │ │ ├── create_mailinglist_confirmation.yaml │ │ ├── delete_integration.yaml │ │ ├── get_integration.yaml │ │ ├── get_integration_types.yaml │ │ ├── get_webhook_signing_key.yaml │ │ ├── rotate_webhook_signing_key.yaml │ │ ├── search_integrations.yaml │ │ └── update_integration.yaml │ ├── observability_custom_dashboards │ │ ├── create_custom_dashboard.yaml │ │ ├── delete_custom_dashboard.yaml │ │ ├── get_custom_dashboard.yaml │ │ ├── list_custom_dashboards.yaml │ │ └── update_custom_dashboard.yaml │ ├── openstack │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── origin_inspector │ │ └── metrics_for_service.yaml │ ├── package │ │ ├── get.yaml │ │ ├── service_create.yaml │ │ ├── service_delete.yaml │ │ ├── service_version.yaml │ │ ├── update.yaml │ │ └── update_invalid.yaml │ ├── papertrails │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── platform_tls │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ ├── pools │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── product_enablement │ │ ├── disable_bot_management.yaml │ │ ├── disable_brotli_compression.yaml │ │ ├── disable_domain_inspector.yaml │ │ ├── disable_fanout.yaml │ │ ├── disable_image_optimizer.yaml │ │ ├── disable_log_explorer_insights.yaml │ │ ├── disable_origin_inspector.yaml │ │ ├── disable_websockets.yaml │ │ ├── enable_bot_management.yaml │ │ ├── enable_brotli_compression.yaml │ │ ├── enable_domain_inspector.yaml │ │ ├── enable_fanout.yaml │ │ ├── enable_image_optimizer.yaml │ │ ├── enable_log_explorer_insights.yaml │ │ ├── enable_origin_inspector.yaml │ │ ├── enable_websockets.yaml │ │ ├── get-disabled_bot_management.yaml │ │ ├── get-disabled_brotli_compression.yaml │ │ ├── get-disabled_domain_inspector.yaml │ │ ├── get-disabled_fanout.yaml │ │ ├── get-disabled_image_optimizer.yaml │ │ ├── get-disabled_log_explorer_insights.yaml │ │ ├── get-disabled_origin_inspector.yaml │ │ ├── get-disabled_websockets.yaml │ │ ├── get_bot_management.yaml │ │ ├── get_brotli_compression.yaml │ │ ├── get_domain_inspector.yaml │ │ ├── get_fanout.yaml │ │ ├── get_image_optimizer.yaml │ │ ├── get_log_explorer_insights.yaml │ │ ├── get_origin_inspector.yaml │ │ └── get_websockets.yaml │ ├── pubsubs │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── purges │ │ ├── purge_all.yaml │ │ ├── purge_by_key.yaml │ │ └── purge_by_keys.yaml │ ├── realtime_stats │ │ └── get.yaml │ ├── request_settings │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update-2.yaml │ │ ├── update-3.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── resources │ │ ├── cleanup-kv-store.yaml │ │ ├── cleanup.yaml │ │ ├── create-kv-store.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── response_objects │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── s3s │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── create5.yaml │ │ ├── create6.yaml │ │ ├── create7.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── get2.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ ├── update4.yaml │ │ ├── update5.yaml │ │ ├── update6.yaml │ │ └── version.yaml │ ├── scalyrs │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── secret_store │ │ ├── TestClient_CreateOrRecreateSecret.yaml │ │ ├── TestClient_CreateOrRecreateSecret │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ │ ├── TestClient_CreateSecret.yaml │ │ ├── TestClient_CreateSecret │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ │ ├── TestClient_CreateSecretStore.yaml │ │ ├── TestClient_CreateSecretStore │ │ │ └── delete_store.yaml │ │ ├── TestClient_CreateSecret_clientEncryption │ │ │ ├── create_client_key.yaml │ │ │ ├── create_secret.yaml │ │ │ ├── create_store_00.yaml │ │ │ ├── delete_store_00.yaml │ │ │ └── get_signing_key.yaml │ │ ├── TestClient_DeleteSecret.yaml │ │ ├── TestClient_DeleteSecret │ │ │ ├── create_secret.yaml │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ │ ├── TestClient_DeleteSecretStore.yaml │ │ ├── TestClient_DeleteSecretStore │ │ │ └── create_store.yaml │ │ ├── TestClient_GetSecret.yaml │ │ ├── TestClient_GetSecret │ │ │ ├── create_secret.yaml │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ │ ├── TestClient_GetSecretStore.yaml │ │ ├── TestClient_GetSecretStore │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ │ ├── TestClient_ListSecretStores.yaml │ │ ├── TestClient_ListSecretStores │ │ │ ├── create_store_00.yaml │ │ │ ├── create_store_01.yaml │ │ │ ├── create_store_02.yaml │ │ │ ├── create_store_03.yaml │ │ │ ├── create_store_04.yaml │ │ │ ├── delete_store_00.yaml │ │ │ ├── delete_store_01.yaml │ │ │ ├── delete_store_02.yaml │ │ │ ├── delete_store_03.yaml │ │ │ ├── delete_store_04.yaml │ │ │ └── list-with-name.yaml │ │ ├── TestClient_ListSecrets.yaml │ │ ├── TestClient_ListSecrets │ │ │ ├── create_secret_00.yaml │ │ │ ├── create_secret_01.yaml │ │ │ ├── create_secret_02.yaml │ │ │ ├── create_secret_03.yaml │ │ │ ├── create_secret_04.yaml │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ │ ├── TestClient_RecreateSecret.yaml │ │ └── TestClient_RecreateSecret │ │ │ ├── create_store_00.yaml │ │ │ └── delete_store_00.yaml │ ├── servers │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create_pool.yaml │ │ ├── delete.yaml │ │ ├── delete_pool.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── service_authorizations │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ └── update.yaml │ ├── services │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── details.yaml │ │ ├── domain.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── list_paginator.yaml │ │ ├── search.yaml │ │ └── update.yaml │ ├── settings │ │ ├── get.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── sftps │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── create2.yaml │ │ ├── create3.yaml │ │ ├── create4.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ ├── update2.yaml │ │ ├── update3.yaml │ │ └── version.yaml │ ├── splunks │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── stats │ │ ├── aggregate.yaml │ │ ├── regions.yaml │ │ ├── regions_usage.yaml │ │ ├── service_stats.yaml │ │ ├── service_stats_by_field.yaml │ │ ├── service_stats_by_field_and_service.yaml │ │ └── services_usage.yaml │ ├── sumologics │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── syslogs │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── tls │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ └── list.yaml │ ├── tls_subscription │ │ ├── activate_version.yaml │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── domains │ │ │ ├── create.yaml │ │ │ └── create2.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ ├── tokens │ │ ├── create.yaml │ │ ├── create_and_bulk_delete.yaml │ │ ├── delete.yaml │ │ ├── delete_self.yaml │ │ ├── get_self.yaml │ │ ├── list.yaml │ │ └── list_customer.yaml │ ├── users │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── get_current_user.yaml │ │ ├── list.yaml │ │ ├── reset_password.yaml │ │ └── update.yaml │ ├── vcl_snippets │ │ ├── create_with_all_fields.yaml │ │ ├── create_with_required_fields_only.yaml │ │ ├── delete_dynamic.yaml │ │ ├── delete_versioned.yaml │ │ ├── get_dynamic.yaml │ │ ├── get_versioned.yaml │ │ ├── list.yaml │ │ ├── update_dynamic.yaml │ │ ├── update_versioned.yaml │ │ └── version.yaml │ ├── vcls │ │ ├── activate.yaml │ │ ├── cleanup.yaml │ │ ├── create.yaml │ │ ├── delete.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── update.yaml │ │ └── version.yaml │ └── versions │ │ ├── clone.yaml │ │ ├── create.yaml │ │ ├── get.yaml │ │ ├── list.yaml │ │ ├── lock.yaml │ │ └── update.yaml ├── health_check.go ├── health_check_test.go ├── helpers.go ├── helpers_test.go ├── image_optimizer_default_settings.go ├── imageoptimizerdefaultsettings │ ├── fixtures │ │ ├── disable_product.yaml │ │ ├── enable_product.yaml │ │ ├── final_reset.yaml │ │ ├── incorrect_fetch.yaml │ │ ├── original_fetch.yaml │ │ ├── set_full.yaml │ │ ├── set_jpeg_type │ │ │ ├── auto.yaml │ │ │ ├── baseline.yaml │ │ │ └── progressive.yaml │ │ ├── set_resize_filter │ │ │ ├── bicubic.yaml │ │ │ ├── bilinear.yaml │ │ │ ├── lanczos2.yaml │ │ │ ├── lanczos3.yaml │ │ │ └── nearest.yaml │ │ ├── update_1_get.yaml │ │ ├── update_1_patch.yaml │ │ ├── update_2_get.yaml │ │ ├── update_2_patch.yaml │ │ └── version.yaml │ └── image_optimizer_default_settings_test.go ├── ip.go ├── ip_test.go ├── kv_store.go ├── kv_store_test.go ├── load_balance_pool.go ├── load_balance_pool_test.go ├── load_balancer_director.go ├── load_balancer_director_backend.go ├── load_balancer_director_backend_test.go ├── load_balancer_director_test.go ├── load_balancer_server.go ├── load_balancer_server_test.go ├── logging_bigquery.go ├── logging_bigquery_test.go ├── logging_blobstorage.go ├── logging_blobstorage_test.go ├── logging_cloudfiles.go ├── logging_cloudfiles_test.go ├── logging_datadog.go ├── logging_datadog_test.go ├── logging_digitalocean.go ├── logging_digitalocean_test.go ├── logging_elasticsearch.go ├── logging_elasticsearch_test.go ├── logging_ftp.go ├── logging_ftp_test.go ├── logging_gcs.go ├── logging_gcs_test.go ├── logging_grafanacloudlogs.go ├── logging_grafanacloudlogs_test.go ├── logging_heroku.go ├── logging_heroku_test.go ├── logging_honeycomb.go ├── logging_honeycomb_test.go ├── logging_https.go ├── logging_https_test.go ├── logging_kafka.go ├── logging_kafka_test.go ├── logging_kinesis.go ├── logging_kinesis_test.go ├── logging_logentries.go ├── logging_logentries_test.go ├── logging_loggly.go ├── logging_loggly_test.go ├── logging_logshuttle.go ├── logging_logshuttle_test.go ├── logging_newrelic.go ├── logging_newrelic_test.go ├── logging_newrelicotlp.go ├── logging_newrelicotlp_test.go ├── logging_openstack.go ├── logging_openstack_test.go ├── logging_papertrail.go ├── logging_papertrail_test.go ├── logging_pubsub.go ├── logging_pubsub_test.go ├── logging_s3.go ├── logging_s3_test.go ├── logging_scalyr.go ├── logging_scalyr_test.go ├── logging_sftp.go ├── logging_sftp_test.go ├── logging_splunk.go ├── logging_splunk_test.go ├── logging_sumologic.go ├── logging_sumologic_test.go ├── logging_syslog.go ├── logging_syslog_test.go ├── managed_logging.go ├── managed_logging_test.go ├── ngwaf │ ├── doc.go │ └── v1 │ │ ├── doc.go │ │ ├── events │ │ ├── api_expire.go │ │ ├── api_get.go │ │ ├── api_list.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── expire_event.yaml │ │ │ ├── get_event.yaml │ │ │ └── list_event.yaml │ │ ├── redactions │ │ ├── api_create.go │ │ ├── api_delete.go │ │ ├── api_get.go │ │ ├── api_list.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── api_update.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── create_redaction.yaml │ │ │ ├── delete_redaction.yaml │ │ │ ├── get_redaction.yaml │ │ │ ├── list_redaction.yaml │ │ │ └── update_redaction.yaml │ │ ├── timeseries │ │ ├── api_get.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ └── get_timeseries.yaml │ │ ├── virtualpatches │ │ ├── api_get.go │ │ ├── api_list.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── api_update.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── get_virtualpatch.yaml │ │ │ ├── list_virtualpatches.yaml │ │ │ └── update_virtualpatch.yaml │ │ └── workspaces │ │ ├── api_create.go │ │ ├── api_delete.go │ │ ├── api_get.go │ │ ├── api_list.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── api_update.go │ │ ├── doc.go │ │ └── fixtures │ │ ├── create_workspace.yaml │ │ ├── delete_workspace.yaml │ │ ├── get_workspace.yaml │ │ ├── list_workspaces.yaml │ │ └── update_workspace.yaml ├── notifications.go ├── notifications_test.go ├── objectstorage │ ├── accesskeys │ │ ├── api_create.go │ │ ├── api_delete.go │ │ ├── api_get.go │ │ ├── api_list_access_keys.go │ │ ├── api_response.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── create.yaml │ │ │ ├── delete.yaml │ │ │ ├── get.yaml │ │ │ ├── list.yaml │ │ │ └── list_with_new.yaml │ └── doc.go ├── observability_custom_dashboard.go ├── observability_custom_dashboard_test.go ├── paginator.go ├── product_enablement.go ├── product_enablement_bot_management_test.go ├── product_enablement_brotli_compression_test.go ├── product_enablement_domain_inspector_test.go ├── product_enablement_fanout_test.go ├── product_enablement_image_optimizer_test.go ├── product_enablement_log_explorer_insights_test.go ├── product_enablement_origin_inspector_test.go ├── product_enablement_websockets_test.go ├── products │ ├── botmanagement │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── brotlicompression │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── ddosprotection │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ ├── get-before-enablement.yaml │ │ │ ├── get-configuration-after-update.yaml │ │ │ ├── get-configuration-default.yaml │ │ │ └── update-configuration.yaml │ ├── doc.go │ ├── domaininspector │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── fanout │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── imageoptimizer │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── logexplorerinsights │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── ngwaf │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ ├── get-before-enablement.yaml │ │ │ ├── get-configuration-after-update.yaml │ │ │ ├── get-configuration-default.yaml │ │ │ └── update-configuration.yaml │ ├── origininspector │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ │ ├── disable.yaml │ │ │ ├── enable.yaml │ │ │ ├── get-after-disablement.yaml │ │ │ ├── get-after-enablement.yaml │ │ │ └── get-before-enablement.yaml │ ├── types.go │ └── websockets │ │ ├── api.go │ │ ├── api_test.go │ │ ├── doc.go │ │ └── fixtures │ │ ├── disable-ensure-disabled-before-testing.yaml │ │ ├── disable.yaml │ │ ├── enable.yaml │ │ ├── get-after-disablement.yaml │ │ ├── get-after-enablement.yaml │ │ └── get-before-enablement.yaml ├── purge.go ├── purge_test.go ├── resource.go ├── resource_test.go ├── secret_store.go ├── secret_store_test.go ├── service_authorization.go ├── service_authorization_test.go ├── service_details.go ├── service_details_test.go ├── service_version.go ├── service_version_test.go ├── stats_domain_inspector.go ├── stats_domain_inspector_test.go ├── stats_historical.go ├── stats_historical_test.go ├── stats_origin_inspector.go ├── stats_origin_inspector_test.go ├── stats_realtime.go ├── stats_realtime_test.go ├── test_assets │ └── package │ │ ├── invalid.tar.gz │ │ └── valid.tar.gz ├── tls_custom_activation.go ├── tls_custom_activation_test.go ├── tls_custom_certificate.go ├── tls_custom_certificate_test.go ├── tls_custom_configuration.go ├── tls_custom_configuration_test.go ├── tls_custom_domain.go ├── tls_custom_domain_test.go ├── tls_mutual_authentication.go ├── tls_mutual_authentication_test.go ├── tls_platform.go ├── tls_platform_test.go ├── tls_private_keys.go ├── tls_private_keys_test.go ├── tls_subscription.go ├── tls_subscription_test.go ├── token.go ├── token_test.go ├── user.go ├── user_test.go ├── vcl_cache_setting.go ├── vcl_cache_setting_test.go ├── vcl_condition.go ├── vcl_condition_test.go ├── vcl_custom.go ├── vcl_custom_test.go ├── vcl_gzip.go ├── vcl_gzip_test.go ├── vcl_header.go ├── vcl_header_test.go ├── vcl_http3.go ├── vcl_http3_test.go ├── vcl_rate_limiter.go ├── vcl_rate_limiter_test.go ├── vcl_request_setting.go ├── vcl_request_setting_test.go ├── vcl_response_object.go ├── vcl_response_object_test.go ├── vcl_settings.go ├── vcl_settings_test.go ├── vcl_snippets.go └── vcl_snippets_test.go ├── go.mod ├── go.sum ├── internal ├── productcore │ ├── api_delete.go │ ├── api_get.go │ ├── api_patch.go │ ├── api_put.go │ ├── doc.go │ ├── functional_test_disable.go │ ├── functional_test_enable.go │ ├── functional_test_get.go │ ├── functional_test_get_configuration.go │ ├── functional_test_update_configuration.go │ ├── functional_test_utils.go │ ├── productcore_test.go │ └── utils.go └── test_utils │ ├── doc.go │ └── functional.go └── scripts ├── fixFixtures.sh └── tags.sh /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @fastly/developer-tools -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | All Submissions: 2 | 3 | * [ ] Have you followed the guidelines in our Contributing document? 4 | * [ ] Have you checked to ensure there aren't other open [Pull Requests](https://github.com/fastly/go-fastly/pulls) for the same update/change? 5 | 6 | 7 | 8 | ### New Feature Submissions: 9 | 10 | * [ ] Does your submission pass tests? 11 | 12 | ### Changes to Core Features: 13 | 14 | * [ ] Have you added an explanation of what your changes do and why you'd like us to include them? 15 | * [ ] Have you written new tests for your core changes, as applicable? 16 | * [ ] Have you successfully run tests with your changes locally? 17 | 18 | ### User Impact 19 | 20 | * [ ] What is the user impact of this change? 21 | 22 | ### Are there any considerations that need to be addressed for release? 23 | 24 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "gomod" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | allow: 8 | # Allow both direct and indirect updates for all packages. 9 | - dependency-type: "all" 10 | groups: 11 | go-dependencies: 12 | patterns: 13 | - "*" 14 | - package-ecosystem: "github-actions" 15 | directory: "/" 16 | schedule: 17 | interval: "weekly" 18 | groups: 19 | gha-dependencies: 20 | patterns: 21 | - "*" 22 | -------------------------------------------------------------------------------- /.github/lock.yml: -------------------------------------------------------------------------------- 1 | daysUntilLock: 90 2 | lockLabel: false 3 | lockComment: false 4 | -------------------------------------------------------------------------------- /.github/reaction.yml: -------------------------------------------------------------------------------- 1 | reactionComment: false 2 | -------------------------------------------------------------------------------- /.github/workflows/pr_test.yml: -------------------------------------------------------------------------------- 1 | on: 2 | pull_request: 3 | types: 4 | - opened 5 | - synchronize 6 | - reopened 7 | branches: 8 | - main 9 | name: Test 10 | jobs: 11 | changelog: 12 | if: github.actor != 'dependabot[bot]' 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: dangoslen/changelog-enforcer@v3 16 | golangci: 17 | name: lint 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@v4 21 | - uses: actions/setup-go@v5 22 | with: 23 | go-version: stable 24 | - name: golangci-lint 25 | uses: golangci/golangci-lint-action@v8 26 | with: 27 | version: v2.1 28 | test: 29 | strategy: 30 | matrix: 31 | go-version: [1.24.x] 32 | platform: [ubuntu-latest] 33 | runs-on: ${{ matrix.platform }} 34 | steps: 35 | - name: Checkout code 36 | uses: actions/checkout@v4 37 | - name: Install Go 38 | uses: actions/setup-go@v5 39 | with: 40 | go-version: ${{ matrix.go-version }} 41 | - name: Test 42 | run: make test 43 | shell: bash 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Go ### 2 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 3 | *.o 4 | *.a 5 | *.so 6 | *.idea/ 7 | # Folders 8 | _obj 9 | _test 10 | 11 | # Architecture specific extensions/prefixes 12 | *.[568vq] 13 | [568vq].out 14 | 15 | *.cgo1.go 16 | *.cgo2.c 17 | _cgo_defun.c 18 | _cgo_gotypes.go 19 | _cgo_export.* 20 | 21 | _testmain.go 22 | 23 | *.exe 24 | *.test 25 | *.prof 26 | 27 | bin/ 28 | pkg/ 29 | RELEASE_CHANGELOG.md 30 | 31 | .envrc 32 | 33 | # IDE specs 34 | *.iml 35 | 36 | # MAC 37 | .DS_Store 38 | 39 | -------------------------------------------------------------------------------- /.golangci.yaml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | run: 3 | modules-download-mode: readonly 4 | linters: 5 | enable: 6 | - durationcheck 7 | - errcheck 8 | - exhaustive 9 | - forcetypeassert 10 | - gocritic 11 | - godot 12 | - gosec 13 | - govet 14 | - ineffassign 15 | - makezero 16 | - misspell 17 | - nilerr 18 | - predeclared 19 | - revive 20 | - staticcheck 21 | - unconvert 22 | - unparam 23 | - unused 24 | settings: 25 | govet: 26 | enable: 27 | - nilness 28 | exclusions: 29 | generated: lax 30 | presets: 31 | - comments 32 | - common-false-positives 33 | - legacy 34 | - std-error-handling 35 | paths: 36 | - third_party$ 37 | - builtin$ 38 | - examples$ 39 | formatters: 40 | enable: 41 | - gofumpt 42 | - goimports 43 | settings: 44 | goimports: 45 | local-prefixes: 46 | - github.com/fastly 47 | exclusions: 48 | generated: lax 49 | paths: 50 | - third_party$ 51 | - builtin$ 52 | - examples$ -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | We're happy to receive feature requests and PRs. If your change is nontrivial, 4 | please open an [issue](https://github.com/fastly/go-fastly/issues/new) to discuss the 5 | idea and implementation strategy before submitting a PR. 6 | 7 | 1. Fork the repository. 8 | 2. Create an `upstream` remote. 9 | ```bash 10 | $ git remote add upstream git@github.com:fastly/go-fastly.git 11 | ``` 12 | 3. Create a feature branch. 13 | 4. Make changes. 14 | 5. Write tests. 15 | 6. Validate your change via the steps documented [in the README](./README.md#testing). 16 | 7. Run the linter and formatter `make all`. 17 | 1. You may need to install [golangci-lint](https://golangci-lint.run/welcome/install/) if you don't have it installed 18 | 8. Open a pull request against `upstream main`. 19 | 1. Once you have marked your PR as `Ready for Review` please do not force push to the branch 20 | 9. Add an entry in `CHANGELOG.md` in the `UNRELEASED` section under the appropriate heading with a link to the PR. 21 | 10. Celebrate :tada:! 22 | -------------------------------------------------------------------------------- /DEVELOPMENT.md: -------------------------------------------------------------------------------- 1 | # Development 2 | 3 | 1. Clone the project to your preferred directory, using your preferred method. 4 | 2. Download the module and accompanying developer tooling. 5 | 6 | ```bash 7 | $ go mod download 8 | ``` 9 | 10 | 3. Make changes. 11 | 4. Verify those changes. 12 | 13 | ```bash 14 | $ make all 15 | ``` 16 | 17 | ## Compute 18 | 19 | Support for the [Fastly Compute](https://www.fastly.com/products/edge-compute) platform is still in development. 20 | 21 | There are known issues with the use of Go's `reflect` package and for TinyGo support to mature. 22 | 23 | > **NOTE:** The go-fastly API client uses [github.com/mitchellh/mapstructure](https://github.com/mitchellh/mapstructure) 24 | 25 | If using standard Go (not TinyGo) then a usable client can be achieved with: 26 | 27 | ```go 28 | client, err := fastly.NewClient("FASTLY_API_KEY") 29 | client.HTTPClient.Transport = fsthttp.NewTransport("fastly") 30 | ``` 31 | 32 | This presumes you have a backend named `fastly` pointing to `https://api.fastly.com` 33 | -------------------------------------------------------------------------------- /fastly/computeacls/api_create.go: -------------------------------------------------------------------------------- 1 | package computeacls 2 | 3 | import ( 4 | "context" 5 | "encoding/json" 6 | "fmt" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | // CreateInput specifies the information needed for the Create() function to 12 | // perform the operation. 13 | type CreateInput struct { 14 | // Context, if supplied, will be used as the Request's context. 15 | Context *context.Context `json:"-"` 16 | // Name is the name of the compute ACL to create (required). 17 | Name *string `json:"name"` 18 | } 19 | 20 | // Create creates a new compute ACL. 21 | func Create(c *fastly.Client, i *CreateInput) (*ComputeACL, error) { 22 | if i.Name == nil { 23 | return nil, fastly.ErrMissingName 24 | } 25 | 26 | resp, err := c.PostJSON("/resources/acls", i, fastly.CreateRequestOptions(i.Context)) 27 | if err != nil { 28 | return nil, err 29 | } 30 | defer resp.Body.Close() 31 | 32 | var acl *ComputeACL 33 | if err := json.NewDecoder(resp.Body).Decode(&acl); err != nil { 34 | return nil, fmt.Errorf("failed to decode json response: %w", err) 35 | } 36 | 37 | return acl, nil 38 | } 39 | -------------------------------------------------------------------------------- /fastly/computeacls/api_delete.go: -------------------------------------------------------------------------------- 1 | package computeacls 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // DeleteInput specifies the information needed for the Delete() function to 11 | // perform the operation. 12 | type DeleteInput struct { 13 | // Context, if supplied, will be used as the Request's context. 14 | Context *context.Context 15 | // ComputeACLID is an ACL Identifier (required). 16 | ComputeACLID *string 17 | } 18 | 19 | // DeleteComputeACL deletes the specified compute ACL. 20 | func Delete(c *fastly.Client, i *DeleteInput) error { 21 | if i.ComputeACLID == nil { 22 | return fastly.ErrMissingComputeACLID 23 | } 24 | 25 | path := fastly.ToSafeURL("resources", "acls", *i.ComputeACLID) 26 | 27 | resp, err := c.Delete(path, fastly.CreateRequestOptions(i.Context)) 28 | if err != nil { 29 | return err 30 | } 31 | defer resp.Body.Close() 32 | 33 | if resp.StatusCode != http.StatusOK { 34 | return fastly.NewHTTPError(resp) 35 | } 36 | 37 | return nil 38 | } 39 | -------------------------------------------------------------------------------- /fastly/computeacls/api_describe.go: -------------------------------------------------------------------------------- 1 | package computeacls 2 | 3 | import ( 4 | "context" 5 | "encoding/json" 6 | "fmt" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | // DescribeInput specifies the information needed for the Describe() function to perform 12 | // the operation. 13 | type DescribeInput struct { 14 | // ComputeACLID is an ACL Identifier (required). 15 | ComputeACLID *string 16 | // Context, if supplied, will be used as the Request's context. 17 | Context *context.Context 18 | } 19 | 20 | // Describe describes a specified compute ACL. 21 | func Describe(c *fastly.Client, i *DescribeInput) (*ComputeACL, error) { 22 | if i.ComputeACLID == nil { 23 | return nil, fastly.ErrMissingComputeACLID 24 | } 25 | 26 | path := fastly.ToSafeURL("resources", "acls", *i.ComputeACLID) 27 | 28 | resp, err := c.Get(path, fastly.CreateRequestOptions(i.Context)) 29 | if err != nil { 30 | return nil, err 31 | } 32 | defer resp.Body.Close() 33 | 34 | var acl *ComputeACL 35 | if err := json.NewDecoder(resp.Body).Decode(&acl); err != nil { 36 | return nil, fmt.Errorf("failed to decode json response: %w", err) 37 | } 38 | 39 | return acl, nil 40 | } 41 | -------------------------------------------------------------------------------- /fastly/computeacls/api_list_acls.go: -------------------------------------------------------------------------------- 1 | package computeacls 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // ListACLs retrieves all compute ACLs. 11 | func ListACLs(c *fastly.Client) (*ComputeACLs, error) { 12 | resp, err := c.Get("/resources/acls", fastly.CreateRequestOptions(nil)) 13 | if err != nil { 14 | return nil, err 15 | } 16 | defer resp.Body.Close() 17 | 18 | var acls *ComputeACLs 19 | 20 | if err := json.NewDecoder(resp.Body).Decode(&acls); err != nil { 21 | return nil, fmt.Errorf("failed to decode json response: %w", err) 22 | } 23 | 24 | return acls, nil 25 | } 26 | -------------------------------------------------------------------------------- /fastly/computeacls/doc.go: -------------------------------------------------------------------------------- 1 | // Package computeacls contains subpackages which offer various operations to 2 | // configure Fastly compute ACLs. 3 | package computeacls 4 | -------------------------------------------------------------------------------- /fastly/computeacls/fixtures/create_acl.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: '{"name":"test-compute-acl"}' 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/9.13.0 (+github.com/fastly/go-fastly; go1.23.3) 14 | url: https://api.fastly.com/resources/acls 15 | method: POST 16 | response: 17 | body: '{"name":"test-compute-acl","id":"twgcU5NNpY0GsVfsCav4o6"}' 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Content-Length: 24 | - "57" 25 | Content-Type: 26 | - application/json 27 | Date: 28 | - Wed, 12 Feb 2025 23:49:33 GMT 29 | Pragma: 30 | - no-cache 31 | Server: 32 | - fastly 33 | Strict-Transport-Security: 34 | - max-age=31536000 35 | Via: 36 | - 1.1 varnish 37 | X-Cache: 38 | - MISS 39 | X-Cache-Hits: 40 | - "0" 41 | X-Served-By: 42 | - cache-mia-kmia1760066-MIA, cache-mia-kmia1760066-MIA 43 | X-Timer: 44 | - S1739404173.528059,VS0,VE498 45 | status: 200 OK 46 | code: 200 47 | duration: "" 48 | -------------------------------------------------------------------------------- /fastly/computeacls/fixtures/delete_acl.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.0 (+github.com/fastly/go-fastly; go1.23.3) 10 | url: https://api.fastly.com/resources/acls/twgcU5NNpY0GsVfsCav4o6 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Length: 20 | - "0" 21 | Date: 22 | - Wed, 12 Feb 2025 23:49:38 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS 33 | X-Cache-Hits: 34 | - "0" 35 | X-Served-By: 36 | - cache-mia-kmia1760066-MIA, cache-mia-kmia1760066-MIA 37 | X-Timer: 38 | - S1739404178.760091,VS0,VE341 39 | status: 200 OK 40 | code: 200 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/computeacls/fixtures/describe_acl.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.0 (+github.com/fastly/go-fastly; go1.23.3) 10 | url: https://api.fastly.com/resources/acls/twgcU5NNpY0GsVfsCav4o6 11 | method: GET 12 | response: 13 | body: '{"name":"test-compute-acl","id":"twgcU5NNpY0GsVfsCav4o6"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Length: 20 | - "57" 21 | Content-Type: 22 | - application/json 23 | Date: 24 | - Wed, 12 Feb 2025 23:49:33 GMT 25 | Pragma: 26 | - no-cache 27 | Server: 28 | - fastly 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish 33 | X-Cache: 34 | - MISS 35 | X-Cache-Hits: 36 | - "0" 37 | X-Served-By: 38 | - cache-mia-kmia1760025-MIA, cache-mia-kmia1760066-MIA 39 | X-Timer: 40 | - S1739404173.046379,VS0,VE342 41 | status: 200 OK 42 | code: 200 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/computeacls/fixtures/list_acls.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.0 (+github.com/fastly/go-fastly; go1.23.3) 10 | url: https://api.fastly.com/resources/acls 11 | method: GET 12 | response: 13 | body: '{"data":[{"id":"P3Z6xZXOcbt3l5C3CUxWh0","name":"my-compute-acl"}],"meta":{"total":1}}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Length: 20 | - "85" 21 | Content-Type: 22 | - application/json 23 | Date: 24 | - Wed, 12 Feb 2025 23:49:32 GMT 25 | Pragma: 26 | - no-cache 27 | Server: 28 | - fastly 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish 33 | X-Cache: 34 | - MISS 35 | X-Cache-Hits: 36 | - "0" 37 | X-Served-By: 38 | - cache-mia-kmia1760066-MIA, cache-mia-kmia1760066-MIA 39 | X-Timer: 40 | - S1739404172.032133,VS0,VE475 41 | status: 200 OK 42 | code: 200 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/computeacls/fixtures/lookup_non_existing_ip.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.0 (+github.com/fastly/go-fastly; go1.23.3) 10 | url: https://api.fastly.com/resources/acls/twgcU5NNpY0GsVfsCav4o6/entry/73.49.184.42 11 | method: GET 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Wed, 12 Feb 2025 23:49:37 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - fastly 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish 29 | X-Cache: 30 | - MISS 31 | X-Cache-Hits: 32 | - "0" 33 | X-Served-By: 34 | - cache-mia-kmia1760028-MIA, cache-mia-kmia1760066-MIA 35 | X-Timer: 36 | - S1739404177.368123,VS0,VE329 37 | status: 204 No Content 38 | code: 204 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/datacenters.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | // Coordinates represent the location of a datacenter. 4 | type Coordinates struct { 5 | Latitude *float64 `mapstructure:"latitude"` 6 | Longitude *float64 `mapstructure:"longitude"` 7 | X *float64 `mapstructure:"x"` 8 | Y *float64 `mapstructure:"y"` 9 | } 10 | 11 | // Datacenter is a list of Datacenters returned by the Fastly API. 12 | type Datacenter struct { 13 | Code *string `mapstructure:"code"` 14 | Coordinates *Coordinates `mapstructure:"coordinates"` 15 | Group *string `mapstructure:"group"` 16 | Name *string `mapstructure:"name"` 17 | Shield *string `mapstructure:"shield"` 18 | } 19 | 20 | // AllDatacenters returns the lists of datacenters for Fastly's network. 21 | func (c *Client) AllDatacenters() (datacenters []Datacenter, err error) { 22 | resp, err := c.Get("/datacenters", CreateRequestOptions(nil)) 23 | if err != nil { 24 | return nil, err 25 | } 26 | defer resp.Body.Close() 27 | 28 | var m []Datacenter 29 | if err := DecodeBodyMap(resp.Body, &m); err != nil { 30 | return nil, err 31 | } 32 | 33 | return m, nil 34 | } 35 | -------------------------------------------------------------------------------- /fastly/datacenters_test.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | import "testing" 4 | 5 | func TestDatacenters(t *testing.T) { 6 | t.Parallel() 7 | 8 | var err error 9 | var datacenters []Datacenter 10 | Record(t, "datacenters/list", func(c *Client) { 11 | datacenters, err = c.AllDatacenters() 12 | }) 13 | if err != nil { 14 | t.Fatal(err) 15 | } 16 | if len(datacenters) == 0 { 17 | t.Fatal("missing datacenters") 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /fastly/domains/doc.go: -------------------------------------------------------------------------------- 1 | // Package domains contains subpackages which offer various operations to 2 | // enable, disable, and configure Fastly domains 3 | package domains 4 | -------------------------------------------------------------------------------- /fastly/domains/v1/api_create.go: -------------------------------------------------------------------------------- 1 | package v1 2 | 3 | import ( 4 | "context" 5 | "encoding/json" 6 | "fmt" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | // CreateInput specifies the information needed for the Create() function to 12 | // perform the operation. 13 | type CreateInput struct { 14 | // Context, if supplied, will be used as the Request's context. 15 | Context *context.Context `json:"-"` 16 | // Description is the description for the domain. 17 | Description *string `json:"description"` 18 | // FQDN is the fully-qualified domain name of the domain (required). 19 | FQDN *string `json:"fqdn"` 20 | // ServiceID is the service_id associated with the domain or nil if there 21 | // is no association (optional) 22 | ServiceID *string `json:"service_id"` 23 | } 24 | 25 | // Create creates a new domain. 26 | func Create(c *fastly.Client, i *CreateInput) (*Data, error) { 27 | resp, err := c.PostJSON("/domains/v1", i, fastly.CreateRequestOptions(i.Context)) 28 | if err != nil { 29 | return nil, err 30 | } 31 | defer resp.Body.Close() 32 | 33 | var d *Data 34 | if err := json.NewDecoder(resp.Body).Decode(&d); err != nil { 35 | return nil, fmt.Errorf("failed to decode json response: %w", err) 36 | } 37 | return d, nil 38 | } 39 | -------------------------------------------------------------------------------- /fastly/domains/v1/api_delete.go: -------------------------------------------------------------------------------- 1 | package v1 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // DeleteInput specifies the information needed for the Delete() function to 11 | // perform the operation. 12 | type DeleteInput struct { 13 | // Context, if supplied, will be used as the Request's context. 14 | Context *context.Context 15 | // DomainID of the domain to delete (required). 16 | DomainID *string 17 | } 18 | 19 | // Delete deletes the specified domain. 20 | func Delete(c *fastly.Client, i *DeleteInput) error { 21 | if i.DomainID == nil { 22 | return fastly.ErrMissingDomainID 23 | } 24 | 25 | path := fastly.ToSafeURL("domains", "v1", *i.DomainID) 26 | 27 | resp, err := c.Delete(path, fastly.CreateRequestOptions(i.Context)) 28 | if err != nil { 29 | return err 30 | } 31 | defer resp.Body.Close() 32 | 33 | if resp.StatusCode != http.StatusNoContent { 34 | return fastly.NewHTTPError(resp) 35 | } 36 | 37 | return nil 38 | } 39 | -------------------------------------------------------------------------------- /fastly/domains/v1/api_get.go: -------------------------------------------------------------------------------- 1 | package v1 2 | 3 | import ( 4 | "context" 5 | "encoding/json" 6 | "fmt" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | // GetInput specifies the information needed for the Get() function to perform 12 | // the operation. 13 | type GetInput struct { 14 | // Context, if supplied, will be used as the Request's context. 15 | Context *context.Context 16 | // DomainID is the domain identifier (required). 17 | DomainID *string 18 | } 19 | 20 | // Get retrieves a specified domain. 21 | func Get(c *fastly.Client, i *GetInput) (*Data, error) { 22 | if i.DomainID == nil { 23 | return nil, fastly.ErrMissingDomainID 24 | } 25 | 26 | path := fastly.ToSafeURL("domains", "v1", *i.DomainID) 27 | 28 | resp, err := c.Get(path, fastly.CreateRequestOptions(i.Context)) 29 | if err != nil { 30 | return nil, err 31 | } 32 | defer resp.Body.Close() 33 | 34 | var d *Data 35 | if err := json.NewDecoder(resp.Body).Decode(&d); err != nil { 36 | return nil, fmt.Errorf("failed to decode json response: %w", err) 37 | } 38 | 39 | return d, nil 40 | } 41 | -------------------------------------------------------------------------------- /fastly/domains/v1/doc.go: -------------------------------------------------------------------------------- 1 | // Package v1 contains functionality which offer various operations to enable, 2 | // disable, and configure Fastly domains using its v1 implementation. 3 | package v1 4 | -------------------------------------------------------------------------------- /fastly/domains/v1/fixtures/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.1.0 (+github.com/fastly/go-fastly; go1.24.3) 10 | url: https://api.fastly.com/domains/v1/c3uo2vKt4u93gpTsEjCQpg 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Mon, 19 May 2025 10:40:20 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - fastly control-gateway 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish, 1.1 varnish 29 | X-Cache: 30 | - MISS, MISS 31 | X-Cache-Hits: 32 | - 0, 0 33 | X-Content-Type-Options: 34 | - nosniff 35 | X-Served-By: 36 | - cache-chi-kigq8000174-CHI, cache-lon420130-LON 37 | X-Timer: 38 | - S1747651221.660021,VS0,VE230 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/domains/v1/tools/doc.go: -------------------------------------------------------------------------------- 1 | // Package tools contains tools to interact with domains. 2 | package tools 3 | -------------------------------------------------------------------------------- /fastly/domains/v1/tools/status/doc.go: -------------------------------------------------------------------------------- 1 | // Package status contains functionality for checking the availability status of a single domain name. 2 | // Status enables querying of domain availability through two different scopes. 3 | package status 4 | -------------------------------------------------------------------------------- /fastly/domains/v1/tools/suggest/api_response.go: -------------------------------------------------------------------------------- 1 | package suggest 2 | 3 | // Suggestions is the API response structure for the suggest endpoint. 4 | type Suggestions struct { 5 | Results []Suggestion `json:"results"` 6 | } 7 | 8 | // Suggestion represents an individual suggestion. 9 | type Suggestion struct { 10 | // Domain is the full domain name suggestion. 11 | Domain string `json:"domain,omitempty"` 12 | // Subdomain is the portion of the domain before the zone. 13 | Subdomain string `json:"subdomain,omitempty"` 14 | // Zone is the top level domain or registered domain portion (e.g ".com"). 15 | Zone string `json:"zone,omitempty"` 16 | // Path if present, is the path is to be appended to the domain to complete the suggestion. 17 | Path *string `json:"path,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /fastly/domains/v1/tools/suggest/api_test.go: -------------------------------------------------------------------------------- 1 | package suggest 2 | 3 | import ( 4 | "errors" 5 | "slices" 6 | "testing" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | func TestClient_DomainToolsSuggestion(t *testing.T) { 12 | t.Parallel() 13 | 14 | var err error 15 | var suggestions *Suggestions 16 | fastly.Record(t, "get", func(client *fastly.Client) { 17 | suggestions, err = Get(client, &GetInput{ 18 | Query: "fastly testing", 19 | Defaults: fastly.ToPointer("com"), 20 | Keywords: fastly.ToPointer("testing"), 21 | }) 22 | }) 23 | 24 | if err != nil { 25 | t.Fatal(err) 26 | } 27 | 28 | if len(suggestions.Results) == 0 { 29 | t.Error("no suggestions found") 30 | } 31 | 32 | zoneFound := slices.ContainsFunc(suggestions.Results, func(s Suggestion) bool { 33 | return s.Zone == "com" 34 | }) 35 | 36 | if !zoneFound { 37 | t.Errorf("no com zone suggestion found in %d suggestions", len(suggestions.Results)) 38 | } 39 | 40 | // omit Query from GetInput 41 | fastly.Record(t, "get", func(client *fastly.Client) { 42 | suggestions, err = Get(client, &GetInput{}) 43 | }) 44 | 45 | if !errors.Is(err, fastly.ErrMissingDomainQuery) { 46 | t.Errorf("expected error but got %v", err) 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /fastly/domains/v1/tools/suggest/doc.go: -------------------------------------------------------------------------------- 1 | // Package suggest contains functionality for performing real-time query of the search term(s) against the known zones database 2 | // making recommendations, stemming, applying Unicode folding, IDN normalization, registrar supported-zone restrictions, and other refinements. 3 | package suggest 4 | -------------------------------------------------------------------------------- /fastly/edge_check_test.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | import "testing" 4 | 5 | func TestClient_EdgeCheck(t *testing.T) { 6 | t.Parallel() 7 | 8 | var err error 9 | var edges []*EdgeCheck 10 | Record(t, "content/check", func(c *Client) { 11 | edges, err = c.EdgeCheck(&EdgeCheckInput{ 12 | URL: "go-fastly-deliver-test.global.ssl.fastly.net", 13 | }) 14 | }) 15 | if err != nil { 16 | t.Fatal(err) 17 | } 18 | if len(edges) < 1 { 19 | t.Errorf("bad edge check: %d", len(edges)) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /fastly/fixtures/acls/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/28/acl/new_test_acl 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 03 Nov 2022 18:05:01 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9983" 25 | Fastly-Ratelimit-Reset: 26 | - "1667502000" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-5-CONTROL-AWS, cache-man4138-MAN 41 | X-Timer: 42 | - S1667498702.575668,VS0,VE237 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/alerts/cleanup_alert_definition_stats_percent.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/alerts/definitions/5gO8WEt1Yc9XqaZK4Iz3AH 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Tue, 08 Apr 2025 15:32:27 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - fastly control-gateway 25 | Status: 26 | - 204 No Content 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Vary: 30 | - Accept-Encoding 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-chi-klot8100036-CHI, cache-pdk-katl1840026-PDK 39 | X-Timer: 40 | - S1744126347.298927,VS0,VE283 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/alerts/delete_alert_definition.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/alerts/definitions/5ihYWKFmUaRI5PVRNivo7Z 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Tue, 08 Apr 2025 15:32:29 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - fastly control-gateway 25 | Status: 26 | - 204 No Content 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Vary: 30 | - Accept-Encoding 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-chi-klot8100021-CHI, cache-pdk-katl1840026-PDK 39 | X-Timer: 40 | - S1744126350.580429,VS0,VE349 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/alerts/disable_required_product.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/domain_inspector/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Tue, 08 Apr 2025 15:32:31 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100024-CHI, cache-pdk-katl1840026-PDK 41 | X-Timer: 42 | - S1744126351.591506,VS0,VE1306 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/automation_tokens/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/tokens/XXXXXXXXXXXXXXXXXXXXXX 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Tue, 25 Feb 2025 05:15:04 GMT 21 | Fastly-Ratelimit-Remaining: 22 | - "976" 23 | Fastly-Ratelimit-Reset: 24 | - "1740463200" 25 | Pragma: 26 | - no-cache 27 | Server: 28 | - fastly control-gateway 29 | Status: 30 | - 204 No Content 31 | Strict-Transport-Security: 32 | - max-age=31536000 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000084-CHI, cache-per12627-PER 41 | X-Timer: 42 | - S1740460504.631124,VS0,VE503 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/conditions/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/89/condition/test%2Fcondition 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Mon, 07 Nov 2022 12:32:13 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9980" 25 | Fastly-Ratelimit-Reset: 26 | - "1667826000" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-5-CONTROL-AWS, cache-man4136-MAN 41 | X-Timer: 42 | - S1667824333.784174,VS0,VE369 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_CreateConfigStore/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_CreateConfigStore 6 | form: 7 | name: 8 | - TestClient_CreateConfigStore 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_CreateConfigStore","id":"pS86koqiZWkt6VJgvNuUe3","created_at":"2023-03-01T22:12:20Z","updated_at":"2023-03-01T22:12:20Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 01 Mar 2023 22:12:20 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_CreateConfigStore/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/pS86koqiZWkt6VJgvNuUe3 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:26 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_DeleteConfigStore/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_DeleteConfigStore 6 | form: 7 | name: 8 | - TestClient_DeleteConfigStore 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_DeleteConfigStore","id":"cfrafEqA6GVaYnN8ym26f4","created_at":"2023-03-01T22:12:20Z","updated_at":"2023-03-01T22:12:20Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 01 Mar 2023 22:12:20 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_DeleteConfigStore/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/cfrafEqA6GVaYnN8ym26f4 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:21 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_DeleteConfigStore/delete_store_404.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/cfrafEqA6GVaYnN8ym26f4 13 | method: DELETE 14 | response: 15 | body: '{"msg":"Record not found"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:26 GMT 23 | Status: 24 | - 404 Not Found 25 | Vary: 26 | - Accept-Encoding 27 | status: 404 Not Found 28 | code: 404 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStore/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_GetConfigStore 6 | form: 7 | name: 8 | - TestClient_GetConfigStore 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_GetConfigStore","id":"sHb8sMqnGJ44M5ifXQHPV3","created_at":"2023-03-01T22:12:19Z","updated_at":"2023-03-01T22:12:19Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 01 Mar 2023 22:12:19 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStore/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/sHb8sMqnGJ44M5ifXQHPV3 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:27 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStore/get_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/sHb8sMqnGJ44M5ifXQHPV3 13 | method: GET 14 | response: 15 | body: '{"name":"TestClient_GetConfigStore","id":"sHb8sMqnGJ44M5ifXQHPV3","created_at":"2023-03-01T22:12:19Z","updated_at":"2023-03-01T22:12:19Z","deleted_at":null}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:20 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStore/get_store_404.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/DOES-NOT-EXIST 13 | method: GET 14 | response: 15 | body: '{"msg":"Record not found"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:21 GMT 23 | Status: 24 | - 404 Not Found 25 | Vary: 26 | - Accept-Encoding 27 | status: 404 Not Found 28 | code: 404 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStoreMetadata/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_GetConfigStoreMetadata 6 | form: 7 | name: 8 | - TestClient_GetConfigStoreMetadata 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_GetConfigStoreMetadata","id":"vf9waa8ZtKdP68D6MIN7M7","created_at":"2023-03-01T22:12:19Z","updated_at":"2023-03-01T22:12:19Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 01 Mar 2023 22:12:19 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStoreMetadata/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/vf9waa8ZtKdP68D6MIN7M7 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:27 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStoreMetadata/get_store_metadata.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/vf9waa8ZtKdP68D6MIN7M7/info 13 | method: GET 14 | response: 15 | body: '{"item_count":0}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:20 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_GetConfigStoreMetadata/get_store_metadata_404.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/DOES-NOT-EXIST/info 13 | method: GET 14 | response: 15 | body: '{"msg":"Record not found"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:26 GMT 23 | Status: 24 | - 404 Not Found 25 | Vary: 26 | - Accept-Encoding 27 | status: 404 Not Found 28 | code: 404 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_ListConfigStoreServices/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_ListConfigStoreServices 6 | form: 7 | name: 8 | - TestClient_ListConfigStoreServices 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_ListConfigStoreServices","id":"ebJ4VKkdrSXuQFjB3H8UA7","created_at":"2023-03-01T22:12:18Z","updated_at":"2023-03-01T22:12:18Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 01 Mar 2023 22:12:19 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_ListConfigStoreServices/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/ebJ4VKkdrSXuQFjB3H8UA7 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:19 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_ListConfigStoreServices/list_services.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/ebJ4VKkdrSXuQFjB3H8UA7/services 13 | method: GET 14 | response: 15 | body: '[]' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:19 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_ListConfigStores/empty.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config 13 | method: GET 14 | response: 15 | body: '[]' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:15 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_ListConfigStores/list-with-name.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.19) 12 | url: https://api.fastly.com/resources/stores/config?name=TestClient_ListConfigStores-00 13 | method: GET 14 | response: 15 | body: '[{"name":"TestClient_ListConfigStores-00","id":"ykdY5UTyffIVUCF34jRcb2","created_at":"2023-03-01T22:12:15Z","updated_at":"2023-03-01T22:12:15Z","deleted_at":null}]' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:17 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_UpdateConfigStore/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_UpdateConfigStore 6 | form: 7 | name: 8 | - TestClient_UpdateConfigStore 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_UpdateConfigStore","id":"iIVPdtgia83hbkhfMEbBE4","created_at":"2023-03-01T22:12:20Z","updated_at":"2023-03-01T22:12:20Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 01 Mar 2023 22:12:20 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_UpdateConfigStore/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/iIVPdtgia83hbkhfMEbBE4 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 01 Mar 2023 22:12:26 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store/TestClient_UpdateConfigStore/update_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: ID=iIVPdtgia83hbkhfMEbBE4&name=UPDATED+NAME%21 6 | form: 7 | ID: 8 | - iIVPdtgia83hbkhfMEbBE4 9 | name: 10 | - UPDATED NAME! 11 | headers: 12 | Accept: 13 | - application/json 14 | Content-Type: 15 | - application/x-www-form-urlencoded 16 | User-Agent: 17 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 18 | url: https://api.fastly.com/resources/stores/config/iIVPdtgia83hbkhfMEbBE4 19 | method: PUT 20 | response: 21 | body: '{"name":"UPDATED NAME!","id":"iIVPdtgia83hbkhfMEbBE4","created_at":"2023-03-01T22:12:20Z","updated_at":"2023-03-01T22:12:20Z","deleted_at":null}' 22 | headers: 23 | Cache-Control: 24 | - no-store 25 | Content-Type: 26 | - application/json 27 | Date: 28 | - Wed, 01 Mar 2023 22:12:20 GMT 29 | Status: 30 | - 200 OK 31 | Vary: 32 | - Accept-Encoding 33 | status: 200 OK 34 | code: 200 35 | duration: "" 36 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_CreateConfigStoreItem/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_CreateConfigStoreItem 6 | form: 7 | name: 8 | - TestClient_CreateConfigStoreItem 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_CreateConfigStoreItem","id":"gBv5gxQ2Tbf1NzLkFhtmB0","created_at":"2023-03-02T16:24:02Z","updated_at":"2023-03-02T16:24:02Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Thu, 02 Mar 2023 16:24:02 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_CreateConfigStoreItem/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/gBv5gxQ2Tbf1NzLkFhtmB0 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:03 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_DeleteConfigStoreItem/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_DeleteConfigStoreItem 6 | form: 7 | name: 8 | - TestClient_DeleteConfigStoreItem 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_DeleteConfigStoreItem","id":"khbExSHXsK7pw1pDTXJKv0","created_at":"2023-03-02T16:24:02Z","updated_at":"2023-03-02T16:24:02Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Thu, 02 Mar 2023 16:24:02 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_DeleteConfigStoreItem/delete_item.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/khbExSHXsK7pw1pDTXJKv0/item/TestClient_DeleteConfigStoreItem 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:04 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_DeleteConfigStoreItem/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/khbExSHXsK7pw1pDTXJKv0 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:04 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_GetConfigStoreItem/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_GetConfigStoreItem 6 | form: 7 | name: 8 | - TestClient_GetConfigStoreItem 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_GetConfigStoreItem","id":"1sdfA7V10f10THHOIiVyz2","created_at":"2023-03-02T16:24:01Z","updated_at":"2023-03-02T16:24:01Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Thu, 02 Mar 2023 16:24:02 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_GetConfigStoreItem/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/1sdfA7V10f10THHOIiVyz2 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:04 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_GetConfigStoreItem/get_item.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/1sdfA7V10f10THHOIiVyz2/item/TestClient_GetConfigStoreItem 13 | method: GET 14 | response: 15 | body: '{"item_key":"TestClient_GetConfigStoreItem","item_value":"get me","created_at":"2023-03-02T16:24:02Z","updated_at":"2023-03-02T16:24:02Z","deleted_at":null,"store_id":"1sdfA7V10f10THHOIiVyz2"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:03 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_ListConfigStoreItems/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_ListConfigStoreItems 6 | form: 7 | name: 8 | - TestClient_ListConfigStoreItems 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_ListConfigStoreItems","id":"lV8kyCg7OmjQMjMpiX9dq2","created_at":"2023-03-02T16:24:02Z","updated_at":"2023-03-02T16:24:02Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Thu, 02 Mar 2023 16:24:02 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_ListConfigStoreItems/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/lV8kyCg7OmjQMjMpiX9dq2 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:05 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_UpdateConfigStoreItem/create_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: name=TestClient_UpdateConfigStoreItem 6 | form: 7 | name: 8 | - TestClient_UpdateConfigStoreItem 9 | headers: 10 | Accept: 11 | - application/json 12 | Content-Type: 13 | - application/x-www-form-urlencoded 14 | User-Agent: 15 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 16 | url: https://api.fastly.com/resources/stores/config 17 | method: POST 18 | response: 19 | body: '{"name":"TestClient_UpdateConfigStoreItem","id":"EjLna5o9Y4L0IZ81ijMsa2","created_at":"2023-03-02T16:24:01Z","updated_at":"2023-03-02T16:24:01Z","deleted_at":null}' 20 | headers: 21 | Cache-Control: 22 | - no-store 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Thu, 02 Mar 2023 16:24:02 GMT 27 | Status: 28 | - 200 OK 29 | Vary: 30 | - Accept-Encoding 31 | status: 200 OK 32 | code: 200 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/config_store_item/TestClient_UpdateConfigStoreItem/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | User-Agent: 11 | - FastlyGo/7.3.0 (+github.com/fastly/go-fastly; go1.20.1) 12 | url: https://api.fastly.com/resources/stores/config/EjLna5o9Y4L0IZ81ijMsa2 13 | method: DELETE 14 | response: 15 | body: '{"status":"ok"}' 16 | headers: 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 02 Mar 2023 16:24:09 GMT 23 | Status: 24 | - 200 OK 25 | Vary: 26 | - Accept-Encoding 27 | status: 200 OK 28 | code: 200 29 | duration: "" 30 | -------------------------------------------------------------------------------- /fastly/fixtures/custom_tls/delete-cert.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.6.0 (+github.com/fastly/go-fastly; go1.20.14) 10 | url: https://api.fastly.com/tls/certificates/ZwPwTJyjOePoOdUs0WvRO6 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Mon, 17 Jun 2024 16:47:55 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - control-gateway 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish, 1.1 varnish 29 | X-Cache: 30 | - MISS, MISS 31 | X-Cache-Hits: 32 | - 0, 0 33 | X-Content-Type-Options: 34 | - nosniff 35 | X-Served-By: 36 | - cache-chi-klot8100147-CHI, cache-lhr-egll1980057-LHR 37 | X-Timer: 38 | - S1718642875.010583,VS0,VE361 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/custom_tls/delete-key.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.6.0 (+github.com/fastly/go-fastly; go1.20.14) 10 | url: https://api.fastly.com/tls/private_keys/RyTBv0lgwTEM2kpbMhwVp6 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Mon, 17 Jun 2024 16:47:55 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - control-gateway 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish, 1.1 varnish 29 | X-Cache: 30 | - MISS, MISS 31 | X-Cache-Hits: 32 | - 0, 0 33 | X-Content-Type-Options: 34 | - nosniff 35 | X-Served-By: 36 | - cache-chi-kigq8000067-CHI, cache-lhr-egll1980057-LHR 37 | X-Timer: 38 | - S1718642875.392377,VS0,VE234 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/custom_tls_activation/cleanup.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/1.17.0 (+github.com/fastly/go-fastly; go1.14.2) 10 | url: https://api.fastly.com/tls/activations/ACTIVATION_ID 11 | method: DELETE 12 | response: 13 | body: '{}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | - bytes 18 | Content-Length: 19 | - "55" 20 | Content-Type: 21 | - application/vnd.api+json 22 | Date: 23 | - Fri, 30 Oct 2020 19:40:25 GMT 24 | Status: 25 | - 200 OK 26 | Strict-Transport-Security: 27 | - max-age=31536000 28 | Via: 29 | - 1.1 varnish 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Content-Type-Options: 36 | - nosniff 37 | X-Served-By: 38 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-sea4475-SEA 39 | X-Timer: 40 | - S1604086825.126245,VS0,VE103 41 | status: 200 OK 42 | code: 200 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/custom_tls_activation/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/1.17.0 (+github.com/fastly/go-fastly; go1.14.2) 10 | url: https://api.fastly.com/tls/activations/ACTIVATION_ID 11 | method: DELETE 12 | response: 13 | body: '{}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | - bytes 18 | Content-Length: 19 | - "55" 20 | Content-Type: 21 | - application/vnd.api+json 22 | Date: 23 | - Thu, 29 Oct 2020 21:56:36 GMT 24 | Status: 25 | - 200 OK 26 | Strict-Transport-Security: 27 | - max-age=31536000 28 | Via: 29 | - 1.1 varnish 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Content-Type-Options: 36 | - nosniff 37 | X-Served-By: 38 | - cache-control-slwdc9037-CONTROL-SLWDC, cache-sea4479-SEA 39 | X-Timer: 40 | - S1604008596.365429,VS0,VE113 41 | status: 200 OK 42 | code: 200 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/dictionary_info/delete_service.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/2fw2ABKZ7VBSnMshauq6Zp 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 16:15:41 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "4948" 25 | Fastly-Ratelimit-Reset: 26 | - "1635958800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-slwdc9036-CONTROL-SLWDC, cache-man4150-MAN 41 | X-Timer: 42 | - S1635956141.032735,VS0,VE211 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/dictionary_info/get.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/2fw2ABKZ7VBSnMshauq6Zp/version/2/dictionary/5NqPzSq3w3gkpvWthW5jfs/info 11 | method: GET 12 | response: 13 | body: '{"item_count":2,"last_updated":"2021-11-03 16:15:40","digest":"fceb7f5ab6b6fe843228d1b0879cf5cafc8631c44038ea143fa97ea82b8da810"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 16:15:40 GMT 23 | Status: 24 | - 200 OK 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Vary: 28 | - Accept-Encoding 29 | Via: 30 | - 1.1 varnish, 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Served-By: 36 | - cache-control-slwdc9036-CONTROL-SLWDC, cache-man4150-MAN 37 | X-Timer: 38 | - S1635956140.469066,VS0,VE318 39 | status: 200 OK 40 | code: 200 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/diff/cleanup.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/57/backend/test-backend 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 16:16:19 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "4944" 25 | Fastly-Ratelimit-Reset: 26 | - "1635958800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-man4144-MAN 41 | X-Timer: 42 | - S1635956179.022506,VS0,VE259 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/director_backends/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/60/director/director/backend/backend 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 16:18:54 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "4922" 25 | Fastly-Ratelimit-Reset: 26 | - "1635958800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-slwdc9036-CONTROL-SLWDC, cache-man4150-MAN 41 | X-Timer: 42 | - S1635956335.766885,VS0,VE225 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/directors/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/69/director/test-director 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 17:04:03 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9994" 25 | Fastly-Ratelimit-Reset: 26 | - "1667584800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-6-CONTROL-AWS, cache-man4124-MAN 41 | X-Timer: 42 | - S1667581443.346798,VS0,VE214 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/erls/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/7.5.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/rate-limiters/RjnOPBDtKW2VSit8PWB9g 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Tue, 28 Mar 2023 11:17:43 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9983" 25 | Fastly-Ratelimit-Reset: 26 | - "1680004800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-2-prod-1-CONTROL-AWS-UE2, cache-lcy-eglc8600048-LCY 41 | X-Timer: 42 | - S1680002264.507267,VS0,VE348 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/erls/logger_cleanup.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/7.5.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/rate-limiters/2feTclWJgsv6OfIpnxARrx 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Tue, 28 Mar 2023 11:17:44 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9981" 25 | Fastly-Ratelimit-Reset: 26 | - "1680004800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-2-prod-7-CONTROL-AWS-UE2, cache-lcy-eglc8600048-LCY 41 | X-Timer: 42 | - S1680002264.306970,VS0,VE304 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/gzips/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/51/gzip/new-test-gzip 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 14:53:13 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9958" 25 | Fastly-Ratelimit-Reset: 26 | - "1667574000" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-5-CONTROL-AWS, cache-man4134-MAN 41 | X-Timer: 42 | - S1667573594.643809,VS0,VE203 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/headers/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/67/header/new-test-header 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 16:38:22 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9937" 25 | Fastly-Ratelimit-Reset: 26 | - "1667581200" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-4-CONTROL-AWS, cache-man4139-MAN 41 | X-Timer: 42 | - S1667579902.202743,VS0,VE211 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/http3/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/7.1.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/97/http3 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 08 Feb 2023 17:47:16 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9997" 25 | Fastly-Ratelimit-Reset: 26 | - "1675879200" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-2-prod-6-CONTROL-AWS-UE2, cache-man4123-MAN 41 | X-Timer: 42 | - S1675878437.747703,VS0,VE250 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/http3/get-disabled.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/7.1.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/97/http3 11 | method: GET 12 | response: 13 | body: '{"msg":"Not found"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 08 Feb 2023 17:49:10 GMT 23 | Status: 24 | - 404 Not Found 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Vary: 28 | - Accept-Encoding 29 | Via: 30 | - 1.1 varnish, 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Served-By: 36 | - cache-control-cp-aws-us-east-2-prod-7-CONTROL-AWS-UE2, cache-man4135-MAN 37 | X-Timer: 38 | - S1675878551.646041,VS0,VE320 39 | status: 404 Not Found 40 | code: 404 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/delete-item-generation-match-failure.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | If-Generation-Match: 9 | - "1741193174927102" 10 | User-Agent: 11 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 12 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys/apple 13 | method: DELETE 14 | response: 15 | body: "" 16 | headers: 17 | Accept-Ranges: 18 | - bytes 19 | Cache-Control: 20 | - no-store 21 | Content-Length: 22 | - "0" 23 | Date: 24 | - Wed, 05 Mar 2025 16:46:15 GMT 25 | Pragma: 26 | - no-cache 27 | Server: 28 | - fastly 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-nyc-kteb1890078-NYC, cache-nyc-kteb1890078-NYC 39 | X-Timer: 40 | - S1741193175.159377,VS0,VE81 41 | status: 412 Precondition Failed 42 | code: 412 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/delete-item-nonexistent-suppress-error.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys/apple23?force=true 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Wed, 05 Mar 2025 16:46:15 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - fastly 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish 29 | X-Cache: 30 | - MISS, MISS 31 | X-Cache-Hits: 32 | - 0, 0 33 | X-Served-By: 34 | - cache-nyc-kteb1890078-NYC, cache-nyc-kteb1890078-NYC 35 | X-Timer: 36 | - S1741193175.087401,VS0,VE66 37 | status: 204 No Content 38 | code: 204 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/get-store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh 11 | method: GET 12 | response: 13 | body: '{"id":"g8wfs2hiqenfzg1l9ibtdh","name":"kv-store-test-store","created_at":"2025-03-05 14 | 16:46:11","updated_at":"2025-03-05 16:46:11"}' 15 | headers: 16 | Accept-Ranges: 17 | - bytes 18 | Cache-Control: 19 | - no-store 20 | Content-Type: 21 | - application/json 22 | Date: 23 | - Wed, 05 Mar 2025 16:46:12 GMT 24 | Pragma: 25 | - no-cache 26 | Server: 27 | - fastly 28 | Strict-Transport-Security: 29 | - max-age=31536000 30 | Via: 31 | - 1.1 varnish 32 | X-Cache: 33 | - MISS 34 | X-Cache-Hits: 35 | - "0" 36 | X-Served-By: 37 | - cache-nyc-kteb1890043-NYC, cache-nyc-kteb1890078-NYC 38 | X-Timer: 39 | - S1741193173.604956,VS0,VE112 40 | status: 200 OK 41 | code: 200 42 | duration: "" 43 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/insert-item-add-failure.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys/apple?add=true 11 | method: PUT 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Length: 20 | - "0" 21 | Date: 22 | - Wed, 05 Mar 2025 16:46:14 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS 33 | X-Cache-Hits: 34 | - "0" 35 | X-Served-By: 36 | - cache-nyc-kteb1890078-NYC, cache-nyc-kteb1890078-NYC 37 | X-Timer: 38 | - S1741193174.358081,VS0,VE102 39 | status: 412 Precondition Failed 40 | code: 412 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/insert-item-append.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: suffix 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys/apple?append=true 11 | method: PUT 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Length: 20 | - "0" 21 | Date: 22 | - Wed, 05 Mar 2025 16:46:14 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS 33 | X-Cache-Hits: 34 | - "0" 35 | X-Served-By: 36 | - cache-nyc-kteb1890078-NYC, cache-nyc-kteb1890078-NYC 37 | X-Timer: 38 | - S1741193175.825478,VS0,VE137 39 | status: 200 OK 40 | code: 200 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/insert-item-generation-match-failure.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | If-Generation-Match: 9 | - "1741193174560495" 10 | User-Agent: 11 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 12 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys/apple 13 | method: PUT 14 | response: 15 | body: "" 16 | headers: 17 | Accept-Ranges: 18 | - bytes 19 | Cache-Control: 20 | - no-store 21 | Content-Length: 22 | - "0" 23 | Date: 24 | - Wed, 05 Mar 2025 16:46:14 GMT 25 | Pragma: 26 | - no-cache 27 | Server: 28 | - fastly 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish 33 | X-Cache: 34 | - MISS 35 | X-Cache-Hits: 36 | - "0" 37 | X-Served-By: 38 | - cache-nyc-kteb1890078-NYC, cache-nyc-kteb1890078-NYC 39 | X-Timer: 40 | - S1741193175.708982,VS0,VE109 41 | status: 412 Precondition Failed 42 | code: 412 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/insert-item-prepend-set-metadata.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: prefix 6 | form: {} 7 | headers: 8 | Metadata: 9 | - meta 10 | User-Agent: 11 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 12 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys/apple?prepend=true 13 | method: PUT 14 | response: 15 | body: "" 16 | headers: 17 | Accept-Ranges: 18 | - bytes 19 | Cache-Control: 20 | - no-store 21 | Content-Length: 22 | - "0" 23 | Date: 24 | - Wed, 05 Mar 2025 16:46:14 GMT 25 | Pragma: 26 | - no-cache 27 | Server: 28 | - fastly 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish 33 | X-Cache: 34 | - MISS 35 | X-Cache-Hits: 36 | - "0" 37 | X-Served-By: 38 | - cache-nyc-kteb1890078-NYC, cache-nyc-kteb1890078-NYC 39 | X-Timer: 40 | - S1741193174.463682,VS0,VE135 41 | status: 200 OK 42 | code: 200 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/list-keys-prefix.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys?consistency=strong&prefix=ba 11 | method: GET 12 | response: 13 | body: '{"data":["banana","batch-1","batch-2"],"meta":{"limit":1000,"prefix":"ba"}}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 05 Mar 2025 16:46:14 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS 33 | X-Cache-Hits: 34 | - "0" 35 | X-Served-By: 36 | - cache-nyc-kteb1890062-NYC, cache-nyc-kteb1890078-NYC 37 | X-Timer: 38 | - S1741193174.263396,VS0,VE79 39 | status: 200 OK 40 | code: 200 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/list-keys.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv/g8wfs2hiqenfzg1l9ibtdh/keys?consistency=strong 11 | method: GET 12 | response: 13 | body: '{"data":["apple","banana","batch-1","batch-2","carrot","dragonfruit","eggplant"],"meta":{"limit":1000}}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 05 Mar 2025 16:46:14 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish 31 | X-Cache: 32 | - MISS 33 | X-Cache-Hits: 34 | - "0" 35 | X-Served-By: 36 | - cache-nyc-kteb1890059-NYC, cache-nyc-kteb1890078-NYC 37 | X-Timer: 38 | - S1741193174.990766,VS0,VE86 39 | status: 200 OK 40 | code: 200 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/kv_store/list-store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.24.0) 10 | url: https://api.fastly.com/resources/stores/kv 11 | method: GET 12 | response: 13 | body: '{"data":[{"id":"c4x6pkaqxw2usd5suu0tcx","name":"my-store","created_at":"2025-01-07 14 | 16:12:37","updated_at":"2025-01-07 16:12:37"}],"meta":{"limit":1000,"total":1}}' 15 | headers: 16 | Accept-Ranges: 17 | - bytes 18 | Cache-Control: 19 | - no-store 20 | Content-Type: 21 | - application/json 22 | Date: 23 | - Wed, 05 Mar 2025 16:46:10 GMT 24 | Pragma: 25 | - no-cache 26 | Server: 27 | - fastly 28 | Strict-Transport-Security: 29 | - max-age=31536000 30 | Via: 31 | - 1.1 varnish 32 | X-Cache: 33 | - MISS 34 | X-Cache-Hits: 35 | - "0" 36 | X-Served-By: 37 | - cache-nyc-kteb1890036-NYC, cache-nyc-kteb1890078-NYC 38 | X-Timer: 39 | - S1741193171.623970,VS0,VE145 40 | status: 200 OK 41 | code: 200 42 | duration: "" 43 | -------------------------------------------------------------------------------- /fastly/fixtures/managed_logging/create.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/log_stream/managed/instance_output 11 | method: POST 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 17:00:11 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "4999" 25 | Fastly-Ratelimit-Reset: 26 | - "1635962400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-slwdc9037-CONTROL-SLWDC, cache-man4122-MAN 41 | X-Timer: 42 | - S1635958811.298597,VS0,VE496 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/managed_logging/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/log_stream/managed/instance_output 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 17:00:12 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "4997" 25 | Fastly-Ratelimit-Reset: 26 | - "1635962400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-man4122-MAN 41 | X-Timer: 42 | - S1635958812.395863,VS0,VE206 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/mutual_authentication/delete-cert.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/8.4.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/tls/certificates/KAEO3Gj5ACmMQXTPSgF7s4 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - private 19 | Date: 20 | - Thu, 01 Jun 2023 13:40:15 GMT 21 | Pragma: 22 | - no-cache 23 | Strict-Transport-Security: 24 | - max-age=31536000 25 | Via: 26 | - 1.1 varnish, 1.1 varnish 27 | X-Cache: 28 | - MISS, MISS 29 | X-Cache-Hits: 30 | - 0, 0 31 | X-Content-Type-Options: 32 | - nosniff 33 | X-Served-By: 34 | - cache-control-cp-aws-us-east-2-prod-5-CONTROL-AWS-UE2, cache-lhr7369-LHR 35 | X-Timer: 36 | - S1685626815.919738,VS0,VE321 37 | status: 204 No Content 38 | code: 204 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/fixtures/mutual_authentication/delete-key.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/8.4.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/tls/private_keys/eRSQLBCgOyJ8Opwj8pV5J5 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - private 19 | Date: 20 | - Thu, 01 Jun 2023 13:40:15 GMT 21 | Pragma: 22 | - no-cache 23 | Strict-Transport-Security: 24 | - max-age=31536000 25 | Via: 26 | - 1.1 varnish, 1.1 varnish 27 | X-Cache: 28 | - MISS, MISS 29 | X-Cache-Hits: 30 | - 0, 0 31 | X-Content-Type-Options: 32 | - nosniff 33 | X-Served-By: 34 | - cache-control-cp-aws-us-east-2-prod-5-CONTROL-AWS-UE2, cache-lhr7369-LHR 35 | X-Timer: 36 | - S1685626815.271391,VS0,VE178 37 | status: 204 No Content 38 | code: 204 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/fixtures/mutual_authentication/delete-tma.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/8.4.0 (+github.com/fastly/go-fastly; go1.18.5) 10 | url: https://api.fastly.com/tls/mutual_authentications/d6Sql38JQh71sAgelxSo37 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - private 19 | Date: 20 | - Thu, 01 Jun 2023 13:40:14 GMT 21 | Pragma: 22 | - no-cache 23 | Strict-Transport-Security: 24 | - max-age=31536000 25 | Via: 26 | - 1.1 varnish, 1.1 varnish 27 | X-Cache: 28 | - MISS, MISS 29 | X-Cache-Hits: 30 | - 0, 0 31 | X-Content-Type-Options: 32 | - nosniff 33 | X-Served-By: 34 | - cache-control-cp-aws-us-east-2-prod-4-CONTROL-AWS-UE2, cache-lhr7369-LHR 35 | X-Timer: 36 | - S1685626815.668203,VS0,VE232 37 | status: 204 No Content 38 | code: 204 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/fixtures/notifications/delete_integration.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.2.1 (+github.com/fastly/go-fastly; go1.22.0) 10 | url: https://api.fastly.com/notifications/integrations/2KYt9p4Y1KPhSjwThWG08E 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Tue, 16 Apr 2024 15:52:43 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish 35 | X-Cache: 36 | - MISS 37 | X-Cache-Hits: 38 | - "0" 39 | X-Served-By: 40 | - cache-pao-kpao1770026-PAO 41 | X-Timer: 42 | - S1713282764.587111,VS0,VE283 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/observability_custom_dashboards/delete_custom_dashboard.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.8.0 (+github.com/fastly/go-fastly; go1.23.0) 10 | url: https://api.fastly.com/observability/dashboards/4d8YrSYlEVN7O9q55PTROf 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Mon, 16 Sep 2024 18:50:28 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100140-CHI, cache-pdk-kpdk1780083-PDK 41 | X-Timer: 42 | - S1726512628.228117,VS0,VE65 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/platform_tls/cleanup.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/1.7.2 (+github.com/fastly/go-fastly; go1.14) 10 | url: https://api.fastly.com/tls/bulk/certificates/BULK_CERTIFICATE_ID 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Date: 18 | - Sat, 11 May 2019 21:45:02 GMT 19 | Status: 20 | - 204 No Content 21 | Strict-Transport-Security: 22 | - max-age=31536000 23 | Via: 24 | - 1.1 varnish 25 | - 1.1 varnish 26 | X-Cache: 27 | - MISS, MISS 28 | X-Cache-Hits: 29 | - 0, 0 30 | X-Content-Type-Options: 31 | - nosniff 32 | X-Served-By: 33 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-lax8631-LAX 34 | X-Timer: 35 | - S1557611103.608075,VS0,VE254 36 | status: 204 No Content 37 | code: 204 38 | -------------------------------------------------------------------------------- /fastly/fixtures/platform_tls/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/1.7.2 (+github.com/fastly/go-fastly; go1.14) 10 | url: https://api.fastly.com/tls/bulk/certificates/CERTIFICATE_ID 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Date: 18 | - Sat, 11 May 2019 21:45:02 GMT 19 | Status: 20 | - 204 No Content 21 | Strict-Transport-Security: 22 | - max-age=31536000 23 | Via: 24 | - 1.1 varnish 25 | - 1.1 varnish 26 | X-Cache: 27 | - MISS, MISS 28 | X-Cache-Hits: 29 | - 0, 0 30 | X-Content-Type-Options: 31 | - nosniff 32 | X-Served-By: 33 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-lax8631-LAX 34 | X-Timer: 35 | - S1557611103.608075,VS0,VE254 36 | status: 204 No Content 37 | code: 204 38 | -------------------------------------------------------------------------------- /fastly/fixtures/pools/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/91/pool/new_test_pool 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Mon, 07 Nov 2022 13:45:43 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9962" 25 | Fastly-Ratelimit-Reset: 26 | - "1667829600" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-6-CONTROL-AWS, cache-man4123-MAN 41 | X-Timer: 42 | - S1667828743.813016,VS0,VE223 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_bot_management.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/bot_management/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:24 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000069-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924303.402314,VS0,VE1024 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_brotli_compression.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/brotli_compression/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:21 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000119-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924302.575396,VS0,VE210 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_domain_inspector.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/domain_inspector/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:23 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100037-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924303.583736,VS0,VE990 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_fanout.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/fanout/services/XsjdElScZGjmfCcTwsYRC1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:23 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000137-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924303.658245,VS0,VE520 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_image_optimizer.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/image_optimizer/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:25 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000128-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924304.279790,VS0,VE1095 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_log_explorer_insights.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/log_explorer_insights/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:25 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100124-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924305.931884,VS0,VE831 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_origin_inspector.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/origin_inspector/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:25 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100125-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924304.959599,VS0,VE1155 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/product_enablement/disable_websockets.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.11.0 (+github.com/fastly/go-fastly; go1.23.2) 10 | url: https://api.fastly.com/enabled-products/websockets/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 06 Nov 2024 20:18:23 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100118-CHI, cache-ewr-kewr1740064-EWR 41 | X-Timer: 42 | - S1730924303.978744,VS0,VE427 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/purges/purge_all.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/purge_all 11 | method: POST 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 17:09:51 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "4941" 25 | Fastly-Ratelimit-Reset: 26 | - "1635962400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-man4151-MAN 41 | X-Timer: 42 | - S1635959391.720209,VS0,VE336 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/purges/purge_by_key.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/purge/foo 11 | method: POST 12 | response: 13 | body: '{ "status": "ok", "id": "4151-1635861748-11038" }' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Content-Length: 18 | - "49" 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 03 Nov 2021 17:09:50 GMT 23 | Fastly-Instant-Rate: 24 | - "3" 25 | Fastly-Surrogate-Key-Count: 26 | - "1" 27 | Via: 28 | - 1.1 varnish 29 | X-Served-By: 30 | - cache-man4151-MAN 31 | X-Varnish: 32 | - "4184921647" 33 | status: 200 OK 34 | code: 200 35 | duration: "" 36 | -------------------------------------------------------------------------------- /fastly/fixtures/purges/purge_by_keys.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Surrogate-Key: 9 | - foo bar baz 10 | User-Agent: 11 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 12 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/purge 13 | method: POST 14 | response: 15 | body: '{ "foo": "4151-1635861748-11035", "bar": "4151-1635861748-11036", "baz": 16 | "4151-1635861748-11037" }' 17 | headers: 18 | Accept-Ranges: 19 | - bytes 20 | Content-Length: 21 | - "98" 22 | Date: 23 | - Wed, 03 Nov 2021 17:09:50 GMT 24 | Fastly-Instant-Rate: 25 | - "0" 26 | Fastly-Surrogate-Key-Count: 27 | - "3" 28 | Via: 29 | - 1.1 varnish 30 | X-Served-By: 31 | - cache-man4151-MAN 32 | X-Varnish: 33 | - "4184921646" 34 | status: 200 OK 35 | code: 200 36 | duration: "" 37 | -------------------------------------------------------------------------------- /fastly/fixtures/resources/cleanup-kv-store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/7.0.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/resources/stores/kv/2dem3bjbpie7k1vyy70fh5 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Date: 18 | - Thu, 19 Jan 2023 11:28:16 GMT 19 | Strict-Transport-Security: 20 | - max-age=31536000 21 | Via: 22 | - 1.1 varnish 23 | X-Cache: 24 | - MISS 25 | X-Cache-Hits: 26 | - "0" 27 | X-Served-By: 28 | - cache-fty21339-FTY, cache-man4131-MAN 29 | X-Timer: 30 | - S1674127696.810292,VS0,VE563 31 | status: 204 No Content 32 | code: 204 33 | duration: "" 34 | -------------------------------------------------------------------------------- /fastly/fixtures/resources/create-kv-store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: '{"name":"test-kv-store"}' 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/7.0.0 (+github.com/fastly/go-fastly; go1.16.15) 14 | url: https://api.fastly.com/resources/stores/kv 15 | method: POST 16 | response: 17 | body: '{"id":"2dem3bjbpie7k1vyy70fh5","name":"test-kv-store","created_at":"2023-01-19T11:28:13.754Z","updated_at":"2023-01-19T11:28:13.754Z"}' 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Content-Type: 22 | - application/json 23 | Date: 24 | - Thu, 19 Jan 2023 11:28:13 GMT 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish 29 | X-Cache: 30 | - MISS 31 | X-Cache-Hits: 32 | - "0" 33 | X-Served-By: 34 | - cache-fty21339-FTY, cache-man4131-MAN 35 | X-Timer: 36 | - S1674127692.140623,VS0,VE1665 37 | status: 201 Created 38 | code: 201 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/fixtures/resources/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/7.0.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/5/resource/rn6c7YSyRxBJMejpyvoQa1 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 19 Jan 2023 11:28:15 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9991" 25 | Fastly-Ratelimit-Reset: 26 | - "1674129600" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-5-CONTROL-AWS, cache-man4131-MAN 41 | X-Timer: 42 | - S1674127695.215445,VS0,VE220 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_CreateOrRecreateSecret/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/HRVK8PEwGUOnFzgM8n4qie 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - TjHYVbcUwbp3JSvNGxzuPC 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-canary-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.051858,VS0,VE264 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_CreateSecret/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/eASYqvsHhZ9nHZDpUANEke 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - 4fxAT6eiKkHgoV8G6nZZpO 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-canary-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.923065,VS0,VE320 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_CreateSecretStore/delete_store.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/Usp8jVng3INtRIvNzSyJRl 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:54 GMT 25 | Fastly-Trace-Id: 26 | - foLPlv8nAlKejWB9JQnFQe 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100494.409257,VS0,VE253 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_CreateSecret_clientEncryption/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/gHoXWTpybFOm2BnwG803dg 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - n7ry0Bi46EE6i03T9kcXP5 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-canary-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100496.578271,VS0,VE249 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_DeleteSecret.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/DSXDxdHJFcmIM3FiKGjHis/secrets/TestClient_DeleteSecret 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - C7WPsBrgpQY0OWHWqIeNAM 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.992494,VS0,VE807 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_DeleteSecret/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/DSXDxdHJFcmIM3FiKGjHis 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:56 GMT 25 | Fastly-Trace-Id: 26 | - JpQ4z3zxaEYcY85CwE4HD7 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-4-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100496.821691,VS0,VE295 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_DeleteSecretStore.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/NCYVjuPTa4UwP5BaPOh8RH 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - F5kgNZPkpBSn2jQn2I5leV 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.567437,VS0,VE442 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_GetSecret/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/UTXZNpePgJQgE1z5l3AZEf 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - CC9nQa0kvBmvIT7ArgxjcJ 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.423732,VS0,VE256 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_GetSecretStore/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/WqSZY00l0dbJV4jrGbF2vQ 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:54 GMT 25 | Fastly-Trace-Id: 26 | - 0Rl8gdzlTxeQk4KSSX1Y7G 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.695964,VS0,VE256 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_ListSecretStores/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/h49BKtcbrtmBAUg6sYP78X 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:53 GMT 25 | Fastly-Trace-Id: 26 | - tRIRyAivPrUXbbhMAouQxr 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100494.656913,VS0,VE278 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_ListSecretStores/delete_store_01.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/d2SvGpaLNvaiAsRlrzGoyt 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:53 GMT 25 | Fastly-Trace-Id: 26 | - VwUVoIIBVi3p2sFjkA1U6Z 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100493.410803,VS0,VE227 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_ListSecretStores/delete_store_02.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/ZfxRsiLSflKgDsVDVRMYFC 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:53 GMT 25 | Fastly-Trace-Id: 26 | - NzVzPadwZDplElXXn9BPxg 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100493.095566,VS0,VE291 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_ListSecretStores/delete_store_03.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/hFRcvaDiONsTVYbjOcUmoI 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:53 GMT 25 | Fastly-Trace-Id: 26 | - nO4gfMMpUic8mWL8wyE9EO 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-3-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100493.794398,VS0,VE273 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_ListSecretStores/delete_store_04.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/Kmi1SxIUxMc5Iagk4mMZPe 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:52 GMT 25 | Fastly-Trace-Id: 26 | - 9uMGZJMyNaWm1PFKFE73Iw 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100492.482137,VS0,VE288 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_ListSecrets/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/XEFWk72J2ud8NCZonE2Fj0 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:57 GMT 25 | Fastly-Trace-Id: 26 | - 26NAeUAAWBGecbu1tdseZB 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-2-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100497.941815,VS0,VE254 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/secret_store/TestClient_RecreateSecret/delete_store_00.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | Accept: 9 | - application/json 10 | Content-Type: 11 | - application/json 12 | User-Agent: 13 | - FastlyGo/8.6.4 (+github.com/fastly/go-fastly; go1.21.4) 14 | url: https://api.fastly.com/resources/stores/secret/Sfkx0raCtSr9r06jInEei7 15 | method: DELETE 16 | response: 17 | body: "" 18 | headers: 19 | Accept-Ranges: 20 | - bytes 21 | Cache-Control: 22 | - no-store 23 | Date: 24 | - Mon, 27 Nov 2023 15:54:55 GMT 25 | Fastly-Trace-Id: 26 | - hRGwlwiRgaBAnBnCxlG856 27 | Pragma: 28 | - no-cache 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-2-prod-4-CONTROL-AWS-UE2, cache-lcy-eglc8600020-LCY 39 | X-Timer: 40 | - S1701100495.352266,VS0,VE266 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/servers/delete_pool.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/71/pool/test_pool_servers22 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 17:20:31 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9974" 25 | Fastly-Ratelimit-Reset: 26 | - "1667584800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-4-CONTROL-AWS, cache-man4140-MAN 41 | X-Timer: 42 | - S1667582432.602997,VS0,VE199 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/service_authorizations/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.4.0 (+github.com/fastly/go-fastly; go1.16) 10 | url: https://api.fastly.com/service-authorizations/6lxMq0qXIaSCLqrch0azvx 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Wed, 22 Jun 2022 18:07:23 GMT 21 | Fastly-Ratelimit-Remaining: 22 | - "4994" 23 | Fastly-Ratelimit-Reset: 24 | - "1655924400" 25 | Status: 26 | - 204 No Content 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish, 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Served-By: 36 | - cache-control-slwdc9037-CONTROL-SLWDC, cache-man4137-MAN 37 | X-Timer: 38 | - S1655921244.503974,VS0,VE176 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/services/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/FPkmJNp1fH8CnWbdi21Wf3 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 17:51:48 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9950" 25 | Fastly-Ratelimit-Reset: 26 | - "1667584800" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-5-CONTROL-AWS, cache-man4137-MAN 41 | X-Timer: 42 | - S1667584308.067018,VS0,VE380 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/services/domain.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/FPkmJNp1fH8CnWbdi21Wf3/domain 11 | method: GET 12 | response: 13 | body: '[]' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Age: 18 | - "0" 19 | Cache-Control: 20 | - no-store 21 | Content-Type: 22 | - application/json 23 | Date: 24 | - Fri, 04 Nov 2022 17:51:48 GMT 25 | Status: 26 | - 200 OK 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Vary: 30 | - Accept-Encoding 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-control-cp-aws-us-east-1-prod-1-CONTROL-AWS, cache-man4137-MAN 39 | X-Timer: 40 | - S1667584308.476772,VS0,VE302 41 | status: 200 OK 42 | code: 200 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/fixtures/stats/regions.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/stats/regions 11 | method: GET 12 | response: 13 | body: | 14 | {"data":["africa_std","anzac","asia","asia_india","asia_southkorea","europe","latam","southamerica_std","usa"],"meta":{"to":"2021-11-03 17:31:47 UTC","from":"2021-10-03 17:31:47 UTC","by":"day","region":"all"},"status":"success","msg":null} 15 | headers: 16 | Accept-Ranges: 17 | - bytes 18 | Content-Type: 19 | - application/json 20 | Date: 21 | - Wed, 03 Nov 2021 17:31:48 GMT 22 | Status: 23 | - 200 OK 24 | Strict-Transport-Security: 25 | - max-age=31536000 26 | Vary: 27 | - Accept-Encoding 28 | Via: 29 | - 1.1 varnish, 1.1 varnish 30 | X-Cache: 31 | - MISS, MISS 32 | X-Cache-Hits: 33 | - 0, 0 34 | X-Served-By: 35 | - cache-control-slwdc9037-CONTROL-SLWDC, cache-man4122-MAN 36 | X-Timer: 37 | - S1635960708.630514,VS0,VE769 38 | status: 200 OK 39 | code: 200 40 | duration: "" 41 | -------------------------------------------------------------------------------- /fastly/fixtures/stats/service_stats.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/stats/service/kKJb5bOFI47uHeBVluGfX1?by=minute&from=10+days+ago®ion=europe&to=now 11 | method: GET 12 | response: 13 | body: | 14 | {"data":[],"meta":{"to":"2021-11-03 17:18:42 UTC","from":"2021-10-24 17:18:42 UTC","by":"minute","region":"europe"},"status":"success","msg":null} 15 | headers: 16 | Accept-Ranges: 17 | - bytes 18 | Content-Type: 19 | - application/json 20 | Date: 21 | - Wed, 03 Nov 2021 17:18:42 GMT 22 | Status: 23 | - 200 OK 24 | Strict-Transport-Security: 25 | - max-age=31536000 26 | Vary: 27 | - Accept-Encoding 28 | Via: 29 | - 1.1 varnish, 1.1 varnish 30 | X-Cache: 31 | - MISS, MISS 32 | X-Cache-Hits: 33 | - 0, 0 34 | X-Served-By: 35 | - cache-control-slwdc9036-CONTROL-SLWDC, cache-man4131-MAN 36 | X-Timer: 37 | - S1635959921.206077,VS0,VE1256 38 | status: 200 OK 39 | code: 200 40 | duration: "" 41 | -------------------------------------------------------------------------------- /fastly/fixtures/stats/service_stats_by_field.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.1.1 (+github.com/fastly/go-fastly; go1.17) 10 | url: https://api.fastly.com/stats/field/bandwidth?by=minute&from=1+hour+ago®ion=europe&to=now 11 | method: GET 12 | response: 13 | body: | 14 | {"data":{},"meta":{"to":"2021-11-03 17:18:41 UTC","from":"2021-11-03 16:18:41 UTC","by":"minute","region":"europe"},"status":"success","msg":null} 15 | headers: 16 | Accept-Ranges: 17 | - bytes 18 | Content-Type: 19 | - application/json 20 | Date: 21 | - Wed, 03 Nov 2021 17:18:41 GMT 22 | Status: 23 | - 200 OK 24 | Strict-Transport-Security: 25 | - max-age=31536000 26 | Vary: 27 | - Accept-Encoding 28 | Via: 29 | - 1.1 varnish, 1.1 varnish 30 | X-Cache: 31 | - MISS, MISS 32 | X-Cache-Hits: 33 | - 0, 0 34 | X-Served-By: 35 | - cache-control-slwdc9037-CONTROL-SLWDC, cache-man4131-MAN 36 | X-Timer: 37 | - S1635959921.205955,VS0,VE659 38 | status: 200 OK 39 | code: 200 40 | duration: "" 41 | -------------------------------------------------------------------------------- /fastly/fixtures/tls/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/5.2.0 (+github.com/fastly/go-fastly; go1.17.3) 10 | url: https://api.fastly.com/tls/private_keys/2Bh0QhgtpUdtbsFkAZOmvi 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Date: 18 | - Mon, 10 Jan 2022 08:23:05 GMT 19 | Strict-Transport-Security: 20 | - max-age=31536000 21 | Via: 22 | - 1.1 varnish, 1.1 varnish 23 | X-Cache: 24 | - MISS, MISS 25 | X-Cache-Hits: 26 | - 0, 0 27 | X-Content-Type-Options: 28 | - nosniff 29 | X-Served-By: 30 | - cache-control-slwdc9036-CONTROL-SLWDC, cache-tyo11955-TYO 31 | X-Timer: 32 | - S1641802985.834246,VS0,VE220 33 | status: 204 No Content 34 | code: 204 35 | duration: "" 36 | -------------------------------------------------------------------------------- /fastly/fixtures/tls_subscription/cleanup.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.3.1 (+github.com/fastly/go-fastly; go1.20.14) 10 | url: https://api.fastly.com/tls/subscriptions/mwtZ5xuowgXsyR2nyPjuWw 11 | method: DELETE 12 | response: 13 | body: '{"errors":[{"title":"Not found","detail":"The subscription you requested 14 | was not found"}]}' 15 | headers: 16 | Accept-Ranges: 17 | - bytes 18 | Cache-Control: 19 | - no-store 20 | Content-Length: 21 | - "90" 22 | Content-Type: 23 | - application/vnd.api+json 24 | Date: 25 | - Tue, 07 May 2024 12:52:02 GMT 26 | Pragma: 27 | - no-cache 28 | Server: 29 | - control-gateway 30 | Strict-Transport-Security: 31 | - max-age=31536000 32 | Via: 33 | - 1.1 varnish 34 | X-Cache: 35 | - MISS 36 | X-Cache-Hits: 37 | - "0" 38 | X-Content-Type-Options: 39 | - nosniff 40 | X-Served-By: 41 | - cache-lcy-eglc8600089-LCY 42 | X-Timer: 43 | - S1715086323.742454,VS0,VE193 44 | status: 404 Not Found 45 | code: 404 46 | duration: "" 47 | -------------------------------------------------------------------------------- /fastly/fixtures/tls_subscription/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.3.1 (+github.com/fastly/go-fastly; go1.20.14) 10 | url: https://api.fastly.com/tls/subscriptions/mwtZ5xuowgXsyR2nyPjuWw 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Tue, 07 May 2024 12:52:02 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - control-gateway 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish 29 | X-Cache: 30 | - MISS 31 | X-Cache-Hits: 32 | - "0" 33 | X-Content-Type-Options: 34 | - nosniff 35 | X-Served-By: 36 | - cache-lcy-eglc8600089-LCY 37 | X-Timer: 38 | - S1715086320.600211,VS0,VE3116 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/tokens/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4) 10 | url: https://api.fastly.com/tokens/XXXXXXXXXXXXXXXXXXXXXX 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-cache 19 | Date: 20 | - Thu, 14 Jan 2021 11:54:57 GMT 21 | Fastly-Ratelimit-Remaining: 22 | - "953" 23 | Fastly-Ratelimit-Reset: 24 | - "1610625600" 25 | Status: 26 | - 204 No Content 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish, 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Served-By: 36 | - cache-control-slwdc9037-CONTROL-SLWDC, cache-man4146-MAN 37 | X-Timer: 38 | - S1610625297.864105,VS0,VE562 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/tokens/delete_self.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/2.1.0 (+github.com/fastly/go-fastly; go1.15.4) 10 | url: https://api.fastly.com/tokens/self 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-cache 19 | Date: 20 | - Thu, 14 Jan 2021 11:58:01 GMT 21 | Fastly-Ratelimit-Remaining: 22 | - "951" 23 | Fastly-Ratelimit-Reset: 24 | - "1610625600" 25 | Status: 26 | - 204 No Content 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Via: 30 | - 1.1 varnish, 1.1 varnish 31 | X-Cache: 32 | - MISS, MISS 33 | X-Cache-Hits: 34 | - 0, 0 35 | X-Served-By: 36 | - cache-control-slwdc9035-CONTROL-SLWDC, cache-man4151-MAN 37 | X-Timer: 38 | - S1610625481.359649,VS0,VE292 39 | status: 204 No Content 40 | code: 204 41 | duration: "" 42 | -------------------------------------------------------------------------------- /fastly/fixtures/users/cleanup.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/user/1Iyp7cXku3sEDtOBxnhLaL 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 18:02:17 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9995" 25 | Fastly-Ratelimit-Reset: 26 | - "1667588400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-6-CONTROL-AWS, cache-man4138-MAN 41 | X-Timer: 42 | - S1667584938.762740,VS0,VE211 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/users/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/user/1Iyp7cXku3sEDtOBxnhLaL 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 18:05:39 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9994" 25 | Fastly-Ratelimit-Reset: 26 | - "1667588400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-1-CONTROL-AWS, cache-man4140-MAN 41 | X-Timer: 42 | - S1667585139.208865,VS0,VE293 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/users/reset_password.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/user/go-fastly-test+user+20221104@example.com/password/request_reset 11 | method: POST 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 04 Nov 2022 18:02:17 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9996" 25 | Fastly-Ratelimit-Reset: 26 | - "1667588400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-6-CONTROL-AWS, cache-man4138-MAN 41 | X-Timer: 42 | - S1667584937.444384,VS0,VE289 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/fixtures/vcls/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/6.8.0 (+github.com/fastly/go-fastly; go1.16.15) 10 | url: https://api.fastly.com/service/kKJb5bOFI47uHeBVluGfX1/version/85/vcl/new-test-vcl 11 | method: DELETE 12 | response: 13 | body: '{"status":"ok"}' 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Mon, 07 Nov 2022 11:30:09 GMT 23 | Fastly-Ratelimit-Remaining: 24 | - "9958" 25 | Fastly-Ratelimit-Reset: 26 | - "1667822400" 27 | Status: 28 | - 200 OK 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-control-cp-aws-us-east-1-prod-4-CONTROL-AWS, cache-man4120-MAN 41 | X-Timer: 42 | - S1667820609.968534,VS0,VE190 43 | status: 200 OK 44 | code: 200 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/ip.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | // IPAddrs is a list of IP addresses returned by the Fastly API. 4 | type IPAddrs []string 5 | 6 | // AllIPs returns the lists of public IPv4 and IPv6 addresses for Fastly's network. 7 | func (c *Client) AllIPs() (v4, v6 IPAddrs, err error) { 8 | resp, err := c.Get("/public-ip-list", CreateRequestOptions(nil)) 9 | if err != nil { 10 | return nil, nil, err 11 | } 12 | defer resp.Body.Close() 13 | 14 | var m map[string][]string 15 | if err := DecodeBodyMap(resp.Body, &m); err != nil { 16 | return nil, nil, err 17 | } 18 | 19 | return m["addresses"], m["ipv6_addresses"], nil 20 | } 21 | 22 | // IPs returns the list of public IPv4 addresses for Fastly's network. 23 | func (c *Client) IPs() (IPAddrs, error) { 24 | v4, _, err := c.AllIPs() 25 | if err != nil { 26 | return nil, err 27 | } 28 | 29 | return v4, nil 30 | } 31 | 32 | // IPsV6 returns the list of public IPv6 addresses for Fastly's network. 33 | func (c *Client) IPsV6() (IPAddrs, error) { 34 | _, v6, err := c.AllIPs() 35 | if err != nil { 36 | return nil, err 37 | } 38 | 39 | return v6, nil 40 | } 41 | -------------------------------------------------------------------------------- /fastly/ip_test.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | import "testing" 4 | 5 | func TestClient_IPs(t *testing.T) { 6 | t.Parallel() 7 | 8 | var err error 9 | var ips IPAddrs 10 | Record(t, "ips/list", func(c *Client) { 11 | ips, err = c.IPs() 12 | }) 13 | if err != nil { 14 | t.Fatal(err) 15 | } 16 | if len(ips) == 0 { 17 | t.Fatal("missing ips") 18 | } 19 | } 20 | 21 | func TestClient_IPsV6(t *testing.T) { 22 | t.Parallel() 23 | 24 | var err error 25 | var ips IPAddrs 26 | Record(t, "ips/list", func(c *Client) { 27 | ips, err = c.IPsV6() 28 | }) 29 | if err != nil { 30 | t.Fatal(err) 31 | } 32 | if len(ips) == 0 { 33 | t.Fatal("missing ips") 34 | } 35 | } 36 | 37 | func TestClient_AllIPs(t *testing.T) { 38 | t.Parallel() 39 | 40 | var err error 41 | var v4 IPAddrs 42 | var v6 IPAddrs 43 | Record(t, "ips/list", func(c *Client) { 44 | v4, v6, err = c.AllIPs() 45 | }) 46 | if err != nil { 47 | t.Fatal(err) 48 | } 49 | if len(v4) == 0 { 50 | t.Fatal("missing v4 ips") 51 | } 52 | if len(v6) == 0 { 53 | t.Fatal("missing v6 ips") 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /fastly/ngwaf/doc.go: -------------------------------------------------------------------------------- 1 | // Package ngwaf contains subpackages which offer various operations to 2 | // configure the Fastly Next-Gen WAF. 3 | package ngwaf 4 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/doc.go: -------------------------------------------------------------------------------- 1 | // Package v1 contains functionality which allows you to manage 2 | // Fastly Next-Gen WAF workspaces, requests, events, redactions, 3 | // tags, and rules using its v1 implementation. 4 | package v1 5 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/events/doc.go: -------------------------------------------------------------------------------- 1 | // Package events contains API operations to get, list, and 2 | // expire Fastly Next-Gen WAF events. 3 | package events 4 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/redactions/api_delete.go: -------------------------------------------------------------------------------- 1 | package redactions 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // DeleteInput specifies the information needed for the Delete() function to 11 | // perform the operation. 12 | type DeleteInput struct { 13 | // Context, if supplied, will be used as the Request's context. 14 | Context *context.Context 15 | // RedactionID is the redaction identifier (required). 16 | RedactionID *string 17 | // WorkspaceID is the workspace identifier (required). 18 | WorkspaceID *string 19 | } 20 | 21 | // Delete deletes the specified workspace. 22 | func Delete(c *fastly.Client, i *DeleteInput) error { 23 | if i.WorkspaceID == nil { 24 | return fastly.ErrMissingWorkspaceID 25 | } 26 | if i.RedactionID == nil { 27 | return fastly.ErrMissingRedactionID 28 | } 29 | 30 | path := fastly.ToSafeURL("ngwaf", "v1", "workspaces", *i.WorkspaceID, "redactions", *i.RedactionID) 31 | 32 | resp, err := c.Delete(path, fastly.CreateRequestOptions(i.Context)) 33 | if err != nil { 34 | return err 35 | } 36 | defer resp.Body.Close() 37 | 38 | if resp.StatusCode != http.StatusNoContent { 39 | return fastly.NewHTTPError(resp) 40 | } 41 | 42 | return nil 43 | } 44 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/redactions/api_response.go: -------------------------------------------------------------------------------- 1 | package redactions 2 | 3 | import "time" 4 | 5 | // Workspace is the API response structure for the create, update, and get operations. 6 | type Redaction struct { 7 | // CreatedAt is the date and time in ISO 8601 format. 8 | CreatedAt time.Time `json:"created_at"` 9 | // Field is the field being redacted. You cannot create multiple 10 | Field string `json:"field"` 11 | // Type is the type of field being redacted. One of `request_parameter`, `request_header`, or `response_header`. 12 | Type string `json:"type"` 13 | // RedactionID is the redaction identifier (UUID). 14 | RedactionID string `json:"id"` 15 | } 16 | 17 | // WorkspRedactionsaces is the API response structure for the list Redactions operation. 18 | type Redactions struct { 19 | // Data is the list of returned redactions. 20 | Data []Redaction `json:"data"` 21 | // Meta is the information for total redactions. 22 | Meta MetaRedactions `json:"meta"` 23 | } 24 | 25 | // MetaRedactions is a subset of the redactions response structure. 26 | type MetaRedactions struct { 27 | // Limit is the limit of redactions. 28 | Limit int `json:"limit"` 29 | // Total is the sum of redactions. 30 | Total int `json:"total"` 31 | } 32 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/redactions/doc.go: -------------------------------------------------------------------------------- 1 | // Package redactions contains API operations to create, get, update, list, and 2 | // delete Fastly Next-Gen WAF redactions. 3 | package redactions 4 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/redactions/fixtures/delete_redaction.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.2.0 (+github.com/fastly/go-fastly; go1.24.2) 10 | url: https://api.fastly.com/ngwaf/v1/workspaces/alk6DTsYKHKucJCOIavaJM/redactions/6839f562ce0b68dbd0c4274e 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Fri, 30 May 2025 18:13:56 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Vary: 30 | - Accept-Encoding 31 | Via: 32 | - 1.1 varnish 33 | X-Cache: 34 | - MISS 35 | X-Cache-Hits: 36 | - "0" 37 | X-Served-By: 38 | - cache-ewr-kewr1740095-EWR 39 | X-Timer: 40 | - S1748628836.134320,VS0,VE375 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/timeseries/api_response.go: -------------------------------------------------------------------------------- 1 | package timeseries 2 | 3 | // VirtualPatch is the API response structure for the get time series operations. 4 | type TimeSeries struct { 5 | // Data is the list of returned time series. 6 | Data []TimeSeries `json:"data"` 7 | // Meta is the information for total time series. 8 | Meta MetaTimeSeries `json:"meta"` 9 | } 10 | 11 | // MetaVirtualPatch is a subset of the TimeSeries response structure. 12 | type MetaTimeSeries struct { 13 | // Total is the sum of VirtualPatch. 14 | Total int `json:"total"` 15 | } 16 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/timeseries/doc.go: -------------------------------------------------------------------------------- 1 | // Package timeseries contains API operations to get 2 | // Fastly Next-Gen WAF time series 3 | package timeseries 4 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/virtualpatches/api_response.go: -------------------------------------------------------------------------------- 1 | package virtualpatches 2 | 3 | // VirtualPatch is the API response structure for the patch virtial patch operations. 4 | type VirtualPatch struct { 5 | // Description is the description of the workspace. 6 | Description string `json:"description"` 7 | // Enabled is the toggle status indicator of the VirtualPatch. 8 | Enabled bool `json:"enabled"` 9 | // ID is the virtual patch identifier. 10 | ID string `json:"id"` 11 | // Mode is action to take when a signal for virtual patch is detected. 12 | Mode string `json:"mode"` 13 | } 14 | 15 | // MetaVirtualPatch is a subset of the VirtualPatch response structure. 16 | type MetaVirtualPatches struct { 17 | // Limit is the limit of VirtualPatch. 18 | Limit int `json:"limit"` 19 | // Total is the sum of VirtualPatch. 20 | Total int `json:"total"` 21 | } 22 | 23 | // VirtualPatch is the API response structure for the get and list virtial patch operations. 24 | type VirtualPatches struct { 25 | // Data is the list of returned virtual patches. 26 | Data []VirtualPatch `json:"data"` 27 | // Meta is the information for total virtual patches. 28 | Meta MetaVirtualPatches `json:"meta"` 29 | } 30 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/virtualpatches/doc.go: -------------------------------------------------------------------------------- 1 | // Package virtualpatches contains API operations to get, list and 2 | // patch Fastly Next-Gen WAF virtual patches 3 | package virtualpatches 4 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/workspaces/api_delete.go: -------------------------------------------------------------------------------- 1 | package workspaces 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // DeleteInput specifies the information needed for the Delete() function to 11 | // perform the operation. 12 | type DeleteInput struct { 13 | // Context, if supplied, will be used as the Request's context. 14 | Context *context.Context 15 | // WorkspaceID is the workspace identifier (required). 16 | WorkspaceID *string 17 | } 18 | 19 | // Delete deletes the specified workspace. 20 | func Delete(c *fastly.Client, i *DeleteInput) error { 21 | if i.WorkspaceID == nil { 22 | return fastly.ErrMissingWorkspaceID 23 | } 24 | 25 | path := fastly.ToSafeURL("ngwaf", "v1", "workspaces", *i.WorkspaceID) 26 | 27 | resp, err := c.Delete(path, fastly.CreateRequestOptions(i.Context)) 28 | if err != nil { 29 | return err 30 | } 31 | defer resp.Body.Close() 32 | 33 | if resp.StatusCode != http.StatusNoContent { 34 | return fastly.NewHTTPError(resp) 35 | } 36 | 37 | return nil 38 | } 39 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/workspaces/api_get.go: -------------------------------------------------------------------------------- 1 | package workspaces 2 | 3 | import ( 4 | "context" 5 | "encoding/json" 6 | "fmt" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | // GetInput specifies the information needed for the Get() function to perform 12 | // the operation. 13 | type GetInput struct { 14 | // Context, if supplied, will be used as the Request's context. 15 | Context *context.Context 16 | // WorkspaceID is the workspace identifier (required). 17 | WorkspaceID *string 18 | } 19 | 20 | // Get retrieves the specified workspace. 21 | func Get(c *fastly.Client, i *GetInput) (*Workspace, error) { 22 | if i.WorkspaceID == nil { 23 | return nil, fastly.ErrMissingWorkspaceID 24 | } 25 | 26 | path := fastly.ToSafeURL("ngwaf", "v1", "workspaces", *i.WorkspaceID) 27 | 28 | resp, err := c.Get(path, fastly.CreateRequestOptions(i.Context)) 29 | if err != nil { 30 | return nil, err 31 | } 32 | defer resp.Body.Close() 33 | 34 | var ws *Workspace 35 | if err := json.NewDecoder(resp.Body).Decode(&ws); err != nil { 36 | return nil, fmt.Errorf("failed to decode json response: %w", err) 37 | } 38 | 39 | return ws, nil 40 | } 41 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/workspaces/doc.go: -------------------------------------------------------------------------------- 1 | // Package workspaces contains API operations to create, get, update, list, and 2 | // delete Fastly Next-Gen WAF workspaces. 3 | package workspaces 4 | -------------------------------------------------------------------------------- /fastly/ngwaf/v1/workspaces/fixtures/delete_workspace.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.1.0 (+github.com/fastly/go-fastly; go1.24.2) 10 | url: https://api.fastly.com/ngwaf/v1/workspaces/1ZxmBhEF6b3PCBXarHgpbF 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 15 May 2025 14:04:55 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Strict-Transport-Security: 28 | - max-age=31536000 29 | Vary: 30 | - Accept-Encoding 31 | Via: 32 | - 1.1 varnish, 1.1 varnish 33 | X-Cache: 34 | - MISS, MISS 35 | X-Cache-Hits: 36 | - 0, 0 37 | X-Served-By: 38 | - cache-chi-kigq8000117-CHI, cache-lga21974-LGA 39 | X-Timer: 40 | - S1747317894.023924,VS0,VE1576 41 | status: 204 No Content 42 | code: 204 43 | duration: "" 44 | -------------------------------------------------------------------------------- /fastly/objectstorage/accesskeys/api_delete.go: -------------------------------------------------------------------------------- 1 | package accesskeys 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // DeleteInput specifies the information needed for the Delete() function to 11 | // perform the operation. 12 | type DeleteInput struct { 13 | // AccessKeyID is an AccessKey Identifier (required). 14 | AccessKeyID *string 15 | // Context, if supplied, will be used as the Request's context. 16 | Context *context.Context 17 | } 18 | 19 | // DeleteAccessKey deletes an access key. 20 | func Delete(c *fastly.Client, i *DeleteInput) error { 21 | if i.AccessKeyID == nil { 22 | return fastly.ErrMissingAccessKeyID 23 | } 24 | 25 | path := fastly.ToSafeURL("resources", "object-storage", "access-keys", *i.AccessKeyID) 26 | 27 | resp, err := c.Delete(path, fastly.CreateRequestOptions(i.Context)) 28 | if err != nil { 29 | return err 30 | } 31 | defer resp.Body.Close() 32 | 33 | if resp.StatusCode != http.StatusNoContent { 34 | return fastly.NewHTTPError(resp) 35 | } 36 | return nil 37 | } 38 | -------------------------------------------------------------------------------- /fastly/objectstorage/accesskeys/api_get.go: -------------------------------------------------------------------------------- 1 | package accesskeys 2 | 3 | import ( 4 | "context" 5 | "encoding/json" 6 | "fmt" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly" 9 | ) 10 | 11 | // GetInput specifies the information needed for the Get() function to perform 12 | // the operation. 13 | type GetInput struct { 14 | // AccessKeyID is an AccessKey Identifier (required). 15 | AccessKeyID *string 16 | // Context, if supplied, will be used as the Request's context. 17 | Context *context.Context 18 | } 19 | 20 | // GetAccessKey finds an access key with the given ID if the user has the correct permisssions. 21 | func Get(c *fastly.Client, i *GetInput) (*AccessKey, error) { 22 | if i.AccessKeyID == nil { 23 | return nil, fastly.ErrMissingAccessKeyID 24 | } 25 | 26 | path := fastly.ToSafeURL("resources", "object-storage", "access-keys", *i.AccessKeyID) 27 | 28 | resp, err := c.Get(path, fastly.CreateRequestOptions(i.Context)) 29 | if err != nil { 30 | return nil, err 31 | } 32 | defer resp.Body.Close() 33 | 34 | var accessKey *AccessKey 35 | if err := json.NewDecoder(resp.Body).Decode(&accessKey); err != nil { 36 | return nil, fmt.Errorf("failed to decode json response: %w", err) 37 | } 38 | 39 | return accessKey, nil 40 | } 41 | -------------------------------------------------------------------------------- /fastly/objectstorage/accesskeys/api_list_access_keys.go: -------------------------------------------------------------------------------- 1 | package accesskeys 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/fastly/go-fastly/v10/fastly" 8 | ) 9 | 10 | // ListAccessKeys retrieves all access keys within object storage. 11 | func ListAccessKeys(c *fastly.Client) (*AccessKeys, error) { 12 | resp, err := c.Get("/resources/object-storage/access-keys", fastly.CreateRequestOptions(nil)) 13 | if err != nil { 14 | return nil, err 15 | } 16 | defer resp.Body.Close() 17 | 18 | var accessKeys *AccessKeys 19 | 20 | if err := json.NewDecoder(resp.Body).Decode(&accessKeys); err != nil { 21 | return nil, fmt.Errorf("failed to decode json response: %w", err) 22 | } 23 | 24 | return accessKeys, nil 25 | } 26 | -------------------------------------------------------------------------------- /fastly/objectstorage/accesskeys/api_response.go: -------------------------------------------------------------------------------- 1 | package accesskeys 2 | 3 | import "time" 4 | 5 | // AccessKey is the API response structure for the create and describe operations. 6 | type AccessKey struct { 7 | // AccessKey is an AccessKey identifier. 8 | AccessKeyID string `json:"access_key"` 9 | // SecretKey is the secret for the access key 10 | SecretKey string `json:"secret_key"` 11 | // Description is human readable description for the access key. 12 | Description string `json:"description"` 13 | // Permission is the permissions the key has. 14 | Permission string `json:"permission"` 15 | // Buckets is the list of buckets associated with the access key. 16 | Buckets []string `json:"buckets"` 17 | // CreatedAt is the timestamp associated with the creation of the access key. 18 | CreatedAt time.Time `json:"created_at"` 19 | } 20 | 21 | // AccessKeys is the API response structure for the list access keys operation. 22 | type AccessKeys struct { 23 | // Data is the list of returned AccessKeys. 24 | Data []AccessKey `json:"data"` 25 | // Meta is additional information about the request 26 | Meta MetaAccessKeys `json:"meta"` 27 | } 28 | 29 | type MetaAccessKeys struct{} 30 | -------------------------------------------------------------------------------- /fastly/objectstorage/accesskeys/doc.go: -------------------------------------------------------------------------------- 1 | // Package accesskeys contains API operations to create, get, list, and 2 | // delete Fastly object storage access keys. 3 | package accesskeys 4 | -------------------------------------------------------------------------------- /fastly/objectstorage/accesskeys/fixtures/delete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/9.13.1 (+github.com/fastly/go-fastly; go1.23.5) 10 | url: https://api.fastly.com/resources/object-storage/access-keys/lh3QRZvBI80OaaaAsmBz3Z 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Date: 20 | - Fri, 21 Feb 2025 14:51:18 GMT 21 | Pragma: 22 | - no-cache 23 | Server: 24 | - fastly 25 | Strict-Transport-Security: 26 | - max-age=31536000 27 | Via: 28 | - 1.1 varnish 29 | X-Cache: 30 | - MISS 31 | X-Cache-Hits: 32 | - "0" 33 | X-Served-By: 34 | - cache-ewr-kewr1740063-EWR, cache-ewr-kewr1740063-EWR 35 | X-Timer: 36 | - S1740149479.672897,VS0,VE264 37 | status: 204 No Content 38 | code: 204 39 | duration: "" 40 | -------------------------------------------------------------------------------- /fastly/objectstorage/doc.go: -------------------------------------------------------------------------------- 1 | // Package objectstorage contains subpackages which offer various operations to 2 | // configure storage objects. 3 | package objectstorage 4 | -------------------------------------------------------------------------------- /fastly/products/botmanagement/doc.go: -------------------------------------------------------------------------------- 1 | // Package botmanagement contains API operations to enable and 2 | // disable the Bot Management product on a service 3 | package botmanagement 4 | -------------------------------------------------------------------------------- /fastly/products/botmanagement/fixtures/disable-ensure-disabled-before-testing.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/bot_management/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:34:12 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000053-CHI, cache-mia-kmia1760048-MIA 41 | X-Timer: 42 | - S1743626051.166359,VS0,VE1186 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/botmanagement/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/bot_management/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:34:14 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000053-CHI, cache-mia-kmia1760048-MIA 41 | X-Timer: 42 | - S1743626054.780526,VS0,VE1184 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/brotlicompression/doc.go: -------------------------------------------------------------------------------- 1 | // Package brotlicompression contains API operations to enable and 2 | // disable the Brotli Compression product on a service 3 | package brotlicompression 4 | -------------------------------------------------------------------------------- /fastly/products/brotlicompression/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/brotli_compression/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:24 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000020-CHI, cache-mia-kmia1760070-MIA 41 | X-Timer: 42 | - S1743625884.301362,VS0,VE311 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/ddosprotection/doc.go: -------------------------------------------------------------------------------- 1 | // Package ddosprotection contains API operations to enable, disable, 2 | // and configure the DDoS Protection product on a service 3 | package ddosprotection 4 | -------------------------------------------------------------------------------- /fastly/products/ddosprotection/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/ddos_protection/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:28 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100075-CHI, cache-mia-kmia1760025-MIA 41 | X-Timer: 42 | - S1743625888.696510,VS0,VE1028 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/doc.go: -------------------------------------------------------------------------------- 1 | // Package products contains subpackages which offer various 2 | // operations to enable, disable, and configure Fastly products on a 3 | // service 4 | package products 5 | -------------------------------------------------------------------------------- /fastly/products/domaininspector/doc.go: -------------------------------------------------------------------------------- 1 | // Package domaininspector contains API operations to enable and 2 | // disable the Domain Inspector product on a service 3 | package domaininspector 4 | -------------------------------------------------------------------------------- /fastly/products/domaininspector/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/domain_inspector/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:28 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100143-CHI, cache-mia-kmia1760091-MIA 41 | X-Timer: 42 | - S1743625886.597668,VS0,VE3130 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/fanout/doc.go: -------------------------------------------------------------------------------- 1 | // Package fanout contains API operations to enable and 2 | // disable the Fanout product on a service 3 | package fanout 4 | -------------------------------------------------------------------------------- /fastly/products/fanout/fixtures/disable-ensure-disabled-before-testing.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/fanout/services/XsjdElScZGjmfCcTwsYRC1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:24 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100141-CHI, cache-mia-kmia1760045-MIA 41 | X-Timer: 42 | - S1743625883.353515,VS0,VE739 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/fanout/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/fanout/services/XsjdElScZGjmfCcTwsYRC1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:26 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100141-CHI, cache-mia-kmia1760045-MIA 41 | X-Timer: 42 | - S1743625886.624803,VS0,VE532 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/imageoptimizer/doc.go: -------------------------------------------------------------------------------- 1 | // Package imageoptimizer contains API operations to enable and 2 | // disable the Image Optimizer product on a service 3 | package imageoptimizer 4 | -------------------------------------------------------------------------------- /fastly/products/imageoptimizer/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/image_optimizer/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:30 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000113-CHI, cache-mia-kmia1760043-MIA 41 | X-Timer: 42 | - S1743625890.830478,VS0,VE902 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/logexplorerinsights/doc.go: -------------------------------------------------------------------------------- 1 | // Package logexplorerinsights contains API operations to enable and 2 | // disable the Log Explorer & Insights product on a service 3 | package logexplorerinsights 4 | -------------------------------------------------------------------------------- /fastly/products/logexplorerinsights/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/log_explorer_insights/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:29 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000106-CHI, cache-mia-kmia1760107-MIA 41 | X-Timer: 42 | - S1743625887.175623,VS0,VE1841 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/ngwaf/doc.go: -------------------------------------------------------------------------------- 1 | // Package ngwaf contains API operations to enable, disable, and 2 | // configure the Next-Gen WAF product on a service 3 | package ngwaf 4 | -------------------------------------------------------------------------------- /fastly/products/ngwaf/fixtures/disable-ensure-disabled-before-testing.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/ngwaf/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:24 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000142-CHI, cache-mia-kmia1760107-MIA 41 | X-Timer: 42 | - S1743625883.358808,VS0,VE1366 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/ngwaf/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/ngwaf/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:32 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000142-CHI, cache-mia-kmia1760107-MIA 41 | X-Timer: 42 | - S1743625891.511256,VS0,VE1496 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/origininspector/doc.go: -------------------------------------------------------------------------------- 1 | // Package origininspector contains API operations to enable and 2 | // disable the Origin Inspector product on a service 3 | package origininspector 4 | -------------------------------------------------------------------------------- /fastly/products/origininspector/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/origin_inspector/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Thu, 03 Apr 2025 16:13:28 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-klot8100045-CHI, cache-mia-kmia1760101-MIA 41 | X-Timer: 42 | - S1743696807.663805,VS0,VE1617 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/websockets/doc.go: -------------------------------------------------------------------------------- 1 | // Package websockets contains API operations to enable and 2 | // disable the WebSockets product on a service 3 | package websockets 4 | -------------------------------------------------------------------------------- /fastly/products/websockets/fixtures/disable-ensure-disabled-before-testing.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/websockets/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:24 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000154-CHI, cache-mia-kmia1760075-MIA 41 | X-Timer: 42 | - S1743625883.375679,VS0,VE719 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/products/websockets/fixtures/disable.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | interactions: 4 | - request: 5 | body: "" 6 | form: {} 7 | headers: 8 | User-Agent: 9 | - FastlyGo/10.0.0 (+github.com/fastly/go-fastly; go1.23.7) 10 | url: https://api.fastly.com/enabled-products/v1/websockets/services/kKJb5bOFI47uHeBVluGfX1 11 | method: DELETE 12 | response: 13 | body: "" 14 | headers: 15 | Accept-Ranges: 16 | - bytes 17 | Cache-Control: 18 | - no-store 19 | Content-Type: 20 | - application/json 21 | Date: 22 | - Wed, 02 Apr 2025 20:31:27 GMT 23 | Pragma: 24 | - no-cache 25 | Server: 26 | - fastly control-gateway 27 | Status: 28 | - 204 No Content 29 | Strict-Transport-Security: 30 | - max-age=31536000 31 | Vary: 32 | - Accept-Encoding 33 | Via: 34 | - 1.1 varnish, 1.1 varnish 35 | X-Cache: 36 | - MISS, MISS 37 | X-Cache-Hits: 38 | - 0, 0 39 | X-Served-By: 40 | - cache-chi-kigq8000154-CHI, cache-mia-kmia1760075-MIA 41 | X-Timer: 42 | - S1743625887.797786,VS0,VE521 43 | status: 204 No Content 44 | code: 204 45 | duration: "" 46 | -------------------------------------------------------------------------------- /fastly/stats_domain_inspector_test.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | import ( 4 | "testing" 5 | "time" 6 | ) 7 | 8 | func TestClient_GetDomainMetricsForService(t *testing.T) { 9 | t.Parallel() 10 | 11 | // NOTE: Update this to a recent time when regenerating the test fixtures, 12 | // otherwise the data may be outside of retention and an error will be 13 | // returned. 14 | end := time.Date(2023, 11, 7, 0, 0, 0, 0, time.UTC) 15 | start := end.Add(-8 * time.Hour) 16 | var err error 17 | Record(t, "domain_inspector/metrics_for_service", func(c *Client) { 18 | _, err = c.GetDomainMetricsForService(&GetDomainMetricsInput{ 19 | ServiceID: TestDeliveryServiceID, 20 | Start: &start, 21 | End: &end, 22 | Domains: []string{"domain_1.com", "domain_2.com"}, 23 | Datacenters: []string{"SJC", "STP"}, 24 | Metrics: []string{"resp_body_bytes", "status_2xx"}, 25 | GroupBy: []string{"domain"}, 26 | Downsample: ToPointer("hour"), 27 | Regions: []string{"usa"}, 28 | Limit: ToPointer(10), 29 | Cursor: ToPointer(""), 30 | }) 31 | }) 32 | if err != nil { 33 | t.Fatal(err) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /fastly/stats_origin_inspector_test.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | import ( 4 | "testing" 5 | "time" 6 | ) 7 | 8 | func TestClient_GetOriginMetricsForService(t *testing.T) { 9 | t.Parallel() 10 | 11 | // NOTE: Update this to a recent time when regenerating the test fixtures, 12 | // otherwise the data may be outside of retention and an error will be 13 | // returned. 14 | end := time.Date(2024, 11, 26, 0, 0, 0, 0, time.UTC) 15 | start := end.Add(-2 * 24 * time.Hour) 16 | limit := 150 17 | var err error 18 | Record(t, "origin_inspector/metrics_for_service", func(c *Client) { 19 | _, err = c.GetOriginMetricsForService(&GetOriginMetricsInput{ 20 | Cursor: ToPointer(""), 21 | Datacenters: []string{"LHR", "JFK"}, 22 | Downsample: ToPointer("day"), 23 | End: &end, 24 | GroupBy: []string{"host"}, 25 | Hosts: []string{"host01"}, 26 | Metrics: []string{"responses", "status_2xx"}, 27 | Regions: []string{"europe", "usa"}, 28 | ServiceID: TestDeliveryServiceID, 29 | Start: &start, 30 | Limit: &limit, 31 | }) 32 | }) 33 | if err != nil { 34 | t.Fatal(err) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /fastly/test_assets/package/invalid.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fastly/go-fastly/1a2914838e64e2ab393a53017d136aa4d5a08d1c/fastly/test_assets/package/invalid.tar.gz -------------------------------------------------------------------------------- /fastly/test_assets/package/valid.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fastly/go-fastly/1a2914838e64e2ab393a53017d136aa4d5a08d1c/fastly/test_assets/package/valid.tar.gz -------------------------------------------------------------------------------- /fastly/tls_custom_domain_test.go: -------------------------------------------------------------------------------- 1 | package fastly 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestClient_ListTLSDomains(t *testing.T) { 8 | t.Parallel() 9 | 10 | fixtureBase := "custom_tls_domain/" 11 | 12 | var err error 13 | 14 | // List 15 | var ldom []*TLSDomain 16 | Record(t, fixtureBase+"list", func(c *Client) { 17 | ldom, err = c.ListTLSDomains(&ListTLSDomainsInput{ 18 | PageSize: 10, 19 | }) 20 | }) 21 | if err != nil { 22 | t.Fatal(err) 23 | } 24 | if len(ldom) < 1 { 25 | t.Errorf("bad tls domains: %v", ldom) 26 | } 27 | } 28 | 29 | func TestClient_ListTLSDomainsFilterCertificates(t *testing.T) { 30 | t.Parallel() 31 | 32 | fixtureBase := "custom_tls_domain/" 33 | 34 | var err error 35 | 36 | // List 37 | var ldom []*TLSDomain 38 | Record(t, fixtureBase+"list", func(c *Client) { 39 | ldom, err = c.ListTLSDomains(&ListTLSDomainsInput{ 40 | FilterTLSCertificateID: "6RltCYkOfFfzPVitOyLCnV", 41 | }) 42 | }) 43 | if err != nil { 44 | t.Fatal(err) 45 | } 46 | if len(ldom) != 1 { 47 | t.Errorf("bad tls domains: %v", ldom) 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/fastly/go-fastly/v10 2 | 3 | go 1.24.0 4 | 5 | toolchain go1.24.2 6 | 7 | require ( 8 | github.com/dnaeon/go-vcr v1.2.0 9 | github.com/google/go-cmp v0.7.0 10 | github.com/google/go-querystring v1.1.0 11 | github.com/google/jsonapi v1.0.0 12 | github.com/hashicorp/go-cleanhttp v0.5.2 13 | github.com/mitchellh/mapstructure v1.5.0 14 | github.com/peterhellberg/link v1.2.0 15 | github.com/stretchr/testify v1.10.0 16 | golang.org/x/crypto v0.38.0 17 | ) 18 | 19 | require ( 20 | github.com/davecgh/go-spew v1.1.1 // indirect 21 | github.com/pmezard/go-difflib v1.0.0 // indirect 22 | golang.org/x/sys v0.33.0 // indirect 23 | gopkg.in/yaml.v2 v2.4.0 // indirect 24 | gopkg.in/yaml.v3 v3.0.1 // indirect 25 | ) 26 | -------------------------------------------------------------------------------- /internal/productcore/api_delete.go: -------------------------------------------------------------------------------- 1 | package productcore 2 | 3 | import ( 4 | "context" 5 | 6 | "github.com/fastly/go-fastly/v10/fastly" 7 | ) 8 | 9 | // DeleteInput specifies the information needed for the Delete 10 | // function to perform the operation. 11 | type DeleteInput struct { 12 | Client *fastly.Client 13 | // Context, if supplied, will be used as the Request's context. 14 | Context *context.Context 15 | ProductID string 16 | ServiceID string 17 | URLComponents []string 18 | } 19 | 20 | // Delete implements a product-specific 'delete' operation. Since this 21 | // operation does not accept any input or produce any output (other 22 | // than a potential error), this function does not have any type 23 | // parameters. 24 | func Delete(i *DeleteInput) error { 25 | if i.ServiceID == "" { 26 | return fastly.ErrMissingServiceID 27 | } 28 | 29 | path := makeURL(i.ProductID, i.ServiceID, i.URLComponents) 30 | 31 | resp, err := i.Client.Delete(path, fastly.CreateRequestOptions(i.Context)) 32 | if err != nil { 33 | return err 34 | } 35 | defer resp.Body.Close() 36 | 37 | return nil 38 | } 39 | -------------------------------------------------------------------------------- /internal/productcore/doc.go: -------------------------------------------------------------------------------- 1 | // Package productcore provides a group of generic HTTP operation 2 | // wrappers which are used to compose API operations on products, and 3 | // a group of constructors used to create FunctionalTest objects for 4 | // testing those API operations 5 | package productcore 6 | -------------------------------------------------------------------------------- /internal/productcore/functional_test_utils.go: -------------------------------------------------------------------------------- 1 | package productcore 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/require" 7 | 8 | "github.com/fastly/go-fastly/v10/fastly/products" 9 | "github.com/fastly/go-fastly/v10/internal/test_utils" 10 | ) 11 | 12 | // validateOutput provides common validation for all responses to 13 | // product-specific API operations. 14 | // 15 | // All of the operations return a JSON object containing the ProductID 16 | // and ServiceID on which the operation was invoked; this function 17 | // confirms that they were returned and that they have the expected 18 | // values. 19 | func validateOutput(t *testing.T, tc *test_utils.FunctionalTest, o products.ProductOutput, productID, serviceID string) { 20 | require.NotNilf(t, o, "test '%s'", tc.Name) 21 | require.Equalf(t, productID, o.ProductID(), "test '%s'", tc.Name) 22 | require.Equalf(t, serviceID, o.ServiceID(), "test '%s'", tc.Name) 23 | } 24 | -------------------------------------------------------------------------------- /internal/productcore/utils.go: -------------------------------------------------------------------------------- 1 | package productcore 2 | 3 | import "github.com/fastly/go-fastly/v10/fastly" 4 | 5 | func makeURL(productID, serviceID string, subComponents []string) string { 6 | path := []string{"enabled-products", "v1", productID} 7 | 8 | if serviceID != "" { 9 | path = append(path, "services", serviceID) 10 | } 11 | 12 | if len(subComponents) > 0 { 13 | path = append(path, subComponents...) 14 | } 15 | 16 | return fastly.ToSafeURL(path...) 17 | } 18 | -------------------------------------------------------------------------------- /internal/test_utils/doc.go: -------------------------------------------------------------------------------- 1 | // Package test_utils contains types and functions used to simplify 2 | // creation and execution of unit and functional tests 3 | package test_utils //nolint: revive 4 | -------------------------------------------------------------------------------- /scripts/fixFixtures.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | FASTLY_TEST_RESOURCE_ID=${1} 5 | DEFAULT_TEST_RESOURCE_ID=${2} 6 | 7 | if [[ -z "${1}" ]]; then 8 | echo "You must supply a resource ID as the first argument" 9 | exit 10 | fi 11 | 12 | if [[ -z "${2}" ]]; then 13 | echo "You must supply a resource ID as the second argument" 14 | exit 15 | fi 16 | 17 | find . -type d -name "fixtures" -print0 | while IFS= read -r -d $'\0' current_fixtures_dir; do 18 | for file in $(grep --recursive --files-with-matches "${FASTLY_TEST_RESOURCE_ID}" "${current_fixtures_dir}") 19 | do 20 | sed -i.bak "s/${FASTLY_TEST_RESOURCE_ID}/${DEFAULT_TEST_RESOURCE_ID}/g" "$file" && rm "${file}.bak" 21 | done 22 | done 23 | -------------------------------------------------------------------------------- /scripts/tags.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # credit: https://github.com/cli/cli/blob/trunk/script/changelog 5 | 6 | function previous_tag() { 7 | current_tag="$(git describe --tags HEAD^ --abbrev=0)" 8 | start_ref="HEAD" 9 | 10 | # Find the previous release on the same branch, skipping prereleases if the 11 | # current tag is a full release 12 | previous_tag="" 13 | while [[ -z $previous_tag || ( $previous_tag == *-* && $current_tag != *-* ) ]]; do 14 | previous_tag="$(git describe --tags "$start_ref"^ --abbrev=0)" 15 | start_ref="$previous_tag" 16 | done 17 | echo $previous_tag 18 | } 19 | --------------------------------------------------------------------------------