Skip to content

Commit 8e08cf4

Browse files
authored
feat(kms): Add KMS under beta (#935)
1 parent 99f4d2d commit 8e08cf4

File tree

76 files changed

+9020
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+9020
-2
lines changed

docs/stackit_beta.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,6 @@ stackit beta [flags]
4242

4343
* [stackit](./stackit.md) - Manage STACKIT resources using the command line
4444
* [stackit beta alb](./stackit_beta_alb.md) - Manages application loadbalancers
45+
* [stackit beta kms](./stackit_beta_kms.md) - Provides functionality for KMS
4546
* [stackit beta sqlserverflex](./stackit_beta_sqlserverflex.md) - Provides functionality for SQLServer Flex
4647

docs/stackit_beta_kms.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## stackit beta kms
2+
3+
Provides functionality for KMS
4+
5+
### Synopsis
6+
7+
Provides functionality for KMS.
8+
9+
```
10+
stackit beta kms [flags]
11+
```
12+
13+
### Options
14+
15+
```
16+
-h, --help Help for "stackit beta kms"
17+
```
18+
19+
### Options inherited from parent commands
20+
21+
```
22+
-y, --assume-yes If set, skips all confirmation prompts
23+
--async If set, runs the command asynchronously
24+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
25+
-p, --project-id string Project ID
26+
--region string Target region for region-specific requests
27+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
28+
```
29+
30+
### SEE ALSO
31+
32+
* [stackit beta](./stackit_beta.md) - Contains beta STACKIT CLI commands
33+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
34+
* [stackit beta kms keyring](./stackit_beta_kms_keyring.md) - Manage KMS key rings
35+
* [stackit beta kms version](./stackit_beta_kms_version.md) - Manage KMS key versions
36+
* [stackit beta kms wrapping-key](./stackit_beta_kms_wrapping-key.md) - Manage KMS wrapping keys
37+

docs/stackit_beta_kms_key.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## stackit beta kms key
2+
3+
Manage KMS keys
4+
5+
### Synopsis
6+
7+
Provides functionality for key operations inside the KMS
8+
9+
```
10+
stackit beta kms key [flags]
11+
```
12+
13+
### Options
14+
15+
```
16+
-h, --help Help for "stackit beta kms key"
17+
```
18+
19+
### Options inherited from parent commands
20+
21+
```
22+
-y, --assume-yes If set, skips all confirmation prompts
23+
--async If set, runs the command asynchronously
24+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
25+
-p, --project-id string Project ID
26+
--region string Target region for region-specific requests
27+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
28+
```
29+
30+
### SEE ALSO
31+
32+
* [stackit beta kms](./stackit_beta_kms.md) - Provides functionality for KMS
33+
* [stackit beta kms key create](./stackit_beta_kms_key_create.md) - Creates a KMS key
34+
* [stackit beta kms key delete](./stackit_beta_kms_key_delete.md) - Deletes a KMS key
35+
* [stackit beta kms key import](./stackit_beta_kms_key_import.md) - Import a KMS key
36+
* [stackit beta kms key list](./stackit_beta_kms_key_list.md) - List all KMS keys
37+
* [stackit beta kms key restore](./stackit_beta_kms_key_restore.md) - Restore a key
38+
* [stackit beta kms key rotate](./stackit_beta_kms_key_rotate.md) - Rotate a key
39+
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
## stackit beta kms key create
2+
3+
Creates a KMS key
4+
5+
### Synopsis
6+
7+
Creates a KMS key.
8+
9+
```
10+
stackit beta kms key create [flags]
11+
```
12+
13+
### Examples
14+
15+
```
16+
Create a symmetric AES key (AES-256) with the name "symm-aes-gcm" under the key ring "my-keyring-id"
17+
$ stackit beta kms key create --keyring-id "my-keyring-id" --algorithm "aes_256_gcm" --name "symm-aes-gcm" --purpose "symmetric_encrypt_decrypt" --protection "software"
18+
19+
Create an asymmetric RSA encryption key (RSA-2048)
20+
$ stackit beta kms key create --keyring-id "my-keyring-id" --algorithm "rsa_2048_oaep_sha256" --name "prod-orders-rsa" --purpose "asymmetric_encrypt_decrypt" --protection "software"
21+
22+
Create a message authentication key (HMAC-SHA512)
23+
$ stackit beta kms key create --keyring-id "my-keyring-id" --algorithm "hmac_sha512" --name "api-mac-key" --purpose "message_authentication_code" --protection "software"
24+
25+
Create an ECDSA P-256 key for signing & verification
26+
$ stackit beta kms key create --keyring-id "my-keyring-id" --algorithm "ecdsa_p256_sha256" --name "signing-ecdsa-p256" --purpose "asymmetric_sign_verify" --protection "software"
27+
28+
Create an import-only key (versions must be imported)
29+
$ stackit beta kms key create --keyring-id "my-keyring-id" --algorithm "rsa_2048_oaep_sha256" --name "ext-managed-rsa" --purpose "asymmetric_encrypt_decrypt" --protection "software" --import-only
30+
31+
Create a key and print the result as YAML
32+
$ stackit beta kms key create --keyring-id "my-keyring-id" --algorithm "rsa_2048_oaep_sha256" --name "yaml-output-rsa" --purpose "asymmetric_encrypt_decrypt" --protection "software" --output yaml
33+
```
34+
35+
### Options
36+
37+
```
38+
--algorithm string En-/Decryption / signing algorithm. Possible values: ["aes_256_gcm" "rsa_2048_oaep_sha256" "rsa_3072_oaep_sha256" "rsa_4096_oaep_sha256" "rsa_4096_oaep_sha512" "hmac_sha256" "hmac_sha384" "hmac_sha512" "ecdsa_p256_sha256" "ecdsa_p384_sha384" "ecdsa_p521_sha512"]
39+
--description string Optional description of the key
40+
-h, --help Help for "stackit beta kms key create"
41+
--import-only States whether versions can be created or only imported
42+
--keyring-id string ID of the KMS key ring
43+
--name string The display name to distinguish multiple keys
44+
--protection string The underlying system that is responsible for protecting the key material. Possible values: ["symmetric_encrypt_decrypt" "asymmetric_encrypt_decrypt" "message_authentication_code" "asymmetric_sign_verify"]
45+
--purpose string Purpose of the key. Possible values: ["symmetric_encrypt_decrypt" "asymmetric_encrypt_decrypt" "message_authentication_code" "asymmetric_sign_verify"]
46+
```
47+
48+
### Options inherited from parent commands
49+
50+
```
51+
-y, --assume-yes If set, skips all confirmation prompts
52+
--async If set, runs the command asynchronously
53+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
54+
-p, --project-id string Project ID
55+
--region string Target region for region-specific requests
56+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
57+
```
58+
59+
### SEE ALSO
60+
61+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
62+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## stackit beta kms key delete
2+
3+
Deletes a KMS key
4+
5+
### Synopsis
6+
7+
Deletes a KMS key inside a specific key ring.
8+
9+
```
10+
stackit beta kms key delete KEY_ID [flags]
11+
```
12+
13+
### Examples
14+
15+
```
16+
Delete a KMS key "MY_KEY_ID" inside the key ring "my-keyring-id"
17+
$ stackit beta kms key delete "MY_KEY_ID" --keyring-id "my-keyring-id"
18+
```
19+
20+
### Options
21+
22+
```
23+
-h, --help Help for "stackit beta kms key delete"
24+
--keyring-id string ID of the KMS key ring where the key is stored
25+
```
26+
27+
### Options inherited from parent commands
28+
29+
```
30+
-y, --assume-yes If set, skips all confirmation prompts
31+
--async If set, runs the command asynchronously
32+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
33+
-p, --project-id string Project ID
34+
--region string Target region for region-specific requests
35+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
36+
```
37+
38+
### SEE ALSO
39+
40+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
41+
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## stackit beta kms key import
2+
3+
Import a KMS key
4+
5+
### Synopsis
6+
7+
After encrypting the secret with the wrapping key’s public key and Base64-encoding it, import it as a new version of the specified KMS key.
8+
9+
```
10+
stackit beta kms key import KEY_ID [flags]
11+
```
12+
13+
### Examples
14+
15+
```
16+
Import a new version for the given KMS key "MY_KEY_ID" from literal value
17+
$ stackit beta kms key import "MY_KEY_ID" --keyring-id "my-keyring-id" --wrapped-key "BASE64_VALUE" --wrapping-key-id "MY_WRAPPING_KEY_ID"
18+
19+
Import from a file
20+
$ stackit beta kms key import "MY_KEY_ID" --keyring-id "my-keyring-id" --wrapped-key "@path/to/wrapped.key.b64" --wrapping-key-id "MY_WRAPPING_KEY_ID"
21+
```
22+
23+
### Options
24+
25+
```
26+
-h, --help Help for "stackit beta kms key import"
27+
--keyring-id string ID of the KMS key ring
28+
--wrapped-key string The wrapped key material to be imported. Base64-encoded. Pass the value directly or a file path (e.g. @path/to/wrapped.key.b64)
29+
--wrapping-key-id string The unique id of the wrapping key the key material has been wrapped with
30+
```
31+
32+
### Options inherited from parent commands
33+
34+
```
35+
-y, --assume-yes If set, skips all confirmation prompts
36+
--async If set, runs the command asynchronously
37+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
38+
-p, --project-id string Project ID
39+
--region string Target region for region-specific requests
40+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
41+
```
42+
43+
### SEE ALSO
44+
45+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
46+

docs/stackit_beta_kms_key_list.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## stackit beta kms key list
2+
3+
List all KMS keys
4+
5+
### Synopsis
6+
7+
List all KMS keys inside a key ring.
8+
9+
```
10+
stackit beta kms key list [flags]
11+
```
12+
13+
### Examples
14+
15+
```
16+
List all KMS keys for the key ring "my-keyring-id"
17+
$ stackit beta kms key list --keyring-id "my-keyring-id"
18+
19+
List all KMS keys in JSON format
20+
$ stackit beta kms key list --keyring-id "my-keyring-id" --output-format json
21+
```
22+
23+
### Options
24+
25+
```
26+
-h, --help Help for "stackit beta kms key list"
27+
--keyring-id string ID of the KMS key ring where the key is stored
28+
```
29+
30+
### Options inherited from parent commands
31+
32+
```
33+
-y, --assume-yes If set, skips all confirmation prompts
34+
--async If set, runs the command asynchronously
35+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
36+
-p, --project-id string Project ID
37+
--region string Target region for region-specific requests
38+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
39+
```
40+
41+
### SEE ALSO
42+
43+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
44+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## stackit beta kms key restore
2+
3+
Restore a key
4+
5+
### Synopsis
6+
7+
Restores the given key from deletion.
8+
9+
```
10+
stackit beta kms key restore KEY_ID [flags]
11+
```
12+
13+
### Examples
14+
15+
```
16+
Restore a KMS key "MY_KEY_ID" inside the key ring "my-keyring-id" that was scheduled for deletion.
17+
$ stackit beta kms key restore "MY_KEY_ID" --keyring-id "my-keyring-id"
18+
```
19+
20+
### Options
21+
22+
```
23+
-h, --help Help for "stackit beta kms key restore"
24+
--keyring-id string ID of the KMS key ring where the key is stored
25+
```
26+
27+
### Options inherited from parent commands
28+
29+
```
30+
-y, --assume-yes If set, skips all confirmation prompts
31+
--async If set, runs the command asynchronously
32+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
33+
-p, --project-id string Project ID
34+
--region string Target region for region-specific requests
35+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
36+
```
37+
38+
### SEE ALSO
39+
40+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
41+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## stackit beta kms key rotate
2+
3+
Rotate a key
4+
5+
### Synopsis
6+
7+
Rotates the given key.
8+
9+
```
10+
stackit beta kms key rotate KEY_ID [flags]
11+
```
12+
13+
### Examples
14+
15+
```
16+
Rotate a KMS key "MY_KEY_ID" and increase its version inside the key ring "my-keyring-id".
17+
$ stackit beta kms key rotate "MY_KEY_ID" --keyring-id "my-keyring-id"
18+
```
19+
20+
### Options
21+
22+
```
23+
-h, --help Help for "stackit beta kms key rotate"
24+
--keyring-id string ID of the KMS key ring where the key is stored
25+
```
26+
27+
### Options inherited from parent commands
28+
29+
```
30+
-y, --assume-yes If set, skips all confirmation prompts
31+
--async If set, runs the command asynchronously
32+
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
33+
-p, --project-id string Project ID
34+
--region string Target region for region-specific requests
35+
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
36+
```
37+
38+
### SEE ALSO
39+
40+
* [stackit beta kms key](./stackit_beta_kms_key.md) - Manage KMS keys
41+

0 commit comments

Comments
 (0)