Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: 5.1.0 #4969

Open
wants to merge 44 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
7af724e
feat: various codegen changes
stainless-app[bot] Feb 5, 2025
169d4f5
fix(pages_domain): use `name` for anchor identifier (#5053)
stainless-app[bot] Feb 5, 2025
7944314
fix(list_item): fix schema mappings
jacobbednarz Feb 5, 2025
0f53f86
Merge pull request #5054 from cloudflare/fix-list-item-schema
jacobbednarz Feb 5, 2025
3fccdc9
feat(build): allow for building against private go repos (#5056)
stainless-app[bot] Feb 5, 2025
b75c1aa
feat(dns): add terraform resources for `dns_settings` and `dns_settin…
stainless-app[bot] Feb 5, 2025
1fa6f58
chore(internal): codegen related update (#5061)
stainless-app[bot] Feb 5, 2025
e928470
docs: update ruleset headers guidance
jacobbednarz Feb 5, 2025
9c57457
Merge pull request #5063 from cloudflare/update-headers-migration-docs
jacobbednarz Feb 5, 2025
aa22c4d
feat(api): api update (#5064)
stainless-app[bot] Feb 5, 2025
ab29b1e
codegen metadata
stainless-app[bot] Feb 5, 2025
1ee6c93
feat(api_token_permission_groups): define `get` operation for datasou…
stainless-app[bot] Feb 5, 2025
2b72ee6
docs: update list guidance for list_items
jacobbednarz Feb 6, 2025
cc4f81a
Merge pull request #5066 from cloudflare/update-list-docs
jacobbednarz Feb 6, 2025
ba39465
feat(botnet_feed): add datasource for get operations (#5067)
stainless-app[bot] Feb 6, 2025
475c479
codegen metadata
stainless-app[bot] Feb 6, 2025
051df13
codegen metadata
stainless-app[bot] Feb 6, 2025
290cef8
codegen metadata
stainless-app[bot] Feb 6, 2025
abac73d
codegen metadata
stainless-app[bot] Feb 6, 2025
00a9f5c
codegen metadata
stainless-app[bot] Feb 6, 2025
1387d13
codegen metadata
stainless-app[bot] Feb 6, 2025
2f202b9
codegen metadata
stainless-app[bot] Feb 6, 2025
e85b15c
codegen metadata
stainless-app[bot] Feb 6, 2025
2fd2378
fix(spectrum_application): `id` is computed, not required
jacobbednarz Feb 7, 2025
f407721
Merge pull request #5073 from cloudflare/fix-spectrum-schema
jacobbednarz Feb 7, 2025
9b6e1ec
docs: generate
jacobbednarz Feb 7, 2025
99793c2
Merge pull request #5074 from cloudflare/gen-docs
jacobbednarz Feb 7, 2025
4cf8fd4
codegen metadata
stainless-app[bot] Feb 7, 2025
2b33c65
codegen metadata
stainless-app[bot] Feb 7, 2025
fcfaec5
chore: minor change to tests (#5077)
stainless-app[bot] Feb 7, 2025
1205695
codegen metadata
stainless-app[bot] Feb 8, 2025
03a4c40
feat(r2_bucket_cors): add resource (#5082)
stainless-app[bot] Feb 9, 2025
8448659
feat(r2_bucket_event_notification): add resource and flatten method h…
stainless-app[bot] Feb 9, 2025
5935439
feat(r2_bucket_lifecycle): add resource (#5085)
stainless-app[bot] Feb 9, 2025
48a4783
feat(r2_bucket_lock): add resource (#5086)
stainless-app[bot] Feb 9, 2025
a00ca25
feat(r2_bucket_sippy): add resource (#5087)
stainless-app[bot] Feb 9, 2025
cf82da1
codegen metadata
stainless-app[bot] Feb 9, 2025
d86363d
docs(workers_script): fix example syntax
jacobbednarz Feb 10, 2025
755e44e
Merge pull request #5088 from cloudflare/fix-workers-script-example
jacobbednarz Feb 10, 2025
1ebd9a3
fix(r2_bucket_event_notification): dedupe `bucket_name` parameters
jacobbednarz Feb 10, 2025
b3ac115
Merge pull request #5089 from cloudflare/dedupe-bucket-name-attr
jacobbednarz Feb 10, 2025
d72c8c8
docs: generate r2 resources
jacobbednarz Feb 10, 2025
8b5a7b1
Merge pull request #5090 from cloudflare/generate-r2-docs
jacobbednarz Feb 10, 2025
3f0410e
release: 5.1.0
stainless-app[bot] Feb 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 2 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ on:

jobs:
lint:
name: lint
runs-on: ubuntu-latest


steps:
- uses: actions/checkout@v4

Expand All @@ -27,10 +24,9 @@ jobs:

- name: Run lints
run: ./scripts/lint

test:
name: test
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

Expand All @@ -43,4 +39,4 @@ jobs:
run: ./scripts/bootstrap

- name: Run tests
run: ./scripts/test
run: ./scripts/test
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
name: Release
---
name: Publish Release

permissions:
contents: write

concurrency:
group: publish

on:
push:
tags:
Expand All @@ -10,8 +18,8 @@ jobs:
- name: Cleanup unused directories and tools
run: |
df -h /
sudo apt-get remove -y '^aspnetcore-.*' '^dotnet-.*' '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' azure-cli google-chrome-stable firefox powershell mono-devel google-cloud-sdk google-cloud-cli microsoft-edge-stable snapd --fix-missing
sudo apt-get autoremove -y
sudo apt-get remove -y '^aspnetcore-.*' '^dotnet-.*' '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' azure-cli google-chrome-stable firefox powershell mono-devel google-cloud-sdk google-cloud-cli microsoft-edge-stable snapd --fix-missing
sudo apt-get autoremove -y
sudo apt-get clean
sudo docker image prune --all --force
sudo rm -rf \
Expand All @@ -27,7 +35,7 @@ jobs:
/usr/local/share/chromium \
/usr/local/share/powershell \
/usr/share/dotnet \
/usr/share/swift
/usr/share/swift
ghcup nuke
df -h /
- name: Checkout
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Release Doctor
on:
pull_request:
branches:
- main
workflow_dispatch:

jobs:
release_doctor:
name: release doctor
runs-on: ubuntu-latest
if: github.repository == 'cloudflare/terraform-provider-cloudflare' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4

- name: Check release environment
run: |
bash ./scripts/check-release-environment
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
16 changes: 11 additions & 5 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,24 @@ builds:
ldflags:
- "-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}"
goos:
- darwin
- freebsd
- windows
- linux
- darwin
- windows
goarch:
- amd64
- "386"
- amd64
- arm
- arm64
ignore:
- goos: darwin
goarch: "386"
- goarch: "386"
goos: darwin
- goarch: arm
goos: windows
- goarch: arm64
goos: freebsd
- goarch: arm64
goos: windows
binary: "{{ .ProjectName }}_v{{ .Version }}"
archives:
- formats: [ 'zip' ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,15 @@ pattern cloudflare_terraform_v5_attribute_renames_configuration() {
// cloudflare_tiered_cache
`cache_type = $v` as $attribute => `value = $v` where { $attribute <: within `resource "cloudflare_tiered_cache" $_ { $_ }` },

// cloudflare_dns_record
`hostname = $v` as $hostname => . where { $attribute <: within `resource "cloudflare_dns_record" $_ { $_ }` },

// cloudflare_web_analytics_site
`ruleset_id = $v` as $attribute => `ruleset = {
id = $v
}` where { $attribute <: within `resource "cloudflare_web_analytics_site" $_ { $_ }` },

// cloudflare_dns_record
`allow_overwrite = $v` as $attribute => . where { $attribute <: within `resource "cloudflare_dns_record" $_ { $_ }` },
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -224,12 +224,23 @@ pattern cloudflare_terraform_v5_attribute_renames_state() {
$instances <: contains `"jump_start": $v` => .
}
},

// cloudflare_record
`{ "mode": "managed", "type": "$resource_type", $..., "instances":[$instances] }` where {
and {
$resource_type <: contains `cloudflare_record`,
$instances <: contains `"data": [$inner]` => `"data": {$inner}`
},
`{ "mode": "managed", "type": "$resource_type", $..., "instances":[$instances] }` where {
and {
$resource_type <: contains `cloudflare_record`,
$instances <: contains `"hostname": $v` => .
}
},
`{ "mode": "managed", "type": "$resource_type", $..., "instances":[$instances] }` where {
and {
$resource_type <: contains `cloudflare_record`,
$instances <: contains `"allow_overwrite": $v` => .
}
},
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ pattern cloudflare_terraform_v5_resource_renames_configuration() {
`"cloudflare_dlp_custom_profile"` => `"cloudflare_zero_trust_dlp_custom_profile"`,
`"cloudflare_dlp_predefined_profile"` => `"cloudflare_zero_trust_dlp_predefined_profile"`,
`"cloudflare_dlp_profile"` => `"cloudflare_zero_trust_dlp_profile"`,
`"cloudflare_fallback_domain"` => `"cloudflare_zero_trust_local_domain_fallback"`,
`"cloudflare_gateway_app_types"` => `"cloudflare_zero_trust_gateway_app_types"`,
`"cloudflare_gre_tunnel"` => `"cloudflare_magic_wan_gre_tunnel"`,
`"cloudflare_ipsec_tunnel"` => `"cloudflare_magic_wan_ipsec_tunnel"`,
Expand All @@ -42,14 +41,13 @@ pattern cloudflare_terraform_v5_resource_renames_configuration() {
`"cloudflare_teams_rule"` => `"cloudflare_zero_trust_gateway_policy"`,
`"cloudflare_tunnel"` => `"cloudflare_zero_trust_tunnel_cloudflared"`,
`"cloudflare_tunnel_config"` => `"cloudflare_zero_trust_tunnel_cloudflared_config"`,
`"cloudflare_tunnel_route"` => `"cloudflare_zero_trust_tunnel_route"`,
`"cloudflare_tunnel_virtual_network"` => `"cloudflare_zero_trust_tunnel_virtual_network"`,
`"cloudflare_tunnel_route"` => `"cloudflare_zero_trust_tunnel_cloudflared_route"`,
`"cloudflare_tunnel_virtual_network"` => `"cloudflare_zero_trust_tunnel_cloudflared_virtual_network"`,
`"cloudflare_worker_cron_trigger"` => `"cloudflare_workers_cron_trigger"`,
`"cloudflare_worker_domain"` => `"cloudflare_workers_custom_domain"`,
`"cloudflare_worker_script"` => `"cloudflare_workers_script"`,
`"cloudflare_worker_secret"` => `"cloudflare_workers_secret"`,
`"cloudflare_workers_for_platforms_namespace"` => `"cloudflare_workers_for_platforms_dispatch_namespace"`,
`"cloudflare_zone_dnssec"` => `"cloudflare_dns_zone_dnssec"`,
`"cloudflare_managed_headers"` => `"cloudflare_managed_transforms"`,
} as $old_name where {
$old_name <: within `resource $_ { $_ }`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ pattern cloudflare_terraform_v5_resource_renames_state() {
`"cloudflare_dlp_profile"` => `"cloudflare_zero_trust_dlp_profile"`,
`"cloudflare_dlp_custom_profile"` => `"cloudflare_zero_trust_dlp_custom_profile"`,
`"cloudflare_dlp_predefined_profile"` => `"cloudflare_zero_trust_dlp_predefined_profile"`,
`"cloudflare_fallback_domain"` => `"cloudflare_zero_trust_local_domain_fallback"`,
`"cloudflare_risk_behavior"` => `"cloudflare_zero_trust_risk_behavior"`,
`"cloudflare_split_tunnel"` => `"cloudflare_zero_trust_split_tunnels"`,
`"cloudflare_teams_account"` => `"cloudflare_zero_trust_gateway_settings"`,
Expand All @@ -39,8 +38,8 @@ pattern cloudflare_terraform_v5_resource_renames_state() {
`"cloudflare_teams_rule"` => `"cloudflare_zero_trust_gateway_policy"`,
`"cloudflare_tunnel"` => `"cloudflare_zero_trust_tunnel_cloudflared"`,
`"cloudflare_tunnel_config"` => `"cloudflare_zero_trust_tunnel_cloudflared_config"`,
`"cloudflare_tunnel_route"` => `"cloudflare_zero_trust_tunnel_route"`,
`"cloudflare_tunnel_virtual_network"` => `"cloudflare_zero_trust_tunnel_virtual_network"`,
`"cloudflare_tunnel_route"` => `"cloudflare_zero_trust_tunnel_cloudflared_route"`,
`"cloudflare_tunnel_virtual_network"` => `"cloudflare_zero_trust_tunnel_cloudflared_virtual_network"`,

// handle dependencies
`"cloudflare_access_application.$dep"` => `"cloudflare_zero_trust_access_application.$dep"`,
Expand All @@ -60,17 +59,14 @@ pattern cloudflare_terraform_v5_resource_renames_state() {
`"cloudflare_device_policy_certificates.$dep"` => `"cloudflare_zero_trust_device_certificates.$dep"`,
`"cloudflare_device_posture_integration.$dep"` => `"cloudflare_zero_trust_device_posture_integration.$dep"`,
`"cloudflare_device_posture_rule.$dep"` => `"cloudflare_zero_trust_device_posture_rule.$dep"`,
`"cloudflare_device_settings_policy.$dep"` => `"cloudflare_zero_trust_device_profiles.$dep"`,
`"cloudflare_dlp_custom_profile.$dep"` => `"cloudflare_zero_trust_dlp_custom_profile.$dep"`,
`"cloudflare_dlp_predefined_profile.$dep"` => `"cloudflare_zero_trust_dlp_predefined_profile.$dep"`,
`"cloudflare_dlp_profile.$dep"` => `"cloudflare_zero_trust_dlp_profile.$dep"`,
`"cloudflare_fallback_domain.$dep"` => `"cloudflare_zero_trust_local_domain_fallback.$dep"`,
`"cloudflare_gateway_app_types.$dep"` => `"cloudflare_zero_trust_gateway_app_types.$dep"`,
`"cloudflare_gre_tunnel.$dep"` => `"cloudflare_magic_wan_gre_tunnel.$dep"`,
`"cloudflare_ipsec_tunnel.$dep"` => `"cloudflare_magic_wan_ipsec_tunnel.$dep"`,
`"cloudflare_record.$dep"` => `"cloudflare_dns_record.$dep"`,
`"cloudflare_risk_behavior.$dep"` => `"cloudflare_zero_trust_risk_behavior.$dep"`,
`"cloudflare_split_tunnel.$dep"` => `"cloudflare_zero_trust_split_tunnels.$dep"`,
`"cloudflare_static_route.$dep"` => `"cloudflare_magic_wan_static_route.$dep"`,
`"cloudflare_teams_account.$dep"` => `"cloudflare_zero_trust_gateway_settings.$dep"`,
`"cloudflare_teams_list.$dep"` => `"cloudflare_zero_trust_list.$dep"`,
Expand All @@ -79,14 +75,13 @@ pattern cloudflare_terraform_v5_resource_renames_state() {
`"cloudflare_teams_rule.$dep"` => `"cloudflare_zero_trust_gateway_policy.$dep"`,
`"cloudflare_tunnel.$dep"` => `"cloudflare_zero_trust_tunnel_cloudflared.$dep"`,
`"cloudflare_tunnel_config.$dep"` => `"cloudflare_zero_trust_tunnel_cloudflared_config.$dep"`,
`"cloudflare_tunnel_route.$dep"` => `"cloudflare_zero_trust_tunnel_route.$dep"`,
`"cloudflare_tunnel_virtual_network.$dep"` => `"cloudflare_zero_trust_tunnel_virtual_network.$dep"`,
`"cloudflare_tunnel_route.$dep"` => `"cloudflare_zero_trust_tunnel_cloudflared_route.$dep"`,
`"cloudflare_tunnel_virtual_network.$dep"` => `"cloudflare_zero_trust_tunnel_cloudflared_virtual_network.$dep"`,
`"cloudflare_worker_cron_trigger.$dep"` => `"cloudflare_workers_cron_trigger.$dep"`,
`"cloudflare_worker_domain.$dep"` => `"cloudflare_workers_custom_domain.$dep"`,
`"cloudflare_worker_script.$dep"` => `"cloudflare_workers_script.$dep"`,
`"cloudflare_worker_secret.$dep"` => `"cloudflare_workers_secret.$dep"`,
`"cloudflare_workers_for_platforms_namespace.$dep"` => `"cloudflare_workers_for_platforms_dispatch_namespace.$dep"`,
`"cloudflare_zone_dnssec.$dep"` => `"cloudflare_dns_zone_dnssec.$dep"`,
`"cloudflare_managed_headers.$dep"` => `"cloudflare_managed_transforms.$dep"`,
}
}
Expand Down
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "5.1.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 1508
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-bc8740036f5c85815dd08ce4d1787a79b09e8133dc24fcdf8c594aad2c5cc69d.yml
configured_endpoints: 1525
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-201a9d77b2e238cb2f8c2c952b00b976608e2a53fe4230369e801971fda29edc.yml
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Changelog

## 5.1.0 (2025-02-10)

Full Changelog: [v5.0.0...v5.1.0](https://github.com/cloudflare/terraform-provider-cloudflare/compare/v5.0.0...v5.1.0)

### Features

* **api_token_permission_groups:** define `get` operation for datasources ([#5065](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5065)) ([1ee6c93](https://github.com/cloudflare/terraform-provider-cloudflare/commit/1ee6c93ff29f68c72f587b987ac593db219aa5dc))
* **api:** api update ([#5064](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5064)) ([aa22c4d](https://github.com/cloudflare/terraform-provider-cloudflare/commit/aa22c4de787803640df7807f7f9e5a9b2fadf01f))
* **botnet_feed:** add datasource for get operations ([#5067](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5067)) ([ba39465](https://github.com/cloudflare/terraform-provider-cloudflare/commit/ba394658dc60b5daefc3481358d34de4dab55123))
* **build:** allow for building against private go repos ([#5056](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5056)) ([3fccdc9](https://github.com/cloudflare/terraform-provider-cloudflare/commit/3fccdc994bb8005a7e943f60d0d6de7f372acc65))
* **dns:** add terraform resources for `dns_settings` and `dns_settings_internal_view` ([#5060](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5060)) ([b75c1aa](https://github.com/cloudflare/terraform-provider-cloudflare/commit/b75c1aac00bfc4a4bcb573177e1ddca1876be835))
* **r2_bucket_cors:** add resource ([#5082](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5082)) ([03a4c40](https://github.com/cloudflare/terraform-provider-cloudflare/commit/03a4c40324c20fd8fd0d7bb7f6f409dcfc39019b))
* **r2_bucket_event_notification:** add resource and flatten method hierarchy ([#5084](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5084)) ([8448659](https://github.com/cloudflare/terraform-provider-cloudflare/commit/8448659d8b17bd378c6daafff571de369237732f))
* **r2_bucket_lifecycle:** add resource ([#5085](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5085)) ([5935439](https://github.com/cloudflare/terraform-provider-cloudflare/commit/59354394b483f28255c8aa7719d0a3c47ad5cb4c))
* **r2_bucket_lock:** add resource ([#5086](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5086)) ([48a4783](https://github.com/cloudflare/terraform-provider-cloudflare/commit/48a478362652cabf6b5967b9fa2ca6f5e9353743))
* **r2_bucket_sippy:** add resource ([#5087](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5087)) ([a00ca25](https://github.com/cloudflare/terraform-provider-cloudflare/commit/a00ca2598c91ba99d4988f8dd2ad7c420e3a6046))
* various codegen changes ([7af724e](https://github.com/cloudflare/terraform-provider-cloudflare/commit/7af724e0861a49a6d15031fff5008a6366f158a1))


### Bug Fixes

* **grit:** make pattern names consistent ([0b2ba12](https://github.com/cloudflare/terraform-provider-cloudflare/commit/0b2ba12bb261244c6e9bd24e4b6fa783f26bc0e7))
* **list_item:** fix schema mappings ([7944314](https://github.com/cloudflare/terraform-provider-cloudflare/commit/7944314f0d2ca8a6aca78f64c17fc353c654be21))
* **pages_domain:** use `name` for anchor identifier ([#5053](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5053)) ([169d4f5](https://github.com/cloudflare/terraform-provider-cloudflare/commit/169d4f581d2980b9adcddf4f62af1424dafe47a3))
* **r2_bucket_event_notification:** dedupe `bucket_name` parameters ([1ebd9a3](https://github.com/cloudflare/terraform-provider-cloudflare/commit/1ebd9a32fc5ec04b6994436f8a0faec87a068d15))
* **spectrum_application:** `id` is computed, not required ([2fd2378](https://github.com/cloudflare/terraform-provider-cloudflare/commit/2fd23780cbc201f13761aca3ce9d7ed95cdcbf1c))
* update migration guide to use source, not stdlib ([9d208d6](https://github.com/cloudflare/terraform-provider-cloudflare/commit/9d208d6577f60940ec2bc1d6dcb181fcefbfdfac))
* use correct name for Grit patterns ([2f8d522](https://github.com/cloudflare/terraform-provider-cloudflare/commit/2f8d5220bc1c76003035c5af885883367bf06867))


### Chores

* **internal:** codegen related update ([#5061](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5061)) ([1fa6f58](https://github.com/cloudflare/terraform-provider-cloudflare/commit/1fa6f5801761a6aa2baa4148e77600698b4b0407))
* minor change to tests ([#5077](https://github.com/cloudflare/terraform-provider-cloudflare/issues/5077)) ([fcfaec5](https://github.com/cloudflare/terraform-provider-cloudflare/commit/fcfaec542597b9beefee370e908bffae11311e57))


### Documentation

* clean out previously set schema_versions ([fba939d](https://github.com/cloudflare/terraform-provider-cloudflare/commit/fba939df831ff60e451c2f50310eb626687bcdb8))
* generate ([9b6e1ec](https://github.com/cloudflare/terraform-provider-cloudflare/commit/9b6e1ecff2578ef99209374a0bfe5dc759d42a5c))
* generate r2 resources ([d72c8c8](https://github.com/cloudflare/terraform-provider-cloudflare/commit/d72c8c8d5f63dea25a0bd6be44d637880efc028a))
* handle cloudflare_record data migration ([9eb450b](https://github.com/cloudflare/terraform-provider-cloudflare/commit/9eb450bb6f146f49a3f6c9a8c73369d747e164f3))
* update deprecation dates ([7a8b7d2](https://github.com/cloudflare/terraform-provider-cloudflare/commit/7a8b7d2424fe20a0c83e7a76b069d9b7c042f751))
* update list guidance for list_items ([2b72ee6](https://github.com/cloudflare/terraform-provider-cloudflare/commit/2b72ee6628be7f50ae76756780ed97077a3ff68f))
* update page_rules migration guidance ([45e30b1](https://github.com/cloudflare/terraform-provider-cloudflare/commit/45e30b1ed3de447d54223d5479ca52fd8609db42))
* update ruleset headers guidance ([e928470](https://github.com/cloudflare/terraform-provider-cloudflare/commit/e928470f6299d2c7620543b17c59c8736b20e3a2))
* **workers_script:** fix example syntax ([d86363d](https://github.com/cloudflare/terraform-provider-cloudflare/commit/d86363d58c848ced0d19eaadbe9e4419bec1870d))
62 changes: 62 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
## Setting up the environment

To set up the repository, run:

```sh
$ ./scripts/bootstrap
$ ./scripts/build
```

This will install all the required dependencies and build the Provider binary into the root directory.

You can also [install go 1.22+ manually](https://go.dev/doc/install).

## Running the Provider locally

You can build the provider locally and have your `.tf` files refer to the local build instead of the one in the Hashicorp registry.

First, build the provider binary:

```sh
$ ./scripts/build
```

Then edit (or create) your `~/.terraformrc` to look something like this:

```hcl
provider_installation {
dev_overrides {
"cloudflare/cloudflare" = "/local/path/to/this/repo"
}
direct {}
}
```

## Running tests

To execute the schema and unit tests, run:

```sh
$ ./scripts/test
```

Note that this does not run [acceptance tests](https://developer.hashicorp.com/terraform/plugin/framework/acctests) by default, because
those tests interact with real resources in the cloud and could incur fees.

To enable the running of acceptance tests, use the `TF_ACC` environment variable:

```sh
$ TF_ACC=1 ./scripts/test
```

## Formatting

This library uses the standard gofmt code formatter:

```sh
$ ./scripts/format
```

## Running Tests

To run schema tests,
21 changes: 18 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,35 @@ for non-Terraform or service specific information.

<!-- x-release-please-start-version -->

```
```hcl
# Declare the provider and version
terraform {
required_providers {
cloudflare = {
source = "cloudflare/cloudflare"
version = "~> 5"
version = "~> 5.0.0"
}
}
}

# Initialize the provider
provider "cloudflare" {
api_token = "Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY" # or set CLOUDFLARE_API_TOKEN env variable
}

# Configure a resource
resource "cloudflare_zone" "example_zone" {
account = {
id = "023e105f4ecef8ad9ca31a8372d0c353"
}
name = "example.com"
type = "full"
}
```

<!-- x-release-please-end -->

And initialize your project by running `terraform init`.
Initialize your project by running `terraform init` in the directory.

## Migrating to Terraform from using the Dashboard

Expand Down
Loading