Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Katie.mckew/awsmc 1070 aws v2 terraform provider #2540

Draft
wants to merge 31 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6eb1f67
add framework generator
skarimo Aug 7, 2023
1de97bd
fix state setting and oneOf model
skarimo Aug 7, 2023
50dded8
Merge remote-tracking branch 'origin/master' into sherz/fw-provider
ktmq Aug 14, 2024
1609be7
Merge remote-tracking branch 'origin/master' into sherz/fw-provider
ktmq Aug 21, 2024
5b7cbc8
Generated
ktmq Aug 21, 2024
1cd4b2b
Fix compile errors
ktmq Aug 22, 2024
8d76830
Unblock tests
ktmq Aug 22, 2024
8f9a749
Unblock tests again
ktmq Aug 22, 2024
8d7beb6
Merge remote-tracking branch 'origin/master' into katie.mckew/awsmc-1…
ktmq Aug 22, 2024
261f794
WIP - get tests working
ktmq Aug 22, 2024
6e2abfb
Use account ID instead of UUID
ktmq Aug 23, 2024
ca44a91
Tests WORK
ktmq Aug 23, 2024
4923917
Tests breaking with empty logs_config
ktmq Aug 27, 2024
7b35fd2
Go client
ktmq Aug 27, 2024
b2f7ecc
Revert "fix state setting and oneOf model"
ktmq Aug 27, 2024
2e8e31e
Revert "add framework generator"
ktmq Aug 27, 2024
c9ca477
temp fix to resolve unrelated error
ktmq Aug 27, 2024
8241cde
Reset temp workaround
ktmq Aug 27, 2024
4a303bf
Make lambda and sources required, and handle empty list
ktmq Aug 28, 2024
0d0fff0
Handle nullable AccountTags
ktmq Aug 29, 2024
0e089ca
Make logs_config block optional again, handle when unset
ktmq Aug 29, 2024
018e627
Handle updates where logs_config is removed from tf config
ktmq Aug 29, 2024
4b222a4
Disallow empty list for lambdas and sources
ktmq Aug 29, 2024
8c5462f
Add conflict validator
ktmq Aug 30, 2024
77456ff
Add more validators; still fixing trace_config
ktmq Aug 30, 2024
a1aaebe
Refactor
ktmq Oct 16, 2024
bb51d45
Update go client
ktmq Oct 16, 2024
14a3c54
Merge remote-tracking branch 'origin/master' into katie.mckew/awsmc-1…
ktmq Oct 16, 2024
d9cc592
Fix api instances
ktmq Oct 17, 2024
f8d5fc8
Fix fw
ktmq Oct 17, 2024
569c872
Use uuid in paths, update tests
ktmq Oct 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'origin/master' into katie.mckew/awsmc-1…
…070-aws-v2-terraform-provider
ktmq committed Oct 16, 2024
commit 14a3c54faf5fa8650b53d8aa8c97265a59a55da4
6 changes: 1 addition & 5 deletions datadog/fwprovider/framework_provider.go
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ var Resources = []func() resource.Resource{
NewApplicationKeyResource,
NewApmRetentionFilterResource,
NewApmRetentionFiltersOrderResource,
NewAwsAccountV2Resource,
NewCatalogEntityResource,
NewDashboardListResource,
NewDowntimeScheduleResource,
NewIntegrationAzureResource,
@@ -395,10 +395,6 @@ func defaultConfigureFunc(p *FrameworkProvider, request *provider.ConfigureReque
ddClientConfig.SetUnstableOperationEnabled("v2.UpdateOpenAPI", true)
ddClientConfig.SetUnstableOperationEnabled("v2.GetOpenAPI", true)
ddClientConfig.SetUnstableOperationEnabled("v2.DeleteOpenAPI", true)
ddClientConfig.SetUnstableOperationEnabled("v2.CreateAWSAccount", true)
ddClientConfig.SetUnstableOperationEnabled("v2.UpdateAWSAccount", true)
ddClientConfig.SetUnstableOperationEnabled("v2.DeleteAWSAccount", true)
ddClientConfig.SetUnstableOperationEnabled("v2.GetAWSAccount", true)

if !config.ApiUrl.IsNull() && config.ApiUrl.ValueString() != "" {
parsedAPIURL, parseErr := url.Parse(config.ApiUrl.ValueString())
85 changes: 39 additions & 46 deletions datadog/internal/utils/api_instances_helper.go
Original file line number Diff line number Diff line change
@@ -44,44 +44,45 @@
webhooksIntegrationApiV1 *datadogV1.WebhooksIntegrationApi

//V2 APIs
apiManagementAPIV2 *datadogV2.APIManagementApi
apmRetentionFiltersApiV2 *datadogV2.APMRetentionFiltersApi
awsIntegrationApiV2 *datadogV2.AWSIntegrationApi
auditApiV2 *datadogV2.AuditApi
authNMappingsApiV2 *datadogV2.AuthNMappingsApi
cloudflareIntegrationApiV2 *datadogV2.CloudflareIntegrationApi
csmThreatsApiV2 *datadogV2.CSMThreatsApi
confluentCloudApiV2 *datadogV2.ConfluentCloudApi
dashboardListsApiV2 *datadogV2.DashboardListsApi
downtimesApiV2 *datadogV2.DowntimesApi
eventsApiV2 *datadogV2.EventsApi
fastlyIntegrationApiV2 *datadogV2.FastlyIntegrationApi
gcpStsIntegrationApiV2 *datadogV2.GCPIntegrationApi
incidentServicesApiV2 *datadogV2.IncidentServicesApi
incidentTeamsApiV2 *datadogV2.IncidentTeamsApi
incidentsApiV2 *datadogV2.IncidentsApi
ipAllowlistApiV2 *datadogV2.IPAllowlistApi
keyManagementApiV2 *datadogV2.KeyManagementApi
logsApiV2 *datadogV2.LogsApi
logsArchivesApiV2 *datadogV2.LogsArchivesApi
logsMetricsApiV2 *datadogV2.LogsMetricsApi
metricsApiV2 *datadogV2.MetricsApi
monitorsApiV2 *datadogV2.MonitorsApi
opsgenieIntegrationApiV2 *datadogV2.OpsgenieIntegrationApi
organizationsApiV2 *datadogV2.OrganizationsApi
processesApiV2 *datadogV2.ProcessesApi
powerpackApiV2 *datadogV2.PowerpackApi
restrictionPolicyApiV2 *datadogV2.RestrictionPoliciesApi
rolesApiV2 *datadogV2.RolesApi
rumApiV2 *datadogV2.RUMApi
securityMonitoringApiV2 *datadogV2.SecurityMonitoringApi
sensitiveDataScannerApiV2 *datadogV2.SensitiveDataScannerApi
serviceAccountsApiV2 *datadogV2.ServiceAccountsApi
spansMetricsApiV2 *datadogV2.SpansMetricsApi
syntheticsApiV2 *datadogV2.SyntheticsApi
teamsApiV2 *datadogV2.TeamsApi
usageMeteringApiV2 *datadogV2.UsageMeteringApi
usersApiV2 *datadogV2.UsersApi
apiManagementAPIV2 *datadogV2.APIManagementApi
apmRetentionFiltersApiV2 *datadogV2.APMRetentionFiltersApi
auditApiV2 *datadogV2.AuditApi
authNMappingsApiV2 *datadogV2.AuthNMappingsApi
awsIntegrationApiV2 *datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / linter-checks

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test (0.14.11, ubuntu-latest)

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test (0.14.11, ubuntu-latest)

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test-tofu

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test-tofu

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test (0.15.5, ubuntu-latest)

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test (0.15.5, ubuntu-latest)

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test (1.5.3, ubuntu-latest)

undefined: datadogV2.AWSIntegrationApi

Check failure on line 51 in datadog/internal/utils/api_instances_helper.go

GitHub Actions / test (1.5.3, ubuntu-latest)

undefined: datadogV2.AWSIntegrationApi
cloudflareIntegrationApiV2 *datadogV2.CloudflareIntegrationApi
csmThreatsApiV2 *datadogV2.CSMThreatsApi
confluentCloudApiV2 *datadogV2.ConfluentCloudApi
dashboardListsApiV2 *datadogV2.DashboardListsApi
downtimesApiV2 *datadogV2.DowntimesApi
eventsApiV2 *datadogV2.EventsApi
fastlyIntegrationApiV2 *datadogV2.FastlyIntegrationApi
gcpStsIntegrationApiV2 *datadogV2.GCPIntegrationApi
incidentServicesApiV2 *datadogV2.IncidentServicesApi
incidentTeamsApiV2 *datadogV2.IncidentTeamsApi
incidentsApiV2 *datadogV2.IncidentsApi
ipAllowlistApiV2 *datadogV2.IPAllowlistApi
keyManagementApiV2 *datadogV2.KeyManagementApi
logsApiV2 *datadogV2.LogsApi
logsArchivesApiV2 *datadogV2.LogsArchivesApi
logsCustomDestinationsApiV2 *datadogV2.LogsCustomDestinationsApi
logsMetricsApiV2 *datadogV2.LogsMetricsApi
metricsApiV2 *datadogV2.MetricsApi
monitorsApiV2 *datadogV2.MonitorsApi
opsgenieIntegrationApiV2 *datadogV2.OpsgenieIntegrationApi
organizationsApiV2 *datadogV2.OrganizationsApi
processesApiV2 *datadogV2.ProcessesApi
powerpackApiV2 *datadogV2.PowerpackApi
restrictionPolicyApiV2 *datadogV2.RestrictionPoliciesApi
rolesApiV2 *datadogV2.RolesApi
rumApiV2 *datadogV2.RUMApi
securityMonitoringApiV2 *datadogV2.SecurityMonitoringApi
sensitiveDataScannerApiV2 *datadogV2.SensitiveDataScannerApi
serviceAccountsApiV2 *datadogV2.ServiceAccountsApi
spansMetricsApiV2 *datadogV2.SpansMetricsApi
syntheticsApiV2 *datadogV2.SyntheticsApi
teamsApiV2 *datadogV2.TeamsApi
usageMeteringApiV2 *datadogV2.UsageMeteringApi
usersApiV2 *datadogV2.UsersApi
}

// GetAuthenticationApiV1 get instance of AuthenticationApi
@@ -332,14 +333,6 @@
return i.webhooksIntegrationApiV1
}

// GetAWSIntegrationApiV2 get instance of AWSIntegrationApi
func (i *ApiInstances) GetAWSIntegrationApiV2() *datadogV2.AWSIntegrationApi {
if i.awsIntegrationApiV2 == nil {
i.awsIntegrationApiV2 = datadogV2.NewAWSIntegrationApi(i.HttpClient)
}
return i.awsIntegrationApiV2
}

// GetAuditApiV2 get instance of AuditApi
func (i *ApiInstances) GetAuditApiV2() *datadogV2.AuditApi {
if i.auditApiV2 == nil {
10 changes: 8 additions & 2 deletions datadog/resource_datadog_synthetics_test_.go
Original file line number Diff line number Diff line change
@@ -1972,7 +1972,10 @@ func buildDatadogSyntheticsAPITest(d *schema.ResourceData) *datadogV1.Synthetics
request.SetHost(attr.(string))
}
if attr, ok := d.GetOk("request_definition.0.port"); ok {
request.SetPort(attr.(string))
port := attr.(string)
request.SetPort(datadogV1.SyntheticsTestRequestPort{
SyntheticsTestRequestVariablePort: &port,
})
}
if attr, ok := d.GetOk("request_definition.0.dns_server"); ok {
request.SetDnsServer(attr.(string))
@@ -2066,7 +2069,10 @@ func buildDatadogSyntheticsAPITest(d *schema.ResourceData) *datadogV1.Synthetics
request.SetAllowInsecure(requestMap["allow_insecure"].(bool))
if step.SyntheticsAPITestStep.GetSubtype() == "grpc" {
request.SetHost(requestMap["host"].(string))
request.SetPort(requestMap["port"].(string))
port := requestMap["port"].(string)
request.SetPort(datadogV1.SyntheticsTestRequestPort{
SyntheticsTestRequestVariablePort: &port,
})
request.SetService(requestMap["service"].(string))
request.SetMessage(requestMap["message"].(string))
if v, ok := requestMap["call_type"].(string); ok && v != "" {
6 changes: 2 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module github.com/terraform-providers/terraform-provider-datadog

require (
github.com/DataDog/datadog-api-client-go/v2 v2.31.1-0.20241016211119-1852b9d9d253
github.com/DataDog/datadog-api-client-go/v2 v2.31.0
github.com/DataDog/dd-sdk-go-testing v0.0.0-20211116174033-1cd082e322ad
github.com/Masterminds/semver/v3 v3.1.1
github.com/google/go-cmp v0.5.9
@@ -96,6 +96,4 @@ require (
google.golang.org/protobuf v1.33.0 // indirect
)

go 1.22

toolchain go1.22.8
go 1.23
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/DataDog/datadog-api-client-go/v2 v2.31.1-0.20241016211119-1852b9d9d253 h1:XKPq+9pkZSrszdeSDN7BdOhXcaN0/9GN4T0ECjoELSo=
github.com/DataDog/datadog-api-client-go/v2 v2.31.1-0.20241016211119-1852b9d9d253/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U=
github.com/DataDog/datadog-api-client-go/v2 v2.31.0 h1:JfJhYlHfLzvauI8u6h23smTooWYe6quNhhg9gpTszWY=
github.com/DataDog/datadog-api-client-go/v2 v2.31.0/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U=
github.com/DataDog/datadog-go v4.4.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/DataDog/datadog-go v4.8.3+incompatible h1:fNGaYSuObuQb5nzeTQqowRAd9bpDIRRV4/gUtIBjh8Q=
github.com/DataDog/datadog-go v4.8.3+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
You are viewing a condensed version of this merge commit. You can view the full changes here.