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

Add support for Database Migration Services - Connection Profile resource #14383

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions .changelog/7447.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:new-resource
`google_database_migration_service_connection_profile`
```
377 changes: 193 additions & 184 deletions google/config.go

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions google/config_test_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ func configureTestBasePaths(c *Config, url string) {
c.ComputeBasePath = url
c.ContainerAnalysisBasePath = url
c.ContainerAttachedBasePath = url
c.DatabaseMigrationServiceBasePath = url
c.DataCatalogBasePath = url
c.DataFusionBasePath = url
c.DataLossPreventionBasePath = url
Expand Down
62 changes: 62 additions & 0 deletions google/database_migration_service_operation.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** Type: MMv1 ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------

package google

import (
"fmt"
"time"
)

type DatabaseMigrationServiceOperationWaiter struct {
Config *Config
UserAgent string
Project string
CommonOperationWaiter
}

func (w *DatabaseMigrationServiceOperationWaiter) QueryOp() (interface{}, error) {
if w == nil {
return nil, fmt.Errorf("Cannot query operation, it's unset or nil.")
}
// Returns the proper get.
url := fmt.Sprintf("%s%s", w.Config.DatabaseMigrationServiceBasePath, w.CommonOperationWaiter.Op.Name)

return SendRequest(w.Config, "GET", w.Project, url, w.UserAgent, nil)
}

func createDatabaseMigrationServiceWaiter(config *Config, op map[string]interface{}, project, activity, userAgent string) (*DatabaseMigrationServiceOperationWaiter, error) {
w := &DatabaseMigrationServiceOperationWaiter{
Config: config,
UserAgent: userAgent,
Project: project,
}
if err := w.CommonOperationWaiter.SetOp(op); err != nil {
return nil, err
}
return w, nil
}

func DatabaseMigrationServiceOperationWaitTime(config *Config, op map[string]interface{}, project, activity, userAgent string, timeout time.Duration) error {
if val, ok := op["name"]; !ok || val == "" {
// This was a synchronous call - there is no operation to wait for.
return nil
}
w, err := createDatabaseMigrationServiceWaiter(config, op, project, activity, userAgent)
if err != nil {
// If w is nil, the op was synchronous.
return err
}
return OperationWait(w, activity, timeout, config.PollInterval)
}
9 changes: 9 additions & 0 deletions google/framework_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ func (p *frameworkProvider) LoadAndValidateFramework(ctx context.Context, data P
p.ComputeBasePath = data.ComputeCustomEndpoint.ValueString()
p.ContainerAnalysisBasePath = data.ContainerAnalysisCustomEndpoint.ValueString()
p.ContainerAttachedBasePath = data.ContainerAttachedCustomEndpoint.ValueString()
p.DatabaseMigrationServiceBasePath = data.DatabaseMigrationServiceCustomEndpoint.ValueString()
p.DataCatalogBasePath = data.DataCatalogCustomEndpoint.ValueString()
p.DataFusionBasePath = data.DataFusionCustomEndpoint.ValueString()
p.DataLossPreventionBasePath = data.DataLossPreventionCustomEndpoint.ValueString()
Expand Down Expand Up @@ -526,6 +527,14 @@ func (p *frameworkProvider) HandleDefaults(ctx context.Context, data *ProviderMo
data.ContainerAttachedCustomEndpoint = types.StringValue(customEndpoint.(string))
}
}
if data.DatabaseMigrationServiceCustomEndpoint.IsNull() {
customEndpoint := MultiEnvDefault([]string{
"GOOGLE_DATABASE_MIGRATION_SERVICE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[DatabaseMigrationServiceBasePathKey])
if customEndpoint != nil {
data.DatabaseMigrationServiceCustomEndpoint = types.StringValue(customEndpoint.(string))
}
}
if data.DataCatalogCustomEndpoint.IsNull() {
customEndpoint := MultiEnvDefault([]string{
"GOOGLE_DATA_CATALOG_CUSTOM_ENDPOINT",
Expand Down
179 changes: 93 additions & 86 deletions google/framework_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,92 +55,93 @@ type frameworkProvider struct {
version string

// paths for client setup
AccessApprovalBasePath string
AccessContextManagerBasePath string
ActiveDirectoryBasePath string
AlloydbBasePath string
ApigeeBasePath string
AppEngineBasePath string
ArtifactRegistryBasePath string
BeyondcorpBasePath string
BigQueryBasePath string
BigqueryAnalyticsHubBasePath string
BigqueryConnectionBasePath string
BigqueryDatapolicyBasePath string
BigqueryDataTransferBasePath string
BigqueryReservationBasePath string
BigtableBasePath string
BillingBasePath string
BinaryAuthorizationBasePath string
CertificateManagerBasePath string
CloudAssetBasePath string
CloudBuildBasePath string
CloudFunctionsBasePath string
Cloudfunctions2BasePath string
CloudIdentityBasePath string
CloudIdsBasePath string
CloudIotBasePath string
CloudRunBasePath string
CloudRunV2BasePath string
CloudSchedulerBasePath string
CloudTasksBasePath string
ComputeBasePath string
ContainerAnalysisBasePath string
ContainerAttachedBasePath string
DataCatalogBasePath string
DataFusionBasePath string
DataLossPreventionBasePath string
DataplexBasePath string
DataprocBasePath string
DataprocMetastoreBasePath string
DatastoreBasePath string
DatastreamBasePath string
DeploymentManagerBasePath string
DialogflowBasePath string
DialogflowCXBasePath string
DNSBasePath string
DocumentAIBasePath string
EssentialContactsBasePath string
FilestoreBasePath string
FirestoreBasePath string
GameServicesBasePath string
GKEBackupBasePath string
GKEHubBasePath string
HealthcareBasePath string
IAM2BasePath string
IAMBetaBasePath string
IAMWorkforcePoolBasePath string
IapBasePath string
IdentityPlatformBasePath string
KMSBasePath string
LoggingBasePath string
MemcacheBasePath string
MLEngineBasePath string
MonitoringBasePath string
NetworkManagementBasePath string
NetworkServicesBasePath string
NotebooksBasePath string
OSConfigBasePath string
OSLoginBasePath string
PrivatecaBasePath string
PubsubBasePath string
PubsubLiteBasePath string
RedisBasePath string
ResourceManagerBasePath string
SecretManagerBasePath string
SecurityCenterBasePath string
ServiceManagementBasePath string
ServiceUsageBasePath string
SourceRepoBasePath string
SpannerBasePath string
SQLBasePath string
StorageBasePath string
StorageTransferBasePath string
TagsBasePath string
TPUBasePath string
VertexAIBasePath string
VPCAccessBasePath string
WorkflowsBasePath string
AccessApprovalBasePath string
AccessContextManagerBasePath string
ActiveDirectoryBasePath string
AlloydbBasePath string
ApigeeBasePath string
AppEngineBasePath string
ArtifactRegistryBasePath string
BeyondcorpBasePath string
BigQueryBasePath string
BigqueryAnalyticsHubBasePath string
BigqueryConnectionBasePath string
BigqueryDatapolicyBasePath string
BigqueryDataTransferBasePath string
BigqueryReservationBasePath string
BigtableBasePath string
BillingBasePath string
BinaryAuthorizationBasePath string
CertificateManagerBasePath string
CloudAssetBasePath string
CloudBuildBasePath string
CloudFunctionsBasePath string
Cloudfunctions2BasePath string
CloudIdentityBasePath string
CloudIdsBasePath string
CloudIotBasePath string
CloudRunBasePath string
CloudRunV2BasePath string
CloudSchedulerBasePath string
CloudTasksBasePath string
ComputeBasePath string
ContainerAnalysisBasePath string
ContainerAttachedBasePath string
DatabaseMigrationServiceBasePath string
DataCatalogBasePath string
DataFusionBasePath string
DataLossPreventionBasePath string
DataplexBasePath string
DataprocBasePath string
DataprocMetastoreBasePath string
DatastoreBasePath string
DatastreamBasePath string
DeploymentManagerBasePath string
DialogflowBasePath string
DialogflowCXBasePath string
DNSBasePath string
DocumentAIBasePath string
EssentialContactsBasePath string
FilestoreBasePath string
FirestoreBasePath string
GameServicesBasePath string
GKEBackupBasePath string
GKEHubBasePath string
HealthcareBasePath string
IAM2BasePath string
IAMBetaBasePath string
IAMWorkforcePoolBasePath string
IapBasePath string
IdentityPlatformBasePath string
KMSBasePath string
LoggingBasePath string
MemcacheBasePath string
MLEngineBasePath string
MonitoringBasePath string
NetworkManagementBasePath string
NetworkServicesBasePath string
NotebooksBasePath string
OSConfigBasePath string
OSLoginBasePath string
PrivatecaBasePath string
PubsubBasePath string
PubsubLiteBasePath string
RedisBasePath string
ResourceManagerBasePath string
SecretManagerBasePath string
SecurityCenterBasePath string
ServiceManagementBasePath string
ServiceUsageBasePath string
SourceRepoBasePath string
SpannerBasePath string
SQLBasePath string
StorageBasePath string
StorageTransferBasePath string
TagsBasePath string
TPUBasePath string
VertexAIBasePath string
VPCAccessBasePath string
WorkflowsBasePath string
}

// Metadata returns the provider type name.
Expand Down Expand Up @@ -407,6 +408,12 @@ func (p *frameworkProvider) Schema(_ context.Context, _ provider.SchemaRequest,
CustomEndpointValidator(),
},
},
"database_migration_service_custom_endpoint": &schema.StringAttribute{
Optional: true,
Validators: []validator.String{
CustomEndpointValidator(),
},
},
"data_catalog_custom_endpoint": &schema.StringAttribute{
Optional: true,
Validators: []validator.String{
Expand Down
11 changes: 9 additions & 2 deletions google/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,11 @@ func Provider() *schema.Provider {
Optional: true,
ValidateFunc: validateCustomEndpoint,
},
"database_migration_service_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validateCustomEndpoint,
},
"data_catalog_custom_endpoint": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -712,9 +717,9 @@ func Provider() *schema.Provider {
return provider
}

// Generated resources: 282
// Generated resources: 283
// Generated IAM resources: 186
// Total generated resources: 468
// Total generated resources: 469
func ResourceMap() map[string]*schema.Resource {
resourceMap, _ := ResourceMapWithErrors()
return resourceMap
Expand Down Expand Up @@ -937,6 +942,7 @@ func ResourceMapWithErrors() (map[string]*schema.Resource, error) {
"google_container_analysis_note": ResourceContainerAnalysisNote(),
"google_container_analysis_occurrence": ResourceContainerAnalysisOccurrence(),
"google_container_attached_cluster": ResourceContainerAttachedCluster(),
"google_database_migration_service_connection_profile": ResourceDatabaseMigrationServiceConnectionProfile(),
"google_data_catalog_entry": ResourceDataCatalogEntry(),
"google_data_catalog_entry_group": ResourceDataCatalogEntryGroup(),
"google_data_catalog_entry_group_iam_binding": ResourceIamBinding(DataCatalogEntryGroupIamSchema, DataCatalogEntryGroupIamUpdaterProducer, DataCatalogEntryGroupIdParseFunc),
Expand Down Expand Up @@ -1445,6 +1451,7 @@ func providerConfigure(ctx context.Context, d *schema.ResourceData, p *schema.Pr
config.ComputeBasePath = d.Get("compute_custom_endpoint").(string)
config.ContainerAnalysisBasePath = d.Get("container_analysis_custom_endpoint").(string)
config.ContainerAttachedBasePath = d.Get("container_attached_custom_endpoint").(string)
config.DatabaseMigrationServiceBasePath = d.Get("database_migration_service_custom_endpoint").(string)
config.DataCatalogBasePath = d.Get("data_catalog_custom_endpoint").(string)
config.DataFusionBasePath = d.Get("data_fusion_custom_endpoint").(string)
config.DataLossPreventionBasePath = d.Get("data_loss_prevention_custom_endpoint").(string)
Expand Down
Loading