1/*
2Package secrets manages and retrieves secrets in the OpenStack Key Manager
3Service.
4
5Example 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
30Example 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
39Example 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
49Example 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
68Example 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
80Example to Delete a Secrets
81
82	err := secrets.Delete(client, secretID).ExtractErr()
83	if err != nil {
84		panic(err)
85	}
86
87Example 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
101Example 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
110Example 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
122Example 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
136Example to Delete Metadata of a Secret
137
138	err := secrets.DeleteMetadatum(client, secretID, "foo").ExtractErr()
139	if err != nil {
140		panic(err)
141	}
142*/
143package secrets
144