Skip to content

Commit

Permalink
chore(Cloud-Databases): Remove Datastax (#5511)
Browse files Browse the repository at this point in the history
  • Loading branch information
omaraibrahim authored Jul 31, 2024
1 parent bfb907a commit af032b8
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 942 deletions.
38 changes: 0 additions & 38 deletions ibm/service/database/data_source_ibm_database_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -1850,14 +1850,6 @@ func DataSourceIBMDatabaseConnectionRead(context context.Context, d *schema.Reso
}

secure := []map[string]interface{}{}
if conn.Secure != nil {
modelMap, err := DataSourceIBMDatabaseConnectionDataStaxConnectionURIToMap(conn.Secure)
if err != nil {
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_database_connection", "read")
return tfErr.GetDiag()
}
secure = append(secure, modelMap)
}
if err = d.Set("secure", secure); err != nil {
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting secure: %s", err), "(Data) ibm_database_connection", "read")
return tfErr.GetDiag()
Expand Down Expand Up @@ -2235,36 +2227,6 @@ func DataSourceIBMDatabaseConnectionMySQLConnectionURIToMap(model *clouddatabase
return modelMap, nil
}

func DataSourceIBMDatabaseConnectionDataStaxConnectionURIToMap(model *clouddatabasesv5.DataStaxConnectionURI) (map[string]interface{}, error) {
modelMap := make(map[string]interface{})
if model.Hosts != nil {
hosts := []map[string]interface{}{}
for _, hostsItem := range model.Hosts {
hostsItemMap, err := DataSourceIBMDatabaseConnectionConnectionHostToMap(&hostsItem)
if err != nil {
return modelMap, err
}
hosts = append(hosts, hostsItemMap)
}
modelMap["hosts"] = hosts
}
if model.Authentication != nil {
authenticationMap, err := DataSourceIBMDatabaseConnectionConnectionAuthenticationToMap(model.Authentication)
if err != nil {
return modelMap, err
}
modelMap["authentication"] = []map[string]interface{}{authenticationMap}
}
if model.Bundle != nil {
bundleMap, err := DataSourceIBMDatabaseConnectionConnectionBundleToMap(model.Bundle)
if err != nil {
return modelMap, err
}
modelMap["bundle"] = []map[string]interface{}{bundleMap}
}
return modelMap, nil
}

func DataSourceIBMDatabaseConnectionConnectionBundleToMap(model *clouddatabasesv5.ConnectionBundle) (map[string]interface{}, error) {
modelMap := make(map[string]interface{})
if model.Name != nil {
Expand Down
77 changes: 25 additions & 52 deletions ibm/service/database/resource_ibm_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
"log"
"net/url"
"os"
"reflect"
"regexp"
"sort"
"strconv"
Expand Down Expand Up @@ -378,16 +377,6 @@ func ResourceIBMDatabaseInstance() *schema.Resource {
Type: schema.TypeString,
Computed: true,
},
"bundlename": {
Description: "Cassandra Bundle Name",
Type: schema.TypeString,
Computed: true,
},
"bundlebase64": {
Description: "Cassandra base64 encoding",
Type: schema.TypeString,
Computed: true,
},
"password": {
Description: "Password",
Type: schema.TypeString,
Expand Down Expand Up @@ -955,7 +944,7 @@ func ResourceIBMICDValidator() *validate.ResourceValidator {
Identifier: "service",
ValidateFunctionIdentifier: validate.ValidateAllowedStringValue,
Type: validate.TypeString,
AllowedValues: "databases-for-etcd, databases-for-postgresql, databases-for-redis, databases-for-elasticsearch, databases-for-mongodb, messages-for-rabbitmq, databases-for-mysql, databases-for-cassandra, databases-for-enterprisedb",
AllowedValues: "databases-for-etcd, databases-for-postgresql, databases-for-redis, databases-for-elasticsearch, databases-for-mongodb, messages-for-rabbitmq, databases-for-mysql, databases-for-enterprisedb",
Required: true})
validateSchema = append(validateSchema,
validate.ValidateSchema{
Expand All @@ -976,7 +965,7 @@ func ResourceIBMICDValidator() *validate.ResourceValidator {
Identifier: "group_id",
ValidateFunctionIdentifier: validate.ValidateAllowedStringValue,
Type: validate.TypeString,
AllowedValues: "member, analytics, bi_connector, search",
AllowedValues: "member, analytics, bi_connector",
Required: true})

ibmICDResourceValidator := validate.ResourceValidator{ResourceName: "ibm_database", Schema: validateSchema}
Expand Down Expand Up @@ -1041,10 +1030,6 @@ func getDefaultScalingGroups(_service string, _plan string, _hostFlavor string,

service := match[1]

if service == "cassandra" {
service = "datastax_enterprise_full"
}

if service == "mongodb" && _plan == "enterprise" {
service = "mongodbee"
}
Expand Down Expand Up @@ -2249,7 +2234,6 @@ func getConnectionString(d *schema.ResourceData, userName, connectionEndpoint st

service := d.Get("service")
dbConnection := icdv4.Uri{}
var cassandraConnection icdv4.CassandraUri

switch service {
case "databases-for-postgresql":
Expand All @@ -2262,8 +2246,6 @@ func getConnectionString(d *schema.ResourceData, userName, connectionEndpoint st
dbConnection = connection.Mysql
case "databases-for-elasticsearch":
dbConnection = connection.Https
case "databases-for-cassandra":
cassandraConnection = connection.Secure
case "databases-for-etcd":
dbConnection = connection.Grpc
case "messages-for-rabbitmq":
Expand All @@ -2274,40 +2256,31 @@ func getConnectionString(d *schema.ResourceData, userName, connectionEndpoint st
return csEntry, fmt.Errorf("[ERROR] Unrecognised database type during connection string lookup: %s", service)
}

if !reflect.DeepEqual(cassandraConnection, icdv4.CassandraUri{}) {
csEntry = flex.CsEntry{
Name: userName,
Hosts: cassandraConnection.Hosts,
BundleName: cassandraConnection.Bundle.Name,
BundleBase64: cassandraConnection.Bundle.BundleBase64,
csEntry = flex.CsEntry{
Name: userName,
Password: "",
// Populate only first 'composed' connection string as an example
Composed: dbConnection.Composed[0],
CertName: dbConnection.Certificate.Name,
CertBase64: dbConnection.Certificate.CertificateBase64,
Hosts: dbConnection.Hosts,
Scheme: dbConnection.Scheme,
Path: dbConnection.Path,
QueryOptions: dbConnection.QueryOptions.(map[string]interface{}),
}

// Postgres DB name is of type string, Redis is json.Number, others are nil
if dbConnection.Database != nil {
switch v := dbConnection.Database.(type) {
default:
return csEntry, fmt.Errorf("Unexpected data type: %T", v)
case json.Number:
csEntry.Database = dbConnection.Database.(json.Number).String()
case string:
csEntry.Database = dbConnection.Database.(string)
}
} else {
csEntry = flex.CsEntry{
Name: userName,
Password: "",
// Populate only first 'composed' connection string as an example
Composed: dbConnection.Composed[0],
CertName: dbConnection.Certificate.Name,
CertBase64: dbConnection.Certificate.CertificateBase64,
Hosts: dbConnection.Hosts,
Scheme: dbConnection.Scheme,
Path: dbConnection.Path,
QueryOptions: dbConnection.QueryOptions.(map[string]interface{}),
}

// Postgres DB name is of type string, Redis is json.Number, others are nil
if dbConnection.Database != nil {
switch v := dbConnection.Database.(type) {
default:
return csEntry, fmt.Errorf("Unexpected data type: %T", v)
case json.Number:
csEntry.Database = dbConnection.Database.(json.Number).String()
case string:
csEntry.Database = dbConnection.Database.(string)
}
} else {
csEntry.Database = ""
}
csEntry.Database = ""
}

return csEntry, nil
Expand Down
Loading

0 comments on commit af032b8

Please sign in to comment.