Skip to content

Commit

Permalink
Add support for Database Migration Services - Connection Profile reso…
Browse files Browse the repository at this point in the history
…urce (#7447) (#14383)

Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Apr 20, 2023
1 parent b0215fc commit 07f0770
Show file tree
Hide file tree
Showing 13 changed files with 4,140 additions and 358 deletions.
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

0 comments on commit 07f0770

Please sign in to comment.