github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/icd/icdv4/connection/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"log"
     6  	"os"
     7  
     8  	"github.com/IBM-Cloud/bluemix-go/api/icd/icdv4"
     9  	"github.com/IBM-Cloud/bluemix-go/session"
    10  	"github.com/IBM-Cloud/bluemix-go/trace"
    11  )
    12  
    13  func main() {
    14  
    15  	var icdId string
    16  	var userId string
    17  	flag.StringVar(&icdId, "icdId", "", "CRN of the IBM Cloud Database service instance")
    18  	flag.StringVar(&userId, "userId", "", "Userid for IBM Cloud Database connection")
    19  	flag.Parse()
    20  
    21  	if icdId == "" || userId == "" {
    22  		flag.Usage()
    23  		os.Exit(1)
    24  	}
    25  
    26  	trace.Logger = trace.NewLogger("true")
    27  	sess, err := session.New()
    28  	if err != nil {
    29  		log.Fatal(err)
    30  	}
    31  
    32  	icdClient, err := icdv4.New(sess)
    33  	if err != nil {
    34  		log.Fatal(err)
    35  	}
    36  	connectionAPI := icdClient.Connections()
    37  	connection, err := connectionAPI.GetConnection(icdId, userId)
    38  
    39  	if err != nil {
    40  		log.Fatal(err)
    41  	}
    42  	//log.Println("Connection :",connection)
    43  	if connection.Postgres.Type != "" {
    44  		for _, l := range connection.Postgres.Composed {
    45  			log.Println("Composed: ", l)
    46  		}
    47  		log.Println("Type ", connection.Postgres.Type)
    48  		log.Println("Scheme: ", connection.Postgres.Scheme)
    49  		log.Println("Path: ", connection.Postgres.Path)
    50  		log.Println("Hosts.Name: ", connection.Postgres.Hosts[0].HostName)
    51  		log.Println("Hosts.Ports: ", connection.Postgres.Hosts[0].Port)
    52  		log.Println("Query Options: ", connection.Postgres.QueryOptions)
    53  
    54  		log.Println("Method: ", connection.Postgres.Authentication.Method)
    55  		log.Println("UserName: ", connection.Postgres.Authentication.UserName)
    56  		log.Println("Password: ", connection.Postgres.Authentication.Password)
    57  		log.Println("Name: ", connection.Postgres.Certificate.Name)
    58  		log.Println("CertificateBase64: ", connection.Postgres.Certificate.CertificateBase64)
    59  		log.Println("Database: ", connection.Postgres.Database)
    60  		log.Println("Composed: ", connection.Cli.Composed[0])
    61  		log.Println("Type: ", connection.Cli.Type)
    62  		log.Println("Bin: ", connection.Cli.Bin)
    63  		log.Println("Arguments: ", connection.Cli.Arguments[0][0])
    64  		//log.Println("CertificateBase64: ",connection.Cli.Certificate.CertificateBase64)
    65  	}
    66  
    67  	if connection.Grpc.Type != "" {
    68  		for _, l := range connection.Postgres.Composed {
    69  			log.Println("Composed: ", l)
    70  		}
    71  		log.Println("Type ", connection.Grpc.Type)
    72  		log.Println("Scheme: ", connection.Grpc.Scheme)
    73  		log.Println("Path: ", connection.Grpc.Path)
    74  		log.Println("Hosts.Name: ", connection.Grpc.Hosts[0].HostName)
    75  		log.Println("Hosts.Ports: ", connection.Grpc.Hosts[0].Port)
    76  		log.Println("Query Options: ", connection.Grpc.QueryOptions)
    77  
    78  		log.Println("Method: ", connection.Grpc.Authentication.Method)
    79  		log.Println("UserName: ", connection.Grpc.Authentication.UserName)
    80  		log.Println("Password: ", connection.Grpc.Authentication.Password)
    81  		log.Println("Name: ", connection.Grpc.Certificate.Name)
    82  		//log.Println("CertificateBase64: ", connection.Grpc.Certificate.CertificateBase64)
    83  		log.Println("Database: ", connection.Grpc.Database)
    84  		log.Println("Composed: ", connection.Cli.Composed[0])
    85  		log.Println("Type: ", connection.Cli.Type)
    86  		log.Println("Bin: ", connection.Cli.Bin)
    87  		log.Println("Arguments: ", connection.Cli.Arguments[0][0])
    88  		//log.Println("CertificateBase64: ",connection.Cli.Certificate.CertificateBase64)
    89  	}
    90  
    91  	if connection.Rediss.Type != "" {
    92  		for _, l := range connection.Postgres.Composed {
    93  			log.Println("Composed: ", l)
    94  		}
    95  		log.Println("Type: ", connection.Rediss.Type)
    96  		log.Println("Scheme: ", connection.Rediss.Scheme)
    97  		log.Println("Path: ", connection.Rediss.Path)
    98  		log.Println("Hosts.Name: ", connection.Rediss.Hosts[0].HostName)
    99  		log.Println("Hosts.Ports: ", connection.Rediss.Hosts[0].Port)
   100  		log.Println("Query Options: ", connection.Rediss.QueryOptions)
   101  
   102  		log.Println("Method: ", connection.Rediss.Authentication.Method)
   103  		log.Println("UserName: ", connection.Rediss.Authentication.UserName)
   104  		log.Println("Password: ", connection.Rediss.Authentication.Password)
   105  		log.Println("Name: ", connection.Rediss.Certificate.Name)
   106  		//log.Println("CertificateBase64: ", connection.Rediss.Certificate.CertificateBase64)
   107  		log.Println("Database: ", connection.Rediss.Database)
   108  		log.Println("Composed: ", connection.Cli.Composed[0])
   109  		log.Println("Type: ", connection.Cli.Type)
   110  		log.Println("Bin: ", connection.Cli.Bin)
   111  		log.Println("Arguments: ", connection.Cli.Arguments[0][0])
   112  		//log.Println("CertificateBase64: ",connection.Cli.Certificate.CertificateBase64)
   113  	}
   114  	if connection.Https.Type != "" {
   115  		for _, l := range connection.Postgres.Composed {
   116  			log.Println("Composed: ", l)
   117  		}
   118  		log.Println("Type: ", connection.Https.Type)
   119  		log.Println("Scheme: ", connection.Https.Scheme)
   120  		log.Println("Path: ", connection.Https.Path)
   121  		log.Println("Hosts.Name: ", connection.Https.Hosts[0].HostName)
   122  		log.Println("Hosts.Ports: ", connection.Https.Hosts[0].Port)
   123  		log.Println("Query Options: ", connection.Https.QueryOptions)
   124  
   125  		log.Println("Method: ", connection.Https.Authentication.Method)
   126  		log.Println("UserName: ", connection.Https.Authentication.UserName)
   127  		log.Println("Password: ", connection.Https.Authentication.Password)
   128  		log.Println("Name: ", connection.Https.Certificate.Name)
   129  		//log.Println("CertificateBase64: ", connection.Https.Certificate.CertificateBase64)
   130  		log.Println("Database: ", connection.Https.Database)
   131  		log.Println("Composed: ", connection.Cli.Composed[0])
   132  		log.Println("Type: ", connection.Cli.Type)
   133  		log.Println("Bin: ", connection.Cli.Bin)
   134  		log.Println("Arguments: ", connection.Cli.Arguments[0][0])
   135  		//log.Println("CertificateBase64: ",connection.Cli.Certificate.CertificateBase64)
   136  	}
   137  	if connection.Amqps.Type != "" {
   138  		for _, l := range connection.Postgres.Composed {
   139  			log.Println("Composed: ", l)
   140  		}
   141  		log.Println("Type: ", connection.Amqps.Type)
   142  		log.Println("Scheme: ", connection.Amqps.Scheme)
   143  		log.Println("Path: ", connection.Amqps.Path)
   144  		log.Println("Hosts.Name: ", connection.Amqps.Hosts[0].HostName)
   145  		log.Println("Hosts.Ports: ", connection.Amqps.Hosts[0].Port)
   146  		log.Println("Query Options: ", connection.Amqps.QueryOptions)
   147  
   148  		log.Println("Method: ", connection.Amqps.Authentication.Method)
   149  		log.Println("UserName: ", connection.Amqps.Authentication.UserName)
   150  		log.Println("Password: ", connection.Amqps.Authentication.Password)
   151  		log.Println("Name: ", connection.Amqps.Certificate.Name)
   152  		//log.Println("CertificateBase64: ", connection.Amqps.Certificate.CertificateBase64)
   153  		log.Println("Database: ", connection.Amqps.Database)
   154  		log.Println("Composed: ", connection.Cli.Composed[0])
   155  		log.Println("Type: ", connection.Cli.Type)
   156  		log.Println("Bin: ", connection.Cli.Bin)
   157  		log.Println("Arguments: ", connection.Cli.Arguments[0][0])
   158  		//log.Println("CertificateBase64: ",connection.Cli.Certificate.CertificateBase64)
   159  	}
   160  	if connection.Mongo.Type != "" {
   161  		for _, l := range connection.Mongo.Composed {
   162  			log.Println("Composed: ", l)
   163  		}
   164  		log.Println("Type ", connection.Mongo.Type)
   165  		log.Println("Scheme: ", connection.Mongo.Scheme)
   166  		log.Println("Path: ", connection.Mongo.Path)
   167  		for _, l := range connection.Mongo.Hosts {
   168  			log.Println("Hosts.Name: ", l.HostName)
   169  			log.Println("Hosts.Ports: ", l.Port)
   170  		}
   171  		log.Println("Query Options: ", connection.Mongo.QueryOptions)
   172  
   173  		log.Println("Method: ", connection.Mongo.Authentication.Method)
   174  		log.Println("UserName: ", connection.Mongo.Authentication.UserName)
   175  		log.Println("Password: ", connection.Mongo.Authentication.Password)
   176  		log.Println("Name: ", connection.Mongo.Certificate.Name)
   177  		log.Println("CertificateBase64: ", connection.Mongo.Certificate.CertificateBase64)
   178  		log.Println("Database: ", connection.Mongo.Database)
   179  		log.Println("Composed: ", connection.Cli.Composed[0])
   180  		log.Println("Type: ", connection.Cli.Type)
   181  		log.Println("Bin: ", connection.Cli.Bin)
   182  		log.Println("Arguments: ", connection.Cli.Arguments[0][0])
   183  		//log.Println("CertificateBase64: ",connection.Cli.Certificate.CertificateBase64)
   184  	}
   185  }