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