scaleway_async.edge_services.v1beta1 package

Submodules

scaleway_async.edge_services.v1beta1.api module

class scaleway_async.edge_services.v1beta1.api.EdgeServicesV1Beta1API(client: Client, *, bypass_validation: bool = False)

Bases: API

async add_route_rules(*, route_stage_id: str, route_rules: List[SetRouteRulesRequestRouteRule] | None = None, after_position: int | None = None, before_position: int | None = None) AddRouteRulesResponse

Add route rules. Add route rules to an existing route stage, specified by its route_stage_id. :param route_stage_id: ID of the route stage to update. :param route_rules: List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id. :param after_position: Add rules after the given position. One-Of (β€˜position’): at most one of β€˜after_position’, β€˜before_position’ could be set. :param before_position: Add rules before the given position. One-Of (β€˜position’): at most one of β€˜after_position’, β€˜before_position’ could be set. :return: AddRouteRulesResponse

Usage:

result = await api.add_route_rules(
    route_stage_id="example",
)
async check_domain(*, fqdn: str, cname: str, project_id: str | None = None) CheckDomainResponse
Parameters:
  • fqdn –

  • cname –

  • project_id –

Returns:

CheckDomainResponse

Usage:

result = await api.check_domain(
    fqdn="example",
    cname="example",
)
async check_lb_origin(*, lb: ScalewayLb | None = None) CheckLbOriginResponse
Parameters:

lb –

Returns:

CheckLbOriginResponse

Usage:

result = await api.check_lb_origin()
async check_pem_chain(*, fqdn: str, project_id: str | None = None, secret: CheckPEMChainRequestSecretChain | None = None, raw: str | None = None) CheckPEMChainResponse
Parameters:
  • fqdn –

  • project_id –

  • secret –

One-Of (β€˜chain’): at most one of β€˜secret’, β€˜raw’ could be set. :param raw: One-Of (β€˜chain’): at most one of β€˜secret’, β€˜raw’ could be set. :return: CheckPEMChainResponse

Usage:

result = await api.check_pem_chain(
    fqdn="example",
)
async create_backend_stage(*, scaleway_s3: ScalewayS3BackendConfig | None = None, scaleway_lb: ScalewayLbBackendConfig | None = None, pipeline_id: str) BackendStage

Create backend stage. Create a new backend stage. You must specify either a scaleway_s3 (for a Scaleway Object Storage bucket) or scaleway_lb (for a Scaleway Load Balancer) field to configure the origin. :param scaleway_s3: Scaleway Object Storage origin bucket (S3) linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :param scaleway_lb: Scaleway Load Balancer origin linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :param pipeline_id: Pipeline ID the Backend stage belongs to. :return: BackendStage

Usage:

result = await api.create_backend_stage(
    pipeline_id="example",
)
async create_cache_stage(*, fallback_ttl: str | None = None, include_cookies: bool | None = None, backend_stage_id: str | None = None, pipeline_id: str, waf_stage_id: str | None = None, route_stage_id: str | None = None) CacheStage

Create cache stage. Create a new cache stage. You must specify the fallback_ttl field to customize the TTL of the cache. :param fallback_ttl: Time To Live (TTL) in seconds. Defines how long content is cached. :param include_cookies: Defines whether responses to requests with cookies must be stored in the cache. :param backend_stage_id: Backend stage ID the cache stage will be linked to. One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param pipeline_id: Pipeline ID the Cache stage belongs to. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :return: CacheStage

Usage:

result = await api.create_cache_stage(
    pipeline_id="example",
)
async create_dns_stage(*, fqdns: List[str] | None = None, tls_stage_id: str | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None, pipeline_id: str) DNSStage

Create DNS stage. Create a new DNS stage. You must specify the fqdns field to customize the domain endpoint, using a domain you already own. :param fqdns: Fully Qualified Domain Name (in the format subdomain.example.com) to attach to the stage. :param tls_stage_id: TLS stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param cache_stage_id: Cache stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param backend_stage_id: Backend stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param pipeline_id: Pipeline ID the DNS stage belongs to. :return: DNSStage

Usage:

result = await api.create_dns_stage(
    pipeline_id="example",
)
async create_pipeline(*, name: str, description: str, project_id: str | None = None) Pipeline

Create pipeline. Create a new pipeline. You must specify a dns_stage_id to form a stage-chain that goes all the way to the backend stage (origin), so the HTTP request will be processed according to the stages you created. :param name: Name of the pipeline. :param description: Description of the pipeline. :param project_id: Project ID in which the pipeline will be created. :return: Pipeline

Usage:

result = await api.create_pipeline(
    name="example",
    description="example",
)
async create_purge_request(*, pipeline_id: str, assets: List[str] | None = None, all: bool | None = None) PurgeRequest

Create purge request. Create a new purge request. You must specify either the all field (to purge all content) or a list of assets (to define the precise assets to purge). :param pipeline_id: Pipeline ID in which the purge request will be created. :param assets: List of asserts to purge. One-Of (β€˜target’): at most one of β€˜assets’, β€˜all’ could be set. :param all: Defines whether to purge all content. One-Of (β€˜target’): at most one of β€˜assets’, β€˜all’ could be set. :return: PurgeRequest

Usage:

result = await api.create_purge_request(
    pipeline_id="example",
)
async create_route_stage(*, pipeline_id: str, waf_stage_id: str | None = None) RouteStage

Create route stage. Create a new route stage. You must specify the waf_stage_id field to customize the route. :param pipeline_id: Pipeline ID the route stage belongs to. :param waf_stage_id: ID of the WAF stage HTTP requests should be forwarded to when no rules are matched. One-Of (β€˜next’): at most one of β€˜waf_stage_id’ could be set. :return: RouteStage

Usage:

result = await api.create_route_stage(
    pipeline_id="example",
)
async create_tls_stage(*, secrets: List[TLSSecret] | None = None, managed_certificate: bool | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None, pipeline_id: str, route_stage_id: str | None = None, waf_stage_id: str | None = None) TLSStage

Create TLS stage. Create a new TLS stage. You must specify either the secrets or managed_certificate fields to customize the SSL/TLS certificate of your endpoint. Choose secrets if you are using a pre-existing certificate held in Scaleway Secret Manager, or managed_certificate to let Scaleway generate and manage a Let’s Encrypt certificate for your customized endpoint. :param secrets: Secret (from Scaleway Secret Manager) containing your custom certificate. :param managed_certificate: True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint. :param cache_stage_id: Cache stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param backend_stage_id: Backend stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param pipeline_id: Pipeline ID the TLS stage belongs to. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :return: TLSStage

Usage:

result = await api.create_tls_stage(
    pipeline_id="example",
)
async create_waf_stage(*, pipeline_id: str, paranoia_level: int, mode: WafStageMode | None = None, backend_stage_id: str | None = None) WafStage

Create WAF stage. Create a new WAF stage. You must specify the mode and paranoia_level fields to customize the WAF. :param pipeline_id: Pipeline ID the WAF stage belongs to. :param paranoia_level: 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. :param mode: Mode defining WAF behavior (disable/log_only/enable). :param backend_stage_id: ID of the backend stage to forward requests to after the WAF stage. One-Of (β€˜next’): at most one of β€˜backend_stage_id’ could be set. :return: WafStage

Usage:

result = await api.create_waf_stage(
    pipeline_id="example",
    paranoia_level=1,
)
async delete_backend_stage(*, backend_stage_id: str) None

Delete backend stage. Delete an existing backend stage, specified by its backend_stage_id. Deleting a backend stage is permanent, and cannot be undone. :param backend_stage_id: ID of the backend stage to delete.

Usage:

result = await api.delete_backend_stage(
    backend_stage_id="example",
)
async delete_cache_stage(*, cache_stage_id: str) None

Delete cache stage. Delete an existing cache stage, specified by its cache_stage_id. Deleting a cache stage is permanent, and cannot be undone. :param cache_stage_id: ID of the cache stage to delete.

Usage:

result = await api.delete_cache_stage(
    cache_stage_id="example",
)
async delete_current_plan(*, project_id: str | None = None) None
Parameters:

project_id –

Usage:

result = await api.delete_current_plan()
async delete_dns_stage(*, dns_stage_id: str) None

Delete DNS stage. Delete an existing DNS stage, specified by its dns_stage_id. Deleting a DNS stage is permanent, and cannot be undone. :param dns_stage_id: ID of the DNS stage to delete.

Usage:

result = await api.delete_dns_stage(
    dns_stage_id="example",
)
async delete_pipeline(*, pipeline_id: str) None

Delete pipeline. Delete an existing pipeline, specified by its pipeline_id. Deleting a pipeline is permanent, and cannot be undone. Note that all stages linked to the pipeline are also deleted. :param pipeline_id: ID of the pipeline to delete.

Usage:

result = await api.delete_pipeline(
    pipeline_id="example",
)
async delete_route_stage(*, route_stage_id: str) None

Delete route stage. Delete an existing route stage, specified by its route_stage_id. Deleting a route stage is permanent, and cannot be undone. :param route_stage_id: ID of the route stage to delete.

Usage:

result = await api.delete_route_stage(
    route_stage_id="example",
)
async delete_tls_stage(*, tls_stage_id: str) None

Delete TLS stage. Delete an existing TLS stage, specified by its tls_stage_id. Deleting a TLS stage is permanent, and cannot be undone. :param tls_stage_id: ID of the TLS stage to delete.

Usage:

result = await api.delete_tls_stage(
    tls_stage_id="example",
)
async delete_waf_stage(*, waf_stage_id: str) None

Delete WAF stage. Delete an existing WAF stage, specified by its waf_stage_id. Deleting a WAF stage is permanent, and cannot be undone. :param waf_stage_id: ID of the WAF stage to delete.

Usage:

result = await api.delete_waf_stage(
    waf_stage_id="example",
)
async get_backend_stage(*, backend_stage_id: str) BackendStage

Get backend stage. Retrieve information about an existing backend stage, specified by its backend_stage_id. Its full details, including scaleway_s3 or scaleway_lb, are returned in the response object. :param backend_stage_id: ID of the requested backend stage. :return: BackendStage

Usage:

result = await api.get_backend_stage(
    backend_stage_id="example",
)
async get_billing(*, project_id: str | None = None) GetBillingResponse

Gives information on the currently selected Edge Services subscription plan, resource usage and associated billing information for this calendar month (including whether consumption falls within or exceeds the currently selected subscription plan.). :param project_id: :return: GetBillingResponse

Usage:

result = await api.get_billing()
async get_cache_stage(*, cache_stage_id: str) CacheStage

Get cache stage. Retrieve information about an existing cache stage, specified by its cache_stage_id. Its full details, including Time To Live (TTL), are returned in the response object. :param cache_stage_id: ID of the requested cache stage. :return: CacheStage

Usage:

result = await api.get_cache_stage(
    cache_stage_id="example",
)
async get_current_plan(*, project_id: str | None = None) Plan
Parameters:

project_id –

Returns:

Plan

Usage:

result = await api.get_current_plan()
async get_dns_stage(*, dns_stage_id: str) DNSStage

Get DNS stage. Retrieve information about an existing DNS stage, specified by its dns_stage_id. Its full details, including FQDNs, are returned in the response object. :param dns_stage_id: ID of the requested DNS stage. :return: DNSStage

Usage:

result = await api.get_dns_stage(
    dns_stage_id="example",
)
async get_pipeline(*, pipeline_id: str) Pipeline

Get pipeline. Retrieve information about an existing pipeline, specified by its pipeline_id. Its full details, including errors, are returned in the response object. :param pipeline_id: ID of the requested pipeline. :return: Pipeline

Usage:

result = await api.get_pipeline(
    pipeline_id="example",
)
async get_purge_request(*, purge_request_id: str) PurgeRequest

Get purge request. Retrieve information about a purge request, specified by its purge_request_id. Its full details, including status and target, are returned in the response object. :param purge_request_id: ID of the requested purge request. :return: PurgeRequest

Usage:

result = await api.get_purge_request(
    purge_request_id="example",
)
async get_route_stage(*, route_stage_id: str) RouteStage

Get route stage. Retrieve information about an existing route stage, specified by its route_stage_id. The summary of the route stage (without route rules) is returned in the response object. :param route_stage_id: ID of the requested route stage. :return: RouteStage

Usage:

result = await api.get_route_stage(
    route_stage_id="example",
)
async get_tls_stage(*, tls_stage_id: str) TLSStage

Get TLS stage. Retrieve information about an existing TLS stage, specified by its tls_stage_id. Its full details, including secrets and certificate expiration date are returned in the response object. :param tls_stage_id: ID of the requested TLS stage. :return: TLSStage

Usage:

result = await api.get_tls_stage(
    tls_stage_id="example",
)
async get_waf_stage(*, waf_stage_id: str) WafStage

Get WAF stage. Retrieve information about an existing WAF stage, specified by its waf_stage_id. Its full details are returned in the response object. :param waf_stage_id: ID of the requested WAF stage. :return: WafStage

Usage:

result = await api.get_waf_stage(
    waf_stage_id="example",
)
async list_backend_stages(*, order_by: ListBackendStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, bucket_name: str | None = None, bucket_region: str | None = None, lb_id: str | None = None) ListBackendStagesResponse

List backend stages. List all backend stages, for a Scaleway Organization or Scaleway Project. By default, the backend stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of backend stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of backend stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only backend stages from this pipeline will be returned. :param bucket_name: Bucket name to filter for. Only backend stages from this Bucket will be returned. :param bucket_region: Bucket region to filter for. Only backend stages with buckets in this region will be returned. :param lb_id: Load Balancer ID to filter for. Only backend stages with this Load Balancer will be returned. :return: ListBackendStagesResponse

Usage:

result = await api.list_backend_stages(
    pipeline_id="example",
)
async list_backend_stages_all(*, order_by: ListBackendStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, bucket_name: str | None = None, bucket_region: str | None = None, lb_id: str | None = None) List[BackendStage]

List backend stages. List all backend stages, for a Scaleway Organization or Scaleway Project. By default, the backend stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of backend stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of backend stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only backend stages from this pipeline will be returned. :param bucket_name: Bucket name to filter for. Only backend stages from this Bucket will be returned. :param bucket_region: Bucket region to filter for. Only backend stages with buckets in this region will be returned. :param lb_id: Load Balancer ID to filter for. Only backend stages with this Load Balancer will be returned. :return: List[BackendStage]

Usage:

result = await api.list_backend_stages_all(
    pipeline_id="example",
)
async list_cache_stages(*, order_by: ListCacheStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) ListCacheStagesResponse

List cache stages. List all cache stages, for a Scaleway Organization or Scaleway Project. By default, the cache stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of cache stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of cache stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only cache stages from this pipeline will be returned. :return: ListCacheStagesResponse

Usage:

result = await api.list_cache_stages(
    pipeline_id="example",
)
async list_cache_stages_all(*, order_by: ListCacheStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) List[CacheStage]

List cache stages. List all cache stages, for a Scaleway Organization or Scaleway Project. By default, the cache stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of cache stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of cache stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only cache stages from this pipeline will be returned. :return: List[CacheStage]

Usage:

result = await api.list_cache_stages_all(
    pipeline_id="example",
)
async list_dns_stages(*, order_by: ListDNSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, fqdn: str | None = None) ListDNSStagesResponse

List DNS stages. List all DNS stages, for a Scaleway Organization or Scaleway Project. By default, the DNS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of DNS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of DNS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only DNS stages from this pipeline will be returned. :param fqdn: Fully Qualified Domain Name to filter for (in the format subdomain.example.com). Only DNS stages with this FQDN will be returned. :return: ListDNSStagesResponse

Usage:

result = await api.list_dns_stages(
    pipeline_id="example",
)
async list_dns_stages_all(*, order_by: ListDNSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, fqdn: str | None = None) List[DNSStage]

List DNS stages. List all DNS stages, for a Scaleway Organization or Scaleway Project. By default, the DNS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of DNS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of DNS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only DNS stages from this pipeline will be returned. :param fqdn: Fully Qualified Domain Name to filter for (in the format subdomain.example.com). Only DNS stages with this FQDN will be returned. :return: List[DNSStage]

Usage:

result = await api.list_dns_stages_all(
    pipeline_id="example",
)
async list_head_stages(*, pipeline_id: str, page: int | None = None, page_size: int | None = None) ListHeadStagesResponse
Parameters:
  • pipeline_id – ID of the pipeline to update.

  • page – Page number to return, from the paginated results.

  • page_size – Number of head stages to return per page.

Returns:

ListHeadStagesResponse

Usage:

result = await api.list_head_stages(
    pipeline_id="example",
)
async list_head_stages_all(*, pipeline_id: str, page: int | None = None, page_size: int | None = None) List[ListHeadStagesResponseHeadStage]
Parameters:
  • pipeline_id – ID of the pipeline to update.

  • page – Page number to return, from the paginated results.

  • page_size – Number of head stages to return per page.

Returns:

List[ListHeadStagesResponseHeadStage]

Usage:

result = await api.list_head_stages_all(
    pipeline_id="example",
)
async list_pipelines(*, order_by: ListPipelinesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None, has_backend_stage_lb: bool | None = None) ListPipelinesResponse

List pipelines. List all pipelines, for a Scaleway Organization or Scaleway Project. By default, the pipelines returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of pipelines in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of pipelines to return per page. :param name: Pipeline name to filter for. Only pipelines with this string within their name will be returned. :param organization_id: Organization ID to filter for. Only pipelines from this Organization will be returned. :param project_id: Project ID to filter for. Only pipelines from this Project will be returned. :param has_backend_stage_lb: Filter on backend stage. Only pipelines with a Load Balancer origin will be returned. :return: ListPipelinesResponse

Usage:

result = await api.list_pipelines()
async list_pipelines_all(*, order_by: ListPipelinesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None, has_backend_stage_lb: bool | None = None) List[Pipeline]

List pipelines. List all pipelines, for a Scaleway Organization or Scaleway Project. By default, the pipelines returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of pipelines in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of pipelines to return per page. :param name: Pipeline name to filter for. Only pipelines with this string within their name will be returned. :param organization_id: Organization ID to filter for. Only pipelines from this Organization will be returned. :param project_id: Project ID to filter for. Only pipelines from this Project will be returned. :param has_backend_stage_lb: Filter on backend stage. Only pipelines with a Load Balancer origin will be returned. :return: List[Pipeline]

Usage:

result = await api.list_pipelines_all()
async list_pipelines_with_stages(*, order_by: ListPipelinesWithStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None) ListPipelinesWithStagesResponse
Parameters:
  • order_by –

  • page –

  • page_size –

  • name –

  • organization_id –

  • project_id –

Returns:

ListPipelinesWithStagesResponse

Usage:

result = await api.list_pipelines_with_stages()
async list_pipelines_with_stages_all(*, order_by: ListPipelinesWithStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None) List[PipelineStages]
Parameters:
  • order_by –

  • page –

  • page_size –

  • name –

  • organization_id –

  • project_id –

Returns:

List[PipelineStages]

Usage:

result = await api.list_pipelines_with_stages_all()
async list_plans() ListPlansResponse
Returns:

ListPlansResponse

Usage:

result = await api.list_plans()
async list_purge_requests(*, order_by: ListPurgeRequestsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, organization_id: str | None = None, project_id: str | None = None, pipeline_id: str | None = None) ListPurgeRequestsResponse

List purge requests. List all purge requests, for a Scaleway Organization or Scaleway Project. This enables you to retrieve a history of all previously-made purge requests. By default, the purge requests returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of purge requests in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of purge requests to return per page. :param organization_id: Organization ID to filter for. Only purge requests from this Project will be returned. :param project_id: Project ID to filter for. Only purge requests from this Project will be returned. :param pipeline_id: Pipeline ID to filter for. Only purge requests from this pipeline will be returned. :return: ListPurgeRequestsResponse

Usage:

result = await api.list_purge_requests()
async list_purge_requests_all(*, order_by: ListPurgeRequestsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, organization_id: str | None = None, project_id: str | None = None, pipeline_id: str | None = None) List[PurgeRequest]

List purge requests. List all purge requests, for a Scaleway Organization or Scaleway Project. This enables you to retrieve a history of all previously-made purge requests. By default, the purge requests returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of purge requests in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of purge requests to return per page. :param organization_id: Organization ID to filter for. Only purge requests from this Project will be returned. :param project_id: Project ID to filter for. Only purge requests from this Project will be returned. :param pipeline_id: Pipeline ID to filter for. Only purge requests from this pipeline will be returned. :return: List[PurgeRequest]

Usage:

result = await api.list_purge_requests_all()
async list_route_rules(*, route_stage_id: str) ListRouteRulesResponse

List route rules. List all route rules of an existing route stage, specified by its route_stage_id. :param route_stage_id: Route stage ID to filter for. Only route rules from this route stage will be returned. :return: ListRouteRulesResponse

Usage:

result = await api.list_route_rules(
    route_stage_id="example",
)
async list_route_stages(*, order_by: ListRouteStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) ListRouteStagesResponse

List route stages. List all route stages, for a given pipeline. By default, the route stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of route stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of route stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only route stages from this pipeline will be returned. :return: ListRouteStagesResponse

Usage:

result = await api.list_route_stages(
    pipeline_id="example",
)
async list_route_stages_all(*, order_by: ListRouteStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) List[RouteStage]

List route stages. List all route stages, for a given pipeline. By default, the route stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of route stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of route stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only route stages from this pipeline will be returned. :return: List[RouteStage]

Usage:

result = await api.list_route_stages_all(
    pipeline_id="example",
)
async list_tls_stages(*, order_by: ListTLSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, secret_id: str | None = None, secret_region: str | None = None) ListTLSStagesResponse

List TLS stages. List all TLS stages, for a Scaleway Organization or Scaleway Project. By default, the TLS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of TLS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of TLS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only TLS stages from this pipeline will be returned. :param secret_id: Secret ID to filter for. Only TLS stages with this Secret ID will be returned. :param secret_region: Secret region to filter for. Only TLS stages with a Secret in this region will be returned. :return: ListTLSStagesResponse

Usage:

result = await api.list_tls_stages(
    pipeline_id="example",
)
async list_tls_stages_all(*, order_by: ListTLSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, secret_id: str | None = None, secret_region: str | None = None) List[TLSStage]

List TLS stages. List all TLS stages, for a Scaleway Organization or Scaleway Project. By default, the TLS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of TLS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of TLS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only TLS stages from this pipeline will be returned. :param secret_id: Secret ID to filter for. Only TLS stages with this Secret ID will be returned. :param secret_region: Secret region to filter for. Only TLS stages with a Secret in this region will be returned. :return: List[TLSStage]

Usage:

result = await api.list_tls_stages_all(
    pipeline_id="example",
)
async list_waf_stages(*, order_by: ListWafStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) ListWafStagesResponse

List WAF stages. List all WAF stages, for a Scaleway Organization or Scaleway Project. By default, the WAF stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of WAF stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of WAF stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only WAF stages from this pipeline will be returned. :return: ListWafStagesResponse

Usage:

result = await api.list_waf_stages(
    pipeline_id="example",
)
async list_waf_stages_all(*, order_by: ListWafStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) List[WafStage]

List WAF stages. List all WAF stages, for a Scaleway Organization or Scaleway Project. By default, the WAF stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of WAF stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of WAF stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only WAF stages from this pipeline will be returned. :return: List[WafStage]

Usage:

result = await api.list_waf_stages_all(
    pipeline_id="example",
)
async search_backend_stages(*, order_by: SearchBackendStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, project_id: str | None = None, bucket_name: str | None = None, bucket_region: str | None = None, lb_id: str | None = None) ListBackendStagesResponse
Parameters:
  • order_by –

  • page –

  • page_size –

  • project_id –

  • bucket_name –

  • bucket_region –

  • lb_id –

Returns:

ListBackendStagesResponse

Usage:

result = await api.search_backend_stages()
async search_route_rules(*, order_by: SearchRouteRulesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, organization_id: str | None = None, project_id: str | None = None) ListRouteRulesResponse

List route rules. List all route rules of an organization or project. :param order_by: :param page: :param page_size: :param organization_id: :param project_id: :return: ListRouteRulesResponse

Usage:

result = await api.search_route_rules()
async search_waf_stages(*, order_by: SearchWafStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, project_id: str | None = None) ListWafStagesResponse
Parameters:
  • order_by –

  • page –

  • page_size –

  • project_id –

Returns:

ListWafStagesResponse

Usage:

result = await api.search_waf_stages()
async select_plan(*, project_id: str | None = None, plan_name: PlanName | None = None) Plan
Parameters:
  • project_id –

  • plan_name –

Returns:

Plan

Usage:

result = await api.select_plan()
async set_head_stage(*, pipeline_id: str, add_new_head_stage: SetHeadStageRequestAddNewHeadStage | None = None, remove_head_stage: SetHeadStageRequestRemoveHeadStage | None = None, swap_head_stage: SetHeadStageRequestSwapHeadStage | None = None) HeadStageResponse

Configure a entry point to your pipeline. You must specify a head stage to form a stage-chain that goes all the way to the backend stage (origin), so the HTTP request will be processed according to the stages you created. You must specify either a add_new_head_stage (to add a new head stage), remove_head_stage (to remove a head stage) or swap_head_stage (to replace a head stage). :param pipeline_id: ID of the pipeline to update. :param add_new_head_stage: Add a new head stage. One-Of (β€˜action’): at most one of β€˜add_new_head_stage’, β€˜remove_head_stage’, β€˜swap_head_stage’ could be set. :param remove_head_stage: Remove a head stage. One-Of (β€˜action’): at most one of β€˜add_new_head_stage’, β€˜remove_head_stage’, β€˜swap_head_stage’ could be set. :param swap_head_stage: Replace a head stage with a new one. One-Of (β€˜action’): at most one of β€˜add_new_head_stage’, β€˜remove_head_stage’, β€˜swap_head_stage’ could be set. :return: HeadStageResponse

Usage:

result = await api.set_head_stage(
    pipeline_id="example",
)
async set_route_rules(*, route_stage_id: str, route_rules: List[SetRouteRulesRequestRouteRule] | None = None) SetRouteRulesResponse

Set route rules. Set the rules of an existing route stage, specified by its route_stage_id. :param route_stage_id: ID of the route stage to update. :param route_rules: List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id. :return: SetRouteRulesResponse

Usage:

result = await api.set_route_rules(
    route_stage_id="example",
)
async update_backend_stage(*, backend_stage_id: str, pipeline_id: str, scaleway_s3: ScalewayS3BackendConfig | None = None, scaleway_lb: ScalewayLbBackendConfig | None = None) BackendStage

Update backend stage. Update the parameters of an existing backend stage, specified by its backend_stage_id. :param backend_stage_id: ID of the backend stage to update. :param pipeline_id: Pipeline ID the Backend stage belongs to. :param scaleway_s3: Scaleway Object Storage origin bucket (S3) linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :param scaleway_lb: Scaleway Load Balancer origin linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :return: BackendStage

Usage:

result = await api.update_backend_stage(
    backend_stage_id="example",
    pipeline_id="example",
)
async update_cache_stage(*, cache_stage_id: str, fallback_ttl: str | None = None, include_cookies: bool | None = None, backend_stage_id: str | None = None, waf_stage_id: str | None = None, route_stage_id: str | None = None) CacheStage

Update cache stage. Update the parameters of an existing cache stage, specified by its cache_stage_id. Parameters which can be updated include the fallback_ttl, include_cookies and backend_stage_id. :param cache_stage_id: ID of the cache stage to update. :param fallback_ttl: Time To Live (TTL) in seconds. Defines how long content is cached. :param include_cookies: Defines whether responses to requests with cookies must be stored in the cache. :param backend_stage_id: Backend stage ID the cache stage will be linked to. One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :return: CacheStage

Usage:

result = await api.update_cache_stage(
    cache_stage_id="example",
)
async update_dns_stage(*, dns_stage_id: str, fqdns: List[str] | None = None, tls_stage_id: str | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None) DNSStage

Update DNS stage. Update the parameters of an existing DNS stage, specified by its dns_stage_id. :param dns_stage_id: ID of the DNS stage to update. :param fqdns: Fully Qualified Domain Name (in the format subdomain.example.com) attached to the stage. :param tls_stage_id: TLS stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param cache_stage_id: Cache stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param backend_stage_id: Backend stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :return: DNSStage

Usage:

result = await api.update_dns_stage(
    dns_stage_id="example",
)
async update_pipeline(*, pipeline_id: str, name: str | None = None, description: str | None = None) Pipeline

Update pipeline. Update the parameters of an existing pipeline, specified by its pipeline_id. Parameters which can be updated include the name, description and dns_stage_id. :param pipeline_id: ID of the pipeline to update. :param name: Name of the pipeline. :param description: Description of the pipeline. :return: Pipeline

Usage:

result = await api.update_pipeline(
    pipeline_id="example",
)
async update_route_stage(*, route_stage_id: str, waf_stage_id: str | None = None) RouteStage

Update route stage. Update the parameters of an existing route stage, specified by its route_stage_id. :param route_stage_id: ID of the route stage to update. :param waf_stage_id: ID of the WAF stage HTTP requests should be forwarded to when no rules are matched. One-Of (β€˜next’): at most one of β€˜waf_stage_id’ could be set. :return: RouteStage

Usage:

result = await api.update_route_stage(
    route_stage_id="example",
)
async update_tls_stage(*, tls_stage_id: str, tls_secrets_config: TLSSecretsConfig | None = None, managed_certificate: bool | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None, route_stage_id: str | None = None, waf_stage_id: str | None = None) TLSStage

Update TLS stage. Update the parameters of an existing TLS stage, specified by its tls_stage_id. Both tls_secrets_config and managed_certificate parameters can be updated. :param tls_stage_id: ID of the TLS stage to update. :param tls_secrets_config: Secret (from Scaleway Secret-Manager) containing your custom certificate. :param managed_certificate: True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint. :param cache_stage_id: Cache stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param backend_stage_id: Backend stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :return: TLSStage

Usage:

result = await api.update_tls_stage(
    tls_stage_id="example",
)
async update_waf_stage(*, waf_stage_id: str, mode: WafStageMode | None = None, paranoia_level: int | None = None, backend_stage_id: str | None = None) WafStage

Update WAF stage. Update the parameters of an existing WAF stage, specified by its waf_stage_id. Both mode and paranoia_level parameters can be updated. :param waf_stage_id: ID of the WAF stage to update. :param mode: Mode defining WAF behavior (disable/log_only/enable). :param paranoia_level: 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. :param backend_stage_id: ID of the backend stage to forward requests to after the WAF stage. One-Of (β€˜next’): at most one of β€˜backend_stage_id’ could be set. :return: WafStage

Usage:

result = await api.update_waf_stage(
    waf_stage_id="example",
)
async wait_for_pipeline(*, pipeline_id: str, options: WaitForOptions[Pipeline, bool | Awaitable[bool]] | None = None) Pipeline

Get pipeline. Retrieve information about an existing pipeline, specified by its pipeline_id. Its full details, including errors, are returned in the response object. :param pipeline_id: ID of the requested pipeline. :return: Pipeline

Usage:

result = await api.get_pipeline(
    pipeline_id="example",
)
async wait_for_purge_request(*, purge_request_id: str, options: WaitForOptions[PurgeRequest, bool | Awaitable[bool]] | None = None) PurgeRequest

Get purge request. Retrieve information about a purge request, specified by its purge_request_id. Its full details, including status and target, are returned in the response object. :param purge_request_id: ID of the requested purge request. :return: PurgeRequest

Usage:

result = await api.get_purge_request(
    purge_request_id="example",
)

scaleway_async.edge_services.v1beta1.content module

scaleway_async.edge_services.v1beta1.content.PIPELINE_TRANSIENT_STATUSES: List[PipelineStatus] = [<PipelineStatus.PENDING: 'pending'>]

Lists transient statutes of the enum PipelineStatus.

scaleway_async.edge_services.v1beta1.content.PURGE_REQUEST_TRANSIENT_STATUSES: List[PurgeRequestStatus] = [<PurgeRequestStatus.PENDING: 'pending'>]

Lists transient statutes of the enum PurgeRequestStatus.

scaleway_async.edge_services.v1beta1.marshalling module

scaleway_async.edge_services.v1beta1.marshalling.marshal_AddRouteRulesRequest(request: AddRouteRulesRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CheckDomainRequest(request: CheckDomainRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CheckLbOriginRequest(request: CheckLbOriginRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CheckPEMChainRequest(request: CheckPEMChainRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CheckPEMChainRequestSecretChain(request: CheckPEMChainRequestSecretChain, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreateBackendStageRequest(request: CreateBackendStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreateCacheStageRequest(request: CreateCacheStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreateDNSStageRequest(request: CreateDNSStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreatePipelineRequest(request: CreatePipelineRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreatePurgeRequestRequest(request: CreatePurgeRequestRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreateRouteStageRequest(request: CreateRouteStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreateTLSStageRequest(request: CreateTLSStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_CreateWafStageRequest(request: CreateWafStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_RuleHttpMatch(request: RuleHttpMatch, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_RuleHttpMatchPathFilter(request: RuleHttpMatchPathFilter, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_ScalewayLb(request: ScalewayLb, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_ScalewayLbBackendConfig(request: ScalewayLbBackendConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_ScalewayS3BackendConfig(request: ScalewayS3BackendConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SelectPlanRequest(request: SelectPlanRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SetHeadStageRequest(request: SetHeadStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SetHeadStageRequestAddNewHeadStage(request: SetHeadStageRequestAddNewHeadStage, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SetHeadStageRequestRemoveHeadStage(request: SetHeadStageRequestRemoveHeadStage, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SetHeadStageRequestSwapHeadStage(request: SetHeadStageRequestSwapHeadStage, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SetRouteRulesRequest(request: SetRouteRulesRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_SetRouteRulesRequestRouteRule(request: SetRouteRulesRequestRouteRule, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_TLSSecret(request: TLSSecret, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_TLSSecretsConfig(request: TLSSecretsConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdateBackendStageRequest(request: UpdateBackendStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdateCacheStageRequest(request: UpdateCacheStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdateDNSStageRequest(request: UpdateDNSStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdatePipelineRequest(request: UpdatePipelineRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdateRouteStageRequest(request: UpdateRouteStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdateTLSStageRequest(request: UpdateTLSStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.marshal_UpdateWafStageRequest(request: UpdateWafStageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_AddRouteRulesResponse(data: Any) AddRouteRulesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_BackendStage(data: Any) BackendStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_CacheStage(data: Any) CacheStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_CheckDomainResponse(data: Any) CheckDomainResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_CheckLbOriginResponse(data: Any) CheckLbOriginResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_CheckPEMChainResponse(data: Any) CheckPEMChainResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_DNSStage(data: Any) DNSStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_GetBillingResponse(data: Any) GetBillingResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_HeadStageResponse(data: Any) HeadStageResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_HeadStageResponseHeadStage(data: Any) HeadStageResponseHeadStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListBackendStagesResponse(data: Any) ListBackendStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListCacheStagesResponse(data: Any) ListCacheStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListDNSStagesResponse(data: Any) ListDNSStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListHeadStagesResponse(data: Any) ListHeadStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListHeadStagesResponseHeadStage(data: Any) ListHeadStagesResponseHeadStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListPipelinesResponse(data: Any) ListPipelinesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListPipelinesWithStagesResponse(data: Any) ListPipelinesWithStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListPlansResponse(data: Any) ListPlansResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListPurgeRequestsResponse(data: Any) ListPurgeRequestsResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListRouteRulesResponse(data: Any) ListRouteRulesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListRouteStagesResponse(data: Any) ListRouteStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListTLSStagesResponse(data: Any) ListTLSStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ListWafStagesResponse(data: Any) ListWafStagesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_Pipeline(data: Any) Pipeline
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_PipelineError(data: Any) PipelineError
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_PipelineStages(data: Any) PipelineStages
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_Plan(data: Any) Plan
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_PlanDetails(data: Any) PlanDetails
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_PlanUsageDetails(data: Any) PlanUsageDetails
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_PurgeRequest(data: Any) PurgeRequest
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_RouteRule(data: Any) RouteRule
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_RouteStage(data: Any) RouteStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_RuleHttpMatch(data: Any) RuleHttpMatch
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_RuleHttpMatchPathFilter(data: Any) RuleHttpMatchPathFilter
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ScalewayLb(data: Any) ScalewayLb
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ScalewayLbBackendConfig(data: Any) ScalewayLbBackendConfig
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_ScalewayS3BackendConfig(data: Any) ScalewayS3BackendConfig
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_SetRouteRulesResponse(data: Any) SetRouteRulesResponse
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_TLSSecret(data: Any) TLSSecret
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_TLSStage(data: Any) TLSStage
scaleway_async.edge_services.v1beta1.marshalling.unmarshal_WafStage(data: Any) WafStage

scaleway_async.edge_services.v1beta1.types module

class scaleway_async.edge_services.v1beta1.types.AddRouteRulesRequest(route_stage_id: 'str', route_rules: 'Optional[List[SetRouteRulesRequestRouteRule]]' = <factory>, after_position: 'Optional[int]' = 0, before_position: 'Optional[int]' = 0)

Bases: object

after_position: int | None = 0
before_position: int | None = 0
route_rules: List[SetRouteRulesRequestRouteRule] | None

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

route_stage_id: str

ID of the route stage to update.

class scaleway_async.edge_services.v1beta1.types.AddRouteRulesResponse(route_rules: 'List[RouteRule]')

Bases: object

route_rules: List[RouteRule]

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

class scaleway_async.edge_services.v1beta1.types.BackendStage(id: 'str', pipeline_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, scaleway_s3: 'Optional[ScalewayS3BackendConfig]' = None, scaleway_lb: 'Optional[ScalewayLbBackendConfig]' = None)

Bases: object

created_at: datetime | None = None

Date the backend stage was created.

id: str

ID of the backend stage.

pipeline_id: str

Pipeline ID the backend stage belongs to.

scaleway_lb: ScalewayLbBackendConfig | None = None
scaleway_s3: ScalewayS3BackendConfig | None = None
updated_at: datetime | None = None

Date the backend stage was last updated.

class scaleway_async.edge_services.v1beta1.types.CacheStage(id: 'str', pipeline_id: 'str', include_cookies: 'bool', fallback_ttl: 'Optional[str]' = None, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
created_at: datetime | None = None

Date the cache stage was created.

fallback_ttl: str | None = None

Time To Live (TTL) in seconds. Defines how long content is cached.

id: str

ID of the cache stage.

include_cookies: bool

Defines whether responses to requests with cookies must be stored in the cache.

pipeline_id: str

Pipeline ID the cache stage belongs to.

route_stage_id: str | None = None
updated_at: datetime | None = None

Date the cache stage was last updated.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.CheckDomainRequest(fqdn: 'str', cname: 'str', project_id: 'Optional[str]' = None)

Bases: object

cname: str
fqdn: str
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.CheckDomainResponse(is_valid: 'bool')

Bases: object

is_valid: bool
class scaleway_async.edge_services.v1beta1.types.CheckLbOriginRequest(lb: 'Optional[ScalewayLb]' = None)

Bases: object

lb: ScalewayLb | None = None
class scaleway_async.edge_services.v1beta1.types.CheckLbOriginResponse(is_valid: 'bool', error_type: 'LbOriginError')

Bases: object

error_type: LbOriginError
is_valid: bool
class scaleway_async.edge_services.v1beta1.types.CheckPEMChainRequest(fqdn: 'str', project_id: 'Optional[str]' = None, secret: 'Optional[CheckPEMChainRequestSecretChain]' = None, raw: 'Optional[str]' = None)

Bases: object

fqdn: str
project_id: str | None = None
raw: str | None = None
secret: CheckPEMChainRequestSecretChain | None = None
class scaleway_async.edge_services.v1beta1.types.CheckPEMChainRequestSecretChain(secret_id: 'str', secret_region: 'str')

Bases: object

secret_id: str
secret_region: str
class scaleway_async.edge_services.v1beta1.types.CheckPEMChainResponse(is_valid: 'bool')

Bases: object

is_valid: bool
class scaleway_async.edge_services.v1beta1.types.CreateBackendStageRequest(pipeline_id: 'str', scaleway_s3: 'Optional[ScalewayS3BackendConfig]' = None, scaleway_lb: 'Optional[ScalewayLbBackendConfig]' = None)

Bases: object

pipeline_id: str

Pipeline ID the Backend stage belongs to.

scaleway_lb: ScalewayLbBackendConfig | None = None
scaleway_s3: ScalewayS3BackendConfig | None = None
class scaleway_async.edge_services.v1beta1.types.CreateCacheStageRequest(pipeline_id: 'str', fallback_ttl: 'Optional[str]' = None, include_cookies: 'Optional[bool]' = False, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
fallback_ttl: str | None = None

Time To Live (TTL) in seconds. Defines how long content is cached.

include_cookies: bool | None = False

Defines whether responses to requests with cookies must be stored in the cache.

pipeline_id: str

Pipeline ID the Cache stage belongs to.

route_stage_id: str | None = None
waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.CreateDNSStageRequest(pipeline_id: 'str', fqdns: 'Optional[List[str]]' = <factory>, tls_stage_id: 'Optional[str]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
fqdns: List[str] | None

Fully Qualified Domain Name (in the format subdomain.example.com) to attach to the stage.

pipeline_id: str

Pipeline ID the DNS stage belongs to.

tls_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.CreatePipelineRequest(name: 'str', description: 'str', project_id: 'Optional[str]' = None)

Bases: object

description: str

Description of the pipeline.

name: str

Name of the pipeline.

project_id: str | None = None

Project ID in which the pipeline will be created.

class scaleway_async.edge_services.v1beta1.types.CreatePurgeRequestRequest(pipeline_id: 'str', assets: 'Optional[List[str]]' = <factory>, all: 'Optional[bool]' = False)

Bases: object

all: bool | None = False
assets: List[str] | None
pipeline_id: str

Pipeline ID in which the purge request will be created.

class scaleway_async.edge_services.v1beta1.types.CreateRouteStageRequest(pipeline_id: 'str', waf_stage_id: 'Optional[str]' = None)

Bases: object

pipeline_id: str

Pipeline ID the route stage belongs to.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.CreateTLSStageRequest(pipeline_id: 'str', secrets: 'Optional[List[TLSSecret]]' = <factory>, managed_certificate: 'Optional[bool]' = False, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
managed_certificate: bool | None = False

True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint.

pipeline_id: str

Pipeline ID the TLS stage belongs to.

route_stage_id: str | None = None
secrets: List[TLSSecret] | None

Secret (from Scaleway Secret Manager) containing your custom certificate.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.CreateWafStageRequest(pipeline_id: 'str', paranoia_level: 'int', mode: 'Optional[WafStageMode]' = <WafStageMode.UNKNOWN_MODE: 'unknown_mode'>, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
mode: WafStageMode | None = 'unknown_mode'

Mode defining WAF behavior (disable/log_only/enable).

paranoia_level: int

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.

pipeline_id: str

Pipeline ID the WAF stage belongs to.

class scaleway_async.edge_services.v1beta1.types.DNSStage(id: 'str', fqdns: 'List[str]', type_: 'DNSStageType', pipeline_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, tls_stage_id: 'Optional[str]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
created_at: datetime | None = None

Date the DNS stage was created.

fqdns: List[str]

List of Fully Qualified Domain Names attached to the stage.

id: str

ID of the DNS stage.

pipeline_id: str

Pipeline ID the DNS stage belongs to.

tls_stage_id: str | None = None
type_: DNSStageType

Type of the stage.

updated_at: datetime | None = None

Date the DNS stage was last updated.

class scaleway_async.edge_services.v1beta1.types.DNSStageType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AUTO = 'auto'
CUSTOM = 'custom'
MANAGED = 'managed'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.edge_services.v1beta1.types.DeleteBackendStageRequest(backend_stage_id: 'str')

Bases: object

backend_stage_id: str

ID of the backend stage to delete.

class scaleway_async.edge_services.v1beta1.types.DeleteCacheStageRequest(cache_stage_id: 'str')

Bases: object

cache_stage_id: str

ID of the cache stage to delete.

class scaleway_async.edge_services.v1beta1.types.DeleteCurrentPlanRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.DeleteDNSStageRequest(dns_stage_id: 'str')

Bases: object

dns_stage_id: str

ID of the DNS stage to delete.

class scaleway_async.edge_services.v1beta1.types.DeletePipelineRequest(pipeline_id: 'str')

Bases: object

pipeline_id: str

ID of the pipeline to delete.

class scaleway_async.edge_services.v1beta1.types.DeleteRouteStageRequest(route_stage_id: 'str')

Bases: object

route_stage_id: str

ID of the route stage to delete.

class scaleway_async.edge_services.v1beta1.types.DeleteTLSStageRequest(tls_stage_id: 'str')

Bases: object

tls_stage_id: str

ID of the TLS stage to delete.

class scaleway_async.edge_services.v1beta1.types.DeleteWafStageRequest(waf_stage_id: 'str')

Bases: object

waf_stage_id: str

ID of the WAF stage to delete.

class scaleway_async.edge_services.v1beta1.types.GetBackendStageRequest(backend_stage_id: 'str')

Bases: object

backend_stage_id: str

ID of the requested backend stage.

class scaleway_async.edge_services.v1beta1.types.GetBillingRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.GetBillingResponse(pipeline_number: 'int', current_plan_cache_usage: 'int', extra_cache_usage: 'int', current_plan_waf_usage: 'int', extra_waf_usage: 'int', plans_usage_details: 'Dict[str, PlanUsageDetails]', current_plan: 'Optional[PlanDetails]' = None, plan_cost: 'Optional[Money]' = None, extra_pipelines_cost: 'Optional[Money]' = None, extra_cache_cost: 'Optional[Money]' = None, extra_waf_cost: 'Optional[Money]' = None, waf_add_on: 'Optional[Money]' = None, total_cost: 'Optional[Money]' = None)

Bases: object

current_plan: PlanDetails | None = None

Information on the currently-selected, active Edge Services subscription plan.

current_plan_cache_usage: int

Total amount of data egressed from the cache in gigabytes from the beginning of the month, for the active subscription plan.

current_plan_waf_usage: int

Total number of requests processed by the WAF since the beginning of the current month, for the active subscription plan.

extra_cache_cost: Money | None = None

Cost to date (this month) of the data egressed from the cache that is not included in the subscription plans.

extra_cache_usage: int

Total amount of extra data egressed from cache in gigabytes from the beginning of the month, not included in the subscription plans.

extra_pipelines_cost: Money | None = None

Cost to date (this month) of pipelines not included in the subscription plans.

extra_waf_cost: Money | None = None

Cost to date (this month) of the extra requests processed by the WAF that were not included in the subscription plans.

extra_waf_usage: int

Total number of extra requests processed by the WAF from the beginning of the month, not included in the subscription plans.

pipeline_number: int

Total number of pipelines currently configured.

plan_cost: Money | None = None

Cost to date (this month) for Edge Service subscription plans. This comprises the pro-rata cost of the current subscription plan, and any previous subscription plans that were active earlier in the month.

plans_usage_details: Dict[str, PlanUsageDetails]

Detailed costs and usage for all Edge Services subscription plans that were activated during the month.

total_cost: Money | None = None

Total cost to date (this month) of all Edge Services resources including active subscription plan, previously active plans, extra pipelines and extra egress cache data.

waf_add_on: Money | None = None

Cost of activating WAF add-on (where subscription plan does not include WAF).

class scaleway_async.edge_services.v1beta1.types.GetCacheStageRequest(cache_stage_id: 'str')

Bases: object

cache_stage_id: str

ID of the requested cache stage.

class scaleway_async.edge_services.v1beta1.types.GetCurrentPlanRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.GetDNSStageRequest(dns_stage_id: 'str')

Bases: object

dns_stage_id: str

ID of the requested DNS stage.

class scaleway_async.edge_services.v1beta1.types.GetPipelineRequest(pipeline_id: 'str')

Bases: object

pipeline_id: str

ID of the requested pipeline.

class scaleway_async.edge_services.v1beta1.types.GetPurgeRequestRequest(purge_request_id: 'str')

Bases: object

purge_request_id: str

ID of the requested purge request.

class scaleway_async.edge_services.v1beta1.types.GetRouteStageRequest(route_stage_id: 'str')

Bases: object

route_stage_id: str

ID of the requested route stage.

class scaleway_async.edge_services.v1beta1.types.GetTLSStageRequest(tls_stage_id: 'str')

Bases: object

tls_stage_id: str

ID of the requested TLS stage.

class scaleway_async.edge_services.v1beta1.types.GetWafStageRequest(waf_stage_id: 'str')

Bases: object

waf_stage_id: str

ID of the requested WAF stage.

class scaleway_async.edge_services.v1beta1.types.HeadStageResponse(head_stage: 'Optional[HeadStageResponseHeadStage]' = None)

Bases: object

head_stage: HeadStageResponseHeadStage | None = None

Modified or created head stage.

class scaleway_async.edge_services.v1beta1.types.HeadStageResponseHeadStage(dns_stage_id: 'Optional[str]' = None)

Bases: object

dns_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.LbOriginError(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CONNECTION_REFUSED = 'connection_refused'
TIMEOUT = 'timeout'
TLS_ERROR = 'tls_error'
UNKNOWN = 'unknown'
class scaleway_async.edge_services.v1beta1.types.ListBackendStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListBackendStagesRequestOrderBy]' = <ListBackendStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, bucket_name: 'Optional[str]' = None, bucket_region: 'Optional[str]' = None, lb_id: 'Optional[str]' = None)

Bases: object

bucket_name: str | None = None

Bucket name to filter for. Only backend stages from this Bucket will be returned.

bucket_region: str | None = None

Bucket region to filter for. Only backend stages with buckets in this region will be returned.

lb_id: str | None = None

Load Balancer ID to filter for. Only backend stages with this Load Balancer will be returned.

order_by: ListBackendStagesRequestOrderBy | None = 'created_at_asc'

Sort order of backend stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of backend stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only backend stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.types.ListBackendStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListBackendStagesResponse(stages: 'List[BackendStage]', total_count: 'int')

Bases: object

stages: List[BackendStage]

Paginated list of backend stages.

total_count: int

Count of all backend stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListCacheStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListCacheStagesRequestOrderBy]' = <ListCacheStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListCacheStagesRequestOrderBy | None = 'created_at_asc'

Sort order of cache stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of cache stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only cache stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.types.ListCacheStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListCacheStagesResponse(stages: 'List[CacheStage]', total_count: 'int')

Bases: object

stages: List[CacheStage]

Paginated list of cache stages.

total_count: int

Count of all cache stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListDNSStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListDNSStagesRequestOrderBy]' = <ListDNSStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, fqdn: 'Optional[str]' = None)

Bases: object

fqdn: str | None = None

Fully Qualified Domain Name to filter for (in the format subdomain.example.com). Only DNS stages with this FQDN will be returned.

order_by: ListDNSStagesRequestOrderBy | None = 'created_at_asc'

Sort order of DNS stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of DNS stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only DNS stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.types.ListDNSStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListDNSStagesResponse(stages: 'List[DNSStage]', total_count: 'int')

Bases: object

stages: List[DNSStage]

Paginated list of DNS stages.

total_count: int

Count of all DNS stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListHeadStagesRequest(pipeline_id: 'str', page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of head stages to return per page.

pipeline_id: str

ID of the pipeline to update.

class scaleway_async.edge_services.v1beta1.types.ListHeadStagesResponse(head_stages: 'List[ListHeadStagesResponseHeadStage]', total_count: 'int')

Bases: object

head_stages: List[ListHeadStagesResponseHeadStage]

Number of head stages to return per page.

total_count: int

Count of all head stages matching the requested pipeline_id.

class scaleway_async.edge_services.v1beta1.types.ListHeadStagesResponseHeadStage(dns_stage_id: 'Optional[str]' = None)

Bases: object

dns_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.ListPipelinesRequest(order_by: 'Optional[ListPipelinesRequestOrderBy]' = <ListPipelinesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, has_backend_stage_lb: 'Optional[bool]' = False)

Bases: object

has_backend_stage_lb: bool | None = False

Filter on backend stage. Only pipelines with a Load Balancer origin will be returned.

name: str | None = None

Pipeline name to filter for. Only pipelines with this string within their name will be returned.

order_by: ListPipelinesRequestOrderBy | None = 'created_at_asc'

Sort order of pipelines in the response.

organization_id: str | None = None

Organization ID to filter for. Only pipelines from this Organization will be returned.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of pipelines to return per page.

project_id: str | None = None

Project ID to filter for. Only pipelines from this Project will be returned.

class scaleway_async.edge_services.v1beta1.types.ListPipelinesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway_async.edge_services.v1beta1.types.ListPipelinesResponse(pipelines: 'List[Pipeline]', total_count: 'int')

Bases: object

pipelines: List[Pipeline]

Paginated list of pipelines.

total_count: int

Count of all pipelines matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListPipelinesWithStagesRequest(order_by: 'Optional[ListPipelinesWithStagesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)

Bases: object

name: str | None = None
order_by: ListPipelinesWithStagesRequestOrderBy | None = None
organization_id: str | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.ListPipelinesWithStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway_async.edge_services.v1beta1.types.ListPipelinesWithStagesResponse(pipelines: 'List[PipelineStages]', total_count: 'int')

Bases: object

pipelines: List[PipelineStages]
total_count: int
class scaleway_async.edge_services.v1beta1.types.ListPlansResponse(total_count: 'int', plans: 'List[PlanDetails]')

Bases: object

plans: List[PlanDetails]
total_count: int
class scaleway_async.edge_services.v1beta1.types.ListPurgeRequestsRequest(order_by: 'Optional[ListPurgeRequestsRequestOrderBy]' = <ListPurgeRequestsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, pipeline_id: 'Optional[str]' = None)

Bases: object

order_by: ListPurgeRequestsRequestOrderBy | None = 'created_at_asc'

Sort order of purge requests in the response.

organization_id: str | None = None

Organization ID to filter for. Only purge requests from this Project will be returned.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of purge requests to return per page.

pipeline_id: str | None = None

Pipeline ID to filter for. Only purge requests from this pipeline will be returned.

project_id: str | None = None

Project ID to filter for. Only purge requests from this Project will be returned.

class scaleway_async.edge_services.v1beta1.types.ListPurgeRequestsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListPurgeRequestsResponse(purge_requests: 'List[PurgeRequest]', total_count: 'int')

Bases: object

purge_requests: List[PurgeRequest]

Paginated list of purge requests.

total_count: int

Count of all purge requests matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListRouteRulesRequest(route_stage_id: 'str')

Bases: object

route_stage_id: str

Route stage ID to filter for. Only route rules from this route stage will be returned.

class scaleway_async.edge_services.v1beta1.types.ListRouteRulesResponse(route_rules: 'List[RouteRule]', total_count: 'int')

Bases: object

route_rules: List[RouteRule]

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

total_count: int

Count of all route rules matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListRouteStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListRouteStagesRequestOrderBy]' = <ListRouteStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListRouteStagesRequestOrderBy | None = 'created_at_asc'

Sort order of route stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of route stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only route stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.types.ListRouteStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListRouteStagesResponse(stages: 'List[RouteStage]', total_count: 'int')

Bases: object

stages: List[RouteStage]

Paginated list of summarized route stages.

total_count: int

Count of all route stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListTLSStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListTLSStagesRequestOrderBy]' = <ListTLSStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, secret_id: 'Optional[str]' = None, secret_region: 'Optional[str]' = None)

Bases: object

order_by: ListTLSStagesRequestOrderBy | None = 'created_at_asc'

Sort order of TLS stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of TLS stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only TLS stages from this pipeline will be returned.

secret_id: str | None = None

Secret ID to filter for. Only TLS stages with this Secret ID will be returned.

secret_region: str | None = None

Secret region to filter for. Only TLS stages with a Secret in this region will be returned.

class scaleway_async.edge_services.v1beta1.types.ListTLSStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListTLSStagesResponse(stages: 'List[TLSStage]', total_count: 'int')

Bases: object

stages: List[TLSStage]

Paginated list of TLS stages.

total_count: int

Count of all TLS stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.ListWafStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListWafStagesRequestOrderBy]' = <ListWafStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListWafStagesRequestOrderBy | None = 'created_at_asc'

Sort order of WAF stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of WAF stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only WAF stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.types.ListWafStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.ListWafStagesResponse(stages: 'List[WafStage]', total_count: 'int')

Bases: object

stages: List[WafStage]

Paginated list of WAF stages.

total_count: int

Count of all WAF stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.types.Pipeline(id: 'str', name: 'str', description: 'str', status: 'PipelineStatus', errors: 'List[PipelineError]', project_id: 'str', organization_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Date the pipeline was created.

description: str

Description of the pipeline.

errors: List[PipelineError]

Errors of the pipeline.

id: str

ID of the pipeline.

name: str

Name of the pipeline.

organization_id: str

Organization ID of the pipeline.

project_id: str

Project ID of the pipeline.

status: PipelineStatus

Status of the pipeline.

updated_at: datetime | None = None

Date the pipeline was last updated.

class scaleway_async.edge_services.v1beta1.types.PipelineError(stage: 'PipelineErrorStage', code: 'PipelineErrorCode', severity: 'PipelineErrorSeverity', message: 'str', type_: 'PipelineErrorType')

Bases: object

code: PipelineErrorCode
message: str
severity: PipelineErrorSeverity
stage: PipelineErrorStage
type_: PipelineErrorType
class scaleway_async.edge_services.v1beta1.types.PipelineErrorCode(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DNS_CNAME_DONT_EXIST = 'dns_cname_dont_exist'
DNS_CNAME_RESOLVE = 'dns_cname_resolve'
DNS_DOMAIN_DONT_EXIST = 'dns_domain_dont_exist'
DNS_FORBIDDEN_ROOT_DOMAIN = 'dns_forbidden_root_domain'
DNS_FORBIDDEN_SCW_CLOUD = 'dns_forbidden_scw_cloud'
DNS_FQDN_ALREADY_EXISTS = 'dns_fqdn_already_exists'
DNS_FQDN_ALREADY_IN_USE = 'dns_fqdn_already_in_use'
DNS_INVALID_FORMAT = 'dns_invalid_format'
DNS_INVALID_TLD = 'dns_invalid_tld'
PIPELINE_INVALID_WORKFLOW = 'pipeline_invalid_workflow'
PIPELINE_MISSING_HEAD_STAGE = 'pipeline_missing_head_stage'
TLS_CERT_DELETED = 'tls_cert_deleted'
TLS_CERT_DISABLED = 'tls_cert_disabled'
TLS_CERT_EXPIRED = 'tls_cert_expired'
TLS_CERT_INVALID_FORMAT = 'tls_cert_invalid_format'
TLS_CERT_MISSING = 'tls_cert_missing'
TLS_CHAIN_ORDER = 'tls_chain_order'
TLS_KEY_INVALID_FORMAT = 'tls_key_invalid_format'
TLS_KEY_MISSING = 'tls_key_missing'
TLS_KEY_TOO_MANY = 'tls_key_too_many'
TLS_MANAGED_DOMAIN_RATE_LIMIT = 'tls_managed_domain_rate_limit'
TLS_MANAGED_INTERNAL = 'tls_managed_internal'
TLS_PAIR_MISMATCH = 'tls_pair_mismatch'
TLS_ROOT_INCONSISTENT = 'tls_root_inconsistent'
TLS_ROOT_INCORRECT = 'tls_root_incorrect'
TLS_ROOT_MISSING = 'tls_root_missing'
TLS_SAN_MISMATCH = 'tls_san_mismatch'
TLS_SELF_SIGNED = 'tls_self_signed'
UNKNOWN_CODE = 'unknown_code'
class scaleway_async.edge_services.v1beta1.types.PipelineErrorSeverity(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CRITICAL = 'critical'
UNKNOWN_SEVERITY = 'unknown_severity'
WARNING = 'warning'
class scaleway_async.edge_services.v1beta1.types.PipelineErrorStage(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BACKEND = 'backend'
CACHE = 'cache'
DNS = 'dns'
TLS = 'tls'
UNKNOWN_STAGE = 'unknown_stage'
class scaleway_async.edge_services.v1beta1.types.PipelineErrorType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CONFIG = 'config'
RUNTIME = 'runtime'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.edge_services.v1beta1.types.PipelineStages(dns_stages: 'List[DNSStage]', tls_stages: 'List[TLSStage]', cache_stages: 'List[CacheStage]', backend_stages: 'List[BackendStage]', waf_stages: 'List[WafStage]', route_stages: 'List[RouteStage]', pipeline: 'Optional[Pipeline]' = None)

Bases: object

backend_stages: List[BackendStage]
cache_stages: List[CacheStage]
dns_stages: List[DNSStage]
pipeline: Pipeline | None = None
route_stages: List[RouteStage]
tls_stages: List[TLSStage]
waf_stages: List[WafStage]
class scaleway_async.edge_services.v1beta1.types.PipelineStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ERROR = 'error'
LOCKED = 'locked'
PENDING = 'pending'
READY = 'ready'
UNKNOWN_STATUS = 'unknown_status'
WARNING = 'warning'
class scaleway_async.edge_services.v1beta1.types.Plan(plan_name: 'PlanName')

Bases: object

plan_name: PlanName
class scaleway_async.edge_services.v1beta1.types.PlanDetails(plan_name: 'PlanName', package_gb: 'int', pipeline_limit: 'int', waf_requests: 'int')

Bases: object

package_gb: int

Amount of egress data from cache included in subscription plan.

pipeline_limit: int

Number of pipelines included in subscription plan.

plan_name: PlanName

Subscription plan name.

waf_requests: int

Number of WAF requests included in subscription plan.

class scaleway_async.edge_services.v1beta1.types.PlanName(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ADVANCED = 'advanced'
PROFESSIONAL = 'professional'
STARTER = 'starter'
UNKNOWN_NAME = 'unknown_name'
class scaleway_async.edge_services.v1beta1.types.PlanUsageDetails(plan_cost: 'Optional[Money]' = None)

Bases: object

plan_cost: Money | None = None

Cost to date (this month) for the corresponding Edge Services subscription plan.

class scaleway_async.edge_services.v1beta1.types.PurgeRequest(id: 'str', pipeline_id: 'str', status: 'PurgeRequestStatus', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, assets: 'Optional[List[str]]' = <factory>, all: 'Optional[bool]' = False)

Bases: object

all: bool | None = False
assets: List[str] | None
created_at: datetime | None = None

Date the purge request was created.

id: str

ID of the purge request.

pipeline_id: str

Pipeline ID the purge request belongs to.

status: PurgeRequestStatus

Status of the purge request.

updated_at: datetime | None = None

Date the purge request was last updated.

class scaleway_async.edge_services.v1beta1.types.PurgeRequestStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DONE = 'done'
ERROR = 'error'
PENDING = 'pending'
UNKNOWN_STATUS = 'unknown_status'
class scaleway_async.edge_services.v1beta1.types.RouteRule(position: 'int', route_stage_id: 'str', rule_http_match: 'Optional[RuleHttpMatch]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
position: int

Position of the rule which determines the order of processing within the route stage.

route_stage_id: str

Route stage ID the route rule belongs to.

rule_http_match: RuleHttpMatch | None = None
class scaleway_async.edge_services.v1beta1.types.RouteStage(id: 'str', pipeline_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, waf_stage_id: 'Optional[str]' = None)

Bases: object

created_at: datetime | None = None

Date the route stage was created.

id: str

ID of the route stage.

pipeline_id: str

Pipeline ID the route stage belongs to.

updated_at: datetime | None = None

Date the route stage was last updated.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.RuleHttpMatch(method_filters: 'List[RuleHttpMatchMethodFilter]', path_filter: 'Optional[RuleHttpMatchPathFilter]' = None)

Bases: object

method_filters: List[RuleHttpMatchMethodFilter]

HTTP methods to filter for. A request using any of these methods will be considered to match the rule. Possible values are get, post, put, patch, delete, head, options. All methods will match if none is provided.

path_filter: RuleHttpMatchPathFilter | None = None

HTTP URL path to filter for. A request whose path matches the given filter will be considered to match the rule. All paths will match if none is provided.

class scaleway_async.edge_services.v1beta1.types.RuleHttpMatchMethodFilter(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DELETE = 'delete'
GET = 'get'
HEAD = 'head'
OPTIONS = 'options'
PATCH = 'patch'
POST = 'post'
PUT = 'put'
UNKNOWN_METHOD_FILTER = 'unknown_method_filter'
class scaleway_async.edge_services.v1beta1.types.RuleHttpMatchPathFilter(path_filter_type: 'RuleHttpMatchPathFilterPathFilterType', value: 'str')

Bases: object

path_filter_type: RuleHttpMatchPathFilterPathFilterType

Type of filter to match for the HTTP URL path. For now, all path filters must be written in regex and use the regex type.

value: str

Value to be matched for the HTTP URL path.

class scaleway_async.edge_services.v1beta1.types.RuleHttpMatchPathFilterPathFilterType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

REGEX = 'regex'
UNKNOWN_PATH_FILTER = 'unknown_path_filter'
class scaleway_async.edge_services.v1beta1.types.ScalewayLb(id: 'str', zone: 'ScwZone', frontend_id: 'str', is_ssl: 'Optional[bool]' = False, domain_name: 'Optional[str]' = None)

Bases: object

domain_name: str | None = None

Fully Qualified Domain Name (in the format subdomain.example.com) to use in HTTP requests sent towards your Load Balancer.

frontend_id: str

ID of the frontend linked to the Load Balancer.

id: str

ID of the Load Balancer.

is_ssl: bool | None = False

Defines whether the Load Balancer’s frontend handles SSL connections.

zone: str

Zone of the Load Balancer.

class scaleway_async.edge_services.v1beta1.types.ScalewayLbBackendConfig(lbs: 'List[ScalewayLb]')

Bases: object

lbs: List[ScalewayLb]

Load Balancer information.

class scaleway_async.edge_services.v1beta1.types.ScalewayS3BackendConfig(bucket_name: 'Optional[str]' = None, bucket_region: 'Optional[str]' = None, is_website: 'Optional[bool]' = False)

Bases: object

bucket_name: str | None = None

Name of the Bucket.

bucket_region: str | None = None

Region of the Bucket.

is_website: bool | None = False

Defines whether the bucket website feature is enabled.

class scaleway_async.edge_services.v1beta1.types.SearchBackendStagesRequest(order_by: 'Optional[SearchBackendStagesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, project_id: 'Optional[str]' = None, bucket_name: 'Optional[str]' = None, bucket_region: 'Optional[str]' = None, lb_id: 'Optional[str]' = None)

Bases: object

bucket_name: str | None = None
bucket_region: str | None = None
lb_id: str | None = None
order_by: SearchBackendStagesRequestOrderBy | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.SearchBackendStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.SearchRouteRulesRequest(order_by: 'Optional[SearchRouteRulesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)

Bases: object

order_by: SearchRouteRulesRequestOrderBy | None = None
organization_id: str | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.SearchRouteRulesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.SearchWafStagesRequest(order_by: 'Optional[SearchWafStagesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, project_id: 'Optional[str]' = None)

Bases: object

order_by: SearchWafStagesRequestOrderBy | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.SearchWafStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.types.SelectPlanRequest(project_id: 'Optional[str]' = None, plan_name: 'Optional[PlanName]' = None)

Bases: object

plan_name: PlanName | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.SetHeadStageRequest(pipeline_id: 'str', add_new_head_stage: 'Optional[SetHeadStageRequestAddNewHeadStage]' = None, remove_head_stage: 'Optional[SetHeadStageRequestRemoveHeadStage]' = None, swap_head_stage: 'Optional[SetHeadStageRequestSwapHeadStage]' = None)

Bases: object

add_new_head_stage: SetHeadStageRequestAddNewHeadStage | None = None
pipeline_id: str

ID of the pipeline to update.

remove_head_stage: SetHeadStageRequestRemoveHeadStage | None = None
swap_head_stage: SetHeadStageRequestSwapHeadStage | None = None
class scaleway_async.edge_services.v1beta1.types.SetHeadStageRequestAddNewHeadStage(new_stage_id: 'str')

Bases: object

new_stage_id: str
class scaleway_async.edge_services.v1beta1.types.SetHeadStageRequestRemoveHeadStage(remove_stage_id: 'str')

Bases: object

remove_stage_id: str
class scaleway_async.edge_services.v1beta1.types.SetHeadStageRequestSwapHeadStage(new_stage_id: 'str', current_stage_id: 'str')

Bases: object

current_stage_id: str
new_stage_id: str
class scaleway_async.edge_services.v1beta1.types.SetRouteRulesRequest(route_stage_id: 'str', route_rules: 'Optional[List[SetRouteRulesRequestRouteRule]]' = <factory>)

Bases: object

route_rules: List[SetRouteRulesRequestRouteRule] | None

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

route_stage_id: str

ID of the route stage to update.

class scaleway_async.edge_services.v1beta1.types.SetRouteRulesRequestRouteRule(rule_http_match: 'Optional[RuleHttpMatch]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
rule_http_match: RuleHttpMatch | None = None
class scaleway_async.edge_services.v1beta1.types.SetRouteRulesResponse(route_rules: 'List[RouteRule]')

Bases: object

route_rules: List[RouteRule]

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

class scaleway_async.edge_services.v1beta1.types.TLSSecret(secret_id: 'str', region: 'ScwRegion')

Bases: object

region: str

Region of the Secret.

secret_id: str

ID of the Secret.

class scaleway_async.edge_services.v1beta1.types.TLSSecretsConfig(tls_secrets: 'List[TLSSecret]')

Bases: object

tls_secrets: List[TLSSecret]

Secret information (from Secret Manager).

class scaleway_async.edge_services.v1beta1.types.TLSStage(id: 'str', secrets: 'List[TLSSecret]', managed_certificate: 'bool', pipeline_id: 'str', certificate_expires_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
certificate_expires_at: datetime | None = None

Expiration date of the certificate.

created_at: datetime | None = None

Date the TLS stage was created.

id: str

ID of the TLS stage.

managed_certificate: bool

True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint.

pipeline_id: str

Pipeline ID the TLS stage belongs to.

route_stage_id: str | None = None
secrets: List[TLSSecret]

Secret (from Scaleway Secret Manager) containing your custom certificate.

updated_at: datetime | None = None

Date the TLS stage was last updated.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.UpdateBackendStageRequest(backend_stage_id: 'str', pipeline_id: 'str', scaleway_s3: 'Optional[ScalewayS3BackendConfig]' = None, scaleway_lb: 'Optional[ScalewayLbBackendConfig]' = None)

Bases: object

backend_stage_id: str

ID of the backend stage to update.

pipeline_id: str

Pipeline ID the Backend stage belongs to.

scaleway_lb: ScalewayLbBackendConfig | None = None
scaleway_s3: ScalewayS3BackendConfig | None = None
class scaleway_async.edge_services.v1beta1.types.UpdateCacheStageRequest(cache_stage_id: 'str', fallback_ttl: 'Optional[str]' = None, include_cookies: 'Optional[bool]' = False, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str

ID of the cache stage to update.

fallback_ttl: str | None = None

Time To Live (TTL) in seconds. Defines how long content is cached.

include_cookies: bool | None = False

Defines whether responses to requests with cookies must be stored in the cache.

route_stage_id: str | None = None
waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.UpdateDNSStageRequest(dns_stage_id: 'str', fqdns: 'Optional[List[str]]' = <factory>, tls_stage_id: 'Optional[str]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
dns_stage_id: str

ID of the DNS stage to update.

fqdns: List[str] | None

Fully Qualified Domain Name (in the format subdomain.example.com) attached to the stage.

tls_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.UpdatePipelineRequest(pipeline_id: 'str', name: 'Optional[str]' = None, description: 'Optional[str]' = None)

Bases: object

description: str | None = None

Description of the pipeline.

name: str | None = None

Name of the pipeline.

pipeline_id: str

ID of the pipeline to update.

class scaleway_async.edge_services.v1beta1.types.UpdateRouteStageRequest(route_stage_id: 'str', waf_stage_id: 'Optional[str]' = None)

Bases: object

route_stage_id: str

ID of the route stage to update.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.UpdateTLSStageRequest(tls_stage_id: 'str', tls_secrets_config: 'Optional[TLSSecretsConfig]' = None, managed_certificate: 'Optional[bool]' = False, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
managed_certificate: bool | None = False

True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint.

route_stage_id: str | None = None
tls_secrets_config: TLSSecretsConfig | None = None

Secret (from Scaleway Secret-Manager) containing your custom certificate.

tls_stage_id: str

ID of the TLS stage to update.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.types.UpdateWafStageRequest(waf_stage_id: 'str', mode: 'Optional[WafStageMode]' = <WafStageMode.UNKNOWN_MODE: 'unknown_mode'>, paranoia_level: 'Optional[int]' = 0, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
mode: WafStageMode | None = 'unknown_mode'

Mode defining WAF behavior (disable/log_only/enable).

paranoia_level: int | None = 0

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.

waf_stage_id: str

ID of the WAF stage to update.

class scaleway_async.edge_services.v1beta1.types.WafStage(id: 'str', pipeline_id: 'str', mode: 'WafStageMode', paranoia_level: 'int', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
created_at: datetime | None = None

Date the WAF stage was created.

id: str

ID of the WAF stage.

mode: WafStageMode

Mode defining WAF behavior (disable/log_only/enable).

paranoia_level: int

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.

pipeline_id: str

Pipeline ID the WAF stage belongs to.

updated_at: datetime | None = None

Date the WAF stage was last updated.

class scaleway_async.edge_services.v1beta1.types.WafStageMode(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DISABLE = 'disable'
ENABLE = 'enable'
LOG_ONLY = 'log_only'
UNKNOWN_MODE = 'unknown_mode'

Module contents

class scaleway_async.edge_services.v1beta1.AddRouteRulesRequest(route_stage_id: 'str', route_rules: 'Optional[List[SetRouteRulesRequestRouteRule]]' = <factory>, after_position: 'Optional[int]' = 0, before_position: 'Optional[int]' = 0)

Bases: object

after_position: int | None = 0
before_position: int | None = 0
route_rules: List[SetRouteRulesRequestRouteRule] | None

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

route_stage_id: str

ID of the route stage to update.

class scaleway_async.edge_services.v1beta1.AddRouteRulesResponse(route_rules: 'List[RouteRule]')

Bases: object

route_rules: List[RouteRule]

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

class scaleway_async.edge_services.v1beta1.BackendStage(id: 'str', pipeline_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, scaleway_s3: 'Optional[ScalewayS3BackendConfig]' = None, scaleway_lb: 'Optional[ScalewayLbBackendConfig]' = None)

Bases: object

created_at: datetime | None = None

Date the backend stage was created.

id: str

ID of the backend stage.

pipeline_id: str

Pipeline ID the backend stage belongs to.

scaleway_lb: ScalewayLbBackendConfig | None = None
scaleway_s3: ScalewayS3BackendConfig | None = None
updated_at: datetime | None = None

Date the backend stage was last updated.

class scaleway_async.edge_services.v1beta1.CacheStage(id: 'str', pipeline_id: 'str', include_cookies: 'bool', fallback_ttl: 'Optional[str]' = None, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
created_at: datetime | None = None

Date the cache stage was created.

fallback_ttl: str | None = None

Time To Live (TTL) in seconds. Defines how long content is cached.

id: str

ID of the cache stage.

include_cookies: bool

Defines whether responses to requests with cookies must be stored in the cache.

pipeline_id: str

Pipeline ID the cache stage belongs to.

route_stage_id: str | None = None
updated_at: datetime | None = None

Date the cache stage was last updated.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.CheckDomainRequest(fqdn: 'str', cname: 'str', project_id: 'Optional[str]' = None)

Bases: object

cname: str
fqdn: str
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.CheckDomainResponse(is_valid: 'bool')

Bases: object

is_valid: bool
class scaleway_async.edge_services.v1beta1.CheckLbOriginRequest(lb: 'Optional[ScalewayLb]' = None)

Bases: object

lb: ScalewayLb | None = None
class scaleway_async.edge_services.v1beta1.CheckLbOriginResponse(is_valid: 'bool', error_type: 'LbOriginError')

Bases: object

error_type: LbOriginError
is_valid: bool
class scaleway_async.edge_services.v1beta1.CheckPEMChainRequest(fqdn: 'str', project_id: 'Optional[str]' = None, secret: 'Optional[CheckPEMChainRequestSecretChain]' = None, raw: 'Optional[str]' = None)

Bases: object

fqdn: str
project_id: str | None = None
raw: str | None = None
secret: CheckPEMChainRequestSecretChain | None = None
class scaleway_async.edge_services.v1beta1.CheckPEMChainRequestSecretChain(secret_id: 'str', secret_region: 'str')

Bases: object

secret_id: str
secret_region: str
class scaleway_async.edge_services.v1beta1.CheckPEMChainResponse(is_valid: 'bool')

Bases: object

is_valid: bool
class scaleway_async.edge_services.v1beta1.CreateBackendStageRequest(pipeline_id: 'str', scaleway_s3: 'Optional[ScalewayS3BackendConfig]' = None, scaleway_lb: 'Optional[ScalewayLbBackendConfig]' = None)

Bases: object

pipeline_id: str

Pipeline ID the Backend stage belongs to.

scaleway_lb: ScalewayLbBackendConfig | None = None
scaleway_s3: ScalewayS3BackendConfig | None = None
class scaleway_async.edge_services.v1beta1.CreateCacheStageRequest(pipeline_id: 'str', fallback_ttl: 'Optional[str]' = None, include_cookies: 'Optional[bool]' = False, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
fallback_ttl: str | None = None

Time To Live (TTL) in seconds. Defines how long content is cached.

include_cookies: bool | None = False

Defines whether responses to requests with cookies must be stored in the cache.

pipeline_id: str

Pipeline ID the Cache stage belongs to.

route_stage_id: str | None = None
waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.CreateDNSStageRequest(pipeline_id: 'str', fqdns: 'Optional[List[str]]' = <factory>, tls_stage_id: 'Optional[str]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
fqdns: List[str] | None

Fully Qualified Domain Name (in the format subdomain.example.com) to attach to the stage.

pipeline_id: str

Pipeline ID the DNS stage belongs to.

tls_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.CreatePipelineRequest(name: 'str', description: 'str', project_id: 'Optional[str]' = None)

Bases: object

description: str

Description of the pipeline.

name: str

Name of the pipeline.

project_id: str | None = None

Project ID in which the pipeline will be created.

class scaleway_async.edge_services.v1beta1.CreatePurgeRequestRequest(pipeline_id: 'str', assets: 'Optional[List[str]]' = <factory>, all: 'Optional[bool]' = False)

Bases: object

all: bool | None = False
assets: List[str] | None
pipeline_id: str

Pipeline ID in which the purge request will be created.

class scaleway_async.edge_services.v1beta1.CreateRouteStageRequest(pipeline_id: 'str', waf_stage_id: 'Optional[str]' = None)

Bases: object

pipeline_id: str

Pipeline ID the route stage belongs to.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.CreateTLSStageRequest(pipeline_id: 'str', secrets: 'Optional[List[TLSSecret]]' = <factory>, managed_certificate: 'Optional[bool]' = False, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
managed_certificate: bool | None = False

True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint.

pipeline_id: str

Pipeline ID the TLS stage belongs to.

route_stage_id: str | None = None
secrets: List[TLSSecret] | None

Secret (from Scaleway Secret Manager) containing your custom certificate.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.CreateWafStageRequest(pipeline_id: 'str', paranoia_level: 'int', mode: 'Optional[WafStageMode]' = <WafStageMode.UNKNOWN_MODE: 'unknown_mode'>, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
mode: WafStageMode | None = 'unknown_mode'

Mode defining WAF behavior (disable/log_only/enable).

paranoia_level: int

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.

pipeline_id: str

Pipeline ID the WAF stage belongs to.

class scaleway_async.edge_services.v1beta1.DNSStage(id: 'str', fqdns: 'List[str]', type_: 'DNSStageType', pipeline_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, tls_stage_id: 'Optional[str]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
created_at: datetime | None = None

Date the DNS stage was created.

fqdns: List[str]

List of Fully Qualified Domain Names attached to the stage.

id: str

ID of the DNS stage.

pipeline_id: str

Pipeline ID the DNS stage belongs to.

tls_stage_id: str | None = None
type_: DNSStageType

Type of the stage.

updated_at: datetime | None = None

Date the DNS stage was last updated.

class scaleway_async.edge_services.v1beta1.DNSStageType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AUTO = 'auto'
CUSTOM = 'custom'
MANAGED = 'managed'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.edge_services.v1beta1.DeleteBackendStageRequest(backend_stage_id: 'str')

Bases: object

backend_stage_id: str

ID of the backend stage to delete.

class scaleway_async.edge_services.v1beta1.DeleteCacheStageRequest(cache_stage_id: 'str')

Bases: object

cache_stage_id: str

ID of the cache stage to delete.

class scaleway_async.edge_services.v1beta1.DeleteCurrentPlanRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None
class scaleway_async.edge_services.v1beta1.DeleteDNSStageRequest(dns_stage_id: 'str')

Bases: object

dns_stage_id: str

ID of the DNS stage to delete.

class scaleway_async.edge_services.v1beta1.DeletePipelineRequest(pipeline_id: 'str')

Bases: object

pipeline_id: str

ID of the pipeline to delete.

class scaleway_async.edge_services.v1beta1.DeleteRouteStageRequest(route_stage_id: 'str')

Bases: object

route_stage_id: str

ID of the route stage to delete.

class scaleway_async.edge_services.v1beta1.DeleteTLSStageRequest(tls_stage_id: 'str')

Bases: object

tls_stage_id: str

ID of the TLS stage to delete.

class scaleway_async.edge_services.v1beta1.DeleteWafStageRequest(waf_stage_id: 'str')

Bases: object

waf_stage_id: str

ID of the WAF stage to delete.

class scaleway_async.edge_services.v1beta1.EdgeServicesV1Beta1API(client: Client, *, bypass_validation: bool = False)

Bases: API

async add_route_rules(*, route_stage_id: str, route_rules: List[SetRouteRulesRequestRouteRule] | None = None, after_position: int | None = None, before_position: int | None = None) AddRouteRulesResponse

Add route rules. Add route rules to an existing route stage, specified by its route_stage_id. :param route_stage_id: ID of the route stage to update. :param route_rules: List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id. :param after_position: Add rules after the given position. One-Of (β€˜position’): at most one of β€˜after_position’, β€˜before_position’ could be set. :param before_position: Add rules before the given position. One-Of (β€˜position’): at most one of β€˜after_position’, β€˜before_position’ could be set. :return: AddRouteRulesResponse

Usage:

result = await api.add_route_rules(
    route_stage_id="example",
)
async check_domain(*, fqdn: str, cname: str, project_id: str | None = None) CheckDomainResponse
Parameters:
  • fqdn –

  • cname –

  • project_id –

Returns:

CheckDomainResponse

Usage:

result = await api.check_domain(
    fqdn="example",
    cname="example",
)
async check_lb_origin(*, lb: ScalewayLb | None = None) CheckLbOriginResponse
Parameters:

lb –

Returns:

CheckLbOriginResponse

Usage:

result = await api.check_lb_origin()
async check_pem_chain(*, fqdn: str, project_id: str | None = None, secret: CheckPEMChainRequestSecretChain | None = None, raw: str | None = None) CheckPEMChainResponse
Parameters:
  • fqdn –

  • project_id –

  • secret –

One-Of (β€˜chain’): at most one of β€˜secret’, β€˜raw’ could be set. :param raw: One-Of (β€˜chain’): at most one of β€˜secret’, β€˜raw’ could be set. :return: CheckPEMChainResponse

Usage:

result = await api.check_pem_chain(
    fqdn="example",
)
async create_backend_stage(*, scaleway_s3: ScalewayS3BackendConfig | None = None, scaleway_lb: ScalewayLbBackendConfig | None = None, pipeline_id: str) BackendStage

Create backend stage. Create a new backend stage. You must specify either a scaleway_s3 (for a Scaleway Object Storage bucket) or scaleway_lb (for a Scaleway Load Balancer) field to configure the origin. :param scaleway_s3: Scaleway Object Storage origin bucket (S3) linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :param scaleway_lb: Scaleway Load Balancer origin linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :param pipeline_id: Pipeline ID the Backend stage belongs to. :return: BackendStage

Usage:

result = await api.create_backend_stage(
    pipeline_id="example",
)
async create_cache_stage(*, fallback_ttl: str | None = None, include_cookies: bool | None = None, backend_stage_id: str | None = None, pipeline_id: str, waf_stage_id: str | None = None, route_stage_id: str | None = None) CacheStage

Create cache stage. Create a new cache stage. You must specify the fallback_ttl field to customize the TTL of the cache. :param fallback_ttl: Time To Live (TTL) in seconds. Defines how long content is cached. :param include_cookies: Defines whether responses to requests with cookies must be stored in the cache. :param backend_stage_id: Backend stage ID the cache stage will be linked to. One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param pipeline_id: Pipeline ID the Cache stage belongs to. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :return: CacheStage

Usage:

result = await api.create_cache_stage(
    pipeline_id="example",
)
async create_dns_stage(*, fqdns: List[str] | None = None, tls_stage_id: str | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None, pipeline_id: str) DNSStage

Create DNS stage. Create a new DNS stage. You must specify the fqdns field to customize the domain endpoint, using a domain you already own. :param fqdns: Fully Qualified Domain Name (in the format subdomain.example.com) to attach to the stage. :param tls_stage_id: TLS stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param cache_stage_id: Cache stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param backend_stage_id: Backend stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param pipeline_id: Pipeline ID the DNS stage belongs to. :return: DNSStage

Usage:

result = await api.create_dns_stage(
    pipeline_id="example",
)
async create_pipeline(*, name: str, description: str, project_id: str | None = None) Pipeline

Create pipeline. Create a new pipeline. You must specify a dns_stage_id to form a stage-chain that goes all the way to the backend stage (origin), so the HTTP request will be processed according to the stages you created. :param name: Name of the pipeline. :param description: Description of the pipeline. :param project_id: Project ID in which the pipeline will be created. :return: Pipeline

Usage:

result = await api.create_pipeline(
    name="example",
    description="example",
)
async create_purge_request(*, pipeline_id: str, assets: List[str] | None = None, all: bool | None = None) PurgeRequest

Create purge request. Create a new purge request. You must specify either the all field (to purge all content) or a list of assets (to define the precise assets to purge). :param pipeline_id: Pipeline ID in which the purge request will be created. :param assets: List of asserts to purge. One-Of (β€˜target’): at most one of β€˜assets’, β€˜all’ could be set. :param all: Defines whether to purge all content. One-Of (β€˜target’): at most one of β€˜assets’, β€˜all’ could be set. :return: PurgeRequest

Usage:

result = await api.create_purge_request(
    pipeline_id="example",
)
async create_route_stage(*, pipeline_id: str, waf_stage_id: str | None = None) RouteStage

Create route stage. Create a new route stage. You must specify the waf_stage_id field to customize the route. :param pipeline_id: Pipeline ID the route stage belongs to. :param waf_stage_id: ID of the WAF stage HTTP requests should be forwarded to when no rules are matched. One-Of (β€˜next’): at most one of β€˜waf_stage_id’ could be set. :return: RouteStage

Usage:

result = await api.create_route_stage(
    pipeline_id="example",
)
async create_tls_stage(*, secrets: List[TLSSecret] | None = None, managed_certificate: bool | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None, pipeline_id: str, route_stage_id: str | None = None, waf_stage_id: str | None = None) TLSStage

Create TLS stage. Create a new TLS stage. You must specify either the secrets or managed_certificate fields to customize the SSL/TLS certificate of your endpoint. Choose secrets if you are using a pre-existing certificate held in Scaleway Secret Manager, or managed_certificate to let Scaleway generate and manage a Let’s Encrypt certificate for your customized endpoint. :param secrets: Secret (from Scaleway Secret Manager) containing your custom certificate. :param managed_certificate: True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint. :param cache_stage_id: Cache stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param backend_stage_id: Backend stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param pipeline_id: Pipeline ID the TLS stage belongs to. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :return: TLSStage

Usage:

result = await api.create_tls_stage(
    pipeline_id="example",
)
async create_waf_stage(*, pipeline_id: str, paranoia_level: int, mode: WafStageMode | None = None, backend_stage_id: str | None = None) WafStage

Create WAF stage. Create a new WAF stage. You must specify the mode and paranoia_level fields to customize the WAF. :param pipeline_id: Pipeline ID the WAF stage belongs to. :param paranoia_level: 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. :param mode: Mode defining WAF behavior (disable/log_only/enable). :param backend_stage_id: ID of the backend stage to forward requests to after the WAF stage. One-Of (β€˜next’): at most one of β€˜backend_stage_id’ could be set. :return: WafStage

Usage:

result = await api.create_waf_stage(
    pipeline_id="example",
    paranoia_level=1,
)
async delete_backend_stage(*, backend_stage_id: str) None

Delete backend stage. Delete an existing backend stage, specified by its backend_stage_id. Deleting a backend stage is permanent, and cannot be undone. :param backend_stage_id: ID of the backend stage to delete.

Usage:

result = await api.delete_backend_stage(
    backend_stage_id="example",
)
async delete_cache_stage(*, cache_stage_id: str) None

Delete cache stage. Delete an existing cache stage, specified by its cache_stage_id. Deleting a cache stage is permanent, and cannot be undone. :param cache_stage_id: ID of the cache stage to delete.

Usage:

result = await api.delete_cache_stage(
    cache_stage_id="example",
)
async delete_current_plan(*, project_id: str | None = None) None
Parameters:

project_id –

Usage:

result = await api.delete_current_plan()
async delete_dns_stage(*, dns_stage_id: str) None

Delete DNS stage. Delete an existing DNS stage, specified by its dns_stage_id. Deleting a DNS stage is permanent, and cannot be undone. :param dns_stage_id: ID of the DNS stage to delete.

Usage:

result = await api.delete_dns_stage(
    dns_stage_id="example",
)
async delete_pipeline(*, pipeline_id: str) None

Delete pipeline. Delete an existing pipeline, specified by its pipeline_id. Deleting a pipeline is permanent, and cannot be undone. Note that all stages linked to the pipeline are also deleted. :param pipeline_id: ID of the pipeline to delete.

Usage:

result = await api.delete_pipeline(
    pipeline_id="example",
)
async delete_route_stage(*, route_stage_id: str) None

Delete route stage. Delete an existing route stage, specified by its route_stage_id. Deleting a route stage is permanent, and cannot be undone. :param route_stage_id: ID of the route stage to delete.

Usage:

result = await api.delete_route_stage(
    route_stage_id="example",
)
async delete_tls_stage(*, tls_stage_id: str) None

Delete TLS stage. Delete an existing TLS stage, specified by its tls_stage_id. Deleting a TLS stage is permanent, and cannot be undone. :param tls_stage_id: ID of the TLS stage to delete.

Usage:

result = await api.delete_tls_stage(
    tls_stage_id="example",
)
async delete_waf_stage(*, waf_stage_id: str) None

Delete WAF stage. Delete an existing WAF stage, specified by its waf_stage_id. Deleting a WAF stage is permanent, and cannot be undone. :param waf_stage_id: ID of the WAF stage to delete.

Usage:

result = await api.delete_waf_stage(
    waf_stage_id="example",
)
async get_backend_stage(*, backend_stage_id: str) BackendStage

Get backend stage. Retrieve information about an existing backend stage, specified by its backend_stage_id. Its full details, including scaleway_s3 or scaleway_lb, are returned in the response object. :param backend_stage_id: ID of the requested backend stage. :return: BackendStage

Usage:

result = await api.get_backend_stage(
    backend_stage_id="example",
)
async get_billing(*, project_id: str | None = None) GetBillingResponse

Gives information on the currently selected Edge Services subscription plan, resource usage and associated billing information for this calendar month (including whether consumption falls within or exceeds the currently selected subscription plan.). :param project_id: :return: GetBillingResponse

Usage:

result = await api.get_billing()
async get_cache_stage(*, cache_stage_id: str) CacheStage

Get cache stage. Retrieve information about an existing cache stage, specified by its cache_stage_id. Its full details, including Time To Live (TTL), are returned in the response object. :param cache_stage_id: ID of the requested cache stage. :return: CacheStage

Usage:

result = await api.get_cache_stage(
    cache_stage_id="example",
)
async get_current_plan(*, project_id: str | None = None) Plan
Parameters:

project_id –

Returns:

Plan

Usage:

result = await api.get_current_plan()
async get_dns_stage(*, dns_stage_id: str) DNSStage

Get DNS stage. Retrieve information about an existing DNS stage, specified by its dns_stage_id. Its full details, including FQDNs, are returned in the response object. :param dns_stage_id: ID of the requested DNS stage. :return: DNSStage

Usage:

result = await api.get_dns_stage(
    dns_stage_id="example",
)
async get_pipeline(*, pipeline_id: str) Pipeline

Get pipeline. Retrieve information about an existing pipeline, specified by its pipeline_id. Its full details, including errors, are returned in the response object. :param pipeline_id: ID of the requested pipeline. :return: Pipeline

Usage:

result = await api.get_pipeline(
    pipeline_id="example",
)
async get_purge_request(*, purge_request_id: str) PurgeRequest

Get purge request. Retrieve information about a purge request, specified by its purge_request_id. Its full details, including status and target, are returned in the response object. :param purge_request_id: ID of the requested purge request. :return: PurgeRequest

Usage:

result = await api.get_purge_request(
    purge_request_id="example",
)
async get_route_stage(*, route_stage_id: str) RouteStage

Get route stage. Retrieve information about an existing route stage, specified by its route_stage_id. The summary of the route stage (without route rules) is returned in the response object. :param route_stage_id: ID of the requested route stage. :return: RouteStage

Usage:

result = await api.get_route_stage(
    route_stage_id="example",
)
async get_tls_stage(*, tls_stage_id: str) TLSStage

Get TLS stage. Retrieve information about an existing TLS stage, specified by its tls_stage_id. Its full details, including secrets and certificate expiration date are returned in the response object. :param tls_stage_id: ID of the requested TLS stage. :return: TLSStage

Usage:

result = await api.get_tls_stage(
    tls_stage_id="example",
)
async get_waf_stage(*, waf_stage_id: str) WafStage

Get WAF stage. Retrieve information about an existing WAF stage, specified by its waf_stage_id. Its full details are returned in the response object. :param waf_stage_id: ID of the requested WAF stage. :return: WafStage

Usage:

result = await api.get_waf_stage(
    waf_stage_id="example",
)
async list_backend_stages(*, order_by: ListBackendStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, bucket_name: str | None = None, bucket_region: str | None = None, lb_id: str | None = None) ListBackendStagesResponse

List backend stages. List all backend stages, for a Scaleway Organization or Scaleway Project. By default, the backend stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of backend stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of backend stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only backend stages from this pipeline will be returned. :param bucket_name: Bucket name to filter for. Only backend stages from this Bucket will be returned. :param bucket_region: Bucket region to filter for. Only backend stages with buckets in this region will be returned. :param lb_id: Load Balancer ID to filter for. Only backend stages with this Load Balancer will be returned. :return: ListBackendStagesResponse

Usage:

result = await api.list_backend_stages(
    pipeline_id="example",
)
async list_backend_stages_all(*, order_by: ListBackendStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, bucket_name: str | None = None, bucket_region: str | None = None, lb_id: str | None = None) List[BackendStage]

List backend stages. List all backend stages, for a Scaleway Organization or Scaleway Project. By default, the backend stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of backend stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of backend stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only backend stages from this pipeline will be returned. :param bucket_name: Bucket name to filter for. Only backend stages from this Bucket will be returned. :param bucket_region: Bucket region to filter for. Only backend stages with buckets in this region will be returned. :param lb_id: Load Balancer ID to filter for. Only backend stages with this Load Balancer will be returned. :return: List[BackendStage]

Usage:

result = await api.list_backend_stages_all(
    pipeline_id="example",
)
async list_cache_stages(*, order_by: ListCacheStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) ListCacheStagesResponse

List cache stages. List all cache stages, for a Scaleway Organization or Scaleway Project. By default, the cache stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of cache stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of cache stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only cache stages from this pipeline will be returned. :return: ListCacheStagesResponse

Usage:

result = await api.list_cache_stages(
    pipeline_id="example",
)
async list_cache_stages_all(*, order_by: ListCacheStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) List[CacheStage]

List cache stages. List all cache stages, for a Scaleway Organization or Scaleway Project. By default, the cache stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of cache stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of cache stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only cache stages from this pipeline will be returned. :return: List[CacheStage]

Usage:

result = await api.list_cache_stages_all(
    pipeline_id="example",
)
async list_dns_stages(*, order_by: ListDNSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, fqdn: str | None = None) ListDNSStagesResponse

List DNS stages. List all DNS stages, for a Scaleway Organization or Scaleway Project. By default, the DNS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of DNS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of DNS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only DNS stages from this pipeline will be returned. :param fqdn: Fully Qualified Domain Name to filter for (in the format subdomain.example.com). Only DNS stages with this FQDN will be returned. :return: ListDNSStagesResponse

Usage:

result = await api.list_dns_stages(
    pipeline_id="example",
)
async list_dns_stages_all(*, order_by: ListDNSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, fqdn: str | None = None) List[DNSStage]

List DNS stages. List all DNS stages, for a Scaleway Organization or Scaleway Project. By default, the DNS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of DNS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of DNS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only DNS stages from this pipeline will be returned. :param fqdn: Fully Qualified Domain Name to filter for (in the format subdomain.example.com). Only DNS stages with this FQDN will be returned. :return: List[DNSStage]

Usage:

result = await api.list_dns_stages_all(
    pipeline_id="example",
)
async list_head_stages(*, pipeline_id: str, page: int | None = None, page_size: int | None = None) ListHeadStagesResponse
Parameters:
  • pipeline_id – ID of the pipeline to update.

  • page – Page number to return, from the paginated results.

  • page_size – Number of head stages to return per page.

Returns:

ListHeadStagesResponse

Usage:

result = await api.list_head_stages(
    pipeline_id="example",
)
async list_head_stages_all(*, pipeline_id: str, page: int | None = None, page_size: int | None = None) List[ListHeadStagesResponseHeadStage]
Parameters:
  • pipeline_id – ID of the pipeline to update.

  • page – Page number to return, from the paginated results.

  • page_size – Number of head stages to return per page.

Returns:

List[ListHeadStagesResponseHeadStage]

Usage:

result = await api.list_head_stages_all(
    pipeline_id="example",
)
async list_pipelines(*, order_by: ListPipelinesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None, has_backend_stage_lb: bool | None = None) ListPipelinesResponse

List pipelines. List all pipelines, for a Scaleway Organization or Scaleway Project. By default, the pipelines returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of pipelines in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of pipelines to return per page. :param name: Pipeline name to filter for. Only pipelines with this string within their name will be returned. :param organization_id: Organization ID to filter for. Only pipelines from this Organization will be returned. :param project_id: Project ID to filter for. Only pipelines from this Project will be returned. :param has_backend_stage_lb: Filter on backend stage. Only pipelines with a Load Balancer origin will be returned. :return: ListPipelinesResponse

Usage:

result = await api.list_pipelines()
async list_pipelines_all(*, order_by: ListPipelinesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None, has_backend_stage_lb: bool | None = None) List[Pipeline]

List pipelines. List all pipelines, for a Scaleway Organization or Scaleway Project. By default, the pipelines returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of pipelines in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of pipelines to return per page. :param name: Pipeline name to filter for. Only pipelines with this string within their name will be returned. :param organization_id: Organization ID to filter for. Only pipelines from this Organization will be returned. :param project_id: Project ID to filter for. Only pipelines from this Project will be returned. :param has_backend_stage_lb: Filter on backend stage. Only pipelines with a Load Balancer origin will be returned. :return: List[Pipeline]

Usage:

result = await api.list_pipelines_all()
async list_pipelines_with_stages(*, order_by: ListPipelinesWithStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None) ListPipelinesWithStagesResponse
Parameters:
  • order_by –

  • page –

  • page_size –

  • name –

  • organization_id –

  • project_id –

Returns:

ListPipelinesWithStagesResponse

Usage:

result = await api.list_pipelines_with_stages()
async list_pipelines_with_stages_all(*, order_by: ListPipelinesWithStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None) List[PipelineStages]
Parameters:
  • order_by –

  • page –

  • page_size –

  • name –

  • organization_id –

  • project_id –

Returns:

List[PipelineStages]

Usage:

result = await api.list_pipelines_with_stages_all()
async list_plans() ListPlansResponse
Returns:

ListPlansResponse

Usage:

result = await api.list_plans()
async list_purge_requests(*, order_by: ListPurgeRequestsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, organization_id: str | None = None, project_id: str | None = None, pipeline_id: str | None = None) ListPurgeRequestsResponse

List purge requests. List all purge requests, for a Scaleway Organization or Scaleway Project. This enables you to retrieve a history of all previously-made purge requests. By default, the purge requests returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of purge requests in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of purge requests to return per page. :param organization_id: Organization ID to filter for. Only purge requests from this Project will be returned. :param project_id: Project ID to filter for. Only purge requests from this Project will be returned. :param pipeline_id: Pipeline ID to filter for. Only purge requests from this pipeline will be returned. :return: ListPurgeRequestsResponse

Usage:

result = await api.list_purge_requests()
async list_purge_requests_all(*, order_by: ListPurgeRequestsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, organization_id: str | None = None, project_id: str | None = None, pipeline_id: str | None = None) List[PurgeRequest]

List purge requests. List all purge requests, for a Scaleway Organization or Scaleway Project. This enables you to retrieve a history of all previously-made purge requests. By default, the purge requests returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of purge requests in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of purge requests to return per page. :param organization_id: Organization ID to filter for. Only purge requests from this Project will be returned. :param project_id: Project ID to filter for. Only purge requests from this Project will be returned. :param pipeline_id: Pipeline ID to filter for. Only purge requests from this pipeline will be returned. :return: List[PurgeRequest]

Usage:

result = await api.list_purge_requests_all()
async list_route_rules(*, route_stage_id: str) ListRouteRulesResponse

List route rules. List all route rules of an existing route stage, specified by its route_stage_id. :param route_stage_id: Route stage ID to filter for. Only route rules from this route stage will be returned. :return: ListRouteRulesResponse

Usage:

result = await api.list_route_rules(
    route_stage_id="example",
)
async list_route_stages(*, order_by: ListRouteStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) ListRouteStagesResponse

List route stages. List all route stages, for a given pipeline. By default, the route stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of route stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of route stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only route stages from this pipeline will be returned. :return: ListRouteStagesResponse

Usage:

result = await api.list_route_stages(
    pipeline_id="example",
)
async list_route_stages_all(*, order_by: ListRouteStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) List[RouteStage]

List route stages. List all route stages, for a given pipeline. By default, the route stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of route stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of route stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only route stages from this pipeline will be returned. :return: List[RouteStage]

Usage:

result = await api.list_route_stages_all(
    pipeline_id="example",
)
async list_tls_stages(*, order_by: ListTLSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, secret_id: str | None = None, secret_region: str | None = None) ListTLSStagesResponse

List TLS stages. List all TLS stages, for a Scaleway Organization or Scaleway Project. By default, the TLS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of TLS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of TLS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only TLS stages from this pipeline will be returned. :param secret_id: Secret ID to filter for. Only TLS stages with this Secret ID will be returned. :param secret_region: Secret region to filter for. Only TLS stages with a Secret in this region will be returned. :return: ListTLSStagesResponse

Usage:

result = await api.list_tls_stages(
    pipeline_id="example",
)
async list_tls_stages_all(*, order_by: ListTLSStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str, secret_id: str | None = None, secret_region: str | None = None) List[TLSStage]

List TLS stages. List all TLS stages, for a Scaleway Organization or Scaleway Project. By default, the TLS stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of TLS stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of TLS stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only TLS stages from this pipeline will be returned. :param secret_id: Secret ID to filter for. Only TLS stages with this Secret ID will be returned. :param secret_region: Secret region to filter for. Only TLS stages with a Secret in this region will be returned. :return: List[TLSStage]

Usage:

result = await api.list_tls_stages_all(
    pipeline_id="example",
)
async list_waf_stages(*, order_by: ListWafStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) ListWafStagesResponse

List WAF stages. List all WAF stages, for a Scaleway Organization or Scaleway Project. By default, the WAF stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of WAF stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of WAF stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only WAF stages from this pipeline will be returned. :return: ListWafStagesResponse

Usage:

result = await api.list_waf_stages(
    pipeline_id="example",
)
async list_waf_stages_all(*, order_by: ListWafStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, pipeline_id: str) List[WafStage]

List WAF stages. List all WAF stages, for a Scaleway Organization or Scaleway Project. By default, the WAF stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. :param order_by: Sort order of WAF stages in the response. :param page: Page number to return, from the paginated results. :param page_size: Number of WAF stages to return per page. :param pipeline_id: Pipeline ID to filter for. Only WAF stages from this pipeline will be returned. :return: List[WafStage]

Usage:

result = await api.list_waf_stages_all(
    pipeline_id="example",
)
async search_backend_stages(*, order_by: SearchBackendStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, project_id: str | None = None, bucket_name: str | None = None, bucket_region: str | None = None, lb_id: str | None = None) ListBackendStagesResponse
Parameters:
  • order_by –

  • page –

  • page_size –

  • project_id –

  • bucket_name –

  • bucket_region –

  • lb_id –

Returns:

ListBackendStagesResponse

Usage:

result = await api.search_backend_stages()
async search_route_rules(*, order_by: SearchRouteRulesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, organization_id: str | None = None, project_id: str | None = None) ListRouteRulesResponse

List route rules. List all route rules of an organization or project. :param order_by: :param page: :param page_size: :param organization_id: :param project_id: :return: ListRouteRulesResponse

Usage:

result = await api.search_route_rules()
async search_waf_stages(*, order_by: SearchWafStagesRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, project_id: str | None = None) ListWafStagesResponse
Parameters:
  • order_by –

  • page –

  • page_size –

  • project_id –

Returns:

ListWafStagesResponse

Usage:

result = await api.search_waf_stages()
async select_plan(*, project_id: str | None = None, plan_name: PlanName | None = None) Plan
Parameters:
  • project_id –

  • plan_name –

Returns:

Plan

Usage:

result = await api.select_plan()
async set_head_stage(*, pipeline_id: str, add_new_head_stage: SetHeadStageRequestAddNewHeadStage | None = None, remove_head_stage: SetHeadStageRequestRemoveHeadStage | None = None, swap_head_stage: SetHeadStageRequestSwapHeadStage | None = None) HeadStageResponse

Configure a entry point to your pipeline. You must specify a head stage to form a stage-chain that goes all the way to the backend stage (origin), so the HTTP request will be processed according to the stages you created. You must specify either a add_new_head_stage (to add a new head stage), remove_head_stage (to remove a head stage) or swap_head_stage (to replace a head stage). :param pipeline_id: ID of the pipeline to update. :param add_new_head_stage: Add a new head stage. One-Of (β€˜action’): at most one of β€˜add_new_head_stage’, β€˜remove_head_stage’, β€˜swap_head_stage’ could be set. :param remove_head_stage: Remove a head stage. One-Of (β€˜action’): at most one of β€˜add_new_head_stage’, β€˜remove_head_stage’, β€˜swap_head_stage’ could be set. :param swap_head_stage: Replace a head stage with a new one. One-Of (β€˜action’): at most one of β€˜add_new_head_stage’, β€˜remove_head_stage’, β€˜swap_head_stage’ could be set. :return: HeadStageResponse

Usage:

result = await api.set_head_stage(
    pipeline_id="example",
)
async set_route_rules(*, route_stage_id: str, route_rules: List[SetRouteRulesRequestRouteRule] | None = None) SetRouteRulesResponse

Set route rules. Set the rules of an existing route stage, specified by its route_stage_id. :param route_stage_id: ID of the route stage to update. :param route_rules: List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id. :return: SetRouteRulesResponse

Usage:

result = await api.set_route_rules(
    route_stage_id="example",
)
async update_backend_stage(*, backend_stage_id: str, pipeline_id: str, scaleway_s3: ScalewayS3BackendConfig | None = None, scaleway_lb: ScalewayLbBackendConfig | None = None) BackendStage

Update backend stage. Update the parameters of an existing backend stage, specified by its backend_stage_id. :param backend_stage_id: ID of the backend stage to update. :param pipeline_id: Pipeline ID the Backend stage belongs to. :param scaleway_s3: Scaleway Object Storage origin bucket (S3) linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :param scaleway_lb: Scaleway Load Balancer origin linked to the backend stage. One-Of (β€˜backend_config’): at most one of β€˜scaleway_s3’, β€˜scaleway_lb’ could be set. :return: BackendStage

Usage:

result = await api.update_backend_stage(
    backend_stage_id="example",
    pipeline_id="example",
)
async update_cache_stage(*, cache_stage_id: str, fallback_ttl: str | None = None, include_cookies: bool | None = None, backend_stage_id: str | None = None, waf_stage_id: str | None = None, route_stage_id: str | None = None) CacheStage

Update cache stage. Update the parameters of an existing cache stage, specified by its cache_stage_id. Parameters which can be updated include the fallback_ttl, include_cookies and backend_stage_id. :param cache_stage_id: ID of the cache stage to update. :param fallback_ttl: Time To Live (TTL) in seconds. Defines how long content is cached. :param include_cookies: Defines whether responses to requests with cookies must be stored in the cache. :param backend_stage_id: Backend stage ID the cache stage will be linked to. One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜backend_stage_id’, β€˜waf_stage_id’, β€˜route_stage_id’ could be set. :return: CacheStage

Usage:

result = await api.update_cache_stage(
    cache_stage_id="example",
)
async update_dns_stage(*, dns_stage_id: str, fqdns: List[str] | None = None, tls_stage_id: str | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None) DNSStage

Update DNS stage. Update the parameters of an existing DNS stage, specified by its dns_stage_id. :param dns_stage_id: ID of the DNS stage to update. :param fqdns: Fully Qualified Domain Name (in the format subdomain.example.com) attached to the stage. :param tls_stage_id: TLS stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param cache_stage_id: Cache stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :param backend_stage_id: Backend stage ID the DNS stage will be linked to. One-Of (β€˜next’): at most one of β€˜tls_stage_id’, β€˜cache_stage_id’, β€˜backend_stage_id’ could be set. :return: DNSStage

Usage:

result = await api.update_dns_stage(
    dns_stage_id="example",
)
async update_pipeline(*, pipeline_id: str, name: str | None = None, description: str | None = None) Pipeline

Update pipeline. Update the parameters of an existing pipeline, specified by its pipeline_id. Parameters which can be updated include the name, description and dns_stage_id. :param pipeline_id: ID of the pipeline to update. :param name: Name of the pipeline. :param description: Description of the pipeline. :return: Pipeline

Usage:

result = await api.update_pipeline(
    pipeline_id="example",
)
async update_route_stage(*, route_stage_id: str, waf_stage_id: str | None = None) RouteStage

Update route stage. Update the parameters of an existing route stage, specified by its route_stage_id. :param route_stage_id: ID of the route stage to update. :param waf_stage_id: ID of the WAF stage HTTP requests should be forwarded to when no rules are matched. One-Of (β€˜next’): at most one of β€˜waf_stage_id’ could be set. :return: RouteStage

Usage:

result = await api.update_route_stage(
    route_stage_id="example",
)
async update_tls_stage(*, tls_stage_id: str, tls_secrets_config: TLSSecretsConfig | None = None, managed_certificate: bool | None = None, cache_stage_id: str | None = None, backend_stage_id: str | None = None, route_stage_id: str | None = None, waf_stage_id: str | None = None) TLSStage

Update TLS stage. Update the parameters of an existing TLS stage, specified by its tls_stage_id. Both tls_secrets_config and managed_certificate parameters can be updated. :param tls_stage_id: ID of the TLS stage to update. :param tls_secrets_config: Secret (from Scaleway Secret-Manager) containing your custom certificate. :param managed_certificate: True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint. :param cache_stage_id: Cache stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param backend_stage_id: Backend stage ID the TLS stage will be linked to. One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param route_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :param waf_stage_id: One-Of (β€˜next’): at most one of β€˜cache_stage_id’, β€˜backend_stage_id’, β€˜route_stage_id’, β€˜waf_stage_id’ could be set. :return: TLSStage

Usage:

result = await api.update_tls_stage(
    tls_stage_id="example",
)
async update_waf_stage(*, waf_stage_id: str, mode: WafStageMode | None = None, paranoia_level: int | None = None, backend_stage_id: str | None = None) WafStage

Update WAF stage. Update the parameters of an existing WAF stage, specified by its waf_stage_id. Both mode and paranoia_level parameters can be updated. :param waf_stage_id: ID of the WAF stage to update. :param mode: Mode defining WAF behavior (disable/log_only/enable). :param paranoia_level: 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. :param backend_stage_id: ID of the backend stage to forward requests to after the WAF stage. One-Of (β€˜next’): at most one of β€˜backend_stage_id’ could be set. :return: WafStage

Usage:

result = await api.update_waf_stage(
    waf_stage_id="example",
)
async wait_for_pipeline(*, pipeline_id: str, options: WaitForOptions[Pipeline, bool | Awaitable[bool]] | None = None) Pipeline

Get pipeline. Retrieve information about an existing pipeline, specified by its pipeline_id. Its full details, including errors, are returned in the response object. :param pipeline_id: ID of the requested pipeline. :return: Pipeline

Usage:

result = await api.get_pipeline(
    pipeline_id="example",
)
async wait_for_purge_request(*, purge_request_id: str, options: WaitForOptions[PurgeRequest, bool | Awaitable[bool]] | None = None) PurgeRequest

Get purge request. Retrieve information about a purge request, specified by its purge_request_id. Its full details, including status and target, are returned in the response object. :param purge_request_id: ID of the requested purge request. :return: PurgeRequest

Usage:

result = await api.get_purge_request(
    purge_request_id="example",
)
class scaleway_async.edge_services.v1beta1.GetBackendStageRequest(backend_stage_id: 'str')

Bases: object

backend_stage_id: str

ID of the requested backend stage.

class scaleway_async.edge_services.v1beta1.GetBillingRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None
class scaleway_async.edge_services.v1beta1.GetBillingResponse(pipeline_number: 'int', current_plan_cache_usage: 'int', extra_cache_usage: 'int', current_plan_waf_usage: 'int', extra_waf_usage: 'int', plans_usage_details: 'Dict[str, PlanUsageDetails]', current_plan: 'Optional[PlanDetails]' = None, plan_cost: 'Optional[Money]' = None, extra_pipelines_cost: 'Optional[Money]' = None, extra_cache_cost: 'Optional[Money]' = None, extra_waf_cost: 'Optional[Money]' = None, waf_add_on: 'Optional[Money]' = None, total_cost: 'Optional[Money]' = None)

Bases: object

current_plan: PlanDetails | None = None

Information on the currently-selected, active Edge Services subscription plan.

current_plan_cache_usage: int

Total amount of data egressed from the cache in gigabytes from the beginning of the month, for the active subscription plan.

current_plan_waf_usage: int

Total number of requests processed by the WAF since the beginning of the current month, for the active subscription plan.

extra_cache_cost: Money | None = None

Cost to date (this month) of the data egressed from the cache that is not included in the subscription plans.

extra_cache_usage: int

Total amount of extra data egressed from cache in gigabytes from the beginning of the month, not included in the subscription plans.

extra_pipelines_cost: Money | None = None

Cost to date (this month) of pipelines not included in the subscription plans.

extra_waf_cost: Money | None = None

Cost to date (this month) of the extra requests processed by the WAF that were not included in the subscription plans.

extra_waf_usage: int

Total number of extra requests processed by the WAF from the beginning of the month, not included in the subscription plans.

pipeline_number: int

Total number of pipelines currently configured.

plan_cost: Money | None = None

Cost to date (this month) for Edge Service subscription plans. This comprises the pro-rata cost of the current subscription plan, and any previous subscription plans that were active earlier in the month.

plans_usage_details: Dict[str, PlanUsageDetails]

Detailed costs and usage for all Edge Services subscription plans that were activated during the month.

total_cost: Money | None = None

Total cost to date (this month) of all Edge Services resources including active subscription plan, previously active plans, extra pipelines and extra egress cache data.

waf_add_on: Money | None = None

Cost of activating WAF add-on (where subscription plan does not include WAF).

class scaleway_async.edge_services.v1beta1.GetCacheStageRequest(cache_stage_id: 'str')

Bases: object

cache_stage_id: str

ID of the requested cache stage.

class scaleway_async.edge_services.v1beta1.GetCurrentPlanRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None
class scaleway_async.edge_services.v1beta1.GetDNSStageRequest(dns_stage_id: 'str')

Bases: object

dns_stage_id: str

ID of the requested DNS stage.

class scaleway_async.edge_services.v1beta1.GetPipelineRequest(pipeline_id: 'str')

Bases: object

pipeline_id: str

ID of the requested pipeline.

class scaleway_async.edge_services.v1beta1.GetPurgeRequestRequest(purge_request_id: 'str')

Bases: object

purge_request_id: str

ID of the requested purge request.

class scaleway_async.edge_services.v1beta1.GetRouteStageRequest(route_stage_id: 'str')

Bases: object

route_stage_id: str

ID of the requested route stage.

class scaleway_async.edge_services.v1beta1.GetTLSStageRequest(tls_stage_id: 'str')

Bases: object

tls_stage_id: str

ID of the requested TLS stage.

class scaleway_async.edge_services.v1beta1.GetWafStageRequest(waf_stage_id: 'str')

Bases: object

waf_stage_id: str

ID of the requested WAF stage.

class scaleway_async.edge_services.v1beta1.HeadStageResponse(head_stage: 'Optional[HeadStageResponseHeadStage]' = None)

Bases: object

head_stage: HeadStageResponseHeadStage | None = None

Modified or created head stage.

class scaleway_async.edge_services.v1beta1.HeadStageResponseHeadStage(dns_stage_id: 'Optional[str]' = None)

Bases: object

dns_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.LbOriginError(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CONNECTION_REFUSED = 'connection_refused'
TIMEOUT = 'timeout'
TLS_ERROR = 'tls_error'
UNKNOWN = 'unknown'
class scaleway_async.edge_services.v1beta1.ListBackendStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListBackendStagesRequestOrderBy]' = <ListBackendStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, bucket_name: 'Optional[str]' = None, bucket_region: 'Optional[str]' = None, lb_id: 'Optional[str]' = None)

Bases: object

bucket_name: str | None = None

Bucket name to filter for. Only backend stages from this Bucket will be returned.

bucket_region: str | None = None

Bucket region to filter for. Only backend stages with buckets in this region will be returned.

lb_id: str | None = None

Load Balancer ID to filter for. Only backend stages with this Load Balancer will be returned.

order_by: ListBackendStagesRequestOrderBy | None = 'created_at_asc'

Sort order of backend stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of backend stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only backend stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.ListBackendStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListBackendStagesResponse(stages: 'List[BackendStage]', total_count: 'int')

Bases: object

stages: List[BackendStage]

Paginated list of backend stages.

total_count: int

Count of all backend stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListCacheStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListCacheStagesRequestOrderBy]' = <ListCacheStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListCacheStagesRequestOrderBy | None = 'created_at_asc'

Sort order of cache stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of cache stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only cache stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.ListCacheStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListCacheStagesResponse(stages: 'List[CacheStage]', total_count: 'int')

Bases: object

stages: List[CacheStage]

Paginated list of cache stages.

total_count: int

Count of all cache stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListDNSStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListDNSStagesRequestOrderBy]' = <ListDNSStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, fqdn: 'Optional[str]' = None)

Bases: object

fqdn: str | None = None

Fully Qualified Domain Name to filter for (in the format subdomain.example.com). Only DNS stages with this FQDN will be returned.

order_by: ListDNSStagesRequestOrderBy | None = 'created_at_asc'

Sort order of DNS stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of DNS stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only DNS stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.ListDNSStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListDNSStagesResponse(stages: 'List[DNSStage]', total_count: 'int')

Bases: object

stages: List[DNSStage]

Paginated list of DNS stages.

total_count: int

Count of all DNS stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListHeadStagesRequest(pipeline_id: 'str', page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of head stages to return per page.

pipeline_id: str

ID of the pipeline to update.

class scaleway_async.edge_services.v1beta1.ListHeadStagesResponse(head_stages: 'List[ListHeadStagesResponseHeadStage]', total_count: 'int')

Bases: object

head_stages: List[ListHeadStagesResponseHeadStage]

Number of head stages to return per page.

total_count: int

Count of all head stages matching the requested pipeline_id.

class scaleway_async.edge_services.v1beta1.ListHeadStagesResponseHeadStage(dns_stage_id: 'Optional[str]' = None)

Bases: object

dns_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.ListPipelinesRequest(order_by: 'Optional[ListPipelinesRequestOrderBy]' = <ListPipelinesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, has_backend_stage_lb: 'Optional[bool]' = False)

Bases: object

has_backend_stage_lb: bool | None = False

Filter on backend stage. Only pipelines with a Load Balancer origin will be returned.

name: str | None = None

Pipeline name to filter for. Only pipelines with this string within their name will be returned.

order_by: ListPipelinesRequestOrderBy | None = 'created_at_asc'

Sort order of pipelines in the response.

organization_id: str | None = None

Organization ID to filter for. Only pipelines from this Organization will be returned.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of pipelines to return per page.

project_id: str | None = None

Project ID to filter for. Only pipelines from this Project will be returned.

class scaleway_async.edge_services.v1beta1.ListPipelinesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway_async.edge_services.v1beta1.ListPipelinesResponse(pipelines: 'List[Pipeline]', total_count: 'int')

Bases: object

pipelines: List[Pipeline]

Paginated list of pipelines.

total_count: int

Count of all pipelines matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListPipelinesWithStagesRequest(order_by: 'Optional[ListPipelinesWithStagesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)

Bases: object

name: str | None = None
order_by: ListPipelinesWithStagesRequestOrderBy | None = None
organization_id: str | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.ListPipelinesWithStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway_async.edge_services.v1beta1.ListPipelinesWithStagesResponse(pipelines: 'List[PipelineStages]', total_count: 'int')

Bases: object

pipelines: List[PipelineStages]
total_count: int
class scaleway_async.edge_services.v1beta1.ListPlansResponse(total_count: 'int', plans: 'List[PlanDetails]')

Bases: object

plans: List[PlanDetails]
total_count: int
class scaleway_async.edge_services.v1beta1.ListPurgeRequestsRequest(order_by: 'Optional[ListPurgeRequestsRequestOrderBy]' = <ListPurgeRequestsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, pipeline_id: 'Optional[str]' = None)

Bases: object

order_by: ListPurgeRequestsRequestOrderBy | None = 'created_at_asc'

Sort order of purge requests in the response.

organization_id: str | None = None

Organization ID to filter for. Only purge requests from this Project will be returned.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of purge requests to return per page.

pipeline_id: str | None = None

Pipeline ID to filter for. Only purge requests from this pipeline will be returned.

project_id: str | None = None

Project ID to filter for. Only purge requests from this Project will be returned.

class scaleway_async.edge_services.v1beta1.ListPurgeRequestsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListPurgeRequestsResponse(purge_requests: 'List[PurgeRequest]', total_count: 'int')

Bases: object

purge_requests: List[PurgeRequest]

Paginated list of purge requests.

total_count: int

Count of all purge requests matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListRouteRulesRequest(route_stage_id: 'str')

Bases: object

route_stage_id: str

Route stage ID to filter for. Only route rules from this route stage will be returned.

class scaleway_async.edge_services.v1beta1.ListRouteRulesResponse(route_rules: 'List[RouteRule]', total_count: 'int')

Bases: object

route_rules: List[RouteRule]

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

total_count: int

Count of all route rules matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListRouteStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListRouteStagesRequestOrderBy]' = <ListRouteStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListRouteStagesRequestOrderBy | None = 'created_at_asc'

Sort order of route stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of route stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only route stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.ListRouteStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListRouteStagesResponse(stages: 'List[RouteStage]', total_count: 'int')

Bases: object

stages: List[RouteStage]

Paginated list of summarized route stages.

total_count: int

Count of all route stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListTLSStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListTLSStagesRequestOrderBy]' = <ListTLSStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, secret_id: 'Optional[str]' = None, secret_region: 'Optional[str]' = None)

Bases: object

order_by: ListTLSStagesRequestOrderBy | None = 'created_at_asc'

Sort order of TLS stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of TLS stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only TLS stages from this pipeline will be returned.

secret_id: str | None = None

Secret ID to filter for. Only TLS stages with this Secret ID will be returned.

secret_region: str | None = None

Secret region to filter for. Only TLS stages with a Secret in this region will be returned.

class scaleway_async.edge_services.v1beta1.ListTLSStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListTLSStagesResponse(stages: 'List[TLSStage]', total_count: 'int')

Bases: object

stages: List[TLSStage]

Paginated list of TLS stages.

total_count: int

Count of all TLS stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.ListWafStagesRequest(pipeline_id: 'str', order_by: 'Optional[ListWafStagesRequestOrderBy]' = <ListWafStagesRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListWafStagesRequestOrderBy | None = 'created_at_asc'

Sort order of WAF stages in the response.

page: int | None = 0

Page number to return, from the paginated results.

page_size: int | None = 0

Number of WAF stages to return per page.

pipeline_id: str

Pipeline ID to filter for. Only WAF stages from this pipeline will be returned.

class scaleway_async.edge_services.v1beta1.ListWafStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.ListWafStagesResponse(stages: 'List[WafStage]', total_count: 'int')

Bases: object

stages: List[WafStage]

Paginated list of WAF stages.

total_count: int

Count of all WAF stages matching the requested criteria.

class scaleway_async.edge_services.v1beta1.Pipeline(id: 'str', name: 'str', description: 'str', status: 'PipelineStatus', errors: 'List[PipelineError]', project_id: 'str', organization_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Date the pipeline was created.

description: str

Description of the pipeline.

errors: List[PipelineError]

Errors of the pipeline.

id: str

ID of the pipeline.

name: str

Name of the pipeline.

organization_id: str

Organization ID of the pipeline.

project_id: str

Project ID of the pipeline.

status: PipelineStatus

Status of the pipeline.

updated_at: datetime | None = None

Date the pipeline was last updated.

class scaleway_async.edge_services.v1beta1.PipelineError(stage: 'PipelineErrorStage', code: 'PipelineErrorCode', severity: 'PipelineErrorSeverity', message: 'str', type_: 'PipelineErrorType')

Bases: object

code: PipelineErrorCode
message: str
severity: PipelineErrorSeverity
stage: PipelineErrorStage
type_: PipelineErrorType
class scaleway_async.edge_services.v1beta1.PipelineErrorCode(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DNS_CNAME_DONT_EXIST = 'dns_cname_dont_exist'
DNS_CNAME_RESOLVE = 'dns_cname_resolve'
DNS_DOMAIN_DONT_EXIST = 'dns_domain_dont_exist'
DNS_FORBIDDEN_ROOT_DOMAIN = 'dns_forbidden_root_domain'
DNS_FORBIDDEN_SCW_CLOUD = 'dns_forbidden_scw_cloud'
DNS_FQDN_ALREADY_EXISTS = 'dns_fqdn_already_exists'
DNS_FQDN_ALREADY_IN_USE = 'dns_fqdn_already_in_use'
DNS_INVALID_FORMAT = 'dns_invalid_format'
DNS_INVALID_TLD = 'dns_invalid_tld'
PIPELINE_INVALID_WORKFLOW = 'pipeline_invalid_workflow'
PIPELINE_MISSING_HEAD_STAGE = 'pipeline_missing_head_stage'
TLS_CERT_DELETED = 'tls_cert_deleted'
TLS_CERT_DISABLED = 'tls_cert_disabled'
TLS_CERT_EXPIRED = 'tls_cert_expired'
TLS_CERT_INVALID_FORMAT = 'tls_cert_invalid_format'
TLS_CERT_MISSING = 'tls_cert_missing'
TLS_CHAIN_ORDER = 'tls_chain_order'
TLS_KEY_INVALID_FORMAT = 'tls_key_invalid_format'
TLS_KEY_MISSING = 'tls_key_missing'
TLS_KEY_TOO_MANY = 'tls_key_too_many'
TLS_MANAGED_DOMAIN_RATE_LIMIT = 'tls_managed_domain_rate_limit'
TLS_MANAGED_INTERNAL = 'tls_managed_internal'
TLS_PAIR_MISMATCH = 'tls_pair_mismatch'
TLS_ROOT_INCONSISTENT = 'tls_root_inconsistent'
TLS_ROOT_INCORRECT = 'tls_root_incorrect'
TLS_ROOT_MISSING = 'tls_root_missing'
TLS_SAN_MISMATCH = 'tls_san_mismatch'
TLS_SELF_SIGNED = 'tls_self_signed'
UNKNOWN_CODE = 'unknown_code'
class scaleway_async.edge_services.v1beta1.PipelineErrorSeverity(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CRITICAL = 'critical'
UNKNOWN_SEVERITY = 'unknown_severity'
WARNING = 'warning'
class scaleway_async.edge_services.v1beta1.PipelineErrorStage(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BACKEND = 'backend'
CACHE = 'cache'
DNS = 'dns'
TLS = 'tls'
UNKNOWN_STAGE = 'unknown_stage'
class scaleway_async.edge_services.v1beta1.PipelineErrorType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CONFIG = 'config'
RUNTIME = 'runtime'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.edge_services.v1beta1.PipelineStages(dns_stages: 'List[DNSStage]', tls_stages: 'List[TLSStage]', cache_stages: 'List[CacheStage]', backend_stages: 'List[BackendStage]', waf_stages: 'List[WafStage]', route_stages: 'List[RouteStage]', pipeline: 'Optional[Pipeline]' = None)

Bases: object

backend_stages: List[BackendStage]
cache_stages: List[CacheStage]
dns_stages: List[DNSStage]
pipeline: Pipeline | None = None
route_stages: List[RouteStage]
tls_stages: List[TLSStage]
waf_stages: List[WafStage]
class scaleway_async.edge_services.v1beta1.PipelineStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ERROR = 'error'
LOCKED = 'locked'
PENDING = 'pending'
READY = 'ready'
UNKNOWN_STATUS = 'unknown_status'
WARNING = 'warning'
class scaleway_async.edge_services.v1beta1.Plan(plan_name: 'PlanName')

Bases: object

plan_name: PlanName
class scaleway_async.edge_services.v1beta1.PlanDetails(plan_name: 'PlanName', package_gb: 'int', pipeline_limit: 'int', waf_requests: 'int')

Bases: object

package_gb: int

Amount of egress data from cache included in subscription plan.

pipeline_limit: int

Number of pipelines included in subscription plan.

plan_name: PlanName

Subscription plan name.

waf_requests: int

Number of WAF requests included in subscription plan.

class scaleway_async.edge_services.v1beta1.PlanName(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ADVANCED = 'advanced'
PROFESSIONAL = 'professional'
STARTER = 'starter'
UNKNOWN_NAME = 'unknown_name'
class scaleway_async.edge_services.v1beta1.PlanUsageDetails(plan_cost: 'Optional[Money]' = None)

Bases: object

plan_cost: Money | None = None

Cost to date (this month) for the corresponding Edge Services subscription plan.

class scaleway_async.edge_services.v1beta1.PurgeRequest(id: 'str', pipeline_id: 'str', status: 'PurgeRequestStatus', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, assets: 'Optional[List[str]]' = <factory>, all: 'Optional[bool]' = False)

Bases: object

all: bool | None = False
assets: List[str] | None
created_at: datetime | None = None

Date the purge request was created.

id: str

ID of the purge request.

pipeline_id: str

Pipeline ID the purge request belongs to.

status: PurgeRequestStatus

Status of the purge request.

updated_at: datetime | None = None

Date the purge request was last updated.

class scaleway_async.edge_services.v1beta1.PurgeRequestStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DONE = 'done'
ERROR = 'error'
PENDING = 'pending'
UNKNOWN_STATUS = 'unknown_status'
class scaleway_async.edge_services.v1beta1.RouteRule(position: 'int', route_stage_id: 'str', rule_http_match: 'Optional[RuleHttpMatch]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
position: int

Position of the rule which determines the order of processing within the route stage.

route_stage_id: str

Route stage ID the route rule belongs to.

rule_http_match: RuleHttpMatch | None = None
class scaleway_async.edge_services.v1beta1.RouteStage(id: 'str', pipeline_id: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, waf_stage_id: 'Optional[str]' = None)

Bases: object

created_at: datetime | None = None

Date the route stage was created.

id: str

ID of the route stage.

pipeline_id: str

Pipeline ID the route stage belongs to.

updated_at: datetime | None = None

Date the route stage was last updated.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.RuleHttpMatch(method_filters: 'List[RuleHttpMatchMethodFilter]', path_filter: 'Optional[RuleHttpMatchPathFilter]' = None)

Bases: object

method_filters: List[RuleHttpMatchMethodFilter]

HTTP methods to filter for. A request using any of these methods will be considered to match the rule. Possible values are get, post, put, patch, delete, head, options. All methods will match if none is provided.

path_filter: RuleHttpMatchPathFilter | None = None

HTTP URL path to filter for. A request whose path matches the given filter will be considered to match the rule. All paths will match if none is provided.

class scaleway_async.edge_services.v1beta1.RuleHttpMatchMethodFilter(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DELETE = 'delete'
GET = 'get'
HEAD = 'head'
OPTIONS = 'options'
PATCH = 'patch'
POST = 'post'
PUT = 'put'
UNKNOWN_METHOD_FILTER = 'unknown_method_filter'
class scaleway_async.edge_services.v1beta1.RuleHttpMatchPathFilter(path_filter_type: 'RuleHttpMatchPathFilterPathFilterType', value: 'str')

Bases: object

path_filter_type: RuleHttpMatchPathFilterPathFilterType

Type of filter to match for the HTTP URL path. For now, all path filters must be written in regex and use the regex type.

value: str

Value to be matched for the HTTP URL path.

class scaleway_async.edge_services.v1beta1.RuleHttpMatchPathFilterPathFilterType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

REGEX = 'regex'
UNKNOWN_PATH_FILTER = 'unknown_path_filter'
class scaleway_async.edge_services.v1beta1.ScalewayLb(id: 'str', zone: 'ScwZone', frontend_id: 'str', is_ssl: 'Optional[bool]' = False, domain_name: 'Optional[str]' = None)

Bases: object

domain_name: str | None = None

Fully Qualified Domain Name (in the format subdomain.example.com) to use in HTTP requests sent towards your Load Balancer.

frontend_id: str

ID of the frontend linked to the Load Balancer.

id: str

ID of the Load Balancer.

is_ssl: bool | None = False

Defines whether the Load Balancer’s frontend handles SSL connections.

zone: str

Zone of the Load Balancer.

class scaleway_async.edge_services.v1beta1.ScalewayLbBackendConfig(lbs: 'List[ScalewayLb]')

Bases: object

lbs: List[ScalewayLb]

Load Balancer information.

class scaleway_async.edge_services.v1beta1.ScalewayS3BackendConfig(bucket_name: 'Optional[str]' = None, bucket_region: 'Optional[str]' = None, is_website: 'Optional[bool]' = False)

Bases: object

bucket_name: str | None = None

Name of the Bucket.

bucket_region: str | None = None

Region of the Bucket.

is_website: bool | None = False

Defines whether the bucket website feature is enabled.

class scaleway_async.edge_services.v1beta1.SearchBackendStagesRequest(order_by: 'Optional[SearchBackendStagesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, project_id: 'Optional[str]' = None, bucket_name: 'Optional[str]' = None, bucket_region: 'Optional[str]' = None, lb_id: 'Optional[str]' = None)

Bases: object

bucket_name: str | None = None
bucket_region: str | None = None
lb_id: str | None = None
order_by: SearchBackendStagesRequestOrderBy | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.SearchBackendStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.SearchRouteRulesRequest(order_by: 'Optional[SearchRouteRulesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)

Bases: object

order_by: SearchRouteRulesRequestOrderBy | None = None
organization_id: str | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.SearchRouteRulesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.SearchWafStagesRequest(order_by: 'Optional[SearchWafStagesRequestOrderBy]' = None, page: 'Optional[int]' = None, page_size: 'Optional[int]' = None, project_id: 'Optional[str]' = None)

Bases: object

order_by: SearchWafStagesRequestOrderBy | None = None
page: int | None = None
page_size: int | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.SearchWafStagesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.edge_services.v1beta1.SelectPlanRequest(project_id: 'Optional[str]' = None, plan_name: 'Optional[PlanName]' = None)

Bases: object

plan_name: PlanName | None = None
project_id: str | None = None
class scaleway_async.edge_services.v1beta1.SetHeadStageRequest(pipeline_id: 'str', add_new_head_stage: 'Optional[SetHeadStageRequestAddNewHeadStage]' = None, remove_head_stage: 'Optional[SetHeadStageRequestRemoveHeadStage]' = None, swap_head_stage: 'Optional[SetHeadStageRequestSwapHeadStage]' = None)

Bases: object

add_new_head_stage: SetHeadStageRequestAddNewHeadStage | None = None
pipeline_id: str

ID of the pipeline to update.

remove_head_stage: SetHeadStageRequestRemoveHeadStage | None = None
swap_head_stage: SetHeadStageRequestSwapHeadStage | None = None
class scaleway_async.edge_services.v1beta1.SetHeadStageRequestAddNewHeadStage(new_stage_id: 'str')

Bases: object

new_stage_id: str
class scaleway_async.edge_services.v1beta1.SetHeadStageRequestRemoveHeadStage(remove_stage_id: 'str')

Bases: object

remove_stage_id: str
class scaleway_async.edge_services.v1beta1.SetHeadStageRequestSwapHeadStage(new_stage_id: 'str', current_stage_id: 'str')

Bases: object

current_stage_id: str
new_stage_id: str
class scaleway_async.edge_services.v1beta1.SetRouteRulesRequest(route_stage_id: 'str', route_rules: 'Optional[List[SetRouteRulesRequestRouteRule]]' = <factory>)

Bases: object

route_rules: List[SetRouteRulesRequestRouteRule] | None

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

route_stage_id: str

ID of the route stage to update.

class scaleway_async.edge_services.v1beta1.SetRouteRulesRequestRouteRule(rule_http_match: 'Optional[RuleHttpMatch]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
rule_http_match: RuleHttpMatch | None = None
class scaleway_async.edge_services.v1beta1.SetRouteRulesResponse(route_rules: 'List[RouteRule]')

Bases: object

route_rules: List[RouteRule]

List of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by waf_stage_id.

class scaleway_async.edge_services.v1beta1.TLSSecret(secret_id: 'str', region: 'ScwRegion')

Bases: object

region: str

Region of the Secret.

secret_id: str

ID of the Secret.

class scaleway_async.edge_services.v1beta1.TLSSecretsConfig(tls_secrets: 'List[TLSSecret]')

Bases: object

tls_secrets: List[TLSSecret]

Secret information (from Secret Manager).

class scaleway_async.edge_services.v1beta1.TLSStage(id: 'str', secrets: 'List[TLSSecret]', managed_certificate: 'bool', pipeline_id: 'str', certificate_expires_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
certificate_expires_at: datetime | None = None

Expiration date of the certificate.

created_at: datetime | None = None

Date the TLS stage was created.

id: str

ID of the TLS stage.

managed_certificate: bool

True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint.

pipeline_id: str

Pipeline ID the TLS stage belongs to.

route_stage_id: str | None = None
secrets: List[TLSSecret]

Secret (from Scaleway Secret Manager) containing your custom certificate.

updated_at: datetime | None = None

Date the TLS stage was last updated.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.UpdateBackendStageRequest(backend_stage_id: 'str', pipeline_id: 'str', scaleway_s3: 'Optional[ScalewayS3BackendConfig]' = None, scaleway_lb: 'Optional[ScalewayLbBackendConfig]' = None)

Bases: object

backend_stage_id: str

ID of the backend stage to update.

pipeline_id: str

Pipeline ID the Backend stage belongs to.

scaleway_lb: ScalewayLbBackendConfig | None = None
scaleway_s3: ScalewayS3BackendConfig | None = None
class scaleway_async.edge_services.v1beta1.UpdateCacheStageRequest(cache_stage_id: 'str', fallback_ttl: 'Optional[str]' = None, include_cookies: 'Optional[bool]' = False, backend_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str

ID of the cache stage to update.

fallback_ttl: str | None = None

Time To Live (TTL) in seconds. Defines how long content is cached.

include_cookies: bool | None = False

Defines whether responses to requests with cookies must be stored in the cache.

route_stage_id: str | None = None
waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.UpdateDNSStageRequest(dns_stage_id: 'str', fqdns: 'Optional[List[str]]' = <factory>, tls_stage_id: 'Optional[str]' = None, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
dns_stage_id: str

ID of the DNS stage to update.

fqdns: List[str] | None

Fully Qualified Domain Name (in the format subdomain.example.com) attached to the stage.

tls_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.UpdatePipelineRequest(pipeline_id: 'str', name: 'Optional[str]' = None, description: 'Optional[str]' = None)

Bases: object

description: str | None = None

Description of the pipeline.

name: str | None = None

Name of the pipeline.

pipeline_id: str

ID of the pipeline to update.

class scaleway_async.edge_services.v1beta1.UpdateRouteStageRequest(route_stage_id: 'str', waf_stage_id: 'Optional[str]' = None)

Bases: object

route_stage_id: str

ID of the route stage to update.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.UpdateTLSStageRequest(tls_stage_id: 'str', tls_secrets_config: 'Optional[TLSSecretsConfig]' = None, managed_certificate: 'Optional[bool]' = False, cache_stage_id: 'Optional[str]' = None, backend_stage_id: 'Optional[str]' = None, route_stage_id: 'Optional[str]' = None, waf_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
cache_stage_id: str | None = None
managed_certificate: bool | None = False

True when Scaleway generates and manages a Let’s Encrypt certificate for the TLS stage/custom endpoint.

route_stage_id: str | None = None
tls_secrets_config: TLSSecretsConfig | None = None

Secret (from Scaleway Secret-Manager) containing your custom certificate.

tls_stage_id: str

ID of the TLS stage to update.

waf_stage_id: str | None = None
class scaleway_async.edge_services.v1beta1.UpdateWafStageRequest(waf_stage_id: 'str', mode: 'Optional[WafStageMode]' = <WafStageMode.UNKNOWN_MODE: 'unknown_mode'>, paranoia_level: 'Optional[int]' = 0, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
mode: WafStageMode | None = 'unknown_mode'

Mode defining WAF behavior (disable/log_only/enable).

paranoia_level: int | None = 0

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.

waf_stage_id: str

ID of the WAF stage to update.

class scaleway_async.edge_services.v1beta1.WafStage(id: 'str', pipeline_id: 'str', mode: 'WafStageMode', paranoia_level: 'int', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, backend_stage_id: 'Optional[str]' = None)

Bases: object

backend_stage_id: str | None = None
created_at: datetime | None = None

Date the WAF stage was created.

id: str

ID of the WAF stage.

mode: WafStageMode

Mode defining WAF behavior (disable/log_only/enable).

paranoia_level: int

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.

pipeline_id: str

Pipeline ID the WAF stage belongs to.

updated_at: datetime | None = None

Date the WAF stage was last updated.

class scaleway_async.edge_services.v1beta1.WafStageMode(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DISABLE = 'disable'
ENABLE = 'enable'
LOG_ONLY = 'log_only'
UNKNOWN_MODE = 'unknown_mode'