From 34c41da63c04d596127faf8282e03b308299c9eb Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Thu, 11 Apr 2024 14:43:56 +0000 Subject: [PATCH] feat: update generated APIs --- .../scaleway_async/secret/v1beta1/__init__.py | 8 ++ .../scaleway_async/secret/v1beta1/api.py | 50 +++++++++++ .../scaleway_async/secret/v1beta1/types.py | 85 +++++++++++++++++++ scaleway/scaleway/secret/v1beta1/__init__.py | 8 ++ scaleway/scaleway/secret/v1beta1/api.py | 50 +++++++++++ scaleway/scaleway/secret/v1beta1/types.py | 85 +++++++++++++++++++ 6 files changed, 286 insertions(+) diff --git a/scaleway-async/scaleway_async/secret/v1beta1/__init__.py b/scaleway-async/scaleway_async/secret/v1beta1/__init__.py index b00f3efcf..7cc33c694 100644 --- a/scaleway-async/scaleway_async/secret/v1beta1/__init__.py +++ b/scaleway-async/scaleway_async/secret/v1beta1/__init__.py @@ -14,6 +14,7 @@ from .types import BrowseSecretsResponseItem from .types import SecretVersion from .types import Secret +from .types import AccessSecretVersionByPathRequest from .types import AccessSecretVersionRequest from .types import AccessSecretVersionResponse from .types import AddSecretOwnerRequest @@ -34,6 +35,9 @@ from .types import ListTagsRequest from .types import ListTagsResponse from .types import ProtectSecretRequest +from .types import SecretTypeBasicCredentials +from .types import SecretTypeDatabaseCredentials +from .types import SecretTypeSSHKey from .types import UnprotectSecretRequest from .types import UpdateSecretRequest from .types import UpdateSecretVersionRequest @@ -54,6 +58,7 @@ "BrowseSecretsResponseItem", "SecretVersion", "Secret", + "AccessSecretVersionByPathRequest", "AccessSecretVersionRequest", "AccessSecretVersionResponse", "AddSecretOwnerRequest", @@ -74,6 +79,9 @@ "ListTagsRequest", "ListTagsResponse", "ProtectSecretRequest", + "SecretTypeBasicCredentials", + "SecretTypeDatabaseCredentials", + "SecretTypeSSHKey", "UnprotectSecretRequest", "UpdateSecretRequest", "UpdateSecretVersionRequest", diff --git a/scaleway-async/scaleway_async/secret/v1beta1/api.py b/scaleway-async/scaleway_async/secret/v1beta1/api.py index 7b8be5097..0c74b127b 100644 --- a/scaleway-async/scaleway_async/secret/v1beta1/api.py +++ b/scaleway-async/scaleway_async/secret/v1beta1/api.py @@ -832,6 +832,56 @@ async def access_secret_version( self._throw_on_error(res) return unmarshal_AccessSecretVersionResponse(res.json()) + async def access_secret_version_by_path( + self, + *, + secret_path: str, + secret_name: str, + revision: str, + region: Optional[Region] = None, + project_id: Optional[str] = None, + ) -> AccessSecretVersionResponse: + """ + Access a secret's version using the secret's name and path. + Access sensitive data in a secret's version specified by the `region`, `secret_name`, `secret_path` and `revision` parameters. + :param secret_path: Secret's path. + :param secret_name: Secret's name. + :param revision: The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be either: + - an integer (the revision number) + - "latest" (the latest revision) + - "latest_enabled" (the latest enabled revision). + :param region: Region to target. If none is passed will use default region from the config. + :param project_id: ID of the Project to target. + :return: :class:`AccessSecretVersionResponse ` + + Usage: + :: + + result = await api.access_secret_version_by_path( + secret_path="example", + secret_name="example", + revision="example", + ) + """ + + param_region = validate_path_param( + "region", region or self.client.default_region + ) + param_revision = validate_path_param("revision", revision) + + res = self._request( + "GET", + f"/secret-manager/v1beta1/regions/{param_region}/secrets-by-path/versions/{param_revision}/access", + params={ + "project_id": project_id or self.client.default_project_id, + "secret_name": secret_name, + "secret_path": secret_path, + }, + ) + + self._throw_on_error(res) + return unmarshal_AccessSecretVersionResponse(res.json()) + async def enable_secret_version( self, *, diff --git a/scaleway-async/scaleway_async/secret/v1beta1/types.py b/scaleway-async/scaleway_async/secret/v1beta1/types.py index fddeb57a2..17f547b62 100644 --- a/scaleway-async/scaleway_async/secret/v1beta1/types.py +++ b/scaleway-async/scaleway_async/secret/v1beta1/types.py @@ -280,6 +280,37 @@ class Secret: """ +@dataclass +class AccessSecretVersionByPathRequest: + secret_path: str + """ + Secret's path. + """ + + secret_name: str + """ + Secret's name. + """ + + revision: str + """ + The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be either: +- an integer (the revision number) +- "latest" (the latest revision) +- "latest_enabled" (the latest enabled revision). + """ + + region: Optional[Region] + """ + Region to target. If none is passed will use default region from the config. + """ + + project_id: Optional[str] + """ + ID of the Project to target. + """ + + @dataclass class AccessSecretVersionRequest: secret_id: str @@ -725,6 +756,60 @@ class ProtectSecretRequest: """ +@dataclass +class SecretTypeBasicCredentials: + username: str + """ + The username or identifier associated with the credentials. + """ + + password: str + """ + The password associated with the credentials. + """ + + +@dataclass +class SecretTypeDatabaseCredentials: + engine: str + """ + Supported database engines are: 'postgres', 'mysql', 'other'. + """ + + username: str + """ + The username used to authenticate to the database server. + """ + + password: str + """ + The password used to authenticate to the database server. + """ + + host: str + """ + The hostname or resolvable DNS name of the database server. + """ + + dbname: str + """ + The name of the database to connect to. + """ + + port: str + """ + The port must be an integer ranging from 0 to 65535. + """ + + +@dataclass +class SecretTypeSSHKey: + ssh_private_key: str + """ + The private SSH key. + """ + + @dataclass class UnprotectSecretRequest: secret_id: str diff --git a/scaleway/scaleway/secret/v1beta1/__init__.py b/scaleway/scaleway/secret/v1beta1/__init__.py index b00f3efcf..7cc33c694 100644 --- a/scaleway/scaleway/secret/v1beta1/__init__.py +++ b/scaleway/scaleway/secret/v1beta1/__init__.py @@ -14,6 +14,7 @@ from .types import BrowseSecretsResponseItem from .types import SecretVersion from .types import Secret +from .types import AccessSecretVersionByPathRequest from .types import AccessSecretVersionRequest from .types import AccessSecretVersionResponse from .types import AddSecretOwnerRequest @@ -34,6 +35,9 @@ from .types import ListTagsRequest from .types import ListTagsResponse from .types import ProtectSecretRequest +from .types import SecretTypeBasicCredentials +from .types import SecretTypeDatabaseCredentials +from .types import SecretTypeSSHKey from .types import UnprotectSecretRequest from .types import UpdateSecretRequest from .types import UpdateSecretVersionRequest @@ -54,6 +58,7 @@ "BrowseSecretsResponseItem", "SecretVersion", "Secret", + "AccessSecretVersionByPathRequest", "AccessSecretVersionRequest", "AccessSecretVersionResponse", "AddSecretOwnerRequest", @@ -74,6 +79,9 @@ "ListTagsRequest", "ListTagsResponse", "ProtectSecretRequest", + "SecretTypeBasicCredentials", + "SecretTypeDatabaseCredentials", + "SecretTypeSSHKey", "UnprotectSecretRequest", "UpdateSecretRequest", "UpdateSecretVersionRequest", diff --git a/scaleway/scaleway/secret/v1beta1/api.py b/scaleway/scaleway/secret/v1beta1/api.py index c23fac71a..d6daf94f8 100644 --- a/scaleway/scaleway/secret/v1beta1/api.py +++ b/scaleway/scaleway/secret/v1beta1/api.py @@ -832,6 +832,56 @@ def access_secret_version( self._throw_on_error(res) return unmarshal_AccessSecretVersionResponse(res.json()) + def access_secret_version_by_path( + self, + *, + secret_path: str, + secret_name: str, + revision: str, + region: Optional[Region] = None, + project_id: Optional[str] = None, + ) -> AccessSecretVersionResponse: + """ + Access a secret's version using the secret's name and path. + Access sensitive data in a secret's version specified by the `region`, `secret_name`, `secret_path` and `revision` parameters. + :param secret_path: Secret's path. + :param secret_name: Secret's name. + :param revision: The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be either: + - an integer (the revision number) + - "latest" (the latest revision) + - "latest_enabled" (the latest enabled revision). + :param region: Region to target. If none is passed will use default region from the config. + :param project_id: ID of the Project to target. + :return: :class:`AccessSecretVersionResponse ` + + Usage: + :: + + result = api.access_secret_version_by_path( + secret_path="example", + secret_name="example", + revision="example", + ) + """ + + param_region = validate_path_param( + "region", region or self.client.default_region + ) + param_revision = validate_path_param("revision", revision) + + res = self._request( + "GET", + f"/secret-manager/v1beta1/regions/{param_region}/secrets-by-path/versions/{param_revision}/access", + params={ + "project_id": project_id or self.client.default_project_id, + "secret_name": secret_name, + "secret_path": secret_path, + }, + ) + + self._throw_on_error(res) + return unmarshal_AccessSecretVersionResponse(res.json()) + def enable_secret_version( self, *, diff --git a/scaleway/scaleway/secret/v1beta1/types.py b/scaleway/scaleway/secret/v1beta1/types.py index fddeb57a2..17f547b62 100644 --- a/scaleway/scaleway/secret/v1beta1/types.py +++ b/scaleway/scaleway/secret/v1beta1/types.py @@ -280,6 +280,37 @@ class Secret: """ +@dataclass +class AccessSecretVersionByPathRequest: + secret_path: str + """ + Secret's path. + """ + + secret_name: str + """ + Secret's name. + """ + + revision: str + """ + The first version of the secret is numbered 1, and all subsequent revisions augment by 1. Value can be either: +- an integer (the revision number) +- "latest" (the latest revision) +- "latest_enabled" (the latest enabled revision). + """ + + region: Optional[Region] + """ + Region to target. If none is passed will use default region from the config. + """ + + project_id: Optional[str] + """ + ID of the Project to target. + """ + + @dataclass class AccessSecretVersionRequest: secret_id: str @@ -725,6 +756,60 @@ class ProtectSecretRequest: """ +@dataclass +class SecretTypeBasicCredentials: + username: str + """ + The username or identifier associated with the credentials. + """ + + password: str + """ + The password associated with the credentials. + """ + + +@dataclass +class SecretTypeDatabaseCredentials: + engine: str + """ + Supported database engines are: 'postgres', 'mysql', 'other'. + """ + + username: str + """ + The username used to authenticate to the database server. + """ + + password: str + """ + The password used to authenticate to the database server. + """ + + host: str + """ + The hostname or resolvable DNS name of the database server. + """ + + dbname: str + """ + The name of the database to connect to. + """ + + port: str + """ + The port must be an integer ranging from 0 to 65535. + """ + + +@dataclass +class SecretTypeSSHKey: + ssh_private_key: str + """ + The private SSH key. + """ + + @dataclass class UnprotectSecretRequest: secret_id: str