@@ -55,6 +55,7 @@ structure KeyStoreAdminConfig {
5555 @documentation (" The storage configuration for this Key Store." )
5656 storage : aws.cryptography.keyStore#Storage
5757}
58+
5859// KMS Arn validation MUST occur in Dafny
5960union KMSIdentifier {
6061 @documentation (
@@ -110,48 +111,38 @@ union KeyManagementStrategy {
110111 AwsKmsDecryptEncrypt : AwsKmsDecryptEncrypt
111112}
112113
113-
114- // CreateKey will create two keys to add to the key store
115- // One is the branch key, which is used in the hierarchical keyring
116- // The second is a beacon key that is used as a root key to
117- // derive different beacon keys per beacon.
118- @documentation (" Create a new Branch Key in the Key Store. Additionally create a Beacon Key that is tied to this Branch Key." )
114+ @documentation (
115+ " Create a new Branch Key in the Key Store.
116+ Additionally create a Beacon Key that is tied to this Branch Key." )
119117operation CreateKey {
120118 input : CreateKeyInput ,
121119 output : CreateKeyOutput
122120}
123121
124- //= aws-encryption-sdk-specification/framework/branch-key-store.md#createkey
125- //= type=implication
126- //# The CreateKey caller MUST provide:
127- //# - An optional branch key id
128- //# - An optional encryption context
129122structure CreateKeyInput {
130123 @documentation (" The identifier for the created Branch Key." )
131124 branchKeyIdentifier : String ,
132125
133- @documentation (" Custom encryption context for the Branch Key. Required if branchKeyIdentifier is set." )
126+ @documentation (
127+ " Custom encryption context for the Branch Key.
128+ Required if branchKeyIdentifier is set." )
134129 encryptionContext : aws.cryptography.keyStore#EncryptionContext
135130
136131 @required
137- @documentation (" Multi-Region or Single Region AWS KMS Key used to protect the Branch Key, but not aliases!" )
132+ @documentation (
133+ " Multi-Region or Single Region AWS KMS Key
134+ used to protect the Branch Key, but not aliases!" )
138135 kmsArn : KMSIdentifier
139136
140137 strategy : KeyManagementStrategy
141138}
142139
143- @documentation (" Outputs for Branch Key creation." )
144140structure CreateKeyOutput {
145141 @required
146142 @documentation (" A identifier for the created Branch Key." )
147143 branchKeyIdentifier : String
148144}
149145
150-
151- // VersionKey will create a new branch key under the
152- // provided branchKeyIdentifier and rotate the "older" material
153- // on the key store under the branchKeyIdentifier. This operation MUST NOT
154- // rotate the beacon key under the branchKeyIdentifier.
155146@documentation (
156147 " Create a new ACTIVE version of an existing Branch Key,
157148 along with a complementing Version (DECRYT_ONLY) in the Key Store.
@@ -166,21 +157,16 @@ operation VersionKey {
166157
167158@documentation (" Inputs for versioning a Branch Key." )
168159structure VersionKeyInput {
169-
170- //= aws-encryption-sdk-specification/framework/branch-key-store.md#versionkey
171- //= type=implication
172- //# - MUST supply a `branch-key-id`
173160 @required
174161 @documentation (" The identifier for the Branch Key to be versioned." )
175162 branchKeyIdentifier : String
176163
177164 @required
178165 @documentation (" Multi-Region or Single Region AWS KMS Key used to protect the Branch Key, but not aliases!" )
179- kmsArn : KMSIdentifier // KMS Arn validation MUST occur in Dafny
166+ kmsArn : KMSIdentifier
180167
181168 strategy : KeyManagementStrategy
182169}
183170
184- @documentation (" Outputs for versioning a Branch Key." )
185171structure VersionKeyOutput {
186172}
0 commit comments