github.com/gophercloud/gophercloud@v1.11.0/openstack/keymanager/v1/secrets/doc.go (about)

     1  /*
     2  Package secrets manages and retrieves secrets in the OpenStack Key Manager
     3  Service.
     4  
     5  Example to List Secrets
     6  
     7  	createdQuery := &secrets.DateQuery{
     8  		Date:   time.Date(2049, 6, 7, 1, 2, 3, 0, time.UTC),
     9  		Filter: secrets.DateFilterLT,
    10  	}
    11  
    12  	listOpts := secrets.ListOpts{
    13  		CreatedQuery: createdQuery,
    14  	}
    15  
    16  	allPages, err := secrets.List(client, listOpts).AllPages()
    17  	if err != nil {
    18  		panic(err)
    19  	}
    20  
    21  	allSecrets, err := secrets.ExtractSecrets(allPages)
    22  	if err != nil {
    23  		panic(err)
    24  	}
    25  
    26  	for _, v := range allSecrets {
    27  		fmt.Printf("%v\n", v)
    28  	}
    29  
    30  Example to Get a Secret
    31  
    32  	secret, err := secrets.Get(client, secretID).Extract()
    33  	if err != nil {
    34  		panic(err)
    35  	}
    36  
    37  	fmt.Printf("%v\n", secret)
    38  
    39  Example to Get a Payload
    40  
    41  	// if "Extract" method is not called, the HTTP connection will remain consumed
    42  	payload, err := secrets.GetPayload(client, secretID).Extract()
    43  	if err != nil {
    44  		panic(err)
    45  	}
    46  
    47  	fmt.Println(string(payload))
    48  
    49  Example to Create a Secrets
    50  
    51  	createOpts := secrets.CreateOpts{
    52  		Algorithm:         "aes",
    53  		BitLength:          256,
    54  		Mode:               "cbc",
    55  		Name:               "mysecret",
    56  		Payload:            "super-secret",
    57  		PayloadContentType: "text/plain",
    58  		SecretType:         secrets.OpaqueSecret,
    59  	}
    60  
    61  	secret, err := secrets.Create(client, createOpts).Extract()
    62  	if err != nil {
    63  		panic(err)
    64  	}
    65  
    66  	fmt.Println(secret.SecretRef)
    67  
    68  Example to Add a Payload
    69  
    70  	updateOpts := secrets.UpdateOpts{
    71  		ContentType: "text/plain",
    72  		Payload:     "super-secret",
    73  	}
    74  
    75  	err := secrets.Update(client, secretID, updateOpts).ExtractErr()
    76  	if err != nil {
    77  		panic(err)
    78  	}
    79  
    80  Example to Delete a Secrets
    81  
    82  	err := secrets.Delete(client, secretID).ExtractErr()
    83  	if err != nil {
    84  		panic(err)
    85  	}
    86  
    87  Example to Create Metadata for a Secret
    88  
    89  	createOpts := secrets.MetadataOpts{
    90  		"foo":       "bar",
    91  		"something": "something else",
    92  	}
    93  
    94  	ref, err := secrets.CreateMetadata(client, secretID, createOpts).Extract()
    95  	if err != nil {
    96  		panic(err)
    97  	}
    98  
    99  	fmt.Printf("%v\n", ref)
   100  
   101  Example to Get Metadata for a Secret
   102  
   103  	metadata, err := secrets.GetMetadata(client, secretID).Extract()
   104  	if err != nil {
   105  		panic(err)
   106  	}
   107  
   108  	fmt.Printf("%v\n", metadata)
   109  
   110  Example to Add Metadata to a Secret
   111  
   112  	metadatumOpts := secrets.MetadatumOpts{
   113  		Key:   "foo",
   114  		Value: "bar",
   115  	}
   116  
   117  	err := secrets.CreateMetadatum(client, secretID, metadatumOpts).ExtractErr()
   118  	if err != nil {
   119  		panic(err)
   120  	}
   121  
   122  Example to Update Metadata of a Secret
   123  
   124  	metadatumOpts := secrets.MetadatumOpts{
   125  		Key:   "foo",
   126  		Value: "bar",
   127  	}
   128  
   129  	metadatum, err := secrets.UpdateMetadatum(client, secretID, metadatumOpts).Extract()
   130  	if err != nil {
   131  		panic(err)
   132  	}
   133  
   134  	fmt.Printf("%v\n", metadatum)
   135  
   136  Example to Delete Metadata of a Secret
   137  
   138  	err := secrets.DeleteMetadatum(client, secretID, "foo").ExtractErr()
   139  	if err != nil {
   140  		panic(err)
   141  	}
   142  */
   143  package secrets