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 }