mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-15 19:00:19 +00:00
4f0bb2315b
With Amazon STS and kubernetes cluster is configured with OIDC identity provider, credentials to access Amazon KMS can be fetched using oidc-token(serviceaccount token). Each tenant/namespace needs to create a secret with aws region, role and CMK ARN. Ceph-CSI will assume the given role with oidc token and access aws KMS, with given CMK to encrypt/decrypt DEK which will stored in the image metdata. Refer: https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html Resolves: #2879 Signed-off-by: Rakshith R <rar@redhat.com>
50 lines
2.0 KiB
Go
50 lines
2.0 KiB
Go
/*
|
|
Package xml holds the XMl encoder utility. This utility is written in accordance to our design to delegate to
|
|
shape serializer function in which a xml.Value will be passed around.
|
|
|
|
Resources followed: https://awslabs.github.io/smithy/1.0/spec/core/xml-traits.html#
|
|
|
|
Member Element
|
|
|
|
Member element should be used to encode xml shapes into xml elements except for flattened xml shapes. Member element
|
|
write their own element start tag. These elements should always be closed.
|
|
|
|
Flattened Element
|
|
|
|
Flattened element should be used to encode shapes marked with flattened trait into xml elements. Flattened element
|
|
do not write a start tag, and thus should not be closed.
|
|
|
|
Simple types encoding
|
|
|
|
All simple type methods on value such as String(), Long() etc; auto close the associated member element.
|
|
|
|
Array
|
|
|
|
Array returns the collection encoder. It has two modes, wrapped and flattened encoding.
|
|
|
|
Wrapped arrays have two methods Array() and ArrayWithCustomName() which facilitate array member wrapping.
|
|
By default, a wrapped array members are wrapped with `member` named start element.
|
|
|
|
<wrappedArray><member>apple</member><member>tree</member></wrappedArray>
|
|
|
|
Flattened arrays rely on Value being marked as flattened.
|
|
If a shape is marked as flattened, Array() will use the shape element name as wrapper for array elements.
|
|
|
|
<flattenedAarray>apple</flattenedArray><flattenedArray>tree</flattenedArray>
|
|
|
|
Map
|
|
|
|
Map is the map encoder. It has two modes, wrapped and flattened encoding.
|
|
|
|
Wrapped map has Array() method, which facilitate map member wrapping.
|
|
By default, a wrapped map members are wrapped with `entry` named start element.
|
|
|
|
<wrappedMap><entry><Key>apple</Key><Value>tree</Value></entry><entry><Key>snow</Key><Value>ice</Value></entry></wrappedMap>
|
|
|
|
Flattened map rely on Value being marked as flattened.
|
|
If a shape is marked as flattened, Map() will use the shape element name as wrapper for map entry elements.
|
|
|
|
<flattenedMap><Key>apple</Key><Value>tree</Value></flattenedMap><flattenedMap><Key>snow</Key><Value>ice</Value></flattenedMap>
|
|
*/
|
|
package xml
|