github.com/gophercloud/gophercloud@v1.11.0/openstack/compute/v2/extensions/keypairs/doc.go (about) 1 /* 2 Package keypairs provides the ability to manage key pairs as well as create 3 servers with a specified key pair. 4 5 Example to List Key Pairs 6 7 allPages, err := keypairs.List(computeClient, nil).AllPages() 8 if err != nil { 9 panic(err) 10 } 11 12 allKeyPairs, err := keypairs.ExtractKeyPairs(allPages) 13 if err != nil { 14 panic(err) 15 } 16 17 for _, kp := range allKeyPairs { 18 fmt.Printf("%+v\n", kp) 19 } 20 21 Example to List Key Pairs using microversion 2.10 or greater 22 23 client.Microversion = "2.10" 24 25 listOpts := keypairs.ListOpts{ 26 UserID: "user-id", 27 } 28 29 allPages, err := keypairs.List(computeClient, listOpts).AllPages() 30 if err != nil { 31 panic(err) 32 } 33 34 allKeyPairs, err := keypairs.ExtractKeyPairs(allPages) 35 if err != nil { 36 panic(err) 37 } 38 39 for _, kp := range allKeyPairs { 40 fmt.Printf("%+v\n", kp) 41 } 42 43 Example to Create a Key Pair 44 45 createOpts := keypairs.CreateOpts{ 46 Name: "keypair-name", 47 } 48 49 keypair, err := keypairs.Create(computeClient, createOpts).Extract() 50 if err != nil { 51 panic(err) 52 } 53 54 fmt.Printf("%+v", keypair) 55 56 Example to Import a Key Pair 57 58 createOpts := keypairs.CreateOpts{ 59 Name: "keypair-name", 60 PublicKey: "public-key", 61 } 62 63 keypair, err := keypairs.Create(computeClient, createOpts).Extract() 64 if err != nil { 65 panic(err) 66 } 67 68 Example to Delete a Key Pair 69 70 err := keypairs.Delete(computeClient, "keypair-name", nil).ExtractErr() 71 if err != nil { 72 panic(err) 73 } 74 75 Example to Delete a Key Pair owned by a certain user using microversion 2.10 or greater 76 77 client.Microversion = "2.10" 78 79 deleteOpts := keypairs.DeleteOpts{ 80 UserID: "user-id", 81 } 82 83 err := keypairs.Delete(client, "keypair-name", deleteOpts).ExtractErr() 84 if err != nil { 85 panic(err) 86 } 87 88 Example to Create a Server With a Key Pair 89 90 serverCreateOpts := servers.CreateOpts{ 91 Name: "server_name", 92 ImageRef: "image-uuid", 93 FlavorRef: "flavor-uuid", 94 } 95 96 createOpts := keypairs.CreateOptsExt{ 97 CreateOptsBuilder: serverCreateOpts, 98 KeyName: "keypair-name", 99 } 100 101 server, err := servers.Create(computeClient, createOpts).Extract() 102 if err != nil { 103 panic(err) 104 } 105 106 Example to Get a Key Pair owned by a certain user using microversion 2.10 or greater 107 108 client.Microversion = "2.10" 109 110 getOpts := keypairs.GetOpts{ 111 UserID: "user-id", 112 } 113 114 keypair, err := keypairs.Get(computeClient, "keypair-name", getOpts).Extract() 115 if err != nil { 116 panic(err) 117 } 118 */ 119 package keypairs