From ecd8ebe60a8e163f972d9287beec98e421501419 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Wed, 22 Mar 2023 15:57:13 +0000 Subject: [PATCH] feat: update generated APIs --- ...-all-usage-k8s-cluster-create-usage.golden | 1 + ...l-usage-redis-endpoint-update-usage.golden | 21 +++ ...test-all-usage-redis-endpoint-usage.golden | 1 + ...ll-usage-secret-secret-create-usage.golden | 12 +- ...ll-usage-secret-secret-delete-usage.golden | 6 +- ...t-all-usage-secret-secret-get-usage.golden | 4 +- ...-all-usage-secret-secret-list-usage.golden | 8 +- ...ll-usage-secret-secret-update-usage.golden | 10 +- .../test-all-usage-secret-secret-usage.golden | 12 +- .../test-all-usage-secret-usage.golden | 2 +- ...l-usage-secret-version-access-usage.golden | 6 +- ...l-usage-secret-version-create-usage.golden | 10 +- ...l-usage-secret-version-delete-usage.golden | 8 +- ...-usage-secret-version-disable-usage.golden | 6 +- ...l-usage-secret-version-enable-usage.golden | 6 +- ...-all-usage-secret-version-get-usage.golden | 6 +- ...all-usage-secret-version-list-usage.golden | 4 +- ...l-usage-secret-version-update-usage.golden | 8 +- ...test-all-usage-secret-version-usage.golden | 18 +- docs/commands/k8s.md | 1 + docs/commands/redis.md | 23 +++ docs/commands/secret.md | 158 ++++++++---------- go.mod | 2 +- go.sum | 4 +- internal/namespaces/redis/v1/redis_cli.go | 44 +++++ 25 files changed, 229 insertions(+), 152 deletions(-) create mode 100644 cmd/scw/testdata/test-all-usage-redis-endpoint-update-usage.golden diff --git a/cmd/scw/testdata/test-all-usage-k8s-cluster-create-usage.golden b/cmd/scw/testdata/test-all-usage-k8s-cluster-create-usage.golden index ae4fd8f0d8..7c52540050 100644 --- a/cmd/scw/testdata/test-all-usage-k8s-cluster-create-usage.golden +++ b/cmd/scw/testdata/test-all-usage-k8s-cluster-create-usage.golden @@ -59,6 +59,7 @@ ARGS: [open-id-connect-config.groups-prefix] Prefix prepended to group claims [open-id-connect-config.required-claim.{index}] Multiple key=value pairs that describes a required claim in the ID token [apiserver-cert-sans.{index}] Additional Subject Alternative Names for the Kubernetes API server certificate + [private-network-id] Private network ID for internal cluster communication (cannot be changed later) [organization-id] Organization ID to use. If none is passed the default organization ID will be used [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | nl-ams | pl-waw) diff --git a/cmd/scw/testdata/test-all-usage-redis-endpoint-update-usage.golden b/cmd/scw/testdata/test-all-usage-redis-endpoint-update-usage.golden new file mode 100644 index 0000000000..94e8f45ffa --- /dev/null +++ b/cmd/scw/testdata/test-all-usage-redis-endpoint-update-usage.golden @@ -0,0 +1,21 @@ +🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 +πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ +Update information about a Redisβ„’ Database Instance (Redisβ„’ cluster) endpoint. Full details about the endpoint, like `ips`, `port`, `private_network` and `public_network` specifications are returned in the response. + +USAGE: + scw redis endpoint update [arg=value ...] + +ARGS: + endpoint-id + [private-network.id] UUID of the Private Network to connect to the Database Instance + [private-network.service-ips.{index}] Endpoint IPv4 address with a CIDR notation. You must provide at least one IPv4 per node. + [zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-1 | fr-par-2 | nl-ams-1 | nl-ams-2 | pl-waw-1 | pl-waw-2) + +FLAGS: + -h, --help help for update + +GLOBAL FLAGS: + -c, --config string The path to the config file + -D, --debug Enable debug mode + -o, --output string Output format: json or human, see 'scw help output' for more info (default "human") + -p, --profile string The config profile to use diff --git a/cmd/scw/testdata/test-all-usage-redis-endpoint-usage.golden b/cmd/scw/testdata/test-all-usage-redis-endpoint-usage.golden index 252d8255b3..ba8db538de 100644 --- a/cmd/scw/testdata/test-all-usage-redis-endpoint-usage.golden +++ b/cmd/scw/testdata/test-all-usage-redis-endpoint-usage.golden @@ -10,6 +10,7 @@ AVAILABLE COMMANDS: delete Delete an endpoint for a cluster get Get an endpoint set Set endpoints for a cluster + update Update an endpoint FLAGS: -h, --help help for endpoint diff --git a/cmd/scw/testdata/test-all-usage-secret-secret-create-usage.golden b/cmd/scw/testdata/test-all-usage-secret-secret-create-usage.golden index 7a43cb9c35..a954af0b43 100644 --- a/cmd/scw/testdata/test-all-usage-secret-secret-create-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-secret-create-usage.golden @@ -1,19 +1,19 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Create a Secret containing no versions. +You must sepcify the `region` to create a secret. USAGE: scw secret secret create [arg=value ...] EXAMPLES: - Add a given Secret - scw secret secret create project-id= name="foobar" description="bar" + Add a given secret + scw secret secret create name=foobar description="$(cat )" ARGS: [project-id] Project ID to use. If none is passed the default project ID will be used - [name] Name of the Secret - [tags.{index}] List of tags associated to this Secret - [description] Description of the Secret + [name] Name of the secret + [tags.{index}] List of the secret's tags + [description] Description of the secret [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-secret-delete-usage.golden b/cmd/scw/testdata/test-all-usage-secret-secret-delete-usage.golden index 08a3e1116a..fd8a59ba57 100644 --- a/cmd/scw/testdata/test-all-usage-secret-secret-delete-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-secret-delete-usage.golden @@ -1,16 +1,16 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Delete a Secret. +Delete a given secret specified by the `region` and `secret_id` parameters. USAGE: scw secret secret delete [arg=value ...] EXAMPLES: - Delete a given Secret + Delete a given secret scw secret secret delete secret-id=11111111-1111-1111-1111-111111111111 ARGS: - secret-id ID of the Secret + secret-id ID of the secret [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-secret-get-usage.golden b/cmd/scw/testdata/test-all-usage-secret-secret-get-usage.golden index 044becb0b8..db8020c9b9 100644 --- a/cmd/scw/testdata/test-all-usage-secret-secret-get-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-secret-get-usage.golden @@ -1,12 +1,12 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Get metadata of a Secret. +Retrieve the metadata of a secret specified by the `region` and the `secret_name` parameters. USAGE: scw secret secret get [arg=value ...] ARGS: - secret-id ID of the Secret + secret-id ID of the secret [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-secret-list-usage.golden b/cmd/scw/testdata/test-all-usage-secret-secret-list-usage.golden index 680a8795cd..6c99efb763 100644 --- a/cmd/scw/testdata/test-all-usage-secret-secret-list-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-secret-list-usage.golden @@ -1,16 +1,16 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -List Secrets. +Retrieve the list of secrets created within an Organization and/or Project. You must specify either the `organization_id` or the `project_id` and the `region`. USAGE: scw secret secret list [arg=value ...] ARGS: - [project-id] ID of a project to filter on (optional) - [name] Secret name to filter on (optional) + [project-id] Filter by Project ID (optional) + [name] Filter by secret name (optional) [tags.{index}] List of tags to filter on (optional) [order-by] (name_asc | name_desc | created_at_asc | created_at_desc | updated_at_asc | updated_at_desc) - [organization-id] ID of an organization to filter on (optional) + [organization-id] Filter by Organization ID (optional) [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | all) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-secret-update-usage.golden b/cmd/scw/testdata/test-all-usage-secret-secret-update-usage.golden index ceb407ed93..7130afd789 100644 --- a/cmd/scw/testdata/test-all-usage-secret-secret-update-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-secret-update-usage.golden @@ -1,15 +1,15 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Update metadata of a Secret. +Edit a secret's metadata such as name, tag(s) and description. The secret to update is specified by the `secret_id` and `region` parameters. USAGE: scw secret secret update [arg=value ...] ARGS: - secret-id ID of the Secret - [name] New name of the Secret (optional) - [tags.{index}] New list of tags associated to this Secret (optional) - [description] Description of the Secret + secret-id ID of the secret + [name] Secret's updated name (optional) + [tags.{index}] Secret's updated list of tags (optional) + [description] Description of the secret [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-secret-usage.golden b/cmd/scw/testdata/test-all-usage-secret-secret-usage.golden index 64c732de86..95896dc377 100644 --- a/cmd/scw/testdata/test-all-usage-secret-secret-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-secret-usage.golden @@ -1,16 +1,16 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Logical container made up of zero or more immutable versions, that hold the sensitive data. +Secrets are logical containers made up of zero or more immutable versions, that contain sensitive data. USAGE: scw secret secret AVAILABLE COMMANDS: - create Create a Secret containing no versions - delete Delete a Secret - get Get metadata of a Secret - list List Secrets - update Update metadata of a Secret + create Create a secret + delete Delete a secret + get Get metadata using the secret's name + list List secrets + update Update metadata of a secret FLAGS: -h, --help help for secret diff --git a/cmd/scw/testdata/test-all-usage-secret-usage.golden b/cmd/scw/testdata/test-all-usage-secret-usage.golden index ce7f5c4d50..51349ffc9a 100644 --- a/cmd/scw/testdata/test-all-usage-secret-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-usage.golden @@ -1,6 +1,6 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Secret API (beta). +Secret Manager API documentation. USAGE: scw secret diff --git a/cmd/scw/testdata/test-all-usage-secret-version-access-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-access-usage.golden index 7f76dcd3a3..fa60b77caa 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-access-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-access-usage.golden @@ -1,13 +1,13 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Access a SecretVersion, returning the sensitive data. +Access sensitive data in a secret's version specified by the `region`, `secret_id` and `revision` parameters. USAGE: scw secret version access [arg=value ...] ARGS: - secret-id ID of the Secret - revision Revision of the SecretVersion (may be a number or "latest") + secret-id ID of the secret + revision Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-create-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-create-usage.golden index c44b60b6fd..794526192e 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-create-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-create-usage.golden @@ -1,18 +1,14 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Create a SecretVersion. +Create a version of a given secret specified by the `region` and `secret_id` parameters. USAGE: scw secret version create [arg=value ...] -EXAMPLES: - Add a given Secret Version - scw secret version create name=foobar secret-id="" data=@ - ARGS: - secret-id ID of the Secret + secret-id ID of the secret data Content of the secret version. Base64 is handled by the SDK (Support file loading with @/path/to/file) - [description] Description of the SecretVersion + [description] Description of the version [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-delete-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-delete-usage.golden index 56dead910d..0915669092 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-delete-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-delete-usage.golden @@ -1,17 +1,17 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Destroy a SecretVersion, permanently destroying the sensitive data. +Delete a secret's version and the sensitive data contained in it. Deleting a version is permanent and cannot be undone. USAGE: scw secret version delete [arg=value ...] EXAMPLES: - Delete a given SecretVersion + Delete a given Secret Version scw secret version delete secret-id=11111111-1111-1111-1111-111111111111 revision=1 ARGS: - secret-id ID of the Secret - revision Revision of the SecretVersion (may be a number or "latest") + secret-id ID of the secret + revision Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-disable-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-disable-usage.golden index 3ff9386f77..78ba4bda3b 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-disable-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-disable-usage.golden @@ -1,13 +1,13 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Disable a SecretVersion. +Make a specific version inaccessible. You must specify the `region`, `secret_id` and `revision` parameters. USAGE: scw secret version disable [arg=value ...] ARGS: - secret-id ID of the Secret - revision Revision of the SecretVersion (may be a number or "latest") + secret-id ID of the secret + revision Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-enable-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-enable-usage.golden index 083b63ee93..d2ad4be5d1 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-enable-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-enable-usage.golden @@ -1,13 +1,13 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Enable a SecretVersion. +Make a specific version accessible. You must specify the `region`, `secret_id` and `revision` parameters. USAGE: scw secret version enable [arg=value ...] ARGS: - secret-id ID of the Secret - revision Revision of the SecretVersion (may be a number or "latest") + secret-id ID of the secret + revision Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-get-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-get-usage.golden index 3142fd5530..a6d3ee3e3f 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-get-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-get-usage.golden @@ -1,13 +1,13 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Get metadata of a SecretVersion. +Retrieve the metadata of a secret's given version specified by the `region`, `secret_id` and `revision` parameters. USAGE: scw secret version get [arg=value ...] ARGS: - secret-id ID of the Secret - revision Revision of the SecretVersion (may be a number or "latest") + secret-id ID of the secret + revision Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-list-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-list-usage.golden index fc0c0e1e63..31fbe7d979 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-list-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-list-usage.golden @@ -1,12 +1,12 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -List versions of a Secret, not returning any sensitive data. +Retrieve the list of a given secret's versions specified by the `secret_id` and `region` parameters. USAGE: scw secret version list [arg=value ...] ARGS: - secret-id ID of the Secret + secret-id ID of the secret [status.{index}] Filter results by status (unknown | enabled | disabled | destroyed) [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par | all) diff --git a/cmd/scw/testdata/test-all-usage-secret-version-update-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-update-usage.golden index 51ca8b9f79..48f9d94fe3 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-update-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-update-usage.golden @@ -1,14 +1,14 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Update metadata of a SecretVersion. +Edit the metadata of a secret's given version, specified by the `region`, `secret_id` and `revision` parameters. USAGE: scw secret version update [arg=value ...] ARGS: - secret-id ID of the Secret - revision Revision of the SecretVersion (may be a number or "latest") - [description] Description of the SecretVersion + secret-id ID of the secret + revision Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" + [description] Description of the version [region=fr-par] Region to target. If none is passed will use default region from the config (fr-par) FLAGS: diff --git a/cmd/scw/testdata/test-all-usage-secret-version-usage.golden b/cmd/scw/testdata/test-all-usage-secret-version-usage.golden index e1c1d0d7fa..6a97c1e5a1 100644 --- a/cmd/scw/testdata/test-all-usage-secret-version-usage.golden +++ b/cmd/scw/testdata/test-all-usage-secret-version-usage.golden @@ -1,19 +1,19 @@ 🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲 πŸŸ₯πŸŸ₯πŸŸ₯ STDERR️️ πŸŸ₯πŸŸ₯πŸŸ₯️ -Immutable version of a Secret. +Versions store the sensitive data contained in your secrets (API keys, passwords, or certificates). USAGE: scw secret version AVAILABLE COMMANDS: - access Access a SecretVersion, returning the sensitive data - create Create a SecretVersion - delete Destroy a SecretVersion, permanently destroying the sensitive data - disable Disable a SecretVersion - enable Enable a SecretVersion - get Get metadata of a SecretVersion - list List versions of a Secret, not returning any sensitive data - update Update metadata of a SecretVersion + access Access a secret's version using the secret's ID + create Create a version + delete Delete a version + disable Disable a version + enable Enable a version + get Get metadata of a secret's version using the secret's ID + list List versions of a secret using the secret's ID + update Update metadata of a version FLAGS: -h, --help help for version diff --git a/docs/commands/k8s.md b/docs/commands/k8s.md index ce27d23288..e22b8b045b 100644 --- a/docs/commands/k8s.md +++ b/docs/commands/k8s.md @@ -107,6 +107,7 @@ scw k8s cluster create [arg=value ...] | open-id-connect-config.groups-prefix | | Prefix prepended to group claims | | open-id-connect-config.required-claim.{index} | | Multiple key=value pairs that describes a required claim in the ID token | | apiserver-cert-sans.{index} | | Additional Subject Alternative Names for the Kubernetes API server certificate | +| private-network-id | | Private network ID for internal cluster communication (cannot be changed later) | | organization-id | | Organization ID to use. If none is passed the default organization ID will be used | | region | Default: `fr-par`
One of: `fr-par`, `nl-ams`, `pl-waw` | Region to target. If none is passed will use default region from the config | diff --git a/docs/commands/redis.md b/docs/commands/redis.md index cf38fc68f1..7f2450652f 100644 --- a/docs/commands/redis.md +++ b/docs/commands/redis.md @@ -22,6 +22,7 @@ Managed Database for Redisβ„’ API. - [Delete an endpoint for a cluster](#delete-an-endpoint-for-a-cluster) - [Get an endpoint](#get-an-endpoint) - [Set endpoints for a cluster](#set-endpoints-for-a-cluster) + - [Update an endpoint](#update-an-endpoint) - [Node Types management commands](#node-types-management-commands) - [List available node types](#list-available-node-types) - [Settings management commands](#settings-management-commands) @@ -427,6 +428,28 @@ scw redis endpoint set [arg=value ...] +### Update an endpoint + +Update information about a Redisβ„’ Database Instance (Redisβ„’ cluster) endpoint. Full details about the endpoint, like `ips`, `port`, `private_network` and `public_network` specifications are returned in the response. + +**Usage:** + +``` +scw redis endpoint update [arg=value ...] +``` + + +**Args:** + +| Name | | Description | +|------|---|-------------| +| endpoint-id | Required | | +| private-network.id | | UUID of the Private Network to connect to the Database Instance | +| private-network.service-ips.{index} | | Endpoint IPv4 address with a CIDR notation. You must provide at least one IPv4 per node. | +| zone | Default: `fr-par-1`
One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `pl-waw-1`, `pl-waw-2` | Zone to target. If none is passed will use default zone from the config | + + + ## Node Types management commands Nodes are the compute units that make up your Redisβ„’ Database Instance. Different node types are available with varying amounts of RAM and vCPU. diff --git a/docs/commands/secret.md b/docs/commands/secret.md index 0f03aed53c..7143408c35 100644 --- a/docs/commands/secret.md +++ b/docs/commands/secret.md @@ -1,33 +1,33 @@ # Documentation for `scw secret` -Secret API (beta). +Secret Manager API documentation. - [Secret management commands](#secret-management-commands) - - [Create a Secret containing no versions](#create-a-secret-containing-no-versions) - - [Delete a Secret](#delete-a-secret) - - [Get metadata of a Secret](#get-metadata-of-a-secret) - - [List Secrets](#list-secrets) - - [Update metadata of a Secret](#update-metadata-of-a-secret) + - [Create a secret](#create-a-secret) + - [Delete a secret](#delete-a-secret) + - [Get metadata using the secret's name](#get-metadata-using-the-secret's-name) + - [List secrets](#list-secrets) + - [Update metadata of a secret](#update-metadata-of-a-secret) - [Secret Version management commands](#secret-version-management-commands) - - [Access a SecretVersion, returning the sensitive data](#access-a-secretversion,-returning-the-sensitive-data) - - [Create a SecretVersion](#create-a-secretversion) - - [Destroy a SecretVersion, permanently destroying the sensitive data](#destroy-a-secretversion,-permanently-destroying-the-sensitive-data) - - [Disable a SecretVersion](#disable-a-secretversion) - - [Enable a SecretVersion](#enable-a-secretversion) - - [Get metadata of a SecretVersion](#get-metadata-of-a-secretversion) - - [List versions of a Secret, not returning any sensitive data](#list-versions-of-a-secret,-not-returning-any-sensitive-data) - - [Update metadata of a SecretVersion](#update-metadata-of-a-secretversion) + - [Access a secret's version using the secret's ID](#access-a-secret's-version-using-the-secret's-id) + - [Create a version](#create-a-version) + - [Delete a version](#delete-a-version) + - [Disable a version](#disable-a-version) + - [Enable a version](#enable-a-version) + - [Get metadata of a secret's version using the secret's ID](#get-metadata-of-a-secret's-version-using-the-secret's-id) + - [List versions of a secret using the secret's ID](#list-versions-of-a-secret-using-the-secret's-id) + - [Update metadata of a version](#update-metadata-of-a-version) ## Secret management commands -Logical container made up of zero or more immutable versions, that hold the sensitive data. +Secrets are logical containers made up of zero or more immutable versions, that contain sensitive data. -### Create a Secret containing no versions +### Create a secret -Create a Secret containing no versions. +You must sepcify the `region` to create a secret. **Usage:** @@ -41,26 +41,26 @@ scw secret secret create [arg=value ...] | Name | | Description | |------|---|-------------| | project-id | | Project ID to use. If none is passed the default project ID will be used | -| name | | Name of the Secret | -| tags.{index} | | List of tags associated to this Secret | -| description | | Description of the Secret | +| name | | Name of the secret | +| tags.{index} | | List of the secret's tags | +| description | | Description of the secret | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | **Examples:** -Add a given Secret +Add a given secret ``` -scw secret secret create project-id= name="foobar" description="bar" +scw secret secret create name=foobar description="$(cat )" ``` -### Delete a Secret +### Delete a secret -Delete a Secret. +Delete a given secret specified by the `region` and `secret_id` parameters. **Usage:** @@ -73,14 +73,14 @@ scw secret secret delete [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | +| secret-id | Required | ID of the secret | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | **Examples:** -Delete a given Secret +Delete a given secret ``` scw secret secret delete secret-id=11111111-1111-1111-1111-111111111111 ``` @@ -88,9 +88,9 @@ scw secret secret delete secret-id=11111111-1111-1111-1111-111111111111 -### Get metadata of a Secret +### Get metadata using the secret's name -Get metadata of a Secret. +Retrieve the metadata of a secret specified by the `region` and the `secret_name` parameters. **Usage:** @@ -103,14 +103,14 @@ scw secret secret get [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | +| secret-id | Required | ID of the secret | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | -### List Secrets +### List secrets -List Secrets. +Retrieve the list of secrets created within an Organization and/or Project. You must specify either the `organization_id` or the `project_id` and the `region`. **Usage:** @@ -123,18 +123,18 @@ scw secret secret list [arg=value ...] | Name | | Description | |------|---|-------------| -| project-id | | ID of a project to filter on (optional) | -| name | | Secret name to filter on (optional) | +| project-id | | Filter by Project ID (optional) | +| name | | Filter by secret name (optional) | | tags.{index} | | List of tags to filter on (optional) | | order-by | One of: `name_asc`, `name_desc`, `created_at_asc`, `created_at_desc`, `updated_at_asc`, `updated_at_desc` | | -| organization-id | | ID of an organization to filter on (optional) | +| organization-id | | Filter by Organization ID (optional) | | region | Default: `fr-par`
One of: `fr-par`, `all` | Region to target. If none is passed will use default region from the config | -### Update metadata of a Secret +### Update metadata of a secret -Update metadata of a Secret. +Edit a secret's metadata such as name, tag(s) and description. The secret to update is specified by the `secret_id` and `region` parameters. **Usage:** @@ -147,23 +147,23 @@ scw secret secret update [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| name | | New name of the Secret (optional) | -| tags.{index} | | New list of tags associated to this Secret (optional) | -| description | | Description of the Secret | +| secret-id | Required | ID of the secret | +| name | | Secret's updated name (optional) | +| tags.{index} | | Secret's updated list of tags (optional) | +| description | | Description of the secret | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | ## Secret Version management commands -Immutable version of a Secret. +Versions store the sensitive data contained in your secrets (API keys, passwords, or certificates). -### Access a SecretVersion, returning the sensitive data +### Access a secret's version using the secret's ID -Access a SecretVersion, returning the sensitive data. +Access sensitive data in a secret's version specified by the `region`, `secret_id` and `revision` parameters. **Usage:** @@ -176,15 +176,15 @@ scw secret version access [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| revision | Required | Revision of the SecretVersion (may be a number or "latest") | +| secret-id | Required | ID of the secret | +| revision | Required | Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | -### Create a SecretVersion +### Create a version -Create a SecretVersion. +Create a version of a given secret specified by the `region` and `secret_id` parameters. **Usage:** @@ -197,26 +197,16 @@ scw secret version create [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | +| secret-id | Required | ID of the secret | | data | Required | Content of the secret version. Base64 is handled by the SDK | -| description | | Description of the SecretVersion | +| description | | Description of the version | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | -**Examples:** - - -Add a given Secret Version -``` -scw secret version create name=foobar secret-id="" data=@ -``` - - - -### Destroy a SecretVersion, permanently destroying the sensitive data +### Delete a version -Destroy a SecretVersion, permanently destroying the sensitive data. +Delete a secret's version and the sensitive data contained in it. Deleting a version is permanent and cannot be undone. **Usage:** @@ -229,15 +219,15 @@ scw secret version delete [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| revision | Required | Revision of the SecretVersion (may be a number or "latest") | +| secret-id | Required | ID of the secret | +| revision | Required | Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | **Examples:** -Delete a given SecretVersion +Delete a given Secret Version ``` scw secret version delete secret-id=11111111-1111-1111-1111-111111111111 revision=1 ``` @@ -245,9 +235,9 @@ scw secret version delete secret-id=11111111-1111-1111-1111-111111111111 revisio -### Disable a SecretVersion +### Disable a version -Disable a SecretVersion. +Make a specific version inaccessible. You must specify the `region`, `secret_id` and `revision` parameters. **Usage:** @@ -260,15 +250,15 @@ scw secret version disable [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| revision | Required | Revision of the SecretVersion (may be a number or "latest") | +| secret-id | Required | ID of the secret | +| revision | Required | Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | -### Enable a SecretVersion +### Enable a version -Enable a SecretVersion. +Make a specific version accessible. You must specify the `region`, `secret_id` and `revision` parameters. **Usage:** @@ -281,15 +271,15 @@ scw secret version enable [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| revision | Required | Revision of the SecretVersion (may be a number or "latest") | +| secret-id | Required | ID of the secret | +| revision | Required | Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | -### Get metadata of a SecretVersion +### Get metadata of a secret's version using the secret's ID -Get metadata of a SecretVersion. +Retrieve the metadata of a secret's given version specified by the `region`, `secret_id` and `revision` parameters. **Usage:** @@ -302,15 +292,15 @@ scw secret version get [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| revision | Required | Revision of the SecretVersion (may be a number or "latest") | +| secret-id | Required | ID of the secret | +| revision | Required | Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | -### List versions of a Secret, not returning any sensitive data +### List versions of a secret using the secret's ID -List versions of a Secret, not returning any sensitive data. +Retrieve the list of a given secret's versions specified by the `secret_id` and `region` parameters. **Usage:** @@ -323,15 +313,15 @@ scw secret version list [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | +| secret-id | Required | ID of the secret | | status.{index} | One of: `unknown`, `enabled`, `disabled`, `destroyed` | Filter results by status | | region | Default: `fr-par`
One of: `fr-par`, `all` | Region to target. If none is passed will use default region from the config | -### Update metadata of a SecretVersion +### Update metadata of a version -Update metadata of a SecretVersion. +Edit the metadata of a secret's given version, specified by the `region`, `secret_id` and `revision` parameters. **Usage:** @@ -344,9 +334,9 @@ scw secret version update [arg=value ...] | Name | | Description | |------|---|-------------| -| secret-id | Required | ID of the Secret | -| revision | Required | Revision of the SecretVersion (may be a number or "latest") | -| description | | Description of the SecretVersion | +| secret-id | Required | ID of the secret | +| revision | Required | Version number. The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be a number or "latest" | +| description | | Description of the version | | region | Default: `fr-par`
One of: `fr-par` | Region to target. If none is passed will use default region from the config | diff --git a/go.mod b/go.mod index 91d03d7d78..daf68728b0 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/moby/buildkit v0.11.4 github.com/opencontainers/go-digest v1.0.0 github.com/pkg/errors v0.9.1 - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.15 + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.15.0.20230322094918-cd420ebc2d11 github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.2 diff --git a/go.sum b/go.sum index 41af394c72..804bb8495c 100644 --- a/go.sum +++ b/go.sum @@ -192,8 +192,8 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.15 h1:Y7xOFbD+3jaPw+VN7lkakNJ/pa+ZSQVFp1ONtJaBxns= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.15/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.15.0.20230322094918-cd420ebc2d11 h1:tZBnGI0NIyTUV9+UYQrTFw1gqIcY/TcUBCfLrC/IvKY= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.15.0.20230322094918-cd420ebc2d11/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/secure-systems-lab/go-securesystemslib v0.4.0 h1:b23VGrQhTA8cN2CbBw7/FulN9fTtqYUdS5+Oxzt+DUE= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= diff --git a/internal/namespaces/redis/v1/redis_cli.go b/internal/namespaces/redis/v1/redis_cli.go index ade60b1b42..14a51a8d18 100644 --- a/internal/namespaces/redis/v1/redis_cli.go +++ b/internal/namespaces/redis/v1/redis_cli.go @@ -48,6 +48,7 @@ func GetGeneratedCommands() *core.Commands { redisEndpointAdd(), redisEndpointDelete(), redisEndpointGet(), + redisEndpointUpdate(), ) } func redisRoot() *core.Command { @@ -1116,3 +1117,46 @@ func redisEndpointGet() *core.Command { }, } } + +func redisEndpointUpdate() *core.Command { + return &core.Command{ + Short: `Update an endpoint`, + Long: `Update information about a Redisβ„’ Database Instance (Redisβ„’ cluster) endpoint. Full details about the endpoint, like ` + "`" + `ips` + "`" + `, ` + "`" + `port` + "`" + `, ` + "`" + `private_network` + "`" + ` and ` + "`" + `public_network` + "`" + ` specifications are returned in the response.`, + Namespace: "redis", + Resource: "endpoint", + Verb: "update", + // Deprecated: false, + ArgsType: reflect.TypeOf(redis.UpdateEndpointRequest{}), + ArgSpecs: core.ArgSpecs{ + { + Name: "endpoint-id", + Required: true, + Deprecated: false, + Positional: false, + }, + { + Name: "private-network.id", + Short: `UUID of the Private Network to connect to the Database Instance`, + Required: false, + Deprecated: false, + Positional: false, + }, + { + Name: "private-network.service-ips.{index}", + Short: `Endpoint IPv4 address with a CIDR notation. You must provide at least one IPv4 per node.`, + Required: false, + Deprecated: false, + Positional: false, + }, + core.ZoneArgSpec(scw.ZoneFrPar1, scw.ZoneFrPar2, scw.ZoneNlAms1, scw.ZoneNlAms2, scw.ZonePlWaw1, scw.ZonePlWaw2), + }, + Run: func(ctx context.Context, args interface{}) (i interface{}, e error) { + request := args.(*redis.UpdateEndpointRequest) + + client := core.ExtractClient(ctx) + api := redis.NewAPI(client) + return api.UpdateEndpoint(request) + + }, + } +}