scaleway.account.v3 package

Submodules

scaleway.account.v3.api module

class scaleway.account.v3.api.AccountV3ContractAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

The Contract API allows you to manage contracts.

check_contract_signature(*, contract_name: str, organization_id: str | None = None, contract_type: ContractType | None = None) CheckContractSignatureResponse

Check if a contract is signed for your Organization. :param contract_name: Filter on contract name. :param organization_id: ID of the Organization to check the contract signature for. :param contract_type: Filter on contract type. :return: CheckContractSignatureResponse

Usage:

result = api.check_contract_signature(
    contract_name="example",
)
create_contract_signature(*, contract_name: str, validated: bool, contract_type: ContractType | None = None, organization_id: str | None = None) ContractSignature

Create a signature for your Organization for the latest version of the requested contract. :param contract_name: The name of the contract. :param validated: Whether the contract is validated at creation. :param contract_type: The type of the contract. :param organization_id: ID of the Organization. :return: ContractSignature

Usage:

result = api.create_contract_signature(
    contract_name="example",
    validated=False,
)
download_contract_signature(*, contract_signature_id: str, locale: LanguageCode | None = None) ScwFile

Download a contract content. :param contract_signature_id: The contract signature ID. :param locale: The locale requested for the content of the contract. :return: ScwFile

Usage:

result = api.download_contract_signature(
    contract_signature_id="example",
)
list_contract_signatures(*, page: int | None = None, page_size: int | None = None, order_by: ListContractSignaturesRequestOrderBy | None = None, organization_id: str | None = None) ListContractSignaturesResponse

List contract signatures for an Organization. :param page: The page number for the returned contracts. :param page_size: The maximum number of contracts per page. :param order_by: How the contracts are ordered in the response. :param organization_id: Filter on Organization ID. :return: ListContractSignaturesResponse

Usage:

result = api.list_contract_signatures()
list_contract_signatures_all(*, page: int | None = None, page_size: int | None = None, order_by: ListContractSignaturesRequestOrderBy | None = None, organization_id: str | None = None) List[ContractSignature]

List contract signatures for an Organization. :param page: The page number for the returned contracts. :param page_size: The maximum number of contracts per page. :param order_by: How the contracts are ordered in the response. :param organization_id: Filter on Organization ID. :return: List[ContractSignature]

Usage:

result = api.list_contract_signatures_all()
validate_contract_signature(*, contract_signature_id: str) ContractSignature

Sign a contract for your Organization. :param contract_signature_id: The contract linked to your Organization you want to sign. :return: ContractSignature

Usage:

result = api.validate_contract_signature(
    contract_signature_id="example",
)
class scaleway.account.v3.api.AccountV3ProjectAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Scaleway Projects.

create_project(*, description: str, name: str | None = None, organization_id: str | None = None) Project

Create a new Project for an Organization. Generate a new Project for an Organization, specifying its configuration including name and description. :param description: Description of the Project. :param name: Name of the Project. :param organization_id: Organization ID of the Project. :return: Project

Usage:

result = api.create_project(
    description="example",
)
delete_project(*, project_id: str | None = None) None

Delete an existing Project. Delete an existing Project, specified by its Project ID. The Project needs to be empty (meaning there are no resources left in it) to be deleted effectively. Note that deleting a Project is permanent, and cannot be undone. :param project_id: Project ID of the Project.

Usage:

result = api.delete_project()
get_project(*, project_id: str | None = None) Project

Get an existing Project. Retrieve information about an existing Project, specified by its Project ID. Its full details, including ID, name and description, are returned in the response object. :param project_id: Project ID of the Project. :return: Project

Usage:

result = api.get_project()
list_projects(*, organization_id: str | None = None, name: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListProjectsRequestOrderBy | None = None, project_ids: List[str] | None = None) ListProjectsResponse

List all Projects of an Organization. List all Projects of an Organization. The response will include the total number of Projects as well as their associated Organizations, names, and IDs. Other information includes the creation and update date of the Project. :param organization_id: Organization ID of the Project. :param name: Name of the Project. :param page: Page number for the returned Projects. :param page_size: Maximum number of Project per page. :param order_by: Sort order of the returned Projects. :param project_ids: Project IDs to filter for. The results will be limited to any Projects with an ID in this array. :return: ListProjectsResponse

Usage:

result = api.list_projects()
list_projects_all(*, organization_id: str | None = None, name: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListProjectsRequestOrderBy | None = None, project_ids: List[str] | None = None) List[Project]

List all Projects of an Organization. List all Projects of an Organization. The response will include the total number of Projects as well as their associated Organizations, names, and IDs. Other information includes the creation and update date of the Project. :param organization_id: Organization ID of the Project. :param name: Name of the Project. :param page: Page number for the returned Projects. :param page_size: Maximum number of Project per page. :param order_by: Sort order of the returned Projects. :param project_ids: Project IDs to filter for. The results will be limited to any Projects with an ID in this array. :return: List[Project]

Usage:

result = api.list_projects_all()
set_project_qualification(*, project_id: str | None = None, qualification: Qualification | None = None) ProjectQualification

Set project use case. Set the project use case for a new or existing Project, specified by its Project ID. You can customize the use case, sub use case, and architecture type you want to use in the Project. :param project_id: Project ID. :param qualification: Use case chosen for the Project. :return: ProjectQualification

Usage:

result = api.set_project_qualification()
update_project(*, project_id: str | None = None, name: str | None = None, description: str | None = None) Project

Update Project. Update the parameters of an existing Project, specified by its Project ID. These parameters include the name and description. :param project_id: Project ID of the Project. :param name: Name of the Project. :param description: Description of the Project. :return: Project

Usage:

result = api.update_project()

scaleway.account.v3.marshalling module

scaleway.account.v3.marshalling.marshal_ContractApiCheckContractSignatureRequest(request: ContractApiCheckContractSignatureRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_ContractApiCreateContractSignatureRequest(request: ContractApiCreateContractSignatureRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_ProjectApiCreateProjectRequest(request: ProjectApiCreateProjectRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_ProjectApiSetProjectQualificationRequest(request: ProjectApiSetProjectQualificationRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_ProjectApiUpdateProjectRequest(request: ProjectApiUpdateProjectRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_Qualification(request: Qualification, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationAiMachine(request: QualificationAiMachine, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationArchiveData(request: QualificationArchiveData, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationContainer(request: QualificationContainer, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationDeploySoftware(request: QualificationDeploySoftware, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationHostApplication(request: QualificationHostApplication, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationHostWebsite(request: QualificationHostWebsite, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationOtherUseCase(request: QualificationOtherUseCase, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationSetScalewayEnvironment(request: QualificationSetScalewayEnvironment, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.marshal_QualificationShareData(request: QualificationShareData, defaults: ProfileDefaults) Dict[str, Any]
scaleway.account.v3.marshalling.unmarshal_CheckContractSignatureResponse(data: Any) CheckContractSignatureResponse
scaleway.account.v3.marshalling.unmarshal_Contract(data: Any) Contract
scaleway.account.v3.marshalling.unmarshal_ContractSignature(data: Any) ContractSignature
scaleway.account.v3.marshalling.unmarshal_ListContractSignaturesResponse(data: Any) ListContractSignaturesResponse
scaleway.account.v3.marshalling.unmarshal_ListProjectsResponse(data: Any) ListProjectsResponse
scaleway.account.v3.marshalling.unmarshal_Project(data: Any) Project
scaleway.account.v3.marshalling.unmarshal_ProjectQualification(data: Any) ProjectQualification
scaleway.account.v3.marshalling.unmarshal_Qualification(data: Any) Qualification
scaleway.account.v3.marshalling.unmarshal_QualificationAiMachine(data: Any) QualificationAiMachine
scaleway.account.v3.marshalling.unmarshal_QualificationArchiveData(data: Any) QualificationArchiveData
scaleway.account.v3.marshalling.unmarshal_QualificationContainer(data: Any) QualificationContainer
scaleway.account.v3.marshalling.unmarshal_QualificationDeploySoftware(data: Any) QualificationDeploySoftware
scaleway.account.v3.marshalling.unmarshal_QualificationHostApplication(data: Any) QualificationHostApplication
scaleway.account.v3.marshalling.unmarshal_QualificationHostWebsite(data: Any) QualificationHostWebsite
scaleway.account.v3.marshalling.unmarshal_QualificationOtherUseCase(data: Any) QualificationOtherUseCase
scaleway.account.v3.marshalling.unmarshal_QualificationSetScalewayEnvironment(data: Any) QualificationSetScalewayEnvironment
scaleway.account.v3.marshalling.unmarshal_QualificationShareData(data: Any) QualificationShareData

scaleway.account.v3.types module

class scaleway.account.v3.types.CheckContractSignatureResponse(created: 'bool', validated: 'bool')

Bases: object

created: bool

Whether a signature has been requested for this contract.

validated: bool

Whether the signature for this contract has been validated.

class scaleway.account.v3.types.Contract(id: 'str', type_: 'ContractType', name: 'str', version: 'int', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

The creation date of the contract.

id: str

ID of the contract.

name: str

The name of the contract.

type_: ContractType

The type of the contract.

updated_at: datetime | None = None

The last modification date of the contract.

version: int

The version of the contract.

class scaleway.account.v3.types.ContractApiCheckContractSignatureRequest(contract_name: 'str', organization_id: 'Optional[str]' = None, contract_type: 'Optional[ContractType]' = <ContractType.UNKNOWN_TYPE: 'unknown_type'>)

Bases: object

contract_name: str

Filter on contract name.

contract_type: ContractType | None = 'unknown_type'

Filter on contract type.

organization_id: str | None = None

ID of the Organization to check the contract signature for.

class scaleway.account.v3.types.ContractApiCreateContractSignatureRequest(contract_name: 'str', validated: 'bool', contract_type: 'Optional[ContractType]' = <ContractType.UNKNOWN_TYPE: 'unknown_type'>, organization_id: 'Optional[str]' = None)

Bases: object

contract_name: str

The name of the contract.

contract_type: ContractType | None = 'unknown_type'

The type of the contract.

organization_id: str | None = None

ID of the Organization.

validated: bool

Whether the contract is validated at creation.

class scaleway.account.v3.types.ContractApiDownloadContractSignatureRequest(contract_signature_id: 'str', locale: 'Optional[StdLanguageCode]' = <LanguageCode.UNKNOWN_LANGUAGE_CODE: 'unknown_language_code'>)

Bases: object

contract_signature_id: str

The contract signature ID.

locale: LanguageCode | None = 'unknown_language_code'

The locale requested for the content of the contract.

class scaleway.account.v3.types.ContractApiListContractSignaturesRequest(page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListContractSignaturesRequestOrderBy]' = <ListContractSignaturesRequestOrderBy.SIGNED_AT_ASC: 'signed_at_asc'>, organization_id: 'Optional[str]' = None)

Bases: object

order_by: ListContractSignaturesRequestOrderBy | None = 'signed_at_asc'

How the contracts are ordered in the response.

organization_id: str | None = None

Filter on Organization ID.

page: int | None = 0

The page number for the returned contracts.

page_size: int | None = 0

The maximum number of contracts per page.

class scaleway.account.v3.types.ContractApiValidateContractSignatureRequest(contract_signature_id: 'str')

Bases: object

contract_signature_id: str

The contract linked to your Organization you want to sign.

class scaleway.account.v3.types.ContractSignature(id: 'str', organization_id: 'str', created_at: 'Optional[datetime]' = None, signed_at: 'Optional[datetime]' = None, expires_at: 'Optional[datetime]' = None, contract: 'Optional[Contract]' = None)

Bases: object

contract: Contract | None = None

The contract signed.

created_at: datetime | None = None

The creation date of the contract signature.

expires_at: datetime | None = None

The expiration date of the contract signature.

id: str

ID of the contract signature.

organization_id: str

The Organization ID which signed the contract.

signed_at: datetime | None = None

The signing date of the contract signature.

class scaleway.account.v3.types.ContractType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BAREMETAL = 'baremetal'
CONTAINER = 'container'
GLOBAL = 'global'
INSTANCE = 'instance'
K8S = 'k8s'
UNKNOWN_TYPE = 'unknown_type'
class scaleway.account.v3.types.ListContractSignaturesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

EXPIRES_AT_ASC = 'expires_at_asc'
EXPIRES_AT_DESC = 'expires_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
SIGNED_AT_ASC = 'signed_at_asc'
SIGNED_AT_DESC = 'signed_at_desc'
class scaleway.account.v3.types.ListContractSignaturesResponse(total_count: 'int', contract_signatures: 'List[ContractSignature]')

Bases: object

contract_signatures: List[ContractSignature]

The paginated returned contract signatures.

total_count: int

The total number of contract signatures.

class scaleway.account.v3.types.ListProjectsRequestOrderBy(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.account.v3.types.ListProjectsResponse(total_count: 'int', projects: 'List[Project]')

Bases: object

projects: List[Project]

Paginated returned Projects.

total_count: int

Total number of Projects.

class scaleway.account.v3.types.Project(id: 'str', name: 'str', organization_id: 'str', description: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, qualification: 'Optional[Qualification]' = None)

Bases: object

created_at: datetime | None = None

Creation date of the Project.

description: str

Description of the Project.

id: str

ID of the Project.

name: str

Name of the Project.

organization_id: str

Organization ID of the Project.

qualification: Qualification | None = None

Qualification of the Project.

updated_at: datetime | None = None

Update date of the Project.

class scaleway.account.v3.types.ProjectApiCreateProjectRequest(description: 'str', name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None)

Bases: object

description: str

Description of the Project.

name: str | None = None

Name of the Project.

organization_id: str | None = None

Organization ID of the Project.

class scaleway.account.v3.types.ProjectApiDeleteProjectRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None

Project ID of the Project.

class scaleway.account.v3.types.ProjectApiGetProjectRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None

Project ID of the Project.

class scaleway.account.v3.types.ProjectApiListProjectsRequest(organization_id: 'Optional[str]' = None, name: 'Optional[str]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListProjectsRequestOrderBy]' = <ListProjectsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, project_ids: 'Optional[List[str]]' = <factory>)

Bases: object

name: str | None = None

Name of the Project.

order_by: ListProjectsRequestOrderBy | None = 'created_at_asc'

Sort order of the returned Projects.

organization_id: str | None = None

Organization ID of the Project.

page: int | None = 0

Page number for the returned Projects.

page_size: int | None = 0

Maximum number of Project per page.

project_ids: List[str] | None

Project IDs to filter for. The results will be limited to any Projects with an ID in this array.

class scaleway.account.v3.types.ProjectApiSetProjectQualificationRequest(project_id: 'Optional[str]' = None, qualification: 'Optional[Qualification]' = None)

Bases: object

project_id: str | None = None

Project ID.

qualification: Qualification | None = None

Use case chosen for the Project.

class scaleway.account.v3.types.ProjectApiUpdateProjectRequest(project_id: 'Optional[str]' = None, name: 'Optional[str]' = None, description: 'Optional[str]' = None)

Bases: object

description: str | None = None

Description of the Project.

name: str | None = None

Name of the Project.

project_id: str | None = None

Project ID of the Project.

class scaleway.account.v3.types.ProjectQualification(project_id: 'str', qualification: 'Optional[Qualification]' = None)

Bases: object

project_id: str

Project ID.

qualification: Qualification | None = None

Qualification of the Project.

class scaleway.account.v3.types.Qualification(architecture_type: 'QualificationArchitectureType', host_website: 'Optional[QualificationHostWebsite]' = None, host_application: 'Optional[QualificationHostApplication]' = None, deploy_software: 'Optional[QualificationDeploySoftware]' = None, set_scaleway_environment: 'Optional[QualificationSetScalewayEnvironment]' = None, ai_machine: 'Optional[QualificationAiMachine]' = None, container: 'Optional[QualificationContainer]' = None, archive_data: 'Optional[QualificationArchiveData]' = None, share_data: 'Optional[QualificationShareData]' = None, other_use_case: 'Optional[QualificationOtherUseCase]' = None)

Bases: object

ai_machine: QualificationAiMachine | None = None
architecture_type: QualificationArchitectureType

Architecture type of the qualification.

archive_data: QualificationArchiveData | None = None
container: QualificationContainer | None = None
deploy_software: QualificationDeploySoftware | None = None
host_application: QualificationHostApplication | None = None
host_website: QualificationHostWebsite | None = None
other_use_case: QualificationOtherUseCase | None = None
set_scaleway_environment: QualificationSetScalewayEnvironment | None = None
share_data: QualificationShareData | None = None
class scaleway.account.v3.types.QualificationAiMachine(sub_use_case: 'QualificationAiMachineSubUseCase')

Bases: object

sub_use_case: QualificationAiMachineSubUseCase
class scaleway.account.v3.types.QualificationAiMachineSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationArchitectureType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DEDICATED_SERVER = 'dedicated_server'
ELASTIC = 'elastic'
INSTANCE = 'instance'
KUBERNETES = 'kubernetes'
OBJECT_STORAGE = 'object_storage'
OTHER_ARCHITECTURE_TYPE = 'other_architecture_type'
SERVERLESS = 'serverless'
UNKNOWN_ARCHITECTURE_TYPE = 'unknown_architecture_type'
WEB_HOSTING = 'web_hosting'
class scaleway.account.v3.types.QualificationArchiveData(sub_use_case: 'QualificationArchiveDataSubUseCase')

Bases: object

sub_use_case: QualificationArchiveDataSubUseCase
class scaleway.account.v3.types.QualificationArchiveDataSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationContainer(sub_use_case: 'QualificationContainerSubUseCase')

Bases: object

sub_use_case: QualificationContainerSubUseCase
class scaleway.account.v3.types.QualificationContainerSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationDeploySoftware(sub_use_case: 'QualificationDeploySoftwareSubUseCase')

Bases: object

sub_use_case: QualificationDeploySoftwareSubUseCase
class scaleway.account.v3.types.QualificationDeploySoftwareSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationHostApplication(sub_use_case: 'QualificationHostApplicationSubUseCase')

Bases: object

sub_use_case: QualificationHostApplicationSubUseCase
class scaleway.account.v3.types.QualificationHostApplicationSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

GOVERNMENT_APP = 'government_app'
SAAS_APP = 'saas_app'
UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationHostWebsite(sub_use_case: 'QualificationHostWebsiteSubUseCase')

Bases: object

sub_use_case: QualificationHostWebsiteSubUseCase
class scaleway.account.v3.types.QualificationHostWebsiteSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ECOMMERCE_WEBSITE = 'ecommerce_website'
HIGH_WEBSITE = 'high_website'
INFORMATION_WEBSITE = 'information_website'
OTHER_SUB_USE_CASE = 'other_sub_use_case'
UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationOtherUseCase(sub_use_case: 'QualificationOtherUseCaseSubUseCase')

Bases: object

sub_use_case: QualificationOtherUseCaseSubUseCase
class scaleway.account.v3.types.QualificationOtherUseCaseSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationSetScalewayEnvironment(sub_use_case: 'QualificationSetScalewayEnvironmentSubUseCase')

Bases: object

sub_use_case: QualificationSetScalewayEnvironmentSubUseCase
class scaleway.account.v3.types.QualificationSetScalewayEnvironmentSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.types.QualificationShareData(sub_use_case: 'QualificationShareDataSubUseCase')

Bases: object

sub_use_case: QualificationShareDataSubUseCase
class scaleway.account.v3.types.QualificationShareDataSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'

Module contents

class scaleway.account.v3.AccountV3ContractAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

The Contract API allows you to manage contracts.

check_contract_signature(*, contract_name: str, organization_id: str | None = None, contract_type: ContractType | None = None) CheckContractSignatureResponse

Check if a contract is signed for your Organization. :param contract_name: Filter on contract name. :param organization_id: ID of the Organization to check the contract signature for. :param contract_type: Filter on contract type. :return: CheckContractSignatureResponse

Usage:

result = api.check_contract_signature(
    contract_name="example",
)
create_contract_signature(*, contract_name: str, validated: bool, contract_type: ContractType | None = None, organization_id: str | None = None) ContractSignature

Create a signature for your Organization for the latest version of the requested contract. :param contract_name: The name of the contract. :param validated: Whether the contract is validated at creation. :param contract_type: The type of the contract. :param organization_id: ID of the Organization. :return: ContractSignature

Usage:

result = api.create_contract_signature(
    contract_name="example",
    validated=False,
)
download_contract_signature(*, contract_signature_id: str, locale: LanguageCode | None = None) ScwFile

Download a contract content. :param contract_signature_id: The contract signature ID. :param locale: The locale requested for the content of the contract. :return: ScwFile

Usage:

result = api.download_contract_signature(
    contract_signature_id="example",
)
list_contract_signatures(*, page: int | None = None, page_size: int | None = None, order_by: ListContractSignaturesRequestOrderBy | None = None, organization_id: str | None = None) ListContractSignaturesResponse

List contract signatures for an Organization. :param page: The page number for the returned contracts. :param page_size: The maximum number of contracts per page. :param order_by: How the contracts are ordered in the response. :param organization_id: Filter on Organization ID. :return: ListContractSignaturesResponse

Usage:

result = api.list_contract_signatures()
list_contract_signatures_all(*, page: int | None = None, page_size: int | None = None, order_by: ListContractSignaturesRequestOrderBy | None = None, organization_id: str | None = None) List[ContractSignature]

List contract signatures for an Organization. :param page: The page number for the returned contracts. :param page_size: The maximum number of contracts per page. :param order_by: How the contracts are ordered in the response. :param organization_id: Filter on Organization ID. :return: List[ContractSignature]

Usage:

result = api.list_contract_signatures_all()
validate_contract_signature(*, contract_signature_id: str) ContractSignature

Sign a contract for your Organization. :param contract_signature_id: The contract linked to your Organization you want to sign. :return: ContractSignature

Usage:

result = api.validate_contract_signature(
    contract_signature_id="example",
)
class scaleway.account.v3.AccountV3ProjectAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Scaleway Projects.

create_project(*, description: str, name: str | None = None, organization_id: str | None = None) Project

Create a new Project for an Organization. Generate a new Project for an Organization, specifying its configuration including name and description. :param description: Description of the Project. :param name: Name of the Project. :param organization_id: Organization ID of the Project. :return: Project

Usage:

result = api.create_project(
    description="example",
)
delete_project(*, project_id: str | None = None) None

Delete an existing Project. Delete an existing Project, specified by its Project ID. The Project needs to be empty (meaning there are no resources left in it) to be deleted effectively. Note that deleting a Project is permanent, and cannot be undone. :param project_id: Project ID of the Project.

Usage:

result = api.delete_project()
get_project(*, project_id: str | None = None) Project

Get an existing Project. Retrieve information about an existing Project, specified by its Project ID. Its full details, including ID, name and description, are returned in the response object. :param project_id: Project ID of the Project. :return: Project

Usage:

result = api.get_project()
list_projects(*, organization_id: str | None = None, name: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListProjectsRequestOrderBy | None = None, project_ids: List[str] | None = None) ListProjectsResponse

List all Projects of an Organization. List all Projects of an Organization. The response will include the total number of Projects as well as their associated Organizations, names, and IDs. Other information includes the creation and update date of the Project. :param organization_id: Organization ID of the Project. :param name: Name of the Project. :param page: Page number for the returned Projects. :param page_size: Maximum number of Project per page. :param order_by: Sort order of the returned Projects. :param project_ids: Project IDs to filter for. The results will be limited to any Projects with an ID in this array. :return: ListProjectsResponse

Usage:

result = api.list_projects()
list_projects_all(*, organization_id: str | None = None, name: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListProjectsRequestOrderBy | None = None, project_ids: List[str] | None = None) List[Project]

List all Projects of an Organization. List all Projects of an Organization. The response will include the total number of Projects as well as their associated Organizations, names, and IDs. Other information includes the creation and update date of the Project. :param organization_id: Organization ID of the Project. :param name: Name of the Project. :param page: Page number for the returned Projects. :param page_size: Maximum number of Project per page. :param order_by: Sort order of the returned Projects. :param project_ids: Project IDs to filter for. The results will be limited to any Projects with an ID in this array. :return: List[Project]

Usage:

result = api.list_projects_all()
set_project_qualification(*, project_id: str | None = None, qualification: Qualification | None = None) ProjectQualification

Set project use case. Set the project use case for a new or existing Project, specified by its Project ID. You can customize the use case, sub use case, and architecture type you want to use in the Project. :param project_id: Project ID. :param qualification: Use case chosen for the Project. :return: ProjectQualification

Usage:

result = api.set_project_qualification()
update_project(*, project_id: str | None = None, name: str | None = None, description: str | None = None) Project

Update Project. Update the parameters of an existing Project, specified by its Project ID. These parameters include the name and description. :param project_id: Project ID of the Project. :param name: Name of the Project. :param description: Description of the Project. :return: Project

Usage:

result = api.update_project()
class scaleway.account.v3.CheckContractSignatureResponse(created: 'bool', validated: 'bool')

Bases: object

created: bool

Whether a signature has been requested for this contract.

validated: bool

Whether the signature for this contract has been validated.

class scaleway.account.v3.Contract(id: 'str', type_: 'ContractType', name: 'str', version: 'int', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

The creation date of the contract.

id: str

ID of the contract.

name: str

The name of the contract.

type_: ContractType

The type of the contract.

updated_at: datetime | None = None

The last modification date of the contract.

version: int

The version of the contract.

class scaleway.account.v3.ContractApiCheckContractSignatureRequest(contract_name: 'str', organization_id: 'Optional[str]' = None, contract_type: 'Optional[ContractType]' = <ContractType.UNKNOWN_TYPE: 'unknown_type'>)

Bases: object

contract_name: str

Filter on contract name.

contract_type: ContractType | None = 'unknown_type'

Filter on contract type.

organization_id: str | None = None

ID of the Organization to check the contract signature for.

class scaleway.account.v3.ContractApiCreateContractSignatureRequest(contract_name: 'str', validated: 'bool', contract_type: 'Optional[ContractType]' = <ContractType.UNKNOWN_TYPE: 'unknown_type'>, organization_id: 'Optional[str]' = None)

Bases: object

contract_name: str

The name of the contract.

contract_type: ContractType | None = 'unknown_type'

The type of the contract.

organization_id: str | None = None

ID of the Organization.

validated: bool

Whether the contract is validated at creation.

class scaleway.account.v3.ContractApiDownloadContractSignatureRequest(contract_signature_id: 'str', locale: 'Optional[StdLanguageCode]' = <LanguageCode.UNKNOWN_LANGUAGE_CODE: 'unknown_language_code'>)

Bases: object

contract_signature_id: str

The contract signature ID.

locale: LanguageCode | None = 'unknown_language_code'

The locale requested for the content of the contract.

class scaleway.account.v3.ContractApiListContractSignaturesRequest(page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListContractSignaturesRequestOrderBy]' = <ListContractSignaturesRequestOrderBy.SIGNED_AT_ASC: 'signed_at_asc'>, organization_id: 'Optional[str]' = None)

Bases: object

order_by: ListContractSignaturesRequestOrderBy | None = 'signed_at_asc'

How the contracts are ordered in the response.

organization_id: str | None = None

Filter on Organization ID.

page: int | None = 0

The page number for the returned contracts.

page_size: int | None = 0

The maximum number of contracts per page.

class scaleway.account.v3.ContractApiValidateContractSignatureRequest(contract_signature_id: 'str')

Bases: object

contract_signature_id: str

The contract linked to your Organization you want to sign.

class scaleway.account.v3.ContractSignature(id: 'str', organization_id: 'str', created_at: 'Optional[datetime]' = None, signed_at: 'Optional[datetime]' = None, expires_at: 'Optional[datetime]' = None, contract: 'Optional[Contract]' = None)

Bases: object

contract: Contract | None = None

The contract signed.

created_at: datetime | None = None

The creation date of the contract signature.

expires_at: datetime | None = None

The expiration date of the contract signature.

id: str

ID of the contract signature.

organization_id: str

The Organization ID which signed the contract.

signed_at: datetime | None = None

The signing date of the contract signature.

class scaleway.account.v3.ContractType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BAREMETAL = 'baremetal'
CONTAINER = 'container'
GLOBAL = 'global'
INSTANCE = 'instance'
K8S = 'k8s'
UNKNOWN_TYPE = 'unknown_type'
class scaleway.account.v3.ListContractSignaturesRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

EXPIRES_AT_ASC = 'expires_at_asc'
EXPIRES_AT_DESC = 'expires_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
SIGNED_AT_ASC = 'signed_at_asc'
SIGNED_AT_DESC = 'signed_at_desc'
class scaleway.account.v3.ListContractSignaturesResponse(total_count: 'int', contract_signatures: 'List[ContractSignature]')

Bases: object

contract_signatures: List[ContractSignature]

The paginated returned contract signatures.

total_count: int

The total number of contract signatures.

class scaleway.account.v3.ListProjectsRequestOrderBy(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.account.v3.ListProjectsResponse(total_count: 'int', projects: 'List[Project]')

Bases: object

projects: List[Project]

Paginated returned Projects.

total_count: int

Total number of Projects.

class scaleway.account.v3.Project(id: 'str', name: 'str', organization_id: 'str', description: 'str', created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, qualification: 'Optional[Qualification]' = None)

Bases: object

created_at: datetime | None = None

Creation date of the Project.

description: str

Description of the Project.

id: str

ID of the Project.

name: str

Name of the Project.

organization_id: str

Organization ID of the Project.

qualification: Qualification | None = None

Qualification of the Project.

updated_at: datetime | None = None

Update date of the Project.

class scaleway.account.v3.ProjectApiCreateProjectRequest(description: 'str', name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None)

Bases: object

description: str

Description of the Project.

name: str | None = None

Name of the Project.

organization_id: str | None = None

Organization ID of the Project.

class scaleway.account.v3.ProjectApiDeleteProjectRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None

Project ID of the Project.

class scaleway.account.v3.ProjectApiGetProjectRequest(project_id: 'Optional[str]' = None)

Bases: object

project_id: str | None = None

Project ID of the Project.

class scaleway.account.v3.ProjectApiListProjectsRequest(organization_id: 'Optional[str]' = None, name: 'Optional[str]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListProjectsRequestOrderBy]' = <ListProjectsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, project_ids: 'Optional[List[str]]' = <factory>)

Bases: object

name: str | None = None

Name of the Project.

order_by: ListProjectsRequestOrderBy | None = 'created_at_asc'

Sort order of the returned Projects.

organization_id: str | None = None

Organization ID of the Project.

page: int | None = 0

Page number for the returned Projects.

page_size: int | None = 0

Maximum number of Project per page.

project_ids: List[str] | None

Project IDs to filter for. The results will be limited to any Projects with an ID in this array.

class scaleway.account.v3.ProjectApiSetProjectQualificationRequest(project_id: 'Optional[str]' = None, qualification: 'Optional[Qualification]' = None)

Bases: object

project_id: str | None = None

Project ID.

qualification: Qualification | None = None

Use case chosen for the Project.

class scaleway.account.v3.ProjectApiUpdateProjectRequest(project_id: 'Optional[str]' = None, name: 'Optional[str]' = None, description: 'Optional[str]' = None)

Bases: object

description: str | None = None

Description of the Project.

name: str | None = None

Name of the Project.

project_id: str | None = None

Project ID of the Project.

class scaleway.account.v3.ProjectQualification(project_id: 'str', qualification: 'Optional[Qualification]' = None)

Bases: object

project_id: str

Project ID.

qualification: Qualification | None = None

Qualification of the Project.

class scaleway.account.v3.Qualification(architecture_type: 'QualificationArchitectureType', host_website: 'Optional[QualificationHostWebsite]' = None, host_application: 'Optional[QualificationHostApplication]' = None, deploy_software: 'Optional[QualificationDeploySoftware]' = None, set_scaleway_environment: 'Optional[QualificationSetScalewayEnvironment]' = None, ai_machine: 'Optional[QualificationAiMachine]' = None, container: 'Optional[QualificationContainer]' = None, archive_data: 'Optional[QualificationArchiveData]' = None, share_data: 'Optional[QualificationShareData]' = None, other_use_case: 'Optional[QualificationOtherUseCase]' = None)

Bases: object

ai_machine: QualificationAiMachine | None = None
architecture_type: QualificationArchitectureType

Architecture type of the qualification.

archive_data: QualificationArchiveData | None = None
container: QualificationContainer | None = None
deploy_software: QualificationDeploySoftware | None = None
host_application: QualificationHostApplication | None = None
host_website: QualificationHostWebsite | None = None
other_use_case: QualificationOtherUseCase | None = None
set_scaleway_environment: QualificationSetScalewayEnvironment | None = None
share_data: QualificationShareData | None = None
class scaleway.account.v3.QualificationAiMachine(sub_use_case: 'QualificationAiMachineSubUseCase')

Bases: object

sub_use_case: QualificationAiMachineSubUseCase
class scaleway.account.v3.QualificationAiMachineSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationArchitectureType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DEDICATED_SERVER = 'dedicated_server'
ELASTIC = 'elastic'
INSTANCE = 'instance'
KUBERNETES = 'kubernetes'
OBJECT_STORAGE = 'object_storage'
OTHER_ARCHITECTURE_TYPE = 'other_architecture_type'
SERVERLESS = 'serverless'
UNKNOWN_ARCHITECTURE_TYPE = 'unknown_architecture_type'
WEB_HOSTING = 'web_hosting'
class scaleway.account.v3.QualificationArchiveData(sub_use_case: 'QualificationArchiveDataSubUseCase')

Bases: object

sub_use_case: QualificationArchiveDataSubUseCase
class scaleway.account.v3.QualificationArchiveDataSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationContainer(sub_use_case: 'QualificationContainerSubUseCase')

Bases: object

sub_use_case: QualificationContainerSubUseCase
class scaleway.account.v3.QualificationContainerSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationDeploySoftware(sub_use_case: 'QualificationDeploySoftwareSubUseCase')

Bases: object

sub_use_case: QualificationDeploySoftwareSubUseCase
class scaleway.account.v3.QualificationDeploySoftwareSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationHostApplication(sub_use_case: 'QualificationHostApplicationSubUseCase')

Bases: object

sub_use_case: QualificationHostApplicationSubUseCase
class scaleway.account.v3.QualificationHostApplicationSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

GOVERNMENT_APP = 'government_app'
SAAS_APP = 'saas_app'
UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationHostWebsite(sub_use_case: 'QualificationHostWebsiteSubUseCase')

Bases: object

sub_use_case: QualificationHostWebsiteSubUseCase
class scaleway.account.v3.QualificationHostWebsiteSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ECOMMERCE_WEBSITE = 'ecommerce_website'
HIGH_WEBSITE = 'high_website'
INFORMATION_WEBSITE = 'information_website'
OTHER_SUB_USE_CASE = 'other_sub_use_case'
UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationOtherUseCase(sub_use_case: 'QualificationOtherUseCaseSubUseCase')

Bases: object

sub_use_case: QualificationOtherUseCaseSubUseCase
class scaleway.account.v3.QualificationOtherUseCaseSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationSetScalewayEnvironment(sub_use_case: 'QualificationSetScalewayEnvironmentSubUseCase')

Bases: object

sub_use_case: QualificationSetScalewayEnvironmentSubUseCase
class scaleway.account.v3.QualificationSetScalewayEnvironmentSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'
class scaleway.account.v3.QualificationShareData(sub_use_case: 'QualificationShareDataSubUseCase')

Bases: object

sub_use_case: QualificationShareDataSubUseCase
class scaleway.account.v3.QualificationShareDataSubUseCase(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

UNKNOWN_SUB_USE_CASE = 'unknown_sub_use_case'