diff --git a/scaleway-async/scaleway_async/edge_services/v1beta1/__init__.py b/scaleway-async/scaleway_async/edge_services/v1beta1/__init__.py index 0c37c066a..2450691a7 100644 --- a/scaleway-async/scaleway_async/edge_services/v1beta1/__init__.py +++ b/scaleway-async/scaleway_async/edge_services/v1beta1/__init__.py @@ -26,6 +26,7 @@ from .types import SearchBackendStagesRequestOrderBy from .types import SearchRouteRulesRequestOrderBy from .types import SearchWafStagesRequestOrderBy +from .types import StageStatus from .types import WafStageMode from .types import ScalewayLb from .types import RuleHttpMatchHostFilter @@ -160,6 +161,7 @@ "SearchBackendStagesRequestOrderBy", "SearchRouteRulesRequestOrderBy", "SearchWafStagesRequestOrderBy", + "StageStatus", "WafStageMode", "ScalewayLb", "RuleHttpMatchHostFilter", diff --git a/scaleway-async/scaleway_async/edge_services/v1beta1/marshalling.py b/scaleway-async/scaleway_async/edge_services/v1beta1/marshalling.py index 36bc48298..dc2db3b83 100644 --- a/scaleway-async/scaleway_async/edge_services/v1beta1/marshalling.py +++ b/scaleway-async/scaleway_async/edge_services/v1beta1/marshalling.py @@ -19,6 +19,7 @@ PurgeRequestStatus, RuleHttpMatchMethodFilter, RuleHttpMatchPathFilterPathFilterType, + StageStatus, WafStageMode, ScalewayLb, ScalewayLbBackendConfig, @@ -260,6 +261,12 @@ def unmarshal_BackendStage(data: Any) -> BackendStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field @@ -329,6 +336,12 @@ def unmarshal_CacheStage(data: Any) -> CacheStage: else: args["include_cookies"] = False + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("fallback_ttl", None) if field is not None: args["fallback_ttl"] = field @@ -347,18 +360,18 @@ def unmarshal_CacheStage(data: Any) -> CacheStage: else: args["updated_at"] = None - field = data.get("backend_stage_id", None) - if field is not None: - args["backend_stage_id"] = field - else: - args["backend_stage_id"] = None - field = data.get("waf_stage_id", None) if field is not None: args["waf_stage_id"] = field else: args["waf_stage_id"] = None + field = data.get("backend_stage_id", None) + if field is not None: + args["backend_stage_id"] = field + else: + args["backend_stage_id"] = None + field = data.get("route_stage_id", None) if field is not None: args["route_stage_id"] = field @@ -406,6 +419,12 @@ def unmarshal_DNSStage(data: Any) -> DNSStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("wildcard_domain", None) if field is not None: args["wildcard_domain"] = field @@ -573,6 +592,12 @@ def unmarshal_RouteStage(data: Any) -> RouteStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("waf_stage_id", None) if field is not None: args["waf_stage_id"] = field @@ -657,6 +682,12 @@ def unmarshal_TLSStage(data: Any) -> TLSStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("certificate_expires_at", None) if field is not None: args["certificate_expires_at"] = ( @@ -736,6 +767,12 @@ def unmarshal_WafStage(data: Any) -> WafStage: else: args["paranoia_level"] = 0 + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field diff --git a/scaleway-async/scaleway_async/edge_services/v1beta1/types.py b/scaleway-async/scaleway_async/edge_services/v1beta1/types.py index 60daee7d2..c0fcb66db 100644 --- a/scaleway-async/scaleway_async/edge_services/v1beta1/types.py +++ b/scaleway-async/scaleway_async/edge_services/v1beta1/types.py @@ -267,6 +267,15 @@ def __str__(self) -> str: return str(self.value) +class StageStatus(str, Enum, metaclass=StrEnumMeta): + UNKNOWN_STATUS = "unknown_status" + INACTIVE = "inactive" + ACTIVE = "active" + + def __str__(self) -> str: + return str(self.value) + + class WafStageMode(str, Enum, metaclass=StrEnumMeta): UNKNOWN_MODE = "unknown_mode" DISABLE = "disable" @@ -427,6 +436,11 @@ class BackendStage: Pipeline ID the backend stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + created_at: Optional[datetime] = None """ Date the backend stage was created. @@ -467,6 +481,11 @@ class CacheStage: Defines whether responses to requests with cookies must be stored in the cache. """ + status: StageStatus + """ + Current status of the stage. + """ + fallback_ttl: Optional[str] = None """ Time To Live (TTL) in seconds. Defines how long content is cached. @@ -482,10 +501,10 @@ class CacheStage: Date the cache stage was last updated. """ - backend_stage_id: Optional[str] = None - waf_stage_id: Optional[str] = None + backend_stage_id: Optional[str] = None + route_stage_id: Optional[str] = None @@ -516,6 +535,11 @@ class DNSStage: Pipeline ID the DNS stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + wildcard_domain: bool """ Support of wildcard (subdomains) for the given domain (a wildcard certificate is required to make it work). @@ -598,6 +622,11 @@ class RouteStage: Pipeline ID the route stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + created_at: Optional[datetime] = None """ Date the route stage was created. @@ -635,6 +664,11 @@ class TLSStage: Pipeline ID the TLS stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + certificate_expires_at: Optional[datetime] = None """ Expiration date of the certificate. @@ -681,6 +715,11 @@ class WafStage: Sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign. """ + status: StageStatus + """ + Current status of the stage. + """ + created_at: Optional[datetime] = None """ Date the WAF stage was created. diff --git a/scaleway/scaleway/edge_services/v1beta1/__init__.py b/scaleway/scaleway/edge_services/v1beta1/__init__.py index 0c37c066a..2450691a7 100644 --- a/scaleway/scaleway/edge_services/v1beta1/__init__.py +++ b/scaleway/scaleway/edge_services/v1beta1/__init__.py @@ -26,6 +26,7 @@ from .types import SearchBackendStagesRequestOrderBy from .types import SearchRouteRulesRequestOrderBy from .types import SearchWafStagesRequestOrderBy +from .types import StageStatus from .types import WafStageMode from .types import ScalewayLb from .types import RuleHttpMatchHostFilter @@ -160,6 +161,7 @@ "SearchBackendStagesRequestOrderBy", "SearchRouteRulesRequestOrderBy", "SearchWafStagesRequestOrderBy", + "StageStatus", "WafStageMode", "ScalewayLb", "RuleHttpMatchHostFilter", diff --git a/scaleway/scaleway/edge_services/v1beta1/marshalling.py b/scaleway/scaleway/edge_services/v1beta1/marshalling.py index 36bc48298..dc2db3b83 100644 --- a/scaleway/scaleway/edge_services/v1beta1/marshalling.py +++ b/scaleway/scaleway/edge_services/v1beta1/marshalling.py @@ -19,6 +19,7 @@ PurgeRequestStatus, RuleHttpMatchMethodFilter, RuleHttpMatchPathFilterPathFilterType, + StageStatus, WafStageMode, ScalewayLb, ScalewayLbBackendConfig, @@ -260,6 +261,12 @@ def unmarshal_BackendStage(data: Any) -> BackendStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field @@ -329,6 +336,12 @@ def unmarshal_CacheStage(data: Any) -> CacheStage: else: args["include_cookies"] = False + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("fallback_ttl", None) if field is not None: args["fallback_ttl"] = field @@ -347,18 +360,18 @@ def unmarshal_CacheStage(data: Any) -> CacheStage: else: args["updated_at"] = None - field = data.get("backend_stage_id", None) - if field is not None: - args["backend_stage_id"] = field - else: - args["backend_stage_id"] = None - field = data.get("waf_stage_id", None) if field is not None: args["waf_stage_id"] = field else: args["waf_stage_id"] = None + field = data.get("backend_stage_id", None) + if field is not None: + args["backend_stage_id"] = field + else: + args["backend_stage_id"] = None + field = data.get("route_stage_id", None) if field is not None: args["route_stage_id"] = field @@ -406,6 +419,12 @@ def unmarshal_DNSStage(data: Any) -> DNSStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("wildcard_domain", None) if field is not None: args["wildcard_domain"] = field @@ -573,6 +592,12 @@ def unmarshal_RouteStage(data: Any) -> RouteStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("waf_stage_id", None) if field is not None: args["waf_stage_id"] = field @@ -657,6 +682,12 @@ def unmarshal_TLSStage(data: Any) -> TLSStage: else: args["pipeline_id"] = None + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("certificate_expires_at", None) if field is not None: args["certificate_expires_at"] = ( @@ -736,6 +767,12 @@ def unmarshal_WafStage(data: Any) -> WafStage: else: args["paranoia_level"] = 0 + field = data.get("status", None) + if field is not None: + args["status"] = field + else: + args["status"] = StageStatus.UNKNOWN_STATUS + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field diff --git a/scaleway/scaleway/edge_services/v1beta1/types.py b/scaleway/scaleway/edge_services/v1beta1/types.py index 60daee7d2..c0fcb66db 100644 --- a/scaleway/scaleway/edge_services/v1beta1/types.py +++ b/scaleway/scaleway/edge_services/v1beta1/types.py @@ -267,6 +267,15 @@ def __str__(self) -> str: return str(self.value) +class StageStatus(str, Enum, metaclass=StrEnumMeta): + UNKNOWN_STATUS = "unknown_status" + INACTIVE = "inactive" + ACTIVE = "active" + + def __str__(self) -> str: + return str(self.value) + + class WafStageMode(str, Enum, metaclass=StrEnumMeta): UNKNOWN_MODE = "unknown_mode" DISABLE = "disable" @@ -427,6 +436,11 @@ class BackendStage: Pipeline ID the backend stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + created_at: Optional[datetime] = None """ Date the backend stage was created. @@ -467,6 +481,11 @@ class CacheStage: Defines whether responses to requests with cookies must be stored in the cache. """ + status: StageStatus + """ + Current status of the stage. + """ + fallback_ttl: Optional[str] = None """ Time To Live (TTL) in seconds. Defines how long content is cached. @@ -482,10 +501,10 @@ class CacheStage: Date the cache stage was last updated. """ - backend_stage_id: Optional[str] = None - waf_stage_id: Optional[str] = None + backend_stage_id: Optional[str] = None + route_stage_id: Optional[str] = None @@ -516,6 +535,11 @@ class DNSStage: Pipeline ID the DNS stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + wildcard_domain: bool """ Support of wildcard (subdomains) for the given domain (a wildcard certificate is required to make it work). @@ -598,6 +622,11 @@ class RouteStage: Pipeline ID the route stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + created_at: Optional[datetime] = None """ Date the route stage was created. @@ -635,6 +664,11 @@ class TLSStage: Pipeline ID the TLS stage belongs to. """ + status: StageStatus + """ + Current status of the stage. + """ + certificate_expires_at: Optional[datetime] = None """ Expiration date of the certificate. @@ -681,6 +715,11 @@ class WafStage: Sensitivity level (`1`,`2`,`3`,`4`) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign. """ + status: StageStatus + """ + Current status of the stage. + """ + created_at: Optional[datetime] = None """ Date the WAF stage was created.