Initial commit with README and module files

This commit is contained in:
Patrick de Ruiter 2025-11-01 10:43:56 +01:00
commit fec61301e1
Signed by: pderuiter
GPG Key ID: 5EBA7F21CF583321
20 changed files with 2203 additions and 0 deletions

41
.terraform.lock.hcl generated Executable file
View File

@ -0,0 +1,41 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/datadog/datadog" {
version = "3.2.0"
constraints = "3.2.0"
hashes = [
"h1:nfbkvIrUHhsI0cx7IfYDdwdn+C7nBaDvqp3lsZ2BcQw=",
"zh:0973526974954263941cc4bc4a4bbd5a56726c09ebd118a513b0106d2164863d",
"zh:0e89a0254f65951da832f73822592c46758e168a1ea3f7fa7eb6c79fe1e13a5d",
"zh:35145207a6b585e51775079eb6c114d7d555c4f8a928361915374cb28b2cbe46",
"zh:3fdf4e1d184fbad0aed31e851cd8465d9be9e7481fcfcd1b5c0da7a1eb582048",
"zh:42dfbf4ecd8779346fa4764ce9db99b993fe3c8aefb6eea32d293f9a0bc5cab0",
"zh:4e172436bdcbfb2e41fa43a58bc89a1d1e47178e7011d99ff87885c65ef3966c",
"zh:72d77a750399ec7ff51c38894d54e54c178f16aab726b36caf0094501124f918",
"zh:72e112c8d008418f40677533e855a8b79061892fb42b8296ea69e8246d6205f9",
"zh:753d154fb6fb32f064469d3a2e2c657b7d8d19c674189480dae2d2f3b93d524b",
"zh:b8dfdcc4402856c043a08e4befe39b042203d616ffb370b54c64a7b3def6ca55",
"zh:be523a10cb95220cb52375ac71e03d8f0f48b0d8f3534075aa22d37b5d335d86",
"zh:eb9f11a30d9303b422eea27b5d11a716a290c81b8c09e5457292fb378386f66c",
"zh:fce91b84c90ce97b7acc6e4ec2cb6f9f4518ae070e00d7ca8973edd585d0ea14",
]
}
provider "registry.terraform.io/hashicorp/null" {
version = "3.1.0"
hashes = [
"h1:xhbHC6in3nQryvTQBWKxebi3inG5OCgHgc4fRxL0ymc=",
"zh:02a1675fd8de126a00460942aaae242e65ca3380b5bb192e8773ef3da9073fd2",
"zh:53e30545ff8926a8e30ad30648991ca8b93b6fa496272cd23b26763c8ee84515",
"zh:5f9200bf708913621d0f6514179d89700e9aa3097c77dac730e8ba6e5901d521",
"zh:9ebf4d9704faba06b3ec7242c773c0fbfe12d62db7d00356d4f55385fc69bfb2",
"zh:a6576c81adc70326e4e1c999c04ad9ca37113a6e925aefab4765e5a5198efa7e",
"zh:a8a42d13346347aff6c63a37cda9b2c6aa5cc384a55b2fe6d6adfa390e609c53",
"zh:c797744d08a5307d50210e0454f91ca4d1c7621c68740441cf4579390452321d",
"zh:cecb6a304046df34c11229f20a80b24b1603960b794d68361a67c5efe58e62b8",
"zh:e1371aa1e502000d9974cfaff5be4cfa02f47b17400005a16f14d2ef30dc2a70",
"zh:fc39cc1fe71234a0b0369d5c5c7f876c71b956d23d7d6f518289737a001ba69b",
"zh:fea4227271ebf7d9e2b61b89ce2328c7262acd9fd190e1fd6d15a591abfa848e",
]
}

View File

@ -0,0 +1 @@
{"Modules":[{"Key":"","Source":"","Dir":"."}]}

View File

@ -0,0 +1,853 @@
## 3.2.0 (July 14, 2021)
IMPROVEMENTS:
- `datadog_security_monitoring`: Introduce the detections methods and the new value rules options ([#1116](https://github.com/DataDog/terraform-provider-datadog/pull/1116))
- `datadog_integration_slack_channel`: Add Slack import example ([#1128](https://github.com/DataDog/terraform-provider-datadog/pull/1128))
- `datadog_synthetics_test`: Add custom message with a warning on synthetics test resource ([#1133](https://github.com/DataDog/terraform-provider-datadog/pull/1133))
- `datadog_monitor`: Allow un-setting `restricted_roles` on a monitor resource and add `restricted_roles` to the monitor data source ([#1121](https://github.com/DataDog/terraform-provider-datadog/pull/1121))
- `datadog_security_monitoring_rules`: Add support for suppress and require filters for the rules resources ([#1131](https://github.com/DataDog/terraform-provider-datadog/pull/1131))
- `datadog_security_monitoring_rules`: Add support for `has_extended_title` property ([#1130](https://github.com/DataDog/terraform-provider-datadog/pull/1130))
BUGFIXES:
- `datadog_dashboard`: Fix `is_column_break` issues ([#1140](https://github.com/DataDog/terraform-provider-datadog/pull/1140))
- `datadog_integration_aws_log_collection` and `datadog_integration_aws_tag_filter`: Fixed Terraform examples ([#1127](https://github.com/DataDog/terraform-provider-datadog/pull/1127))
- `datadog_synthetics_test`: Update `tick_every` property to use int ([#1119](https://github.com/DataDog/terraform-provider-datadog/pull/1119))
- `datadog_logs_index`: Fix logs_index update method ([#1126](https://github.com/DataDog/terraform-provider-datadog/pull/1126)
- `provider`: Fix segfault in `translateclienterror` if `httpresp` is nil ([#1135](https://github.com/DataDog/terraform-provider-datadog/pull/1135))
NOTES:
- Update Datadog client to [v1.2.0](https://github.com/DataDog/datadog-api-client-go/releases/tag/v1.2.0) ([#1143](https://github.com/DataDog/terraform-provider-datadog/pull/1143))
- Update Terraform plugin SDK to v2.7.0 ([#1132](https://github.com/DataDog/terraform-provider-datadog/pull/1132))
## 3.1.2 (June 24, 2021)
BUGFIXES:
- `datadog_integration_aws`: Handle all characters for AWS Role Name. ([#1122](https://github.com/DataDog/terraform-provider-datadog/pull/1122))
## 3.1.1 (June 22, 2021)
IMPROVEMENTS:
- `datadog_integration_aws_tag_filter`: Remove US only constraint from docs. ([#1118](https://github.com/DataDog/terraform-provider-datadog/pull/1118))
BUGFIXES:
- `datadog_logs_index`: Fix retention_days and daily_limit attributes. ([#1118](https://github.com/DataDog/terraform-provider-datadog/pull/1118))
## 3.1.0 (June 17, 2021)
IMPROVEMENTS:
- `datadog_logs_index`: Adding missing retention_days and daily_limit parameters. ([#1083](https://github.com/DataDog/terraform-provider-datadog/pull/1083)) Thanks [@DimitryVlasenko](https://github.com/DimitryVlasenko)
- `datadog_dashboard`: Add support for WidgetCustomLink `is_hidden` and `override_label` properties. ([#1062](https://github.com/DataDog/terraform-provider-datadog/pull/1062))
- `datadog_synthetics_test`: Add support for monitor name and priority. ([#1104](https://github.com/DataDog/terraform-provider-datadog/pull/1104))
- `datadog_integration_aws`: Add support for access_key_id and secret_access_key. ([#1101](https://github.com/DataDog/terraform-provider-datadog/pull/1101)).
- `datadog_dashboard`: Update dashboard examples. ([#1105](https://github.com/DataDog/terraform-provider-datadog/pull/1105))
- `datadog_synthetics_test`: Add support for global variables in config variables. ([#1106](https://github.com/DataDog/terraform-provider-datadog/pull/1106))
- `datadog_dashboard_json`: Add dashboard list support. ([#1102](https://github.com/DataDog/terraform-provider-datadog/pull/1102))
- `datadog_downtime`: Properly handle recurring downtimes definitions. ([#1092](https://github.com/DataDog/terraform-provider-datadog/pull/1092))
- `datadog_dashboard`: Dashboard RBAC roles. ([#1109](https://github.com/DataDog/terraform-provider-datadog/pull/1109))
BUGFIXES:
- `datadog_integration_aws`: Properly catch error response from AWS Logs integration. ([#1095](https://github.com/DataDog/terraform-provider-datadog/pull/1095))
- `datadog_integration_aws`: Handle empty parameters in AWS and Azure integrations. ([#1096](https://github.com/DataDog/terraform-provider-datadog/pull/1096)).
- `datadog_integration_azure`: Handle empty parameters in AWS and Azure integrations. ([#1096](https://github.com/DataDog/terraform-provider-datadog/pull/1096)).
- `datadog_monitor`: Re-introduce monitor type diff suppression for query/metric alerts. ([#1099](https://github.com/DataDog/terraform-provider-datadog/pull/1099))
- `datadog_synthetics_test`: Allow zero value for dns_server_port. ([#1087](https://github.com/DataDog/terraform-provider-datadog/pull/1087))
NOTES:
- Update Datadog api go client. See [here](https://github.com/DataDog/datadog-api-client-go/releases/tag/v1.1.0) for changes.
## 3.0.0 (May 27, 2021)
IMPROVEMENTS:
- Upgrade terraform-plugin-sdk to v2. See https://www.terraform.io/docs/extend/guides/v2-upgrade-guide.html for all the internal changes.
NOTES:
- `datadog_monitor`: Remove the `threshold` deprecated property.
- `datadog_monitor`: Remove the `threshold_windows` deprecated property.
- `datadog_monitor`: Remove the `silenced` deprecated property.
- `datadog_dashboard`: Remove the `layout` deprecated property from widgets.
- `datadog_dashboard`: Remove the `time` deprecated property from widgets.
- `datadog_dashboard`: Remove the `logset` deprecated property from widgets.
- `datadog_dashboard`: Remove the `count` deprecated property from widgets.
- `datadog_dashboard`: Remove the `start` deprecated property from widgets.
- `datadog_dashboard`: Remove the `compute` deprecated property from widgets.
- `datadog_dashboard`: Remove the `search` deprecated property from widgets.
- `datadog_integration_pagerduty`: Remove the `services` deprecated property.
- `datadog_logs_archive`: Remove the `s3` deprecated property.
- `datadog_logs_archive`: Remove the `azure` deprecated property.
- `datadog_logs_archive`: Remove the `gcs` deprecated property.
- `datadog_screenboard`: Remove the deprecated resource
- `datadog_service_level_objective`: Remove the `monitor_search` deprecated property.
- `datadog_timeboard`: Remove the deprecated resource.
- `datadog_synthetics_test`: Remove the `request` deprecated property.
- `datadog_synthetics_test`: Remove the `assertions` deprecated property.
- `datadog_synthetics_test`: Remove the `options` deprecated property.
- `datadog_synthetics_test`: Remove the `step` deprecated property.
- `datadog_synthetics_test`: Remove the `variable` deprecated property.
- `datadog_user`: Remove the `handle` deprecated property.
- `datadog_user`: Remove the `is_admin` deprecated property.
- `datadog_user`: Remove the `access_role` deprecated property.
- `datadog_user`: Remove the `role` deprecated property.
## 2.26.1 (May 20, 2021)
BUGFIXES:
- `datadog_dashboard_json`: Fix `dashboard` attribute retrieval when calling the update method ([#1072](https://github.com/DataDog/terraform-provider-datadog/pull/1072))
## 2.26.0 (May 18, 2021)
IMPROVEMENTS:
- `datadog_logs_custom_pipeline`: Add mutex to logs custom pipeline resource ([#1069](https://github.com/DataDog/terraform-provider-datadog/pull/1069))
- `datadog_logs_custom_pipeline`: Use code formatting in description for attribute re-mapper ([#1061](https://github.com/DataDog/terraform-provider-datadog/pull/1061))
- `datadog_monitor`: Update monitor critical threshold documentation ([#1055](https://github.com/DataDog/terraform-provider-datadog/pull/1055))
- `datadog_monitor`: Retry on 504's when validating monitors ([#1038](https://github.com/DataDog/terraform-provider-datadog/pull/1038))
- `datadog_dashboard_json`: Ignore widget IDs for diff on dashboard JSON resource ([#1028](https://github.com/DataDog/terraform-provider-datadog/pull/1028))
- `datadog_monitor`: Add monitors datasource for multiple monitors ([#1048](https://github.com/DataDog/terraform-provider-datadog/pull/1048))
- `datadog_synthetics_test`: Add support for setCookie, dnsServerPort, allowFailure and isCritical fields for Synthetics tests ([#1052](https://github.com/DataDog/terraform-provider-datadog/pull/1052))
- `datadog_dashboard`: Add new properties to group widget, note widget and image widget ([#1044](https://github.com/DataDog/terraform-provider-datadog/pull/1044))
- `datadog_synthetics_test`: Add support for icmp tests ([#1030](https://github.com/DataDog/terraform-provider-datadog/pull/1030))
- `datadog_dashboard`: Implement formulas and functions for geomap widgets ([#1043](https://github.com/DataDog/terraform-provider-datadog/pull/1043))
- `datadog_dashboard`: Formula and Function support for Toplist Widgets in Dashboard resource ([#951](https://github.com/DataDog/terraform-provider-datadog/pull/951))
- `datadog_dashboard`: Add reflow_type property for dashboards ([#1017](https://github.com/DataDog/terraform-provider-datadog/pull/1017))
- `datadog_dashboard`: Formula and Function support for Query Value Widgets in Dashboard resource ([#953](https://github.com/DataDog/terraform-provider-datadog/pull/953))
FEATURES:
- `datadog_service_level_objective`: Add SLO data sources ([#931](https://github.com/DataDog/terraform-provider-datadog/pull/931))
BUGFIXES:
- `datadog_downtime`: Properly mark active/disabled fields as readonly to avoid diffs ([#1034](https://github.com/DataDog/terraform-provider-datadog/pull/1034))
- `datadog_integration_aws`: Mark AWS account as non existent if GET returns 400 when AWS integration not installed ([#1047](https://github.com/DataDog/terraform-provider-datadog/pull/1047))
NOTES:
- Use custom transport for HTTPClient to enable retries on 429 and 5xx http errors ([#1054](https://github.com/DataDog/terraform-provider-datadog/pull/1054))
- Update Datadog api go client. See [here](https://github.com/DataDog/datadog-api-client-go/releases/tag/v1.0.0-beta.22) for changes.
## 2.25.0 (April 15, 2021)
IMPROVEMENTS:
- `datadog_slo_correction`: Add docs for SLO Correction resource ([#1021](https://github.com/DataDog/terraform-provider-datadog/pull/1021))
- `datadog_synthetics_test`: Use new API models for api tests ([#1005](https://github.com/DataDog/terraform-provider-datadog/pull/1005))
- `datadog_monitor`: Improve consistency by using response from POST/PUT requests ([#1015](https://github.com/DataDog/terraform-provider-datadog/pull/1015))
- `datadog_synthetics_test`: Add `noSavingResponseBody` and `noScreenshot` fields ([#1012](https://github.com/DataDog/terraform-provider-datadog/pull/1012))
- `datadog_logs_metric`: Add `group_by` block to logs_metric example ([#1010](https://github.com/DataDog/terraform-provider-datadog/pull/1010))
FEATURES:
- `datadog_dashboard`: Add support for Formula and Function support for Timeseries Widgets ([#892](https://github.com/DataDog/terraform-provider-datadog/pull/892))
- `datadog_synthetics_test`: Add support for `multi` step synthetics API tests ([#1007](https://github.com/DataDog/terraform-provider-datadog/pull/1007))
- `datadog_security_monitoring_default_rule`: Add datadog default security monitoring rule filters ([#965](https://github.com/DataDog/terraform-provider-datadog/pull/965))
- `datadog_synthetics_test`: Add support for global_time_target for SLO widgets ([#1003](https://github.com/DataDog/terraform-provider-datadog/pull/1003))
BUGFIXES:
- `datadog_synthetics_test`: Set `tick_every` as required and add default value for `example` field ([#1020](https://github.com/DataDog/terraform-provider-datadog/pull/1020))
- `datadog_monitor`: Fix diff suppression for field `restricted_roles` ([#1011](https://github.com/DataDog/terraform-provider-datadog/pull/1011))
- `datadog_integration_slack_channel`: Fix `account_id` field not being set on imports ([#1019](https://github.com/DataDog/terraform-provider-datadog/pull/1019))
- `datadog_synthetics_test`: Fix error when passing empty step param ([#1014](https://github.com/DataDog/terraform-provider-datadog/pull/1014))
- `datadog_integration_gcp`: Set ForceNew to true on non-updatable GCP resource fields ([#1014](https://github.com/DataDog/terraform-provider-datadog/pull/1007))
- `datadog_dashboard`: Add retry on 502's when listing dashbaord ([#1006](https://github.com/DataDog/terraform-provider-datadog/pull/1006))
NOTES:
- Update the underlying Datadog go client to v1.0.0-beta.19. See [here](https://github.com/DataDog/datadog-api-client-go/releases/tag/v1.0.0-beta.19) for changes.
## 2.24.0 (March 22, 2021)
IMPROVEMENTS:
- `datadog_dashboard`: Add `legend_layout` and `legend_columns` to timeseries widget definition ([#992](https://github.com/Datadog/terraform-provider-datadog/pull/992)).
FEATURES:
- `datadog_metric_tag_configuration` Add new resource ([#960](https://github.com/Datadog/terraform-provider-datadog/pull/960)).
## 2.23.0 (March 16, 2021)
IMPROVEMENTS:
- `datadog_dashboard`: Implement support for Geomap Dashboard Widget ([#954](https://github.com/Datadog/terraform-provider-datadog/pull/954)).
FEATURES:
- `datadog_dashboard_json`: Add new dashboard JSON resource ([#950](https://github.com/Datadog/terraform-provider-datadog/pull/950)).
BUGFIXES:
- `datadog_dashboard`: Add a retry on 504 errors when there is a timeout ([#975](https://github.com/Datadog/terraform-provider-datadog/pull/975)).
- `datadog_integration_slack_channel`: Fix issue causing slack channels to not be created in some situations ([#981](https://github.com/Datadog/terraform-provider-datadog/pull/981)).
- `datadog_monitor`: Explicitly check `monitor_id` for `nil` value to fix an issue with terraformer ([#962](https://github.com/Datadog/terraform-provider-datadog/pull/962)).
- `datadog_security_monitoring_default_rule`: Fix issue that prevented default rule cases notifications to be updated ([#956](https://github.com/Datadog/terraform-provider-datadog/pull/956)).
NOTES:
- Update the underlying Datadog go client to v1.0.0-beta.17. See [here](https://github.com/DataDog/datadog-api-client-go/releases/tag/v1.0.0-beta.17) for changes.
## 2.22.0 (March 3, 2021).
IMPROVEMENTS:
- `datadog_dashboard`: Improve consistency by using response from POST/PUT requests directly to save state ([#909](https://github.com/Datadog/terraform-provider-datadog/pull/909)).
- `datadog_downtime`: Improve consistency by using response from POST/PUT requests directly to save state ([#905](https://github.com/Datadog/terraform-provider-datadog/pull/905)).
- `datadog_ip_ranges`: Add support for reading ipv4/6 prefixes by location for synthetics ([#934](https://github.com/Datadog/terraform-provider-datadog/pull/934)).
- `datadog_logs_archive_order`: Improve consistency by using response from POST/PUT requests directly to save state ([#912](https://github.com/Datadog/terraform-provider-datadog/pull/912)).
- `datadog_logs_archive`: Improve consistency by using response from POST/PUT requests directly to save state ([#912](https://github.com/Datadog/terraform-provider-datadog/pull/912)).
- `datadog_logs_custom_pipeline`: Improve consistency by using response from POST/PUT requests directly to save state ([#913](https://github.com/Datadog/terraform-provider-datadog/pull/913)).
- `datadog_logs_index_order`: Improve consistency by using response from POST/PUT requests directly to save state ([#915](https://github.com/Datadog/terraform-provider-datadog/pull/915)).
- `datadog_logs_index`: Improve consistency by using response from POST/PUT requests directly to save state ([#915](https://github.com/Datadog/terraform-provider-datadog/pull/915)).
- `datadog_logs_integration_pipeline`: Improve consistency by using response from POST/PUT requests directly to save state ([#913](https://github.com/Datadog/terraform-provider-datadog/pull/913)).
- `datadog_logs_metric`: Improve consistency by using response from POST/PUT requests directly to save state ([#917](https://github.com/Datadog/terraform-provider-datadog/pull/917)).
- `datadog_logs_pipeline_order`: Improve consistency by using response from POST/PUT requests directly to save state ([#913](https://github.com/Datadog/terraform-provider-datadog/pull/913)).
- `datadog_metric_metadata`: Improve consistency by using response from POST/PUT requests directly to save state ([#922](https://github.com/Datadog/terraform-provider-datadog/pull/922)).
- `datadog_monitor`: Add support for `groupby_simple_monitor` option to monitor resource ([#952](https://github.com/Datadog/terraform-provider-datadog/pull/952)).
- `datadog_monitor`: Improve consistency by using response from POST/PUT requests directly to save state ([#901](https://github.com/Datadog/terraform-provider-datadog/pull/901)).
- `datadog_role`: Improve consistency by using response from POST/PUT requests directly to save state ([#925](https://github.com/Datadog/terraform-provider-datadog/pull/925)).
- `datadog_service_level_objective`: Improve consistency by using response from POST/PUT requests directly to save state ([#910](https://github.com/Datadog/terraform-provider-datadog/pull/910)).
- `datadog_slo_correction`: Improve consistency by using response from POST/PUT requests directly to save state ([#921](https://github.com/Datadog/terraform-provider-datadog/pull/921)).
- `datadog_user`: Improve consistency by using response from POST/PUT requests directly to save state ([#927](https://github.com/Datadog/terraform-provider-datadog/pull/927)).
FEATURES:
- `datadog_integration_slack_channel`: Add support for slack channel resource ([#932](https://github.com/Datadog/terraform-provider-datadog/pull/932)).
BUGFIXES:
- `datadog_dashboard`: Fix template_variable_presets to support optional template_variables ([#944](https://github.com/Datadog/terraform-provider-datadog/pull/944)).
NOTES:
- `datadog_integration_pagerduty`: Remove deprecation on PagerDuty resource ([#930](https://github.com/Datadog/terraform-provider-datadog/pull/930)).
- Update the underlying Datadog go client to v1.0.0-beta.16. See [here](https://github.com/DataDog/datadog-api-client-go/releases/tag/v1.0.0-beta.16) for changes.
## 2.21.0 (February 9, 2021)
IMPROVEMENTS:
- `datadog_integration_aws_filter`: Add new resource ([#881](https://github.com/Datadog/terraform-provider-datadog/pull/881)).
- `datadog_slo_correction`: Add new resource ([#866](https://github.com/Datadog/terraform-provider-datadog/pull/866)).
FEATURES:
- `datadog_monitor`: Add restricted roles. ([#883](https://github.com/Datadog/terraform-provider-datadog/pull/883)).
- `datadog_synthetics_test`: Add parameter to prevent useless diffs for browser tests ([#854](https://github.com/Datadog/terraform-provider-datadog/pull/854)).
- `datadog_synthetics_test`: Add new `browser_step` field for browser tests ([#849](https://github.com/Datadog/terraform-provider-datadog/pull/849)).
BUGFIXES:
- `datadog_synthetics_global_variable`: Fix setting `parse_test_options` attribute ([#867](https://github.com/Datadog/terraform-provider-datadog/pull/867)).
- `datadog_security_monitoring_rule`: Fix enabled attribute retrieval ([#862](https://github.com/Datadog/terraform-provider-datadog/pull/862)).
- `datadog_metric_metadata`: Fix id retrieval when calling the read function ([#856](https://github.com/Datadog/terraform-provider-datadog/pull/856)).
- `datadog_logs_custom_pipeline`: Support empty strings for filter query ([#855](https://github.com/Datadog/terraform-provider-datadog/pull/855)).
- `datadog_dashboard`: Handle crash in `timeseries_definition` ([#863](https://github.com/Datadog/terraform-provider-datadog/pull/863)).
- `datadog_synthetics_test`: Turn locations into a set ([#864](https://github.com/Datadog/terraform-provider-datadog/pull/864)).
NOTES:
- `datadog_dashboard`: Deprecate TypeMap complex fields ([#853](https://github.com/Datadog/terraform-provider-datadog/pull/853)).
- `datadog_synthetics_test`: Deprecate TypeMap field ([#870](https://github.com/Datadog/terraform-provider-datadog/pull/870)).
- `datadog_monitor` : Include SDK when a tag is a unexpected prefix ([#781](https://github.com/DataDog/terraform-provider-datadog/issues/781)).
- Backport performance fix to SDK v1.
## 2.20.0 (January 20, 2021)
IMPROVEMENTS:
- `datadog_logs_metrics`: Add new resource ([#823](https://github.com/Datadog/terraform-provider-datadog/pull/823)).
FEATURES:
- `datadog_dashboard`: Store dashboard widget IDs ([#815](https://github.com/Datadog/terraform-provider-datadog/pull/815)).
- `datadog_synthetics_test`: Add support for global variables from test ([#831](https://github.com/Datadog/terraform-provider-datadog/pull/831)).
BUGFIXES:
- `datadog_synthetics_test`: Store SHA 256 hash of certificates in state instead of the actual cert ([#835](https://github.com/Datadog/terraform-provider-datadog/pull/835)).
NOTES:
- `datadog_user`: Deprecate `access_role` field ([#834](https://github.com/Datadog/terraform-provider-datadog/pull/834)).
- `datadog_monitor`: Provide alternative to TypeMap complex fields ([#833](https://github.com/Datadog/terraform-provider-datadog/pull/833)).
- `datadog_logs_archive`: Provide alternative to TypeMap complex fields ([#838](https://github.com/Datadog/terraform-provider-datadog/pull/838)).
## 2.19.1 (January 8, 2021)
BUGFIXES:
- `datadog_monitor`: Handle 404 properly with retry ([#824](https://github.com/DataDog/terraform-provider-datadog/pull/824)).
- `datadog_integration_aws`: Remove incorrect deprecation warning ([#820](https://github.com/DataDog/terraform-provider-datadog/pull/820)).
## 2.19.0 (January 7, 2021)
FEATURES:
- `datadog_synthetics_test`: Add support for config variables ([#807](https://github.com/DataDog/terraform-provider-datadog/pull/807)).
BUGFIXES:
- `datadog_user`: Add ability to send user invitations in v2 API ([#814](https://github.com/DataDog/terraform-provider-datadog/pull/814)).
- `datadog_monitor`: Fix updating priorities. ([#804](https://github.com/DataDog/terraform-provider-datadog/pull/804)).
- `datadog_monitor`: Add retry on 502 for get and validate ([#816](https://github.com/DataDog/terraform-provider-datadog/pull/816)).
- `datadog_synthetics_test`: Fix error when setting status code assertion with regex ([#784](https://github.com/DataDog/terraform-provider-datadog/pull/784)).
- `datadog_logs_index_order`: Enable `UpdateLogsIndexOrder` operation ([#790](https://github.com/DataDog/terraform-provider-datadog/pull/790)).
- Validate enum values ([#794](https://github.com/DataDog/terraform-provider-datadog/pull/794)).
NOTES:
- Remove deprecated `ExistsFunc` usage ([#805](https://github.com/DataDog/terraform-provider-datadog/pull/805)).
## 2.18.1 (December 9, 2020)
BUGFIXES:
- `datadog_user`: Automatically upgrade users when `roles` is set ([#778](https://github.com/DataDog/terraform-provider-datadog/pull/778)).
- `datadog_dashboard`: Add ForceNew to `layout_type` dashboard attribute ([#774](https://github.com/DataDog/terraform-provider-datadog/pull/774)).
## 2.18.0 (December 8, 2020)
IMPROVEMENTS:
- `datadog_synthetics_private_location`: Add support for synthetics private locations ([#761](https://github.com/DataDog/terraform-provider-datadog/pull/761)).
- `datadog_security_monitoring_rule`: Add support for security monitoring rules ([#763](https://github.com/DataDog/terraform-provider-datadog/pull/763)).
FEATURES:
- `datadog_service_level_objective`: Add `force_delete` attribute, to manage deletion in dashboard references ([#771](https://github.com/DataDog/terraform-provider-datadog/pull/771)).
- `datadog_synthetics_global_variable`: Add support for secure global variables ([#758](https://github.com/DataDog/terraform-provider-datadog/pull/758)).
BUGFIXES:
- `datadog_synthetics_test`: Handle numbers in `targetvalue` for synthetics assertions ([#766](https://github.com/DataDog/terraform-provider-datadog/pull/766)).
NOTES:
- `datadog_user`: Use v2 API. This deprecates several v1 only attributes ([#752](https://github.com/DataDog/terraform-provider-datadog/pull/752)).
## 2.17.0 (November 24, 2020)
FEATURES:
- `datadog_role`: Add role datasource ([#751](https://github.com/DataDog/terraform-provider-datadog/pull/751))
- `datadog_role`: Add roles resource and permissions datasource ([#753](https://github.com/DataDog/terraform-provider-datadog/pull/753)).
BUGFIXES:
- `datadog_dashboard`: Handle multiple dashboards correctly in the datasource ([#759](https://github.com/DataDog/terraform-provider-datadog/pull/759)).
- `datadog_synthetics_test`: Set client certificate content as sensitive ([#750](https://github.com/DataDog/terraform-provider-datadog/pull/750)).
- `datadog_monitor`: Fix monitor `no_data_timeframe` import ([#748](https://github.com/DataDog/terraform-provider-datadog/pull/748)).
## 2.16.0 (November 9, 2020)
IMPROVEMENTS:
- `datadog_dashboard`: Add new data source ([#734](https://github.com/DataDog/terraform-provider-datadog/pull/734)).
BUGFIXES:
- `datadog_dashboard`: Update go client to get new palette values ([#743](https://github.com/DataDog/terraform-provider-datadog/pull/743)).
## 2.15.0 (November 2, 2020)
IMPROVEMENTS:
- `datadog_monitor`: Add `priority`field ([#729](https://github.com/DataDog/terraform-provider-datadog/pull/729)).
BUGFIXES:
- `datadog_synthetics_test`: Handle missing variables field from API response ([#733](https://github.com/DataDog/terraform-provider-datadog/pull/733)).
- `datadog_monitor`: Handle `0` in `new_host_delay` ([#726](https://github.com/DataDog/terraform-provider-datadog/pull/726)).
NOTES:
- `provider`: Replace 4d63.com/tz with time/tzdata. It means go 1.15 is required now to build the provider ([#728](https://github.com/DataDog/terraform-provider-datadog/pull/728)).
## 2.14.0 (October 27, 2020)
FEATURES:
- `datadog_logs_archive_order`: Add a new resource to reorder logs archives ([#694](https://github.com/DataDog/terraform-provider-datadog/pull/694)).
- `datadog_synthetics_global_variable`: Add a new resource to support global variables in synthetics tests ([#675](https://github.com/DataDog/terraform-provider-datadog/pull/675)).
IMPROVEMENTS:
- `datadog_dashboard`: Add support for `apm_stats_query` request type in widgets ([#676](https://github.com/DataDog/terraform-provider-datadog/pull/676)).
- `datadog_dashboard`: Add support for dual y-axis for timeseries widgets ([#685](https://github.com/DataDog/terraform-provider-datadog/pull/685)).
- `datadog_dashboard`: Add support for `has_search_bar` and `cell_display_mode` properties on widgets ([#686](https://github.com/DataDog/terraform-provider-datadog/pull/686)).
- `datadog_dashboard`: Add support for `custom_links` property on widgets ([#696](https://github.com/DataDog/terraform-provider-datadog/pull/696)).
- `datadog_logs_archive`: Add `rehydration_tags` property ([#705](https://github.com/DataDog/terraform-provider-datadog/pull/705)).
- `datadog_logs_archive`: Add `include_tags` property ([#715](https://github.com/DataDog/terraform-provider-datadog/pull/715)).
- `datadog_logs_custom_pipeline`: Add `target_format` property to the Logs attribute remapper ([#682](https://github.com/DataDog/terraform-provider-datadog/pull/682)).
- `datadog_service_level_objective`: Add validate option ([#672](https://github.com/DataDog/terraform-provider-datadog/pull/672)).
- `datadog_synthetics_test`: Add support for DNS tests ([#673](https://github.com/DataDog/terraform-provider-datadog/pull/673)).
- `datadog_synthetics_test`: Add support for global variables ([#691](https://github.com/DataDog/terraform-provider-datadog/pull/691)).
- `datadog_synthetics_test`: Add support for `dns_server` and `request_client_certificate` properties ([#711](https://github.com/DataDog/terraform-provider-datadog/pull/711)).
BUGFIXES:
- `datadog_synthetics_test`: Don't ignore options diff ([#707](https://github.com/DataDog/terraform-provider-datadog/pull/707)).
- `datadog_synthetics_test`: Make `tags` property optional ([#712](https://github.com/DataDog/terraform-provider-datadog/pull/712)).
- `datadog_ip_ranges`: Support EU site ([#713](https://github.com/DataDog/terraform-provider-datadog/pull/713)).
## 2.13.0 (September 16, 2020)
FEATURES:
- `datadog_dashboard_list`: Add a new datasource for dashboard lists ([#657](https://github.com/DataDog/terraform-provider-datadog/pull/657)).
- `datadog_synthetics_locations`: Add a new datasource for locations ([#309](https://github.com/DataDog/terraform-provider-datadog/pull/309)).
IMPROVEMENTS:
- `datadog_dashboard`: A new `dashboard_lists` attribute allows adding dashboard to dashboard lists in the resource itself ([#654](https://github.com/DataDog/terraform-provider-datadog/pull/654)).
- `datadog_dashboard`: Add support for `multi_compute` attribute ([#629](https://github.com/DataDog/terraform-provider-datadog/pull/629)).
- `datadog_dashboard`: Add support for `metric` in `conditional_formats` ([#617](https://github.com/DataDog/terraform-provider-datadog/pull/617)).
- `datadog_dashboard`: Add support for `rum_query` and `security_query` widget requests ([#416](https://github.com/DataDog/terraform-provider-datadog/pull/416)).
- `datadog_monitor`: Monitors are now validated during plan ([#639](https://github.com/DataDog/terraform-provider-datadog/pull/639)).
- `datadog_downtime`: Add support for recurrent rules ([#610](https://github.com/DataDog/terraform-provider-datadog/pull/610)).
- `datadog_synthetics_test`: Add support for steps for browser tests ([#638](https://github.com/DataDog/terraform-provider-datadog/pull/638)).
- `datadog_synthetics_test`: Add subtype TCP test support for API tests ([#632](https://github.com/DataDog/terraform-provider-datadog/pull/632)).
- `datadog_synthetics_test`: Add retry and monitor options ([#636](https://github.com/DataDog/terraform-provider-datadog/pull/636)).
BUGFIXES:
- `datadog_dashboard`: Prevent nil pointer dereference with template variables without prefix ([#630](https://github.com/DataDog/terraform-provider-datadog/pull/630)).
- `datadog_dashboard`: Don't allow empty content in note widgets ([#607](https://github.com/DataDog/terraform-provider-datadog/pull/607)).
- `datadog_downtime`: Ignore useless diff on start attribute ([#597](https://github.com/DataDog/terraform-provider-datadog/pull/597)).
- `datadog_logs_custom_pipeline`: Don't allow empty pipeline filter ([#605](https://github.com/DataDog/terraform-provider-datadog/pull/605)).
- `provider`: Completely skip creds validation when validate is false ([#641](https://github.com/DataDog/terraform-provider-datadog/pull/641)).
NOTES:
- `datadog_synthetics_test`: The `options` attribute has been deprecated by `options_list` ([#624](https://github.com/DataDog/terraform-provider-datadog/pull/624)).
## 2.12.1 (July 23, 2020)
This release doesn't contain any user-facing changes. It's done as a required part of process to finalize the transfer of the provider repository under DataDog GitHub organization: https://github.com/DataDog/terraform-provider-datadog.
## 2.12.0 (July 22, 2020)
FEATURES:
- `datadog_monitor`: Add new datasource for monitors ([#569](https://github.com/DataDog/terraform-provider-datadog/issues/569)), ([#585](https://github.com/DataDog/terraform-provider-datadog/issues/585)).
IMPROVEMENTS:
- `datadog_synthetics_test`: Enable usage of `validatesJSONPath` operator ([#571](https://github.com/DataDog/terraform-provider-datadog/issues/571)).
- `datadog_synthetics_test`: Allow usage of the new assertion format ([#571](https://github.com/DataDog/terraform-provider-datadog/issues/571)), ([#582](https://github.com/DataDog/terraform-provider-datadog/issues/582)).
- `datadog_synthetics_test`: Add support for `basicAuth` and `query` ([#586](https://github.com/DataDog/terraform-provider-datadog/issues/586)).
BUGFIXES:
- `datadog_downtime`: Replace `time.LoadLocation` by tz.LoadLocation from `4d63.com/tz` package ([#560](https://github.com/DataDog/terraform-provider-datadog/issues/560)).
- `datadog_downtime`: Use `TypeSet` for monitor tags to avoid unnecessary diffs ([#540](https://github.com/DataDog/terraform-provider-datadog/issues/540)).
- `provider`: Respect the debug setting in the new Go Datadog client ([#580](https://github.com/DataDog/terraform-provider-datadog/issues/580)).
NOTES:
- `datadog_integration_pagerduty`: This resource is deprecated. You can use `datadog_integration_pagerduty_service_object` resources directly once the integration is activated ([#584](https://github.com/DataDog/terraform-provider-datadog/issues/584)).
## 2.11.0 (June 29, 2020)
FEATURES:
- `datadog_logs_archive`: Add `datadog_logs_archive` resource ([#544](https://github.com/DataDog/terraform-provider-datadog/pull/544)).
- `datadog_integration_azure`: Add `datadog_integration_azure` resource ([#556](https://github.com/DataDog/terraform-provider-datadog/pull/556)).
## 2.10.0 (June 26, 2020)
FEATURES:
- `datadog_integration_aws`: Add `excluded_regions` parameter ([#549](https://github.com/DataDog/terraform-provider-datadog/pull/549)).
- `datadog_dashboard`: Add `ServiceMap` widget to dashboard ([#550](https://github.com/DataDog/terraform-provider-datadog/pull/550)).
- `datadog_dashboard`: Add `show_legend` and `legend_size` fields to Distribution widget ([#551](https://github.com/DataDog/terraform-provider-datadog/pull/551)).
- `datadog_dashboard`: Add `network_query` and `rum_query` to timeseries widget ([#555](https://github.com/DataDog/terraform-provider-datadog/pull/555)).
- `datadog_dashboard`: Add `event`, `legend_size` and `show_legend` fields to heatmap widget ([#554](https://github.com/DataDog/terraform-provider-datadog/pull/554)).
IMPROVEMENTS:
- `datadog_dashboard`: Add readonly url field to dashboard ([#558](https://github.com/DataDog/terraform-provider-datadog/pull/558)).
## 2.9.0 (June 22, 2020)
IMPROVEMENTS:
- `datadog_monitor`: Add monitor `force_delete` parameter ([#535](https://github.com/DataDog/terraform-provider-datadog/pull/535)) Thanks [@ykyr](https://github.com/ykyr)
BUGFIXES:
- `datadog_dashboard`: Safely access index field ([#536](https://github.com/DataDog/terraform-provider-datadog/pull/536))
- `datadog_dashboard`: Set title and title_align properly on heatmap widget ([#539](https://github.com/DataDog/terraform-provider-datadog/pull/539))
- `datadog_ip_ranges`: Fix data source for IPRanges ([#542](https://github.com/DataDog/terraform-provider-datadog/pull/542))
- `datadog_monitor`: Fix indent in datadog_monitor docs example ([#543](https://github.com/DataDog/terraform-provider-datadog/pull/543)) Thanks [@nekottyo](https://github.com/nekottyo)
NOTES:
- `datadog_synthetics_test`: `SyntheticsDeviceID` should accept all allowed values ([#538](https://github.com/DataDog/terraform-provider-datadog/issues/538))
- Thanks [@razaj92](https://github.com/razaj92) ([#547](https://github.com/DataDog/terraform-provider-datadog/pull/547)) who contributed to this release as well.
## 2.8.0 (June 10, 2020)
FEATURES:
- `provider`: Add support for `DD_API_KEY`, `DD_APP_KEY` and `DD_HOST` env variables ([#469](https://github.com/DataDog/terraform-provider-datadog/issues/469))
- `datadog_logs_custom_pipeline`: Add support for lookup processor ([#415](https://github.com/DataDog/terraform-provider-datadog/issues/415))
- `datadog_integration_aws_lambda_arn`: Add AWS Log Lambda Integration ([#436](https://github.com/DataDog/terraform-provider-datadog/issues/436))
- `datadog_integration_aws_log_collection`: Add AWS Log collection service resource ([#437](https://github.com/DataDog/terraform-provider-datadog/issues/437)) Thanks [@mhaley-miovision](https://github.com/mhaley-miovision)
- `datadog_dashboard`: Add support for tags_execution ([#524](https://github.com/DataDog/terraform-provider-datadog/issues/524))
- `datadog_dashboard`: Add `legend_size` to api request ([#421](https://github.com/DataDog/terraform-provider-datadog/issues/421))
- `provider`: Add "validate" option that can disable validation ([#474](https://github.com/DataDog/terraform-provider-datadog/issues/474)) Thanks [@bendrucker](https://github.com/bendrucker)
IMPROVEMENTS:
- `provider`: Harmonized errors across all resources ([#450](https://github.com/DataDog/terraform-provider-datadog/issues/450))
- `provider`: Add more infos in user agent header ([#455](https://github.com/DataDog/terraform-provider-datadog/issues/455))
- `provider`: Update the api error message ([#472](https://github.com/DataDog/terraform-provider-datadog/issues/472))
- `datadog_screenboard`, `datadog_timeboard`: Add deprecation messages ([#496](https://github.com/DataDog/terraform-provider-datadog/issues/496))
- `provider`: New UserAgent Header ([#455](https://github.com/DataDog/terraform-provider-datadog/issues/455)), ([#510](https://github.com/DataDog/terraform-provider-datadog/issues/510)), ([#511](https://github.com/DataDog/terraform-provider-datadog/issues/511)), and ([#512](https://github.com/DataDog/terraform-provider-datadog/issues/512))
- `datadog_integration_aws`: Add full AWS Update support ([#521](https://github.com/DataDog/terraform-provider-datadog/issues/521))
BUGFIXES:
- `datadog_logs_index`: Fail fast if index isn't imported ([#452](https://github.com/DataDog/terraform-provider-datadog/issues/452))
- `datadog_integration_aws`: Do not set empty structures in request to create aws integration ([#505](https://github.com/DataDog/terraform-provider-datadog/issues/505)) Thanks [@miguelaferreira](https://github.com/miguelaferreira)
- `datadog_dashboard`: Add default to deprecated `count` field to avoid sending 0 ([#514](https://github.com/DataDog/terraform-provider-datadog/issues/514))
- `datadog_integration_pagerduty`: Fix perpetual diff in api_token ([#518](https://github.com/DataDog/terraform-provider-datadog/issues/518)) Thanks [@bendrucker](https://github.com/bendrucker)
- `datadog_dashboard`: Add column revamp properties to dashboard log stream widget ([#517](https://github.com/DataDog/terraform-provider-datadog/issues/517))
NOTES:
- This release replaces the underlying community driven Datadog API Go client [go-datadog-api](https://github.com/zorkian/go-datadog-api) with the Datadog Official API Go client [datadog-api-client-go](https://github.com/DataDog/datadog-api-client-go) for all resources listed below:
- `provider`: Add Datadog Go client API ([#477](https://github.com/DataDog/terraform-provider-datadog/issues/477)) and ([#456](https://github.com/DataDog/terraform-provider-datadog/issues/456))
- `datadog_service_level_objective`: Migrate SLO resource with Datadog Go Client ([#490](https://github.com/DataDog/terraform-provider-datadog/issues/490))
- `datadog_metric_metadata`: Migrate metric_metadata resource to use Datadog Go client ([#486](https://github.com/DataDog/terraform-provider-datadog/issues/486))
- `datadog_integration_aws`: Migrate AWS resource to use Datadog Go client ([#481](https://github.com/DataDog/terraform-provider-datadog/issues/481))
- `datadog_integration_gcp`: Migrate GCP resource to use Datadog Go client ([#482](https://github.com/DataDog/terraform-provider-datadog/issues/482))
- `datadog_downtime`: Migrate Downtime resource to use Datadog Go client ([#480](https://github.com/DataDog/terraform-provider-datadog/issues/480))
- `datadog_ip_ranges`: Migrate IP Range resource with Datadog Go client ([#491](https://github.com/DataDog/terraform-provider-datadog/issues/491))
- `datadog_integration_pagerduty_service_object`: Migrate pagerduty_service_object resource to use Datadog Go client ([#488](https://github.com/DataDog/terraform-provider-datadog/issues/488))
- `datadog_logs_index`, `datadog_logs_index_order`, `datadog_logs_integration_pipeline`, `datadog_logs_pipeline_order`: Migrate Logs resources to use Datadog Go client ([#483](https://github.com/DataDog/terraform-provider-datadog/issues/483))
- `datadog_monitor`: Migrate monitor resource to use Datadog Go client ([#485](https://github.com/DataDog/terraform-provider-datadog/issues/485))
- `datadog_dashboard_list`: Migrate Dashboard_list resource to use Datadog Go client ([#479](https://github.com/DataDog/terraform-provider-datadog/issues/479))
- `datadog_integration_aws_log_collection`: Migrate aws_log_collection resource to use Datadog Go client ([#501](https://github.com/DataDog/terraform-provider-datadog/issues/501))
- `datadog_logs_custom_pipeline`: Migrate Logs custom pipeline resource to utilize Datadog Go client ([#495](https://github.com/DataDog/terraform-provider-datadog/issues/495))
- `datadog_synthetics_test`: Migrate synthetics resource to utilize Datadog Go Client ([#499](https://github.com/DataDog/terraform-provider-datadog/issues/499))
- `datadog_integration_aws_log_collection`, `datadog_integration_aws_lambda_arn`: Migrate AWS logs to use the Datadog Go Client ([#497](https://github.com/DataDog/terraform-provider-datadog/issues/497))
- `datadog_dashboard`: Migrate dashboard resource to use Datadog Go client ([#489](https://github.com/DataDog/terraform-provider-datadog/issues/489))
- `datadog_screenboard` and `datadog_timeboard` resources are deprecated and should be converted to `datadog_dashboard` resources.
- Thanks [@NeverTwice](https://github.com/NeverTwice) ([#460](https://github.com/DataDog/terraform-provider-datadog/pull/460)) and [@sepulworld](https://github.com/sepulworld) ([#506](https://github.com/DataDog/terraform-provider-datadog/pull/506)) who contributed to this release as well.
## 2.7.0 (February 10, 2020)
IMPROVEMENTS:
- `datadog_dashboard`: Add `template_variable_presets` parameter ([#401](https://github.com/DataDog/terraform-provider-datadog/issues/401))
- `datadog_dashboard`: Add new Monitor Summary widget parameters: `summary_type` and `show_last_triggered` ([#396](https://github.com/DataDog/terraform-provider-datadog/issues/396))
- `datadog_dashboard`: Hide deprecated Monitor Summary widget parameters: `count` and `start` ([#403](https://github.com/DataDog/terraform-provider-datadog/issues/403))
- `datadog_monitor`: Improve monitor example with ignoring changes on silenced ([#406](https://github.com/DataDog/terraform-provider-datadog/issues/406))
- `datadog_service_level_objective`: Fix optional threshold fields handling when updating ([#400](https://github.com/DataDog/terraform-provider-datadog/issues/400))
BUGFIXES:
- `datadog_downtime`: Gracefully handle recreating downtimes that were canceled manually ([#405](https://github.com/DataDog/terraform-provider-datadog/issues/405))
- `datadog_screenboard`: Properly set screenboard attributes from client response to not produce non-empty plans ([#404](https://github.com/DataDog/terraform-provider-datadog/issues/404))
NOTES:
- This is the first release to use the new `terraform-plugin-sdk` ([#346](https://github.com/DataDog/terraform-provider-datadog/issues/346))
## 2.6.0 (January 21, 2020)
FEATURES:
- `datadog_dashboard`: Add Datadog dashboard SLO widget support ([#355](https://github.com/DataDog/terraform-provider-datadog/issues/355)) Thanks [@mbarrien](https://github.com/mbarrien)
IMPROVEMENTS:
- `datadog_logs_custom_pipeline`: Support all processors in Logs pipeline ([#357](https://github.com/DataDog/terraform-provider-datadog/pull/357)) Thanks [@tt810](https://github.com/tt810)
BUGFIXES:
- `datadog_service_level_objective`: Fix slo threshold warning value modified when storing the state ([#352](https://github.com/DataDog/terraform-provider-datadog/pull/352))
- `datadog_service_level_objective`: `monitor_search` schema removed from the SLO resource as it is not yet supported ([#358](https://github.com/DataDog/terraform-provider-datadog/issues/358)) Thanks [@unclebconnor](https://github.com/unclebconnor)
- `datadog_monitor`: Resolve non empty diff: "no_data_timeframe = 0 -> 10" on plan diff ([#384](https://github.com/DataDog/terraform-provider-datadog/issues/384)) Thanks [@abicky](https://github.com/abicky)
## 2.5.0 (October 22, 2019)
FEATURES:
- `datadog_ip_ranges`: New data source for IP ranges ([#298](https://github.com/DataDog/terraform-provider-datadog/issues/298))
- `datadog_logs_custom_pipeline`: New resource for custom logs pipelines ([#312](https://github.com/DataDog/terraform-provider-datadog/issues/312), [#332](https://github.com/DataDog/terraform-provider-datadog/issues/332))
- `datadog_logs_index`: New resource for logs indexes ([#326](https://github.com/DataDog/terraform-provider-datadog/issues/326))
- `datadog_logs_index_order`: New resource for logs index ordering ([#326](https://github.com/DataDog/terraform-provider-datadog/issues/326))
- `datadog_logs_integration_pipeline`: New resource for integration logs pipelines ([#312](https://github.com/DataDog/terraform-provider-datadog/issues/312), [#332](https://github.com/DataDog/terraform-provider-datadog/issues/332))
- `datadog_logs_pipeline_order`: New resources for logs pipeline ordering ([#312](https://github.com/DataDog/terraform-provider-datadog/issues/312))
IMPROVEMENTS:
- `datadog_dashboard`: Added documentation of `event` and `axis` ([#314](https://github.com/DataDog/terraform-provider-datadog/issues/314))
- `datadog_screenboard`: Added `count` as a valid aggregation method ([#333](https://github.com/DataDog/terraform-provider-datadog/issues/333))
BUGFIXES:
- `datadog_dashboard`: Fixed parsing of `compute.interval` and `group_by.sort.facet`, mark `group_by.facet` as optional for apm and log queries ([#322](https://github.com/DataDog/terraform-provider-datadog/issues/322), [#325](https://github.com/DataDog/terraform-provider-datadog/issues/325))
- `datadog_dashboard`: Properly respect `show_legend` ([#329](https://github.com/DataDog/terraform-provider-datadog/issues/329))
- `datadog_integration_pagerduty`: Add missing exists methods to prevent failing when resource was manually removed outside of Terraform ([#324](https://github.com/DataDog/terraform-provider-datadog/issues/324))
- `datadog_integration_pagerduty_service_object`: Add missing exists methods to prevent failing when resource was manually removed outside of Terraform ([#324](https://github.com/DataDog/terraform-provider-datadog/issues/324))
## 2.4.0 (September 11, 2019)
FEATURES:
- `datadog_dashboard_list`: New resource for dashboard lists ([#296](https://github.com/DataDog/terraform-provider-datadog/issues/296))
IMPROVEMENTS:
- `datadog_dashboard`: Allow specifying `event` and `yaxis` for timeseries definitions ([#282](https://github.com/DataDog/terraform-provider-datadog/issues/282))
## 2.3.0 (August 29, 2019)
IMPROVEMENTS:
- `datadog-dashboards`: Add resources for log, apm and process query in legacy dashboards ([#272](https://github.com/DataDog/terraform-provider-datadog/issues/272))
BUGFIXES:
- `datadog_integration_pagerduty`: Make sure PD services don't get removed by updating PD resource ([#304](https://github.com/DataDog/terraform-provider-datadog/issues/304))
## 2.2.0 (August 19, 2019)
FEATURES:
- `datadog_service_level_objective`: New resource for Service Level Objective (SLO) ([#263](https://github.com/DataDog/terraform-provider-datadog/issues/263))
IMPROVEMENTS:
- `datadog_dashbaord`: Add support for style block in dashboard widgets. ([#277](https://github.com/DataDog/terraform-provider-datadog/issues/277))
- `datadog_dashboard`: Add support for metadata block in dashboard widgets ([#278](https://github.com/DataDog/terraform-provider-datadog/issues/278))
- `datadog_synthetics_test`: Support SSL synthetics tests. ([#279](https://github.com/DataDog/terraform-provider-datadog/issues/279))
BUGFIXES:
- `datadog_dashboards`: Safely type assert optional fields from log and apm query to avoid a panic if they aren't supplied ([#283](https://github.com/DataDog/terraform-provider-datadog/issues/283))
- `datadog_synthetics_test`: Fix follow redirects field to properly apply and save in state. ([#256](https://github.com/DataDog/terraform-provider-datadog/issues/256))
## 2.1.0 (July 24, 2019)
FEATURES:
- `datadog_dashboard`: New Resource combining screenboard and timeboard, allowing a single config to manage all of your Datadog Dashboards. ([#249](https://github.com/DataDog/terraform-provider-datadog/issues/249))
- `datadog_integration_pagerduty_service_object`: New Resource that allows the configuration of individual pagerduty services for the Datadog Pagerduty Integration. ([#237](https://github.com/DataDog/terraform-provider-datadog/issues/237))
IMPROVEMENTS:
- `datadog_aws`: Add a mutex around all API operations for this resource. ([#254](https://github.com/DataDog/terraform-provider-datadog/issues/254))
- `datadog_downtime`: General improvements around allowing the resource to be ran multiple times without sending any unchanged values for the start/end times. Also fixes non empty diff when monitor_tags isn't set. ([#264](https://github.com/DataDog/terraform-provider-datadog/issues/264)] [[#267](https://github.com/DataDog/terraform-provider-datadog/issues/267))
- `datadog_monitor`: Only add a threshold window if a recovery or trigger window is set. [[#260](https://github.com/DataDog/terraform-provider-datadog/issues/260)] Thanks [@heldersepu](https://github.com/heldersepu)
- `datadog_user`: Make `is_admin` computed to continue its deprecation path and avoid spurious diffs. ([#251](https://github.com/DataDog/terraform-provider-datadog/issues/251))
NOTES:
- This release includes Terraform SDK upgrade to 0.12.5. ([#265](https://github.com/DataDog/terraform-provider-datadog/issues/265))
## 2.0.2 (June 26, 2019)
BUGFIXES:
- `datadog_monitor`: DiffSuppress the difference between `metric alert` and `query alert` no matter what is in the current state and prevent the force recreation of monitors due to this change. ([#247](https://github.com/DataDog/terraform-provider-datadog/issues/247))
## 2.0.1 (June 21, 2019)
BUGFIXES:
- `datadog_monitor`: Don't force the destruction and recreation of a monitor when the type changes between `metric alert` and `query alert`. ([#242](https://github.com/DataDog/terraform-provider-datadog/issues/242))
## 2.0.0 (June 18, 2019)
NOTES:
- `datadog_monitor`: The silence attribute is beginning its deprecation process, please use `datadog_downtime` instead ([#221](https://github.com/DataDog/terraform-provider-datadog/issues/221))
IMPROVEMENTS:
- `datadog_monitor`: Use ForceNew when changing the Monitor type ([#236](https://github.com/DataDog/terraform-provider-datadog/issues/236))
- `datadog_monitor`: Add default to `no data` timeframe of 10 minutes. ([#212](https://github.com/DataDog/terraform-provider-datadog/issues/212))
- `datadog_synthetics_test`: Support synthetics monitors in composite monitors. ([#222](https://github.com/DataDog/terraform-provider-datadog/issues/222))
- `datadog_downtime`: Add validation to tags, add timezone parameter, improve downtime id handling, add descriptions to fields. ([#204](https://github.com/DataDog/terraform-provider-datadog/issues/204))
- `datadog_screenboard`: Add support for metadata alias in graphs. ([#215](https://github.com/DataDog/terraform-provider-datadog/issues/215))
- `datadog_screenboard`: Add `custom_bg_color` to graph config. [[#189](https://github.com/DataDog/terraform-provider-datadog/issues/189)] Thanks [@milanvdm](https://github.com/milanvdm)
- Update the vendored go client to `v2.21.0`. ([#230](https://github.com/DataDog/terraform-provider-datadog/issues/230))
BUGFIXES:
- `datadog_timeboard`: Fix the `extra_col` from having a non empty plan when there are no changes. ([#231](https://github.com/DataDog/terraform-provider-datadog/issues/231))
- `datadog_timeboard`: Fix the `precision` from having a non empty plan when there are no changes. ([#228](https://github.com/DataDog/terraform-provider-datadog/issues/228))
- `datadog_monitor`: Fix the sorting of monitor tags that could lead to a non empty diff. ([#214](https://github.com/DataDog/terraform-provider-datadog/issues/214))
- `datadog_monitor`: Properly save `query_config` as to avoid to an improper non empty diff. ([#209](https://github.com/DataDog/terraform-provider-datadog/issues/209))
- `datadog_monitor`: Fix and clarify documentation on unmuting monitor scopes. ([#202](https://github.com/DataDog/terraform-provider-datadog/issues/202))
- `datadog_screenboard`: Change monitor schema to be of type String instead of Int. [[#154](https://github.com/DataDog/terraform-provider-datadog/issues/154)] Thanks [@mnaboka](https://github.com/mnaboka)
## 1.9.0 (May 09, 2019)
IMPROVEMENTS:
- `datadog_downtime`: Add `monitor_tags` getting and setting ([#167](https://github.com/DataDog/terraform-provider-datadog/issues/167))
- `datadog_monitor`: Add support for `enable_logs` in log monitors ([#151](https://github.com/DataDog/terraform-provider-datadog/issues/151))
- `datadog_monitor`: Add suport for `threshold_windows` attribute ([#131](https://github.com/DataDog/terraform-provider-datadog/issues/131))
- Support importing dashboards using the new string ID ([#184](https://github.com/DataDog/terraform-provider-datadog/issues/184))
- Various documentation fixes and improvements ([#152](https://github.com/DataDog/terraform-provider-datadog/issues/152), [#171](https://github.com/DataDog/terraform-provider-datadog/issues/171), [#176](https://github.com/DataDog/terraform-provider-datadog/issues/176), [#178](https://github.com/DataDog/terraform-provider-datadog/issues/178), [#180](https://github.com/DataDog/terraform-provider-datadog/issues/180), [#183](https://github.com/DataDog/terraform-provider-datadog/issues/183))
NOTES:
- This release includes Terraform SDK upgrade to 0.12.0-rc1. The provider is backwards compatible with Terraform v0.11.X, there should be no significant changes in behavior. Please report any issues to either [Terraform issue tracker](https://github.com/hashicorp/terraform/issues) or to [Terraform Datadog Provider issue tracker](https://github.com/DataDog/terraform-provider-datadog/issues) ([#194](https://github.com/DataDog/terraform-provider-datadog/issues/194), [#198](https://github.com/DataDog/terraform-provider-datadog/issues/198))
## 1.8.0 (April 15, 2019)
INTERNAL:
- provider: Enable request/response logging in `>=DEBUG` mode ([#153](https://github.com/DataDog/terraform-provider-datadog/issues/153))
IMPROVEMENTS:
- Add Synthetics API and Browser tests support + update go-datadog-api to latest. ([169](https://github.com/DataDog/terraform-provider-datadog/pull/169))
## 1.7.0 (March 05, 2019)
BUGFIXES:
- Bump go api client to 2.19.0 to fix TileDefStyle.fillMax type errors. ([143](https://github.com/DataDog/terraform-provider-datadog/pull/143))([144](https://github.com/DataDog/terraform-provider-datadog/pull/144))
- Fix the usage of `start_date` and `end_data` only being read on the first apply. ([145](https://github.com/DataDog/terraform-provider-datadog/pull/145))
IMPROVEMENTS:
- Upgrade to Go 1.11. ([141](https://github.com/DataDog/terraform-provider-datadog/pull/141/files))
- Add AWS Integration resource to the docs. ([146](https://github.com/DataDog/terraform-provider-datadog/pull/146))
FEATURES:
- **New Resource:** `datadog_integration_pagerduty` ([135](https://github.com/DataDog/terraform-provider-datadog/pull/135))
## 1.6.0 (November 30, 2018)
BUGFIXES:
- the graph.style.palette_flip field is a boolean but only works if it's passed as a string. ([#29](https://github.com/DataDog/terraform-provider-datadog/issues/29))
- datadog_monitor - Removal of 'silenced' resource argument has no practical effect. ([#41](https://github.com/DataDog/terraform-provider-datadog/issues/41))
- datadog_screenboard - widget swapping `x` and `y` parameters. ([#119](https://github.com/DataDog/terraform-provider-datadog/issues/119))
- datadog_screenboard - panic: interface conversion: interface {} is string, not float64. ([#117](https://github.com/DataDog/terraform-provider-datadog/issues/117))
IMPROVEMENTS:
- Feature Request: AWS Integration. ([#76](https://github.com/DataDog/terraform-provider-datadog/issues/76))
- Bump datadog api to v2.18.0 and add support for include units and zero. ([#121](https://github.com/DataDog/terraform-provider-datadog/pull/121))
## 1.5.0 (November 06, 2018)
IMPROVEMENTS:
- Add Google Cloud Platform integration ([#108](https://github.com/DataDog/terraform-provider-datadog/pull/108))
- Add new hostmap widget options: `node type`, `fill_min` and `fill_max`. ([#106](https://github.com/DataDog/terraform-provider-datadog/pull/106))
- Use dates to set downtime interval, improve docs. ([#113](https://github.com/DataDog/terraform-provider-datadog/pull/113))
- Bump Terraform provider SDK to latest. ([#110](https://github.com/DataDog/terraform-provider-datadog/pull/110))
- Better document `evaluation_delay` option. ([#112](https://github.com/DataDog/terraform-provider-datadog/pull/112))
## 1.4.0 (October 02, 2018)
IMPROVEMENTS:
- Pull changes from go-datadog-api v2.14.0 ([#99](https://github.com/DataDog/terraform-provider-datadog/pull/99))
- Add `api_url` argument to the provider ([#101](https://github.com/DataDog/terraform-provider-datadog/pull/101))
BUGFIXES:
- Allow `new_host_delay` to be unset ([#100](https://github.com/DataDog/terraform-provider-datadog/issues/100))
## 1.3.0 (September 25, 2018)
IMPROVEMENTS:
- Add full support for Datadog screenboards ([#91](https://github.com/DataDog/terraform-provider-datadog/pull/91))
BUGFIXES:
- Do not compute `new_host_delay` ([#88](https://github.com/DataDog/terraform-provider-datadog/pull/88))
- Remove buggy uptime widget ([#93](https://github.com/DataDog/terraform-provider-datadog/pull/93))
## 1.2.0 (August 27, 2018)
BUG FIXES:
- Update "monitor type" options in docs ([#81](https://github.com/DataDog/terraform-provider-datadog/pull/81))
- Fix typo in timeboard documentation ([#83](https://github.com/DataDog/terraform-provider-datadog/pull/83))
IMPROVEMENTS:
- Update `go-datadog-api` to v.2.11.0 and move vendoring from `gopkg.in/zorkian/go-datadog-api.v2` to `github.com/zorkian/go-datadog-api` ([#84](https://github.com/DataDog/terraform-provider-datadog/pull/84))
- Deprecate `is_admin` as part of the work needed to add support for `access_role` ([#85](https://github.com/DataDog/terraform-provider-datadog/pull/85))
## 1.1.0 (July 30, 2018)
IMPROVEMENTS:
- Added more docs detailing expected weird behaviours from the Datadog API. ([#79](https://github.com/DataDog/terraform-provider-datadog/pull/79))
- Added support for 'unknown' monitor threshold field. ([#45](https://github.com/DataDog/terraform-provider-datadog/pull/45))
- Deprecated the `role` argument for `User` resources since it's now a noop on the Datadog API. ([#80](https://github.com/DataDog/terraform-provider-datadog/pull/80))
## 1.0.4 (July 06, 2018)
BUG FIXES:
- Bump `go-datadog-api.v2` to v2.10.0 thus fixing tag removal on monitor updates ([#43](https://github.com/DataDog/terraform-provider-datadog/issues/43))
## 1.0.3 (January 03, 2018)
IMPROVEMENTS:
- `datadog_downtime`: adding support for setting `monitor_id` ([#18](https://github.com/DataDog/terraform-provider-datadog/issues/18))
## 1.0.2 (December 19, 2017)
IMPROVEMENTS:
- `datadog_monitor`: Add support for monitor recovery thresholds ([#37](https://github.com/DataDog/terraform-provider-datadog/issues/37))
BUG FIXES:
- Fix issue with DataDog service converting metric alerts to query alerts ([#16](https://github.com/DataDog/terraform-provider-datadog/issues/16))
## 1.0.1 (December 06, 2017)
BUG FIXES:
- Fix issue reading resources that have been updated outside of Terraform ([#34](https://github.com/DataDog/terraform-provider-datadog/issues/34))
## 1.0.0 (October 20, 2017)
BUG FIXES:
- Improved detection of "drift" when graphs are reconfigured outside of Terraform. ([#27](https://github.com/DataDog/terraform-provider-datadog/issues/27))
- Fixed API response decoding error on graphs. ([#27](https://github.com/DataDog/terraform-provider-datadog/issues/27))
## 0.1.1 (September 26, 2017)
FEATURES:
- **New Resource:** `datadog_metric_metadata` ([#17](https://github.com/DataDog/terraform-provider-datadog/issues/17))
## 0.1.0 (June 20, 2017)
NOTES:
- Same functionality as that of Terraform 0.9.8. Repacked as part of [Provider Splitout](https://www.hashicorp.com/blog/upcoming-provider-changes-in-terraform-0-10/)

View File

@ -0,0 +1,373 @@
Mozilla Public License Version 2.0
==================================
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used
by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
1.5. "Incompatible With Secondary Licenses"
means
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the
License, by the making, using, selling, offering for sale, having
made, import, or transfer of either its Contributions or its
Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU
Lesser General Public License, Version 2.1, the GNU Affero General
Public License, Version 3.0, or any later versions of those
licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that
controls, is controlled by, or is under common control with You. For
purposes of this definition, "control" means (a) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (b) ownership of more than
fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity.
2. License Grants and Conditions
--------------------------------
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.
9. Miscellaneous
----------------
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.
10. Versions of the License
---------------------------
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.

View File

@ -0,0 +1,204 @@
Component,Origin,License,Copyright
go.sum,cloud.google.com/go,Apache-2.0,2014 Google LLC
go.sum,cloud.google.com/go/bigquery,Apache-2.0,2014 Google LLC
go.sum,cloud.google.com/go/datastore,Apache-2.0,2014 Google LLC
go.sum,github.com/BurntSushi/toml,MIT,2013 TOML authors
go.sum,github.com/BurntSushi/xgb,BSD-3-Clause,2009 The XGB Authors
go.sum,github.com/DataDog/datadog-api-client-go,Apache-2.0,"2019-Present Datadog, Inc."
go.sum,github.com/DataDog/datadog-go,MIT,"2015 Datadog, Inc"
go.sum,github.com/DataDog/dd-trace-go,Apache-2.0 OR BSD-3-Clause,"2016-Present Datadog, Inc."
go.sum,github.com/agext/levenshtein,Apache-2.0,2016 ALRUX Inc.
go.sum,github.com/agl/ed25519,BSD-3-Clause,2012 The Go Authors
go.sum,github.com/apparentlymart/go-cidr,MIT,2015 Martin Atkins
go.sum,github.com/apparentlymart/go-dump,MPL-2.0,
go.sum,github.com/apparentlymart/go-textseg,MIT and Apache-2.0 and Unicode-DFS-2016,2017 Martin Atkins and 2014 Couchbase Inc. and 2016 Unicode Inc
go.sum,github.com/armon/go-radix,MIT,2014 Armon Dadgar
go.sum,github.com/aslakhellesoy/gox,MPL-2.0,
go.sum,github.com/aws/aws-sdk-go,Apache-2.0,2014-2015 Stripe Inc. and 2015 Amazon.com Inc.
go.sum,github.com/bgentry/go-netrc,MIT,2010 Fazlul Shahriar and 2014 Blake Gentry
go.sum,github.com/bgentry/speakeasy,MIT,2017 Blake Gentry
go.sum,github.com/cenkalti/backoff,MIT,2014 Cenk Altı
go.sum,github.com/census-instrumentation/opencensus-proto,Apache-2.0,"2019, OpenCensus Authors"
go.sum,github.com/cheggaaa/pb,BSD-3-Clause,2012-2015 Sergey Cherepanov
go.sum,github.com/client9/misspell,MIT,2015-2017 Nick Galbreath
go.sum,github.com/creack/pty,MIT,2011 Keith Rarick
go.sum,github.com/cucumber/gherkin-go/v13,MIT,Cucumber Ltd and Gaspar Nagy and Björn Rasmusson and Peter Sergeant
go.sum,github.com/cucumber/messages-go/v12,MIT,Cucumber Ltd
go.sum,github.com/davecgh/go-spew,ISC,2012-2016 Dave Collins <dave@davec.name>
go.sum,github.com/dnaeon/go-vcr,BSD-2-Clause,2015-2016 Marin Atanasov Nikolov <dnaeon@gmail.com>
go.sum,github.com/envoyproxy/go-control-plane,Apache-2.0,2018 Envoyproxy Authors
go.sum,github.com/envoyproxy/protoc-gen-validate,Apache-2.0,2019 Envoy Project Authors
go.sum,github.com/fatih/color,MIT,2013 Fatih Arslan
go.sum,github.com/go-bdd/assert,MIT,2020 GoBDD
go.sum,github.com/go-bdd/gobdd,MIT,2019 Bartłomiej Klimczak
go.sum,github.com/go-test/deep,MIT,2015-2017 Daniel Nichter
go.sum,github.com/gofrs/uuid,MIT,2013-2018 by Maxim Bublis <b@codemonkey.ru>
go.sum,github.com/gogo/protobuf,BSD-3-Clause,2010 The Go Authors and 2013 The GoGo Authors
go.sum,github.com/golang/glog,Apache-2.0,2013 Google Inc.
go.sum,github.com/golang/mock,Apache-2.0,2020 Google Inc.
go.sum,github.com/golang/protobuf,BSD-3-Clause,2010 The Go Authors
go.sum,github.com/golang/snappy,BSD-3-Clause,2011 The Snappy-Go Authors
go.sum,github.com/google/btree,Apache-2.0,2014 Google Inc.
go.sum,github.com/google/go-cmp,BSD-3-Clause,2017 The Go Authors
go.sum,github.com/google/martian,Apache-2.0,2015 Google Inc.
go.sum,github.com/google/pprof,Apache-2.0,2014 Google Inc.
go.sum,github.com/google/uuid,BSD-3-Clause,2009-2014 Google Inc.
go.sum,github.com/googleapis/gax-go/v2,BSD-3-Clause,2016 Google Inc.
go.sum,github.com/h2non/parth,MIT,2018 codemodus
go.sum,github.com/hashicorp/errwrap,MPL-2.0,
go.sum,github.com/hashicorp/go-cleanhttp,MPL-2.0,
go.sum,github.com/hashicorp/go-getter,MPL-2.0,
go.sum,github.com/hashicorp/go-hclog,MIT,2017 HashiCorp
go.sum,github.com/hashicorp/go-multierror,MPL-2.0,
go.sum,github.com/hashicorp/go-plugin,MPL-2.0,
go.sum,github.com/hashicorp/go-safetemp,MPL-2.0,
go.sum,github.com/hashicorp/go-uuid,MPL-2.0,
go.sum,github.com/hashicorp/go-version,MPL-2.0,
go.sum,github.com/hashicorp/golang-lru,MPL-2.0,
go.sum,github.com/hashicorp/hcl,MPL-2.0,
go.sum,github.com/hashicorp/hcl/v2,MPL-2.0,
go.sum,github.com/hashicorp/logutils,MPL-2.0,
go.sum,github.com/hashicorp/terraform-config-inspect,MPL-2.0,
go.sum,github.com/hashicorp/terraform-json,MPL-2.0,
go.sum,github.com/hashicorp/terraform-plugin-sdk,MPL-2.0,
go.sum,github.com/hashicorp/terraform-plugin-test,MPL-2.0,
go.sum,github.com/hashicorp/terraform-svchost,MPL-2.0,
go.sum,github.com/hashicorp/yamux,MPL-2.0,
go.sum,github.com/jmespath/go-jmespath,Apache-2.0,2015 James Saryerwinnie
go.sum,github.com/jonboulle/clockwork,Apache-2.0,
go.sum,github.com/jstemmer/go-junit-report,MIT,2012 Joel Stemmer
go.sum,github.com/keybase/go-crypto,BSD-3-Clause,2009 The Go Authors
go.sum,github.com/kisielk/errcheck,MIT,2013 Kamil Kisiel
go.sum,github.com/kisielk/gotool,MIT,2013 Kamil Kisiel <kamil@kamilkisiel.net>
go.sum,github.com/kr/pretty,MIT,2012 Keith Rarick
go.sum,github.com/kr/pty,MIT,2019 Keith Rarick
go.sum,github.com/kr/text,MIT,2012 Keith Rarick
go.sum,github.com/kylelemons/godebug,Apache-2.0,2013 Google Inc
go.sum,github.com/mattn/go-colorable,MIT,2016 Yasuhiro Matsumoto
go.sum,github.com/mattn/go-isatty,MIT,Yasuhiro MATSUMOTO <mattn.jp@gmail.com>
go.sum,github.com/mattn/go-runewidth,MIT,2016 Yasuhiro Matsumoto
go.sum,github.com/mcuadros/go-lookup,MIT,2015 Máximo Cuadros
go.sum,github.com/mitchellh/cli,MPL-2.0,
go.sum,github.com/mitchellh/colorstring,MIT,2014 Mitchell Hashimoto
go.sum,github.com/mitchellh/copystructure,MIT,2014 Mitchell Hashimoto
go.sum,github.com/mitchellh/go-homedir,MIT,2013 Mitchell Hashimoto
go.sum,github.com/mitchellh/go-testing-interface,MIT,2016 Mitchell Hashimoto
go.sum,github.com/mitchellh/go-wordwrap,MIT,2014 Mitchell Hashimoto
go.sum,github.com/mitchellh/iochan,MIT,2015 Mitchell Hashimoto
go.sum,github.com/mitchellh/mapstructure,MIT,2013 Mitchell Hashimoto
go.sum,github.com/mitchellh/reflectwalk,MIT,2013 Mitchell Hashimoto
go.sum,github.com/nbio/st,Apache-2.0,2014 nb.io LLC
go.sum,github.com/niemeyer/pretty,MIT,2012 Keith Rarick
go.sum,github.com/oklog/run,Apache-2.0,
go.sum,github.com/opentracing/opentracing-go,Apache-2.0,
go.sum,github.com/philhofer/fwd,MIT,2014-2015 Philip Hofer
go.sum,github.com/pierrec/lz4,BSD-3-Clause,2015 Pierre Curto
go.sum,github.com/pkg/errors,BSD-2-Clause,2015 Dave Cheney <dave@cheney.net>
go.sum,github.com/pmezard/go-difflib,BSD-3-Clause,2013 Patrick Mezard
go.sum,github.com/posener/complete,MIT,2017 Eyal Posener
go.sum,github.com/prometheus/client_model,Apache-2.0,2012-2015 The Prometheus Authors
go.sum,github.com/sergi/go-diff,MIT,2012-2016 The go-diff Authors
go.sum,github.com/spf13/afero,Apache-2.0,2009 The Go Authors and 2014 Steve Francia <spf@spf13.com>
go.sum,github.com/spf13/pflag,BSD-3-Clause,2012 The Go Authors and 2012 Alex Ogier
go.sum,github.com/stretchr/objx,MIT,2014 Stretchr Inc. and 2017-2018 objx contributors
go.sum,github.com/stretchr/testify,MIT,2012-2020 Mat Ryer and Tyler Bunnell and contributors.
go.sum,github.com/tinylib/msgp,MIT,2014 Philip Hofer
go.sum,github.com/ulikunitz/xz,MIT,2014-2020 Ulrich Kunitz
go.sum,github.com/vmihailenco/msgpack,BSD-2-Clause,2013 The github.com/vmihailenco/msgpack Authors
go.sum,github.com/zclconf/go-cty,MIT,2017-2018 Martin Atkins
go.sum,github.com/zclconf/go-cty-yaml,Apache-2.0,2011-2016 Canonical Ltd and 2019 Martin Atkins
go.sum,github.com/zorkian/go-datadog-api,BSD-3-Clause,2013 by authors and contributors
go.sum,go.opencensus.io,Apache-2.0,"2018, OpenCensus Authors"
go.sum,golang.org/x/crypto,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/exp,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/image,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/lint,BSD-3-Clause,2013 The Go Authors
go.sum,golang.org/x/mobile,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/net,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/oauth2,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/sync,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/sys,BSD-3-Clause,2019 The Go Authors
go.sum,golang.org/x/text,BSD-3-Clause,2009 The Go Authors
go.sum,golang.org/x/time,BSD-3-Clause,2019 The Go Authors
go.sum,golang.org/x/tools,BSD-3-Clause,2019 The Go Authors
go.sum,golang.org/x/xerrors,BSD-3-Clause,2019 The Go Authors
go.sum,google.golang.org/api,BSD-3-Clause,2011 Google Inc
go.sum,google.golang.org/appengine,Apache-2.0,Google Inc.
go.sum,google.golang.org/genproto,Apache-2.0,2018 Google Inc.
go.sum,google.golang.org/grpc,Apache-2.0,2016 gRPC authors.
go.sum,gopkg.in/DataDog/dd-trace-go.v1,Apache-2.0,"2016-Present Datadog, Inc."
go.sum,gopkg.in/check.v1,BSD-2-Clause,2010-2013 Gustavo Niemeyer <gustavo@niemeyer.net>
go.sum,gopkg.in/cheggaaa/pb.v1,BSD-3-Clause,2012-2015 Sergey Cherepanov
go.sum,gopkg.in/h2non/gock.v1,MIT,2016-2019 Tomas Aparicio
go.sum,gopkg.in/yaml.v2,Apache-2.0,2011-2016 Canonical Ltd.
go.sum,gotest.tools,Apache-2.0,2018 gotest.tools authors
go.sum,honnef.co/go/tools,MIT,2016 Dominik Honnef
go.sum,rsc.io/binaryregexp,BSD-3-Clause,2009 The Go Authors
go.sum,cloud.google.com/go/pubsub,Apache-2.0,Copyright 2018 Google LLC
go.sum,cloud.google.com/go/storage,Apache-2.0,Copyright 2014 Google LLC
go.sum,dmitri.shuralyov.com/gpu/mtl,BSD-3-Clause,2018 The Go Authors.
go.sum,github.com/alcortesm/tgz,MIT,2016 Alberto Cortés
go.sum,github.com/anmitsu/go-shlex,MIT,anmitsu <anmitsu.s@gmail.com>
go.sum,github.com/armon/go-socks5,MIT,2014 Armon Dadgar
go.sum,github.com/chzyer/logex,MIT,2015Chzyer
go.sum,github.com/chzyer/readline,MIT,2015 Chzyer
go.sum,github.com/chzyer/test,MIT,2016 Chzyer
go.sum,github.com/cncf/udpa/go,Apache-2.0,The Authors
go.sum,github.com/emirpasic/gods,BSD 2-Clause,"2015, Emir Pasic"
go.sum,github.com/flynn/go-shlex,Apache-2.0,2012 Google Inc.
go.sum,github.com/gliderlabs/ssh,BSD-3-Clause,2016 Glider Labs
go.sum,github.com/go-git/gcfg,BSD-3-Clause,2012 Péter Surányi. Portions Copyright (c) 2009 The Go
go.sum,github.com/go-git/go-billy/v5,Apache-2.0,The Authors
go.sum,github.com/go-git/go-git-fixtures/v4,Apache-2.0,The Authors
go.sum,github.com/go-git/go-git/v5,Apache-2.0,The Authors
go.sum,github.com/go-gl/glfw,BSD-3-Clause,2012 The glfw3-go Authors
go.sum,github.com/go-gl/glfw/v3.3/glfw,BSD-3-Clause,2012 The glfw3-go Authors
go.sum,github.com/golang/groupcache,Apache-2.0,2013 Google Inc.
go.sum,github.com/google/martian/v3,Apache-2.0,2015 Google Inc.
go.sum,github.com/google/renameio,Apache-2.0,2018 Google Inc.
go.sum,github.com/hashicorp/go-checkpoint,MPL-2.0,
go.sum,github.com/hashicorp/terraform-exec,MPL-2.0,
go.sum,github.com/hashicorp/terraform-plugin-test/v2,MPL-2.0,
go.sum,github.com/ianlancetaylor/demangle,BSD-3-Clause,2015 The Go Authors.
go.sum,github.com/imdario/mergo,BSD-3-Clause,2013 Dario Castañé. 2012 The Go Authors.
go.sum,github.com/jbenet/go-context,MIT,2014 Juan Batiz-Benet
go.sum,github.com/jessevdk/go-flags,BSD-3-Clause,2012 Jesse van den Kieboom.
go.sum,github.com/jhump/protoreflect,Apache-2.0,The Authors
go.sum,github.com/kevinburke/ssh_config,MIT,2017 Kevin Burke.
go.sum,github.com/rogpeppe/go-internal,BSD-3-Clause,2018 The Go Authors.
go.sum,github.com/therve/terraform-plugin-sdk,MPL-2.0,
go.sum,github.com/xanzy/ssh-agent,Apache-2.0,"2015, Sander van Harmelen"
go.sum,github.com/yuin/goldmark,MIT,2019 Yusuke Inuzuka
go.sum,golang.org/x/mod,BSD-3-Clause,2009 The Go Authors.
go.sum,google.golang.org/protobuf,BSD-3-Clause,2018 The Go Authors.
go.sum,gopkg.in/errgo.v2,BSD-3-Clause,"Copyright © 2013, Roger Peppe"
go.sum,gopkg.in/warnings.v0,BSD 2-Clause,2016 Péter Surányi.
go.sum,rsc.io/quote/v3,BSD-3-Clause,2009 The Go Authors.
go.sum,rsc.io/sampler,BSD-3-Clause,2009 The Go Authors.
go.sum,github.com/Masterminds/goutils,Apache-2.0,Copyright 2014 Alexander Okoli
go.sum,github.com/Masterminds/semver,MIT,"2014-2019, Matt Butcher and Matt Farina"
go.sum,github.com/Masterminds/sprig,MIT,2013-2020 Masterminds
go.sum,github.com/andybalholm/crlf,BSD-2-Clause,2015 Andy Balholm.
go.sum,github.com/apparentlymart/go-textseg/v12,MIT,2017 Martin Atkins
go.sum,github.com/hashicorp/terraform-plugin-docs,MPL-2.0,
go.sum,github.com/zippolyte/terraform-plugin-docs,MPL-2.0,
go.sum,github.com/huandu/xstrings,MIT,2015 Huan Du.
go.sum,github.com/russross/blackfriday,BSD-2-Clause,2011 Russ Ross
go.sum,github.com/vmihailenco/msgpack/v4,BSD-2-Clause,2013 The github.com/vmihailenco/msgpack Authors.
go.sum,github.com/vmihailenco/tagparser,BSD-2-Clause,2019 The github.com/vmihailenco/tagparser Authors.
go.sum,github.com/zclconf/go-cty-debug,MIT,2019 Martin Atkins
go.sum,gopkg.in/yaml.v3,MIT/Apache-2.0,2006-2010 Kirill Simonov 2011-2019 Canonical Ltd
go.sum,github.com/Microsoft/go-winio,MIT,2015 Microsoft
go.sum,github.com/konsorten/go-windows-terminal-sequences,MIT,2017 marvin + konsorten GmbH
go.sum,github.com/sirupsen/logrus,MIT,2014 Simon Eskildsen
go.sum,golang.org/x/term,BSD-3-Clause,2009 The Go Authors
go.sum,github.com/hashicorp/go-cty,MIT,Copyright (c) 2017-2018 Martin Atkins
go.sum,github.com/hashicorp/terraform-plugin-go,MPL-2.0,
go.sum,github.com/hashicorp/terraform-plugin-sdk/v2,MPL-2.0,
go.sum,github.com/nsf/jsondiff,MIT,Copyright (C) 2019 nsf <no.smile.face@gmail.com>
go.sum,github.com/apparentlymart/go-textseg/v13,MIT,Copyright (c) 2017-2018 Martin Atkins
go.sum,github.com/klauspost/compress,BSD-3-Clause,Copyright (c) 2019 Klaus Post
go.sum,github.com/ProtonMail/go-crypto,BSD-3-Clause,Copyright (c) 2009 The Go Authors
go.sum,github.com/acomagu/bufpipe,MIT,Copyright (c) 2019 acomagu
go.sum,github.com/matryer/is,MIT,Copyright (c) 2017-2018 Mat Ryer
go.sum,github.com/sebdah/goldie,MIT,Copyright 2016 Sebastian Dahlgren <sebastian.dahlgren@gmail.com>
1 Component Origin License Copyright
2 go.sum cloud.google.com/go Apache-2.0 2014 Google LLC
3 go.sum cloud.google.com/go/bigquery Apache-2.0 2014 Google LLC
4 go.sum cloud.google.com/go/datastore Apache-2.0 2014 Google LLC
5 go.sum github.com/BurntSushi/toml MIT 2013 TOML authors
6 go.sum github.com/BurntSushi/xgb BSD-3-Clause 2009 The XGB Authors
7 go.sum github.com/DataDog/datadog-api-client-go Apache-2.0 2019-Present Datadog, Inc.
8 go.sum github.com/DataDog/datadog-go MIT 2015 Datadog, Inc
9 go.sum github.com/DataDog/dd-trace-go Apache-2.0 OR BSD-3-Clause 2016-Present Datadog, Inc.
10 go.sum github.com/agext/levenshtein Apache-2.0 2016 ALRUX Inc.
11 go.sum github.com/agl/ed25519 BSD-3-Clause 2012 The Go Authors
12 go.sum github.com/apparentlymart/go-cidr MIT 2015 Martin Atkins
13 go.sum github.com/apparentlymart/go-dump MPL-2.0
14 go.sum github.com/apparentlymart/go-textseg MIT and Apache-2.0 and Unicode-DFS-2016 2017 Martin Atkins and 2014 Couchbase Inc. and 2016 Unicode Inc
15 go.sum github.com/armon/go-radix MIT 2014 Armon Dadgar
16 go.sum github.com/aslakhellesoy/gox MPL-2.0
17 go.sum github.com/aws/aws-sdk-go Apache-2.0 2014-2015 Stripe Inc. and 2015 Amazon.com Inc.
18 go.sum github.com/bgentry/go-netrc MIT 2010 Fazlul Shahriar and 2014 Blake Gentry
19 go.sum github.com/bgentry/speakeasy MIT 2017 Blake Gentry
20 go.sum github.com/cenkalti/backoff MIT 2014 Cenk Altı
21 go.sum github.com/census-instrumentation/opencensus-proto Apache-2.0 2019, OpenCensus Authors
22 go.sum github.com/cheggaaa/pb BSD-3-Clause 2012-2015 Sergey Cherepanov
23 go.sum github.com/client9/misspell MIT 2015-2017 Nick Galbreath
24 go.sum github.com/creack/pty MIT 2011 Keith Rarick
25 go.sum github.com/cucumber/gherkin-go/v13 MIT Cucumber Ltd and Gaspar Nagy and Björn Rasmusson and Peter Sergeant
26 go.sum github.com/cucumber/messages-go/v12 MIT Cucumber Ltd
27 go.sum github.com/davecgh/go-spew ISC 2012-2016 Dave Collins <dave@davec.name>
28 go.sum github.com/dnaeon/go-vcr BSD-2-Clause 2015-2016 Marin Atanasov Nikolov <dnaeon@gmail.com>
29 go.sum github.com/envoyproxy/go-control-plane Apache-2.0 2018 Envoyproxy Authors
30 go.sum github.com/envoyproxy/protoc-gen-validate Apache-2.0 2019 Envoy Project Authors
31 go.sum github.com/fatih/color MIT 2013 Fatih Arslan
32 go.sum github.com/go-bdd/assert MIT 2020 GoBDD
33 go.sum github.com/go-bdd/gobdd MIT 2019 Bartłomiej Klimczak
34 go.sum github.com/go-test/deep MIT 2015-2017 Daniel Nichter
35 go.sum github.com/gofrs/uuid MIT 2013-2018 by Maxim Bublis <b@codemonkey.ru>
36 go.sum github.com/gogo/protobuf BSD-3-Clause 2010 The Go Authors and 2013 The GoGo Authors
37 go.sum github.com/golang/glog Apache-2.0 2013 Google Inc.
38 go.sum github.com/golang/mock Apache-2.0 2020 Google Inc.
39 go.sum github.com/golang/protobuf BSD-3-Clause 2010 The Go Authors
40 go.sum github.com/golang/snappy BSD-3-Clause 2011 The Snappy-Go Authors
41 go.sum github.com/google/btree Apache-2.0 2014 Google Inc.
42 go.sum github.com/google/go-cmp BSD-3-Clause 2017 The Go Authors
43 go.sum github.com/google/martian Apache-2.0 2015 Google Inc.
44 go.sum github.com/google/pprof Apache-2.0 2014 Google Inc.
45 go.sum github.com/google/uuid BSD-3-Clause 2009-2014 Google Inc.
46 go.sum github.com/googleapis/gax-go/v2 BSD-3-Clause 2016 Google Inc.
47 go.sum github.com/h2non/parth MIT 2018 codemodus
48 go.sum github.com/hashicorp/errwrap MPL-2.0
49 go.sum github.com/hashicorp/go-cleanhttp MPL-2.0
50 go.sum github.com/hashicorp/go-getter MPL-2.0
51 go.sum github.com/hashicorp/go-hclog MIT 2017 HashiCorp
52 go.sum github.com/hashicorp/go-multierror MPL-2.0
53 go.sum github.com/hashicorp/go-plugin MPL-2.0
54 go.sum github.com/hashicorp/go-safetemp MPL-2.0
55 go.sum github.com/hashicorp/go-uuid MPL-2.0
56 go.sum github.com/hashicorp/go-version MPL-2.0
57 go.sum github.com/hashicorp/golang-lru MPL-2.0
58 go.sum github.com/hashicorp/hcl MPL-2.0
59 go.sum github.com/hashicorp/hcl/v2 MPL-2.0
60 go.sum github.com/hashicorp/logutils MPL-2.0
61 go.sum github.com/hashicorp/terraform-config-inspect MPL-2.0
62 go.sum github.com/hashicorp/terraform-json MPL-2.0
63 go.sum github.com/hashicorp/terraform-plugin-sdk MPL-2.0
64 go.sum github.com/hashicorp/terraform-plugin-test MPL-2.0
65 go.sum github.com/hashicorp/terraform-svchost MPL-2.0
66 go.sum github.com/hashicorp/yamux MPL-2.0
67 go.sum github.com/jmespath/go-jmespath Apache-2.0 2015 James Saryerwinnie
68 go.sum github.com/jonboulle/clockwork Apache-2.0
69 go.sum github.com/jstemmer/go-junit-report MIT 2012 Joel Stemmer
70 go.sum github.com/keybase/go-crypto BSD-3-Clause 2009 The Go Authors
71 go.sum github.com/kisielk/errcheck MIT 2013 Kamil Kisiel
72 go.sum github.com/kisielk/gotool MIT 2013 Kamil Kisiel <kamil@kamilkisiel.net>
73 go.sum github.com/kr/pretty MIT 2012 Keith Rarick
74 go.sum github.com/kr/pty MIT 2019 Keith Rarick
75 go.sum github.com/kr/text MIT 2012 Keith Rarick
76 go.sum github.com/kylelemons/godebug Apache-2.0 2013 Google Inc
77 go.sum github.com/mattn/go-colorable MIT 2016 Yasuhiro Matsumoto
78 go.sum github.com/mattn/go-isatty MIT Yasuhiro MATSUMOTO <mattn.jp@gmail.com>
79 go.sum github.com/mattn/go-runewidth MIT 2016 Yasuhiro Matsumoto
80 go.sum github.com/mcuadros/go-lookup MIT 2015 Máximo Cuadros
81 go.sum github.com/mitchellh/cli MPL-2.0
82 go.sum github.com/mitchellh/colorstring MIT 2014 Mitchell Hashimoto
83 go.sum github.com/mitchellh/copystructure MIT 2014 Mitchell Hashimoto
84 go.sum github.com/mitchellh/go-homedir MIT 2013 Mitchell Hashimoto
85 go.sum github.com/mitchellh/go-testing-interface MIT 2016 Mitchell Hashimoto
86 go.sum github.com/mitchellh/go-wordwrap MIT 2014 Mitchell Hashimoto
87 go.sum github.com/mitchellh/iochan MIT 2015 Mitchell Hashimoto
88 go.sum github.com/mitchellh/mapstructure MIT 2013 Mitchell Hashimoto
89 go.sum github.com/mitchellh/reflectwalk MIT 2013 Mitchell Hashimoto
90 go.sum github.com/nbio/st Apache-2.0 2014 nb.io LLC
91 go.sum github.com/niemeyer/pretty MIT 2012 Keith Rarick
92 go.sum github.com/oklog/run Apache-2.0
93 go.sum github.com/opentracing/opentracing-go Apache-2.0
94 go.sum github.com/philhofer/fwd MIT 2014-2015 Philip Hofer
95 go.sum github.com/pierrec/lz4 BSD-3-Clause 2015 Pierre Curto
96 go.sum github.com/pkg/errors BSD-2-Clause 2015 Dave Cheney <dave@cheney.net>
97 go.sum github.com/pmezard/go-difflib BSD-3-Clause 2013 Patrick Mezard
98 go.sum github.com/posener/complete MIT 2017 Eyal Posener
99 go.sum github.com/prometheus/client_model Apache-2.0 2012-2015 The Prometheus Authors
100 go.sum github.com/sergi/go-diff MIT 2012-2016 The go-diff Authors
101 go.sum github.com/spf13/afero Apache-2.0 2009 The Go Authors and 2014 Steve Francia <spf@spf13.com>
102 go.sum github.com/spf13/pflag BSD-3-Clause 2012 The Go Authors and 2012 Alex Ogier
103 go.sum github.com/stretchr/objx MIT 2014 Stretchr Inc. and 2017-2018 objx contributors
104 go.sum github.com/stretchr/testify MIT 2012-2020 Mat Ryer and Tyler Bunnell and contributors.
105 go.sum github.com/tinylib/msgp MIT 2014 Philip Hofer
106 go.sum github.com/ulikunitz/xz MIT 2014-2020 Ulrich Kunitz
107 go.sum github.com/vmihailenco/msgpack BSD-2-Clause 2013 The github.com/vmihailenco/msgpack Authors
108 go.sum github.com/zclconf/go-cty MIT 2017-2018 Martin Atkins
109 go.sum github.com/zclconf/go-cty-yaml Apache-2.0 2011-2016 Canonical Ltd and 2019 Martin Atkins
110 go.sum github.com/zorkian/go-datadog-api BSD-3-Clause 2013 by authors and contributors
111 go.sum go.opencensus.io Apache-2.0 2018, OpenCensus Authors
112 go.sum golang.org/x/crypto BSD-3-Clause 2009 The Go Authors
113 go.sum golang.org/x/exp BSD-3-Clause 2009 The Go Authors
114 go.sum golang.org/x/image BSD-3-Clause 2009 The Go Authors
115 go.sum golang.org/x/lint BSD-3-Clause 2013 The Go Authors
116 go.sum golang.org/x/mobile BSD-3-Clause 2009 The Go Authors
117 go.sum golang.org/x/net BSD-3-Clause 2009 The Go Authors
118 go.sum golang.org/x/oauth2 BSD-3-Clause 2009 The Go Authors
119 go.sum golang.org/x/sync BSD-3-Clause 2009 The Go Authors
120 go.sum golang.org/x/sys BSD-3-Clause 2019 The Go Authors
121 go.sum golang.org/x/text BSD-3-Clause 2009 The Go Authors
122 go.sum golang.org/x/time BSD-3-Clause 2019 The Go Authors
123 go.sum golang.org/x/tools BSD-3-Clause 2019 The Go Authors
124 go.sum golang.org/x/xerrors BSD-3-Clause 2019 The Go Authors
125 go.sum google.golang.org/api BSD-3-Clause 2011 Google Inc
126 go.sum google.golang.org/appengine Apache-2.0 Google Inc.
127 go.sum google.golang.org/genproto Apache-2.0 2018 Google Inc.
128 go.sum google.golang.org/grpc Apache-2.0 2016 gRPC authors.
129 go.sum gopkg.in/DataDog/dd-trace-go.v1 Apache-2.0 2016-Present Datadog, Inc.
130 go.sum gopkg.in/check.v1 BSD-2-Clause 2010-2013 Gustavo Niemeyer <gustavo@niemeyer.net>
131 go.sum gopkg.in/cheggaaa/pb.v1 BSD-3-Clause 2012-2015 Sergey Cherepanov
132 go.sum gopkg.in/h2non/gock.v1 MIT 2016-2019 Tomas Aparicio
133 go.sum gopkg.in/yaml.v2 Apache-2.0 2011-2016 Canonical Ltd.
134 go.sum gotest.tools Apache-2.0 2018 gotest.tools authors
135 go.sum honnef.co/go/tools MIT 2016 Dominik Honnef
136 go.sum rsc.io/binaryregexp BSD-3-Clause 2009 The Go Authors
137 go.sum cloud.google.com/go/pubsub Apache-2.0 Copyright 2018 Google LLC
138 go.sum cloud.google.com/go/storage Apache-2.0 Copyright 2014 Google LLC
139 go.sum dmitri.shuralyov.com/gpu/mtl BSD-3-Clause 2018 The Go Authors.
140 go.sum github.com/alcortesm/tgz MIT 2016 Alberto Cortés
141 go.sum github.com/anmitsu/go-shlex MIT anmitsu <anmitsu.s@gmail.com>
142 go.sum github.com/armon/go-socks5 MIT 2014 Armon Dadgar
143 go.sum github.com/chzyer/logex MIT 2015Chzyer
144 go.sum github.com/chzyer/readline MIT 2015 Chzyer
145 go.sum github.com/chzyer/test MIT 2016 Chzyer
146 go.sum github.com/cncf/udpa/go Apache-2.0 The Authors
147 go.sum github.com/emirpasic/gods BSD 2-Clause 2015, Emir Pasic
148 go.sum github.com/flynn/go-shlex Apache-2.0 2012 Google Inc.
149 go.sum github.com/gliderlabs/ssh BSD-3-Clause 2016 Glider Labs
150 go.sum github.com/go-git/gcfg BSD-3-Clause 2012 Péter Surányi. Portions Copyright (c) 2009 The Go
151 go.sum github.com/go-git/go-billy/v5 Apache-2.0 The Authors
152 go.sum github.com/go-git/go-git-fixtures/v4 Apache-2.0 The Authors
153 go.sum github.com/go-git/go-git/v5 Apache-2.0 The Authors
154 go.sum github.com/go-gl/glfw BSD-3-Clause 2012 The glfw3-go Authors
155 go.sum github.com/go-gl/glfw/v3.3/glfw BSD-3-Clause 2012 The glfw3-go Authors
156 go.sum github.com/golang/groupcache Apache-2.0 2013 Google Inc.
157 go.sum github.com/google/martian/v3 Apache-2.0 2015 Google Inc.
158 go.sum github.com/google/renameio Apache-2.0 2018 Google Inc.
159 go.sum github.com/hashicorp/go-checkpoint MPL-2.0
160 go.sum github.com/hashicorp/terraform-exec MPL-2.0
161 go.sum github.com/hashicorp/terraform-plugin-test/v2 MPL-2.0
162 go.sum github.com/ianlancetaylor/demangle BSD-3-Clause 2015 The Go Authors.
163 go.sum github.com/imdario/mergo BSD-3-Clause 2013 Dario Castañé. 2012 The Go Authors.
164 go.sum github.com/jbenet/go-context MIT 2014 Juan Batiz-Benet
165 go.sum github.com/jessevdk/go-flags BSD-3-Clause 2012 Jesse van den Kieboom.
166 go.sum github.com/jhump/protoreflect Apache-2.0 The Authors
167 go.sum github.com/kevinburke/ssh_config MIT 2017 Kevin Burke.
168 go.sum github.com/rogpeppe/go-internal BSD-3-Clause 2018 The Go Authors.
169 go.sum github.com/therve/terraform-plugin-sdk MPL-2.0
170 go.sum github.com/xanzy/ssh-agent Apache-2.0 2015, Sander van Harmelen
171 go.sum github.com/yuin/goldmark MIT 2019 Yusuke Inuzuka
172 go.sum golang.org/x/mod BSD-3-Clause 2009 The Go Authors.
173 go.sum google.golang.org/protobuf BSD-3-Clause 2018 The Go Authors.
174 go.sum gopkg.in/errgo.v2 BSD-3-Clause Copyright © 2013, Roger Peppe
175 go.sum gopkg.in/warnings.v0 BSD 2-Clause 2016 Péter Surányi.
176 go.sum rsc.io/quote/v3 BSD-3-Clause 2009 The Go Authors.
177 go.sum rsc.io/sampler BSD-3-Clause 2009 The Go Authors.
178 go.sum github.com/Masterminds/goutils Apache-2.0 Copyright 2014 Alexander Okoli
179 go.sum github.com/Masterminds/semver MIT 2014-2019, Matt Butcher and Matt Farina
180 go.sum github.com/Masterminds/sprig MIT 2013-2020 Masterminds
181 go.sum github.com/andybalholm/crlf BSD-2-Clause 2015 Andy Balholm.
182 go.sum github.com/apparentlymart/go-textseg/v12 MIT 2017 Martin Atkins
183 go.sum github.com/hashicorp/terraform-plugin-docs MPL-2.0
184 go.sum github.com/zippolyte/terraform-plugin-docs MPL-2.0
185 go.sum github.com/huandu/xstrings MIT 2015 Huan Du.
186 go.sum github.com/russross/blackfriday BSD-2-Clause 2011 Russ Ross
187 go.sum github.com/vmihailenco/msgpack/v4 BSD-2-Clause 2013 The github.com/vmihailenco/msgpack Authors.
188 go.sum github.com/vmihailenco/tagparser BSD-2-Clause 2019 The github.com/vmihailenco/tagparser Authors.
189 go.sum github.com/zclconf/go-cty-debug MIT 2019 Martin Atkins
190 go.sum gopkg.in/yaml.v3 MIT/Apache-2.0 2006-2010 Kirill Simonov 2011-2019 Canonical Ltd
191 go.sum github.com/Microsoft/go-winio MIT 2015 Microsoft
192 go.sum github.com/konsorten/go-windows-terminal-sequences MIT 2017 marvin + konsorten GmbH
193 go.sum github.com/sirupsen/logrus MIT 2014 Simon Eskildsen
194 go.sum golang.org/x/term BSD-3-Clause 2009 The Go Authors
195 go.sum github.com/hashicorp/go-cty MIT Copyright (c) 2017-2018 Martin Atkins
196 go.sum github.com/hashicorp/terraform-plugin-go MPL-2.0
197 go.sum github.com/hashicorp/terraform-plugin-sdk/v2 MPL-2.0
198 go.sum github.com/nsf/jsondiff MIT Copyright (C) 2019 nsf <no.smile.face@gmail.com>
199 go.sum github.com/apparentlymart/go-textseg/v13 MIT Copyright (c) 2017-2018 Martin Atkins
200 go.sum github.com/klauspost/compress BSD-3-Clause Copyright (c) 2019 Klaus Post
201 go.sum github.com/ProtonMail/go-crypto BSD-3-Clause Copyright (c) 2009 The Go Authors
202 go.sum github.com/acomagu/bufpipe MIT Copyright (c) 2019 acomagu
203 go.sum github.com/matryer/is MIT Copyright (c) 2017-2018 Mat Ryer
204 go.sum github.com/sebdah/goldie MIT Copyright 2016 Sebastian Dahlgren <sebastian.dahlgren@gmail.com>

View File

@ -0,0 +1,35 @@
# Terraform Provider
- Website: https://www.terraform.io
- [![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)
- Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)
<img src="https://cdn.rawgit.com/hashicorp/terraform-website/master/content/source/assets/images/logo-hashicorp.svg" width="600px">
## Requirements
- [Terraform](https://www.terraform.io/downloads.html) 0.10.x
## Building The Provider
Clone repository to: `$GOPATH/src/github.com/DataDog/terraform-provider-datadog`
```sh
$ mkdir -p $GOPATH/src/github.com/DataDog; cd $GOPATH/src/github.com/DataDog
$ git clone git@github.com:DataDog/terraform-provider-datadog
```
Enter the provider directory and build the provider
```sh
$ cd $GOPATH/src/github.com/DataDog/terraform-provider-datadog
$ make build
```
**Note**: For contributions created from forks, the repository should still be cloned under the `$GOPATH/src/github.com/DataDog/terraform-provider-datadog` directory to allow the provided `make` commands to properly run, build, and test this project.
## Using the provider
If you're building the provider, follow the instructions to [install it as a plugin.](https://www.terraform.io/docs/plugins/basics.html#installing-a-plugin) After placing it into your plugins directory, run `terraform init` to initialize it.
Further [usage documentation is available on the Terraform website](https://www.terraform.io/docs/providers/datadog/index.html).

52
.terraform/terraform.tfstate Executable file
View File

@ -0,0 +1,52 @@
{
"version": 3,
"serial": 1,
"lineage": "694ff0c2-d13e-1725-8f35-478adb712145",
"backend": {
"type": "s3",
"config": {
"access_key": "AKIAWTYYXQLEHXEQGQDQ",
"acl": null,
"assume_role_duration_seconds": null,
"assume_role_policy": null,
"assume_role_policy_arns": null,
"assume_role_tags": null,
"assume_role_transitive_tag_keys": null,
"bucket": "datadog-tf-state",
"dynamodb_endpoint": null,
"dynamodb_table": "datadog-tf-state-lock-table",
"encrypt": true,
"endpoint": null,
"external_id": null,
"force_path_style": null,
"iam_endpoint": null,
"key": "sl_techops/apps/datadog/management/users.tfstate",
"kms_key_id": null,
"max_retries": null,
"profile": null,
"region": "eu-west-1",
"role_arn": null,
"secret_key": "BIUWfkJVGv7MBP9zdZlWdW5S9uqeqUmrX3yHRrur",
"session_name": null,
"shared_credentials_file": null,
"skip_credentials_validation": null,
"skip_metadata_api_check": null,
"skip_region_validation": null,
"sse_customer_key": null,
"sts_endpoint": null,
"token": null,
"workspace_key_prefix": null
},
"hash": 3151827509
},
"modules": [
{
"path": [
"root"
],
"outputs": {},
"resources": {},
"depends_on": []
}
]
}

205
README.md Normal file
View File

@ -0,0 +1,205 @@
# Terraform Datadog Users Sanoma Module
## Overview
Organization-specific user management module for Sanoma that uses the terraform-datadog-users base module for creating and managing Datadog user accounts.
## Features
- **Module Composition**: Uses terraform-datadog-users as a base module
- **Organization-Specific**: Configured for Sanoma email domains and structure
- **Scalable**: Easy to add new users via module calls
- **Standardized Roles**: All users assigned standard roles
- **EU Instance**: Configured for EU Datadog API
## Resources Created
Multiple `datadog_user` resources created via module calls to terraform-datadog-users.
## Requirements
| Name | Version |
|------|---------|
| terraform | >= 0.12 |
| datadog | >= 3.2.0 |
## Usage
This module is designed to be called from a root module with Sanoma-specific variables:
```hcl
module "sanoma_users" {
source = "./terraform-datadog-users-sanoma"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
api_url = "https://api.datadoghq.eu"
}
```
## Inputs
| Name | Description | Type | Required | Default |
|------|-------------|------|----------|---------|
| `admin` | Is user an admin? | `bool` | no | `false` |
| `name` | Full name | `string` | no | `""` |
| `email` | Email address | `string` | no | `""` |
| `handle` | Handle/username | `string` | no | `""` |
| `roles` | Role type | `string` | no | `"standard"` |
| `datadog_api_key` | Datadog API key | `string` | yes | - |
| `datadog_app_key` | Datadog APP key | `string` | yes | - |
| `api_url` | Datadog API endpoint | `string` | no | `"https://api.datadoghq.eu"` |
| `http_client_retry_enabled` | Enable HTTP retries | `bool` | no | `true` |
| `http_client_retry_timeout` | HTTP retry timeout | `string` | no | `""` |
| `validate` | Validate credentials | `bool` | no | `true` |
## Outputs
Currently, all outputs are commented out. No outputs are exported.
## User Accounts
### Current Users (Configured)
The module includes user definitions for:
- Michiel van Wambeke
- David Kerremans
- Lukasz Mycek
### Work in Progress
Additional user groups defined in separate files:
- `user-accounts-vanin.tf`: Vanin CFA users
- `user-accounts-nowaera.tf`: NoWaEra CFA users
## Module Structure
```
terraform-datadog-users-sanoma/
├── provider.tf # Datadog provider configuration
├── backend.tf # Terraform state backend
├── versions.tf # Provider version constraints
├── variables.tf # Input variables
├── outputs.tf # Outputs (commented out)
├── user-accounts-vanin.tf # Vanin user definitions (WIP)
├── user-accounts-nowaera.tf # NoWaEra user definitions (WIP)
└── old-account-structure.tf # Legacy account definitions
```
## Adding New Users
To add a new user, create a module call in the appropriate file:
```hcl
module "new_user" {
source = "../terraform-datadog-users"
admin = false
name = "New User"
email = "new.user@sanoma.com"
handle = "new.user@sanoma.com"
roles = "standard"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
```
## Provider Configuration
### EU Datadog Instance
- **API URL**: `https://api.datadoghq.eu`
- **Reason**: GDPR compliance for European data
- **Retry Enabled**: Yes (handles 429 and 5xx errors)
- **Validation**: API/APP keys validated on initialization
## Organization Structure
The module supports multiple CFAs (Customer Facing Applications):
- **Vanin**: Educational publishing
- **NoWaEra**: Digital platforms
Each CFA has separate user account files for organization.
## Best Practices
1. **Email Format**: Use Sanoma email domain (@sanoma.com)
2. **File Organization**: Group users by CFA or team
3. **Standard Roles**: Default to standard roles unless admin access required
4. **Handle Convention**: Use email as handle for consistency
## Example User Definitions
```hcl
# Standard user
module "developer" {
source = "../terraform-datadog-users"
admin = false
name = "John Developer"
email = "john.developer@sanoma.com"
handle = "john.developer@sanoma.com"
roles = "standard"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
# Admin user
module "team_lead" {
source = "../terraform-datadog-users"
admin = true
name = "Jane Lead"
email = "jane.lead@sanoma.com"
handle = "jane.lead@sanoma.com"
roles = "admin"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
```
## State Management
- Uses remote backend configuration (backend.tf)
- State should be stored securely (S3, Terraform Cloud, etc.)
- Enables team collaboration on user management
## Migration from Old Structure
The `old-account-structure.tf` file contains legacy user definitions. These should be:
1. Reviewed for current relevance
2. Migrated to new structure if still active
3. Removed if users are no longer with organization
## Notes
- All outputs are currently disabled (commented out in outputs.tf)
- Uses module composition pattern for DRY principles
- EU API endpoint for GDPR compliance
- HTTP retry enabled for reliability
- Credentials validated on provider initialization
## Maintenance
Regular tasks:
- Review and update user lists quarterly
- Remove users who have left the organization
- Audit role assignments
- Update to latest terraform-datadog-users module version
## Security Considerations
- API keys should be stored in secure variable storage
- Never commit API keys to version control
- Use Terraform variable files or environment variables
- Consider using Terraform Cloud for secure variable management
## License
Internal use only - Sanoma/WeBuildYourCloud
## Authors
Created and maintained by the Platform Engineering team at Sanoma.

13
backend.tf Executable file
View File

@ -0,0 +1,13 @@
# Backend configuration for Terraform so we can centralize the state into an S3 bucket
terraform {
backend "s3" {
access_key = "AKIAWTYYXQLEHXEQGQDQ"
secret_key = "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"
bucket = "datadog-tf-state"
region = "eu-west-1"
encrypt = true
dynamodb_table = "datadog-tf-state-lock-table"
key = "sl_techops/apps/datadog/management/users.tfstate"
}
}

201
old-account-structure.tf Executable file
View File

@ -0,0 +1,201 @@
# Vanin Accounts
module "datadog-users" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Michiel van Wambeke"
email = "michiel.vanwambeke@sanoma.com"
#disabled = false
roles = "standard"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_02" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "David Kerremans"
email = "david.kerremans@sanoma.com"
#disabled = false
roles = "standard"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_03" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Lukasz Mycek"
email = "lukasz.mycek@sanoma.com"
#disabled = false
roles = "standard"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
# Nowaera Accounts
module "datadog-users_04" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Adam Mlynarczyk"
email = "a.mlynarczyk@nowaera.pl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_05" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Konrad Wierzbicki"
email = "k.wierzbicki@nowaera.pl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_06" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Tomasz Dziewa"
email = "t.dziewa@nowaera.pl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_07" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Arthur Fujak"
email = "a.fujak@nowaera.pl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_08" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Pavel Borissiouk"
email = "p.borissiouk@nowaera.pl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
# Max Accounts
module "datadog-users_09" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "André Schoute"
email = "andre.schouten@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_10" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Anna Sophie Koppelaar"
email = "annasophie.koppelaar@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_11" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Aziz Arig"
email = "aziz.arig@sanoma.com"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_12" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Ramon Leenders"
email = "ramon.leenders@sanoma.com"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_13" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Danny de Vlam"
email = "danny.1.devlam@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_14" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Bob Kubista"
email = "bob.kubista@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_15" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Boy Carper"
email = "boy.carper@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_16" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Diana Broeders"
email = "diana.broeders@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_17" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Elger van Boxtel"
email = "elger.vanboxtel@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}
module "datadog-users_18" {
source = "git::git@github.com:webuildyourcloud/terraform-datadog-users.git"
#source = "../."
name = "Niels Faber"
email = "niels.faber@malmberg.nl"
#disabled = false
roles = "readonly"
datadog_api_key = var.datadog_api_key
datadog_app_key = var.datadog_app_key
}

33
outputs.tf Executable file
View File

@ -0,0 +1,33 @@
#output "disabled" {
# description = "List of user disabled status"
# value = compact(concat(datadog_user.this.*.disabled, list("")))
#}
#
#output "ids" {
# description = "List of user IDs"
# value = compact(concat(datadog_user.this.*.id, list("")))
#}
#
#output "verified" {
# description = "List of user verified status"
# value = compact(concat(datadog_user.this.*.verified, list("")))
#}
#
#output "emails" {
# description = "List of user emails"
# value = compact(concat(data.null_data_source.this.*.outputs.email, list("")))
#}
#
#output "handles" {
# description = "List of user handles"
# value = compact(concat(data.null_data_source.this.*.outputs.handle, list("")))
#}
#
#output "names" {
# description = "List of user names"
# value = compact(concat(data.null_data_source.this.*.outputs.name, list("")))
#}
#
#output "users" {
# value = "var.users"
#}

16
provider.tf Executable file
View File

@ -0,0 +1,16 @@
terraform {
required_providers {
datadog = {
source = "datadog/datadog"
version = "3.2.0"
}
}
}
# Configure the Datadog provider
provider "datadog" {
api_key = var.datadog_api_key
app_key = var.datadog_app_key
api_url = var.api_url
}

0
terraform.tfstate Executable file
View File

105
terraform.tfstate.backup Executable file
View File

@ -0,0 +1,105 @@
{
"version": 4,
"terraform_version": "1.0.0",
"serial": 3,
"lineage": "936d1964-ff4b-91a8-34bb-c91589b8d615",
"outputs": {},
"resources": [
{
"module": "module.datadog-users",
"mode": "data",
"type": "datadog_role",
"name": "standard_role",
"provider": "provider[\"registry.terraform.io/datadog/datadog\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"filter": "Datadog Standard Role",
"id": "58b80e80-da61-11eb-ac93-da7ad0900005",
"name": "Datadog Standard Role",
"user_count": 1
},
"sensitive_attributes": []
}
]
},
{
"module": "module.datadog-users",
"mode": "managed",
"type": "datadog_user",
"name": "add_datadog_user",
"provider": "provider[\"registry.terraform.io/datadog/datadog\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"disabled": false,
"email": "michiel.vanwambeke@sanoma.com",
"id": "c8f24840-fe93-11eb-9213-da7ad0900005",
"name": "michiel.vanwambeke",
"roles": [
"58b80e80-da61-11eb-ac93-da7ad0900005"
],
"send_user_invitation": true,
"user_invitation_id": "c95a45ee-fe93-11eb-bd59-da7ad0900005",
"verified": true
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"module.datadog-users.data.datadog_role.standard_role"
]
}
]
},
{
"module": "module.datadog-users_02",
"mode": "data",
"type": "datadog_role",
"name": "standard_role",
"provider": "provider[\"registry.terraform.io/datadog/datadog\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"filter": "Datadog Standard Role",
"id": "58b80e80-da61-11eb-ac93-da7ad0900005",
"name": "Datadog Standard Role",
"user_count": 1
},
"sensitive_attributes": []
}
]
},
{
"module": "module.datadog-users_02",
"mode": "managed",
"type": "datadog_user",
"name": "add_datadog_user",
"provider": "provider[\"registry.terraform.io/datadog/datadog\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"disabled": false,
"email": "david.kerremans@sanoma.com",
"id": "d104131e-fe99-11eb-8c15-da7ad0900005",
"name": "david.kerremans",
"roles": [
"58b80e80-da61-11eb-ac93-da7ad0900005"
],
"send_user_invitation": true,
"user_invitation_id": "d14f2b60-fe99-11eb-9253-da7ad0900005",
"verified": false
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"module.datadog-users_02.data.datadog_role.standard_role"
]
}
]
}
]
}

2
terraform.tfvars Executable file
View File

@ -0,0 +1,2 @@
datadog_api_key = "2fcc093ed06e4dbe0935433495898cad"
datadog_app_key = "aaf4a9654b82cfa8b23b2d65801901a4ad9d35ed"

2
user-accounts-nowaera.tf Executable file
View File

@ -0,0 +1,2 @@
# Work in Progress
# When this is finished all accounts for a specific CFA will be listed here

2
user-accounts-vanin.tf Executable file
View File

@ -0,0 +1,2 @@
# Work in Progress
# When this is finished all accounts for a specific CFA will be listed here

62
variables.tf Executable file
View File

@ -0,0 +1,62 @@
variable "admin" {
description = "Boolean to set if user is an admin or not"
default = false
}
variable "name" {
description = "Name of the User"
type = string
default = ""
}
variable "email" {
description = "Email address of the user"
type = string
default = ""
}
variable "handle" {
description = "Handle of the user (usualy the email address)"
type = string
default = ""
}
variable "roles" {
description = "Role can be ro normal and admin, default is normal"
type = string
default = "standard"
}
variable "datadog_api_key" {
description = "The datadog API key"
type = string
}
variable "datadog_app_key" {
description = "The datadog APP key"
type = string
}
variable "api_url" {
description = "Which API to Connect to, we are using the EU one for GDPR compliance"
type = string
default = "https://api.datadoghq.eu"
}
variable "http_client_retry_enabled" {
description = "Enables Request retries on HTTP status codes 429 and 5xx"
type = bool
default = true
}
variable "http_client_retry_timeout" {
description = "Sets the number of HTTP request retry timeout period"
type = string
default = ""
}
variable "validate" {
description = "Validates the provided APP and API keys during provider initialization"
type = bool
default = true
}

3
versions.tf Executable file
View File

@ -0,0 +1,3 @@
terraform {
required_version = ">= 0.13"
}