diff --git a/scaleway-async/scaleway_async/audit_trail/v1alpha1/__init__.py b/scaleway-async/scaleway_async/audit_trail/v1alpha1/__init__.py index 5ca587eb0..b4cc75d78 100644 --- a/scaleway-async/scaleway_async/audit_trail/v1alpha1/__init__.py +++ b/scaleway-async/scaleway_async/audit_trail/v1alpha1/__init__.py @@ -17,6 +17,7 @@ from .types import ListExportJobsRequestOrderBy from .types import ListSystemEventsRequestOrderBy from .types import ResourceType +from .types import ServerlessContainersTriggerInfoSourceType from .types import SystemEventKind from .types import AccountContractSignatureInfoAccountContractInfo from .types import AccountContractSignatureInfo @@ -59,6 +60,10 @@ from .types import ObservabilityContactPointInfo from .types import SecretManagerSecretInfo from .types import SecretManagerSecretVersionInfo +from .types import ServerlessContainersContainerInfo +from .types import ServerlessContainersDomainInfo +from .types import ServerlessContainersNamespaceInfo +from .types import ServerlessContainersTriggerInfo from .types import VpcConnectorInfo from .types import VpcGwGatewayInfo from .types import VpcGwGatewayNetworkInfo @@ -134,6 +139,7 @@ "ListExportJobsRequestOrderBy", "ListSystemEventsRequestOrderBy", "ResourceType", + "ServerlessContainersTriggerInfoSourceType", "SystemEventKind", "AccountContractSignatureInfoAccountContractInfo", "AccountContractSignatureInfo", @@ -176,6 +182,10 @@ "ObservabilityContactPointInfo", "SecretManagerSecretInfo", "SecretManagerSecretVersionInfo", + "ServerlessContainersContainerInfo", + "ServerlessContainersDomainInfo", + "ServerlessContainersNamespaceInfo", + "ServerlessContainersTriggerInfo", "VpcConnectorInfo", "VpcGwGatewayInfo", "VpcGwGatewayNetworkInfo", diff --git a/scaleway-async/scaleway_async/audit_trail/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/audit_trail/v1alpha1/marshalling.py index e8cf89603..e1e1b7b72 100644 --- a/scaleway-async/scaleway_async/audit_trail/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/audit_trail/v1alpha1/marshalling.py @@ -69,6 +69,10 @@ ObservabilityContactPointInfo, SecretManagerSecretInfo, SecretManagerSecretVersionInfo, + ServerlessContainersContainerInfo, + ServerlessContainersDomainInfo, + ServerlessContainersNamespaceInfo, + ServerlessContainersTriggerInfo, VpcConnectorInfo, VpcGwGatewayInfo, VpcGwGatewayNetworkInfo, @@ -1204,6 +1208,82 @@ def unmarshal_SecretManagerSecretVersionInfo( return SecretManagerSecretVersionInfo(**args) +def unmarshal_ServerlessContainersContainerInfo( + data: Any, +) -> ServerlessContainersContainerInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersContainerInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("namespace_id", None) + if field is not None: + args["namespace_id"] = field + else: + args["namespace_id"] = None + + return ServerlessContainersContainerInfo(**args) + + +def unmarshal_ServerlessContainersDomainInfo( + data: Any, +) -> ServerlessContainersDomainInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersDomainInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("container_id", None) + if field is not None: + args["container_id"] = field + else: + args["container_id"] = None + + return ServerlessContainersDomainInfo(**args) + + +def unmarshal_ServerlessContainersNamespaceInfo( + data: Any, +) -> ServerlessContainersNamespaceInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersNamespaceInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + return ServerlessContainersNamespaceInfo(**args) + + +def unmarshal_ServerlessContainersTriggerInfo( + data: Any, +) -> ServerlessContainersTriggerInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersTriggerInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("container_id", None) + if field is not None: + args["container_id"] = field + else: + args["container_id"] = None + + field = data.get("source_type", None) + if field is not None: + args["source_type"] = field + else: + args["source_type"] = None + + return ServerlessContainersTriggerInfo(**args) + + def unmarshal_VpcConnectorInfo(data: Any) -> VpcConnectorInfo: if not isinstance(data, dict): raise TypeError( @@ -1788,6 +1868,38 @@ def unmarshal_Resource(data: Any) -> Resource: else: args["audit_trail_custom_alert_rule_info"] = None + field = data.get("serverless_containers_namespace_info", None) + if field is not None: + args["serverless_containers_namespace_info"] = ( + unmarshal_ServerlessContainersNamespaceInfo(field) + ) + else: + args["serverless_containers_namespace_info"] = None + + field = data.get("serverless_containers_container_info", None) + if field is not None: + args["serverless_containers_container_info"] = ( + unmarshal_ServerlessContainersContainerInfo(field) + ) + else: + args["serverless_containers_container_info"] = None + + field = data.get("serverless_containers_domain_info", None) + if field is not None: + args["serverless_containers_domain_info"] = ( + unmarshal_ServerlessContainersDomainInfo(field) + ) + else: + args["serverless_containers_domain_info"] = None + + field = data.get("serverless_containers_trigger_info", None) + if field is not None: + args["serverless_containers_trigger_info"] = ( + unmarshal_ServerlessContainersTriggerInfo(field) + ) + else: + args["serverless_containers_trigger_info"] = None + return Resource(**args) diff --git a/scaleway-async/scaleway_async/audit_trail/v1alpha1/types.py b/scaleway-async/scaleway_async/audit_trail/v1alpha1/types.py index 58c58f5d1..dd9c19ae3 100644 --- a/scaleway-async/scaleway_async/audit_trail/v1alpha1/types.py +++ b/scaleway-async/scaleway_async/audit_trail/v1alpha1/types.py @@ -255,6 +255,20 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta): AUTOSCALING_GROUP = "autoscaling_group" GAPI_DEDICATED_DEPLOYMENT = "gapi_dedicated_deployment" GAPI_DEDICATED_MODEL = "gapi_dedicated_model" + SERVERLESS_CONTAINERS_NAMESPACE = "serverless_containers_namespace" + SERVERLESS_CONTAINERS_CONTAINER = "serverless_containers_container" + SERVERLESS_CONTAINERS_DOMAIN = "serverless_containers_domain" + SERVERLESS_CONTAINERS_TRIGGER = "serverless_containers_trigger" + + def __str__(self) -> str: + return str(self.value) + + +class ServerlessContainersTriggerInfoSourceType(str, Enum, metaclass=StrEnumMeta): + UNKNOWN_SOURCE_TYPE = "unknown_source_type" + CRON = "cron" + SQS = "sqs" + NATS = "nats" def __str__(self) -> str: return str(self.value) @@ -496,6 +510,27 @@ class SecretManagerSecretVersionInfo: revision: int +@dataclass +class ServerlessContainersContainerInfo: + namespace_id: str + + +@dataclass +class ServerlessContainersDomainInfo: + container_id: str + + +@dataclass +class ServerlessContainersNamespaceInfo: + pass + + +@dataclass +class ServerlessContainersTriggerInfo: + container_id: str + source_type: ServerlessContainersTriggerInfoSourceType + + @dataclass class VpcConnectorInfo: vpc_id: str @@ -654,6 +689,18 @@ class Resource: audit_trail_custom_alert_rule_info: Optional[AuditTrailCustomAlertRuleInfo] = None + serverless_containers_namespace_info: Optional[ + ServerlessContainersNamespaceInfo + ] = None + + serverless_containers_container_info: Optional[ + ServerlessContainersContainerInfo + ] = None + + serverless_containers_domain_info: Optional[ServerlessContainersDomainInfo] = None + + serverless_containers_trigger_info: Optional[ServerlessContainersTriggerInfo] = None + @dataclass class EventPrincipal: diff --git a/scaleway/scaleway/audit_trail/v1alpha1/__init__.py b/scaleway/scaleway/audit_trail/v1alpha1/__init__.py index 5ca587eb0..b4cc75d78 100644 --- a/scaleway/scaleway/audit_trail/v1alpha1/__init__.py +++ b/scaleway/scaleway/audit_trail/v1alpha1/__init__.py @@ -17,6 +17,7 @@ from .types import ListExportJobsRequestOrderBy from .types import ListSystemEventsRequestOrderBy from .types import ResourceType +from .types import ServerlessContainersTriggerInfoSourceType from .types import SystemEventKind from .types import AccountContractSignatureInfoAccountContractInfo from .types import AccountContractSignatureInfo @@ -59,6 +60,10 @@ from .types import ObservabilityContactPointInfo from .types import SecretManagerSecretInfo from .types import SecretManagerSecretVersionInfo +from .types import ServerlessContainersContainerInfo +from .types import ServerlessContainersDomainInfo +from .types import ServerlessContainersNamespaceInfo +from .types import ServerlessContainersTriggerInfo from .types import VpcConnectorInfo from .types import VpcGwGatewayInfo from .types import VpcGwGatewayNetworkInfo @@ -134,6 +139,7 @@ "ListExportJobsRequestOrderBy", "ListSystemEventsRequestOrderBy", "ResourceType", + "ServerlessContainersTriggerInfoSourceType", "SystemEventKind", "AccountContractSignatureInfoAccountContractInfo", "AccountContractSignatureInfo", @@ -176,6 +182,10 @@ "ObservabilityContactPointInfo", "SecretManagerSecretInfo", "SecretManagerSecretVersionInfo", + "ServerlessContainersContainerInfo", + "ServerlessContainersDomainInfo", + "ServerlessContainersNamespaceInfo", + "ServerlessContainersTriggerInfo", "VpcConnectorInfo", "VpcGwGatewayInfo", "VpcGwGatewayNetworkInfo", diff --git a/scaleway/scaleway/audit_trail/v1alpha1/marshalling.py b/scaleway/scaleway/audit_trail/v1alpha1/marshalling.py index e8cf89603..e1e1b7b72 100644 --- a/scaleway/scaleway/audit_trail/v1alpha1/marshalling.py +++ b/scaleway/scaleway/audit_trail/v1alpha1/marshalling.py @@ -69,6 +69,10 @@ ObservabilityContactPointInfo, SecretManagerSecretInfo, SecretManagerSecretVersionInfo, + ServerlessContainersContainerInfo, + ServerlessContainersDomainInfo, + ServerlessContainersNamespaceInfo, + ServerlessContainersTriggerInfo, VpcConnectorInfo, VpcGwGatewayInfo, VpcGwGatewayNetworkInfo, @@ -1204,6 +1208,82 @@ def unmarshal_SecretManagerSecretVersionInfo( return SecretManagerSecretVersionInfo(**args) +def unmarshal_ServerlessContainersContainerInfo( + data: Any, +) -> ServerlessContainersContainerInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersContainerInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("namespace_id", None) + if field is not None: + args["namespace_id"] = field + else: + args["namespace_id"] = None + + return ServerlessContainersContainerInfo(**args) + + +def unmarshal_ServerlessContainersDomainInfo( + data: Any, +) -> ServerlessContainersDomainInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersDomainInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("container_id", None) + if field is not None: + args["container_id"] = field + else: + args["container_id"] = None + + return ServerlessContainersDomainInfo(**args) + + +def unmarshal_ServerlessContainersNamespaceInfo( + data: Any, +) -> ServerlessContainersNamespaceInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersNamespaceInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + return ServerlessContainersNamespaceInfo(**args) + + +def unmarshal_ServerlessContainersTriggerInfo( + data: Any, +) -> ServerlessContainersTriggerInfo: + if not isinstance(data, dict): + raise TypeError( + "Unmarshalling the type 'ServerlessContainersTriggerInfo' failed as data isn't a dictionary." + ) + + args: dict[str, Any] = {} + + field = data.get("container_id", None) + if field is not None: + args["container_id"] = field + else: + args["container_id"] = None + + field = data.get("source_type", None) + if field is not None: + args["source_type"] = field + else: + args["source_type"] = None + + return ServerlessContainersTriggerInfo(**args) + + def unmarshal_VpcConnectorInfo(data: Any) -> VpcConnectorInfo: if not isinstance(data, dict): raise TypeError( @@ -1788,6 +1868,38 @@ def unmarshal_Resource(data: Any) -> Resource: else: args["audit_trail_custom_alert_rule_info"] = None + field = data.get("serverless_containers_namespace_info", None) + if field is not None: + args["serverless_containers_namespace_info"] = ( + unmarshal_ServerlessContainersNamespaceInfo(field) + ) + else: + args["serverless_containers_namespace_info"] = None + + field = data.get("serverless_containers_container_info", None) + if field is not None: + args["serverless_containers_container_info"] = ( + unmarshal_ServerlessContainersContainerInfo(field) + ) + else: + args["serverless_containers_container_info"] = None + + field = data.get("serverless_containers_domain_info", None) + if field is not None: + args["serverless_containers_domain_info"] = ( + unmarshal_ServerlessContainersDomainInfo(field) + ) + else: + args["serverless_containers_domain_info"] = None + + field = data.get("serverless_containers_trigger_info", None) + if field is not None: + args["serverless_containers_trigger_info"] = ( + unmarshal_ServerlessContainersTriggerInfo(field) + ) + else: + args["serverless_containers_trigger_info"] = None + return Resource(**args) diff --git a/scaleway/scaleway/audit_trail/v1alpha1/types.py b/scaleway/scaleway/audit_trail/v1alpha1/types.py index 58c58f5d1..dd9c19ae3 100644 --- a/scaleway/scaleway/audit_trail/v1alpha1/types.py +++ b/scaleway/scaleway/audit_trail/v1alpha1/types.py @@ -255,6 +255,20 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta): AUTOSCALING_GROUP = "autoscaling_group" GAPI_DEDICATED_DEPLOYMENT = "gapi_dedicated_deployment" GAPI_DEDICATED_MODEL = "gapi_dedicated_model" + SERVERLESS_CONTAINERS_NAMESPACE = "serverless_containers_namespace" + SERVERLESS_CONTAINERS_CONTAINER = "serverless_containers_container" + SERVERLESS_CONTAINERS_DOMAIN = "serverless_containers_domain" + SERVERLESS_CONTAINERS_TRIGGER = "serverless_containers_trigger" + + def __str__(self) -> str: + return str(self.value) + + +class ServerlessContainersTriggerInfoSourceType(str, Enum, metaclass=StrEnumMeta): + UNKNOWN_SOURCE_TYPE = "unknown_source_type" + CRON = "cron" + SQS = "sqs" + NATS = "nats" def __str__(self) -> str: return str(self.value) @@ -496,6 +510,27 @@ class SecretManagerSecretVersionInfo: revision: int +@dataclass +class ServerlessContainersContainerInfo: + namespace_id: str + + +@dataclass +class ServerlessContainersDomainInfo: + container_id: str + + +@dataclass +class ServerlessContainersNamespaceInfo: + pass + + +@dataclass +class ServerlessContainersTriggerInfo: + container_id: str + source_type: ServerlessContainersTriggerInfoSourceType + + @dataclass class VpcConnectorInfo: vpc_id: str @@ -654,6 +689,18 @@ class Resource: audit_trail_custom_alert_rule_info: Optional[AuditTrailCustomAlertRuleInfo] = None + serverless_containers_namespace_info: Optional[ + ServerlessContainersNamespaceInfo + ] = None + + serverless_containers_container_info: Optional[ + ServerlessContainersContainerInfo + ] = None + + serverless_containers_domain_info: Optional[ServerlessContainersDomainInfo] = None + + serverless_containers_trigger_info: Optional[ServerlessContainersTriggerInfo] = None + @dataclass class EventPrincipal: