scaleway.registry.v1 package

Submodules

scaleway.registry.v1.api module

class scaleway.registry.v1.api.RegistryV1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Container Registry resources.

create_namespace(*, description: str, is_public: bool, region: Optional[str] = None, name: Optional[str] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) Namespace

Create a namespace. Create a new Container Registry namespace. You must specify the namespace name and region in which you want it to be created. Optionally, you can specify the project_id and is_public in the request payload. :param description: Description of the namespace. :param is_public: Defines whether or not namespace is public. :param region: Region to target. If none is passed will use default region from the config. :param name: Name of the namespace. :param organization_id: Namespace owner (deprecated). One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :param project_id: Project ID on which the namespace will be created. One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :return: Namespace

Usage:

result = api.create_namespace(
    description="example",
    is_public=False,
)
delete_image(*, image_id: str, region: Optional[str] = None) Image

Delete an image. Delete a given image. You must specify, in the endpoint, the region and image_id parameters of the image you want to delete. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :return: Image

Usage:

result = api.delete_image(
    image_id="example",
)
delete_namespace(*, namespace_id: str, region: Optional[str] = None) Namespace

Delete a namespace. Delete a given namespace. You must specify, in the endpoint, the region and namespace_id parameters of the namespace you want to delete. :param namespace_id: UUID of the namespace. :param region: Region to target. If none is passed will use default region from the config. :return: Namespace

Usage:

result = api.delete_namespace(
    namespace_id="example",
)
delete_tag(*, tag_id: str, region: Optional[str] = None, force: Optional[bool] = None) Tag

Delete a tag. Delete a given image tag. You must specify, in the endpoint, the region and tag_id parameters of the tag you want to delete. :param tag_id: UUID of the tag. :param region: Region to target. If none is passed will use default region from the config. :param force: If two tags share the same digest the deletion will fail unless this parameter is set to true (deprecated). :return: Tag

Usage:

result = api.delete_tag(
    tag_id="example",
)
get_image(*, image_id: str, region: Optional[str] = None) Image

Get an image. Retrieve information about a given container image, specified by its image_id and region. Full details about the image, such as name, namespace_id, status, visibility, and size are returned in the response. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :return: Image

Usage:

result = api.get_image(
    image_id="example",
)
get_namespace(*, namespace_id: str, region: Optional[str] = None) Namespace

Get a namespace. Retrieve information about a given namespace, specified by its namespace_id and region. Full details about the namespace, such as description, project_id, status, endpoint, is_public, size, and image_count are returned in the response. :param namespace_id: UUID of the namespace. :param region: Region to target. If none is passed will use default region from the config. :return: Namespace

Usage:

result = api.get_namespace(
    namespace_id="example",
)
get_tag(*, tag_id: str, region: Optional[str] = None) Tag

Get a tag. Retrieve information about a given image tag, specified by its tag_id and region. Full details about the tag, such as name, image_id, status, and digest are returned in the response. :param tag_id: UUID of the tag. :param region: Region to target. If none is passed will use default region from the config. :return: Tag

Usage:

result = api.get_tag(
    tag_id="example",
)
list_images(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListImagesRequestOrderBy] = None, namespace_id: Optional[str] = None, name: Optional[str] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) ListImagesResponse

List images. List all images in a specified region. By default, the images listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the namespace_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering image listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param namespace_id: Filter by the namespace ID. :param name: Filter by the image name (exact match). :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :return: ListImagesResponse

Usage:

result = api.list_images()
list_images_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListImagesRequestOrderBy] = None, namespace_id: Optional[str] = None, name: Optional[str] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) List[Image]

List images. List all images in a specified region. By default, the images listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the namespace_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering image listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param namespace_id: Filter by the namespace ID. :param name: Filter by the image name (exact match). :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :return: List[Image]

Usage:

result = api.list_images_all()
list_namespaces(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNamespacesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None) ListNamespacesResponse

List namespaces. List all namespaces in a specified region. By default, the namespaces listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the instance_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering namespace listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :param name: Filter by the namespace name (exact match). :return: ListNamespacesResponse

Usage:

result = api.list_namespaces()
list_namespaces_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNamespacesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None) List[Namespace]

List namespaces. List all namespaces in a specified region. By default, the namespaces listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the instance_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering namespace listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :param name: Filter by the namespace name (exact match). :return: List[Namespace]

Usage:

result = api.list_namespaces_all()
list_tags(*, image_id: str, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListTagsRequestOrderBy] = None, name: Optional[str] = None) ListTagsResponse

List tags. List all tags for a given image, specified by region. By default, the tags listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the name. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering tag listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param name: Filter by the tag name (exact match). :return: ListTagsResponse

Usage:

result = api.list_tags(
    image_id="example",
)
list_tags_all(*, image_id: str, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListTagsRequestOrderBy] = None, name: Optional[str] = None) List[Tag]

List tags. List all tags for a given image, specified by region. By default, the tags listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the name. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering tag listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param name: Filter by the tag name (exact match). :return: List[Tag]

Usage:

result = api.list_tags_all(
    image_id="example",
)
update_image(*, image_id: str, region: Optional[str] = None, visibility: Optional[ImageVisibility] = None) Image

Update an image. Update the parameters of a given image, specified by its image_id and region. You can update the visibility parameter. :param image_id: ID of the image to update. :param region: Region to target. If none is passed will use default region from the config. :param visibility: Set to public to allow the image to be pulled without authentication. Else, set to private. Set to inherit to keep the same visibility configuration as the namespace. :return: Image

Usage:

result = api.update_image(
    image_id="example",
)
update_namespace(*, namespace_id: str, region: Optional[str] = None, description: Optional[str] = None, is_public: Optional[bool] = None) Namespace

Update a namespace. Update the parameters of a given namespace, specified by its namespace_id and region. You can update the description and is_public parameters. :param namespace_id: ID of the namespace to update. :param region: Region to target. If none is passed will use default region from the config. :param description: Namespace description. :param is_public: Defines whether or not the namespace is public. :return: Namespace

Usage:

result = api.update_namespace(
    namespace_id="example",
)
wait_for_image(*, image_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Image, bool]] = None) Image

Get an image. Retrieve information about a given container image, specified by its image_id and region. Full details about the image, such as name, namespace_id, status, visibility, and size are returned in the response. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :return: Image

Usage:

result = api.get_image(
    image_id="example",
)
wait_for_namespace(*, namespace_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Namespace, bool]] = None) Namespace

Get a namespace. Retrieve information about a given namespace, specified by its namespace_id and region. Full details about the namespace, such as description, project_id, status, endpoint, is_public, size, and image_count are returned in the response. :param namespace_id: UUID of the namespace. :param region: Region to target. If none is passed will use default region from the config. :return: Namespace

Usage:

result = api.get_namespace(
    namespace_id="example",
)
wait_for_tag(*, tag_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Tag, bool]] = None) Tag

Get a tag. Retrieve information about a given image tag, specified by its tag_id and region. Full details about the tag, such as name, image_id, status, and digest are returned in the response. :param tag_id: UUID of the tag. :param region: Region to target. If none is passed will use default region from the config. :return: Tag

Usage:

result = api.get_tag(
    tag_id="example",
)

scaleway.registry.v1.content module

scaleway.registry.v1.content.IMAGE_TRANSIENT_STATUSES: List[ImageStatus] = [<ImageStatus.DELETING: 'deleting'>]

Lists transient statutes of the enum ImageStatus.

scaleway.registry.v1.content.NAMESPACE_TRANSIENT_STATUSES: List[NamespaceStatus] = [<NamespaceStatus.DELETING: 'deleting'>]

Lists transient statutes of the enum NamespaceStatus.

scaleway.registry.v1.content.TAG_TRANSIENT_STATUSES: List[TagStatus] = [<TagStatus.DELETING: 'deleting'>]

Lists transient statutes of the enum TagStatus.

scaleway.registry.v1.marshalling module

scaleway.registry.v1.marshalling.marshal_CreateNamespaceRequest(request: CreateNamespaceRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.registry.v1.marshalling.marshal_UpdateImageRequest(request: UpdateImageRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.registry.v1.marshalling.marshal_UpdateNamespaceRequest(request: UpdateNamespaceRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.registry.v1.marshalling.unmarshal_Image(data: Any) Image
scaleway.registry.v1.marshalling.unmarshal_ListImagesResponse(data: Any) ListImagesResponse
scaleway.registry.v1.marshalling.unmarshal_ListNamespacesResponse(data: Any) ListNamespacesResponse
scaleway.registry.v1.marshalling.unmarshal_ListTagsResponse(data: Any) ListTagsResponse
scaleway.registry.v1.marshalling.unmarshal_Namespace(data: Any) Namespace
scaleway.registry.v1.marshalling.unmarshal_Tag(data: Any) Tag

scaleway.registry.v1.types module

class scaleway.registry.v1.types.CreateNamespaceRequest(description: 'str', is_public: 'bool', region: 'Optional[Region]', name: 'Optional[str]', project_id: 'Optional[str]', organization_id: 'Optional[str]')

Bases: object

description: str

Description of the namespace.

is_public: bool

Defines whether or not namespace is public.

name: Optional[str]

Name of the namespace.

organization_id: Optional[str]
project_id: Optional[str]
region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.DeleteImageRequest(image_id: 'str', region: 'Optional[Region]')

Bases: object

image_id: str

UUID of the image.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.DeleteNamespaceRequest(namespace_id: 'str', region: 'Optional[Region]')

Bases: object

namespace_id: str

UUID of the namespace.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.DeleteTagRequest(tag_id: 'str', region: 'Optional[Region]', force: 'Optional[bool]')

Bases: object

force: Optional[bool]

If two tags share the same digest the deletion will fail unless this parameter is set to true (deprecated).

region: Optional[str]

Region to target. If none is passed will use default region from the config.

tag_id: str

UUID of the tag.

class scaleway.registry.v1.types.GetImageRequest(image_id: 'str', region: 'Optional[Region]')

Bases: object

image_id: str

UUID of the image.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.GetNamespaceRequest(namespace_id: 'str', region: 'Optional[Region]')

Bases: object

namespace_id: str

UUID of the namespace.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.GetTagRequest(tag_id: 'str', region: 'Optional[Region]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

tag_id: str

UUID of the tag.

class scaleway.registry.v1.types.Image(id: 'str', name: 'str', namespace_id: 'str', status: 'ImageStatus', visibility: 'ImageVisibility', size: 'int', tags: 'List[str]', status_message: 'Optional[str]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date and time of image creation.

id: str

UUID of the image.

name: str

Name of the image, it must be unique within the namespace.

namespace_id: str

UUID of the namespace the image belongs to.

size: int

Image size in bytes, calculated from the size of image layers. One layer used in two tags of the same image is counted once but one layer used in two images is counted twice.

status: ImageStatus

Status of the image.

status_message: Optional[str]

Details of the image status.

tags: List[str]

List of docker tags of the image.

updated_at: Optional[datetime]

Date and time of last update.

visibility: ImageVisibility

Set to public to allow the image to be pulled without authentication. Else, set to private. Set to inherit to keep the same visibility configuration as the namespace.

class scaleway.registry.v1.types.ImageStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway.registry.v1.types.ImageVisibility(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

INHERIT = 'inherit'
PRIVATE = 'private'
PUBLIC = 'public'
VISIBILITY_UNKNOWN = 'visibility_unknown'
class scaleway.registry.v1.types.ListImagesRequest(region: 'Optional[Region]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListImagesRequestOrderBy]', namespace_id: 'Optional[str]', name: 'Optional[str]', organization_id: 'Optional[str]', project_id: 'Optional[str]')

Bases: object

name: Optional[str]

Filter by the image name (exact match).

namespace_id: Optional[str]

Filter by the namespace ID.

order_by: Optional[ListImagesRequestOrderBy]

Criteria to use when ordering image listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

organization_id: Optional[str]

Filter by Organization ID.

page: Optional[int]

A positive integer to choose the page to display.

page_size: Optional[int]

A positive integer lower or equal to 100 to select the number of items to display.

project_id: Optional[str]

Filter by Project ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.ListImagesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway.registry.v1.types.ListImagesResponse(images: 'List[Image]', total_count: 'int')

Bases: object

images: List[Image]

Paginated list of images that match the selected filters.

total_count: int

Total number of images that match the selected filters.

class scaleway.registry.v1.types.ListNamespacesRequest(region: 'Optional[Region]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListNamespacesRequestOrderBy]', organization_id: 'Optional[str]', project_id: 'Optional[str]', name: 'Optional[str]')

Bases: object

name: Optional[str]

Filter by the namespace name (exact match).

order_by: Optional[ListNamespacesRequestOrderBy]

Criteria to use when ordering namespace listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

organization_id: Optional[str]

Filter by Organization ID.

page: Optional[int]

A positive integer to choose the page to display.

page_size: Optional[int]

A positive integer lower or equal to 100 to select the number of items to display.

project_id: Optional[str]

Filter by Project ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.ListNamespacesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
DESCRIPTION_ASC = 'description_asc'
DESCRIPTION_DESC = 'description_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway.registry.v1.types.ListNamespacesResponse(namespaces: 'List[Namespace]', total_count: 'int')

Bases: object

namespaces: List[Namespace]

Paginated list of namespaces that match the selected filters.

total_count: int

Total number of namespaces that match the selected filters.

class scaleway.registry.v1.types.ListTagsRequest(image_id: 'str', region: 'Optional[Region]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListTagsRequestOrderBy]', name: 'Optional[str]')

Bases: object

image_id: str

UUID of the image.

name: Optional[str]

Filter by the tag name (exact match).

order_by: Optional[ListTagsRequestOrderBy]

Criteria to use when ordering tag listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

page: Optional[int]

A positive integer to choose the page to display.

page_size: Optional[int]

A positive integer lower or equal to 100 to select the number of items to display.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.types.ListTagsRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway.registry.v1.types.ListTagsResponse(tags: 'List[Tag]', total_count: 'int')

Bases: object

tags: List[Tag]

Paginated list of tags that match the selected filters.

total_count: int

Total number of tags that match the selected filters.

class scaleway.registry.v1.types.Namespace(id: 'str', name: 'str', description: 'str', organization_id: 'str', project_id: 'str', status: 'NamespaceStatus', status_message: 'str', endpoint: 'str', is_public: 'bool', size: 'int', image_count: 'int', region: 'Region', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date and time of creation.

description: str

Description of the namespace.

endpoint: str

Endpoint reachable by docker.

id: str

UUID of the namespace.

image_count: int

Number of images in the namespace.

is_public: bool

Defines whether or not namespace is public.

name: str

Name of the namespace, unique in a region accross all organizations.

organization_id: str

Owner of the namespace.

project_id: str

Project of the namespace.

region: str

Region the namespace belongs to.

size: int

Total size of the namespace, calculated as the sum of the size of all images in the namespace.

status: NamespaceStatus

Namespace status.

status_message: str

Namespace status details.

updated_at: Optional[datetime]

Date and time of last update.

class scaleway.registry.v1.types.NamespaceStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway.registry.v1.types.Tag(id: 'str', name: 'str', image_id: 'str', status: 'TagStatus', digest: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date and time of creation.

digest: str

Hash of the tag content. Several tags of a same image may have the same digest.

id: str

UUID of the tag.

image_id: str

Image ID the of the image the tag belongs to.

name: str

Tag name, unique to an image.

status: TagStatus

Tag status.

updated_at: Optional[datetime]

Date and time of last update.

class scaleway.registry.v1.types.TagStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway.registry.v1.types.UpdateImageRequest(image_id: 'str', region: 'Optional[Region]', visibility: 'Optional[ImageVisibility]')

Bases: object

image_id: str

ID of the image to update.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

visibility: Optional[ImageVisibility]

Set to public to allow the image to be pulled without authentication. Else, set to private. Set to inherit to keep the same visibility configuration as the namespace.

class scaleway.registry.v1.types.UpdateNamespaceRequest(namespace_id: 'str', region: 'Optional[Region]', description: 'Optional[str]', is_public: 'Optional[bool]')

Bases: object

description: Optional[str]

Namespace description.

is_public: Optional[bool]

Defines whether or not the namespace is public.

namespace_id: str

ID of the namespace to update.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

Module contents

class scaleway.registry.v1.CreateNamespaceRequest(description: 'str', is_public: 'bool', region: 'Optional[Region]', name: 'Optional[str]', project_id: 'Optional[str]', organization_id: 'Optional[str]')

Bases: object

description: str

Description of the namespace.

is_public: bool

Defines whether or not namespace is public.

name: Optional[str]

Name of the namespace.

organization_id: Optional[str]
project_id: Optional[str]
region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.DeleteImageRequest(image_id: 'str', region: 'Optional[Region]')

Bases: object

image_id: str

UUID of the image.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.DeleteNamespaceRequest(namespace_id: 'str', region: 'Optional[Region]')

Bases: object

namespace_id: str

UUID of the namespace.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.DeleteTagRequest(tag_id: 'str', region: 'Optional[Region]', force: 'Optional[bool]')

Bases: object

force: Optional[bool]

If two tags share the same digest the deletion will fail unless this parameter is set to true (deprecated).

region: Optional[str]

Region to target. If none is passed will use default region from the config.

tag_id: str

UUID of the tag.

class scaleway.registry.v1.GetImageRequest(image_id: 'str', region: 'Optional[Region]')

Bases: object

image_id: str

UUID of the image.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.GetNamespaceRequest(namespace_id: 'str', region: 'Optional[Region]')

Bases: object

namespace_id: str

UUID of the namespace.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.GetTagRequest(tag_id: 'str', region: 'Optional[Region]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

tag_id: str

UUID of the tag.

class scaleway.registry.v1.Image(id: 'str', name: 'str', namespace_id: 'str', status: 'ImageStatus', visibility: 'ImageVisibility', size: 'int', tags: 'List[str]', status_message: 'Optional[str]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date and time of image creation.

id: str

UUID of the image.

name: str

Name of the image, it must be unique within the namespace.

namespace_id: str

UUID of the namespace the image belongs to.

size: int

Image size in bytes, calculated from the size of image layers. One layer used in two tags of the same image is counted once but one layer used in two images is counted twice.

status: ImageStatus

Status of the image.

status_message: Optional[str]

Details of the image status.

tags: List[str]

List of docker tags of the image.

updated_at: Optional[datetime]

Date and time of last update.

visibility: ImageVisibility

Set to public to allow the image to be pulled without authentication. Else, set to private. Set to inherit to keep the same visibility configuration as the namespace.

class scaleway.registry.v1.ImageStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway.registry.v1.ImageVisibility(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

INHERIT = 'inherit'
PRIVATE = 'private'
PUBLIC = 'public'
VISIBILITY_UNKNOWN = 'visibility_unknown'
class scaleway.registry.v1.ListImagesRequest(region: 'Optional[Region]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListImagesRequestOrderBy]', namespace_id: 'Optional[str]', name: 'Optional[str]', organization_id: 'Optional[str]', project_id: 'Optional[str]')

Bases: object

name: Optional[str]

Filter by the image name (exact match).

namespace_id: Optional[str]

Filter by the namespace ID.

order_by: Optional[ListImagesRequestOrderBy]

Criteria to use when ordering image listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

organization_id: Optional[str]

Filter by Organization ID.

page: Optional[int]

A positive integer to choose the page to display.

page_size: Optional[int]

A positive integer lower or equal to 100 to select the number of items to display.

project_id: Optional[str]

Filter by Project ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.ListImagesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway.registry.v1.ListImagesResponse(images: 'List[Image]', total_count: 'int')

Bases: object

images: List[Image]

Paginated list of images that match the selected filters.

total_count: int

Total number of images that match the selected filters.

class scaleway.registry.v1.ListNamespacesRequest(region: 'Optional[Region]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListNamespacesRequestOrderBy]', organization_id: 'Optional[str]', project_id: 'Optional[str]', name: 'Optional[str]')

Bases: object

name: Optional[str]

Filter by the namespace name (exact match).

order_by: Optional[ListNamespacesRequestOrderBy]

Criteria to use when ordering namespace listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

organization_id: Optional[str]

Filter by Organization ID.

page: Optional[int]

A positive integer to choose the page to display.

page_size: Optional[int]

A positive integer lower or equal to 100 to select the number of items to display.

project_id: Optional[str]

Filter by Project ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.ListNamespacesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
DESCRIPTION_ASC = 'description_asc'
DESCRIPTION_DESC = 'description_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway.registry.v1.ListNamespacesResponse(namespaces: 'List[Namespace]', total_count: 'int')

Bases: object

namespaces: List[Namespace]

Paginated list of namespaces that match the selected filters.

total_count: int

Total number of namespaces that match the selected filters.

class scaleway.registry.v1.ListTagsRequest(image_id: 'str', region: 'Optional[Region]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListTagsRequestOrderBy]', name: 'Optional[str]')

Bases: object

image_id: str

UUID of the image.

name: Optional[str]

Filter by the tag name (exact match).

order_by: Optional[ListTagsRequestOrderBy]

Criteria to use when ordering tag listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc.

page: Optional[int]

A positive integer to choose the page to display.

page_size: Optional[int]

A positive integer lower or equal to 100 to select the number of items to display.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway.registry.v1.ListTagsRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
class scaleway.registry.v1.ListTagsResponse(tags: 'List[Tag]', total_count: 'int')

Bases: object

tags: List[Tag]

Paginated list of tags that match the selected filters.

total_count: int

Total number of tags that match the selected filters.

class scaleway.registry.v1.Namespace(id: 'str', name: 'str', description: 'str', organization_id: 'str', project_id: 'str', status: 'NamespaceStatus', status_message: 'str', endpoint: 'str', is_public: 'bool', size: 'int', image_count: 'int', region: 'Region', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date and time of creation.

description: str

Description of the namespace.

endpoint: str

Endpoint reachable by docker.

id: str

UUID of the namespace.

image_count: int

Number of images in the namespace.

is_public: bool

Defines whether or not namespace is public.

name: str

Name of the namespace, unique in a region accross all organizations.

organization_id: str

Owner of the namespace.

project_id: str

Project of the namespace.

region: str

Region the namespace belongs to.

size: int

Total size of the namespace, calculated as the sum of the size of all images in the namespace.

status: NamespaceStatus

Namespace status.

status_message: str

Namespace status details.

updated_at: Optional[datetime]

Date and time of last update.

class scaleway.registry.v1.NamespaceStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway.registry.v1.RegistryV1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Container Registry resources.

create_namespace(*, description: str, is_public: bool, region: Optional[str] = None, name: Optional[str] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) Namespace

Create a namespace. Create a new Container Registry namespace. You must specify the namespace name and region in which you want it to be created. Optionally, you can specify the project_id and is_public in the request payload. :param description: Description of the namespace. :param is_public: Defines whether or not namespace is public. :param region: Region to target. If none is passed will use default region from the config. :param name: Name of the namespace. :param organization_id: Namespace owner (deprecated). One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :param project_id: Project ID on which the namespace will be created. One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :return: Namespace

Usage:

result = api.create_namespace(
    description="example",
    is_public=False,
)
delete_image(*, image_id: str, region: Optional[str] = None) Image

Delete an image. Delete a given image. You must specify, in the endpoint, the region and image_id parameters of the image you want to delete. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :return: Image

Usage:

result = api.delete_image(
    image_id="example",
)
delete_namespace(*, namespace_id: str, region: Optional[str] = None) Namespace

Delete a namespace. Delete a given namespace. You must specify, in the endpoint, the region and namespace_id parameters of the namespace you want to delete. :param namespace_id: UUID of the namespace. :param region: Region to target. If none is passed will use default region from the config. :return: Namespace

Usage:

result = api.delete_namespace(
    namespace_id="example",
)
delete_tag(*, tag_id: str, region: Optional[str] = None, force: Optional[bool] = None) Tag

Delete a tag. Delete a given image tag. You must specify, in the endpoint, the region and tag_id parameters of the tag you want to delete. :param tag_id: UUID of the tag. :param region: Region to target. If none is passed will use default region from the config. :param force: If two tags share the same digest the deletion will fail unless this parameter is set to true (deprecated). :return: Tag

Usage:

result = api.delete_tag(
    tag_id="example",
)
get_image(*, image_id: str, region: Optional[str] = None) Image

Get an image. Retrieve information about a given container image, specified by its image_id and region. Full details about the image, such as name, namespace_id, status, visibility, and size are returned in the response. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :return: Image

Usage:

result = api.get_image(
    image_id="example",
)
get_namespace(*, namespace_id: str, region: Optional[str] = None) Namespace

Get a namespace. Retrieve information about a given namespace, specified by its namespace_id and region. Full details about the namespace, such as description, project_id, status, endpoint, is_public, size, and image_count are returned in the response. :param namespace_id: UUID of the namespace. :param region: Region to target. If none is passed will use default region from the config. :return: Namespace

Usage:

result = api.get_namespace(
    namespace_id="example",
)
get_tag(*, tag_id: str, region: Optional[str] = None) Tag

Get a tag. Retrieve information about a given image tag, specified by its tag_id and region. Full details about the tag, such as name, image_id, status, and digest are returned in the response. :param tag_id: UUID of the tag. :param region: Region to target. If none is passed will use default region from the config. :return: Tag

Usage:

result = api.get_tag(
    tag_id="example",
)
list_images(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListImagesRequestOrderBy] = None, namespace_id: Optional[str] = None, name: Optional[str] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) ListImagesResponse

List images. List all images in a specified region. By default, the images listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the namespace_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering image listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param namespace_id: Filter by the namespace ID. :param name: Filter by the image name (exact match). :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :return: ListImagesResponse

Usage:

result = api.list_images()
list_images_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListImagesRequestOrderBy] = None, namespace_id: Optional[str] = None, name: Optional[str] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) List[Image]

List images. List all images in a specified region. By default, the images listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the namespace_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering image listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param namespace_id: Filter by the namespace ID. :param name: Filter by the image name (exact match). :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :return: List[Image]

Usage:

result = api.list_images_all()
list_namespaces(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNamespacesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None) ListNamespacesResponse

List namespaces. List all namespaces in a specified region. By default, the namespaces listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the instance_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering namespace listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :param name: Filter by the namespace name (exact match). :return: ListNamespacesResponse

Usage:

result = api.list_namespaces()
list_namespaces_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNamespacesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None) List[Namespace]

List namespaces. List all namespaces in a specified region. By default, the namespaces listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the instance_id and project_id parameters. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering namespace listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param organization_id: Filter by Organization ID. :param project_id: Filter by Project ID. :param name: Filter by the namespace name (exact match). :return: List[Namespace]

Usage:

result = api.list_namespaces_all()
list_tags(*, image_id: str, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListTagsRequestOrderBy] = None, name: Optional[str] = None) ListTagsResponse

List tags. List all tags for a given image, specified by region. By default, the tags listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the name. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering tag listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param name: Filter by the tag name (exact match). :return: ListTagsResponse

Usage:

result = api.list_tags(
    image_id="example",
)
list_tags_all(*, image_id: str, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListTagsRequestOrderBy] = None, name: Optional[str] = None) List[Tag]

List tags. List all tags for a given image, specified by region. By default, the tags listed are ordered by creation date in ascending order. This can be modified via the order_by field. You can also define additional parameters for your query, such as the name. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :param page: A positive integer to choose the page to display. :param page_size: A positive integer lower or equal to 100 to select the number of items to display. :param order_by: Criteria to use when ordering tag listings. Possible values are created_at_asc, created_at_desc, name_asc, name_desc, region, status_asc and status_desc. The default value is created_at_asc. :param name: Filter by the tag name (exact match). :return: List[Tag]

Usage:

result = api.list_tags_all(
    image_id="example",
)
update_image(*, image_id: str, region: Optional[str] = None, visibility: Optional[ImageVisibility] = None) Image

Update an image. Update the parameters of a given image, specified by its image_id and region. You can update the visibility parameter. :param image_id: ID of the image to update. :param region: Region to target. If none is passed will use default region from the config. :param visibility: Set to public to allow the image to be pulled without authentication. Else, set to private. Set to inherit to keep the same visibility configuration as the namespace. :return: Image

Usage:

result = api.update_image(
    image_id="example",
)
update_namespace(*, namespace_id: str, region: Optional[str] = None, description: Optional[str] = None, is_public: Optional[bool] = None) Namespace

Update a namespace. Update the parameters of a given namespace, specified by its namespace_id and region. You can update the description and is_public parameters. :param namespace_id: ID of the namespace to update. :param region: Region to target. If none is passed will use default region from the config. :param description: Namespace description. :param is_public: Defines whether or not the namespace is public. :return: Namespace

Usage:

result = api.update_namespace(
    namespace_id="example",
)
wait_for_image(*, image_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Image, bool]] = None) Image

Get an image. Retrieve information about a given container image, specified by its image_id and region. Full details about the image, such as name, namespace_id, status, visibility, and size are returned in the response. :param image_id: UUID of the image. :param region: Region to target. If none is passed will use default region from the config. :return: Image

Usage:

result = api.get_image(
    image_id="example",
)
wait_for_namespace(*, namespace_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Namespace, bool]] = None) Namespace

Get a namespace. Retrieve information about a given namespace, specified by its namespace_id and region. Full details about the namespace, such as description, project_id, status, endpoint, is_public, size, and image_count are returned in the response. :param namespace_id: UUID of the namespace. :param region: Region to target. If none is passed will use default region from the config. :return: Namespace

Usage:

result = api.get_namespace(
    namespace_id="example",
)
wait_for_tag(*, tag_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Tag, bool]] = None) Tag

Get a tag. Retrieve information about a given image tag, specified by its tag_id and region. Full details about the tag, such as name, image_id, status, and digest are returned in the response. :param tag_id: UUID of the tag. :param region: Region to target. If none is passed will use default region from the config. :return: Tag

Usage:

result = api.get_tag(
    tag_id="example",
)
class scaleway.registry.v1.Tag(id: 'str', name: 'str', image_id: 'str', status: 'TagStatus', digest: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date and time of creation.

digest: str

Hash of the tag content. Several tags of a same image may have the same digest.

id: str

UUID of the tag.

image_id: str

Image ID the of the image the tag belongs to.

name: str

Tag name, unique to an image.

status: TagStatus

Tag status.

updated_at: Optional[datetime]

Date and time of last update.

class scaleway.registry.v1.TagStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway.registry.v1.UpdateImageRequest(image_id: 'str', region: 'Optional[Region]', visibility: 'Optional[ImageVisibility]')

Bases: object

image_id: str

ID of the image to update.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

visibility: Optional[ImageVisibility]

Set to public to allow the image to be pulled without authentication. Else, set to private. Set to inherit to keep the same visibility configuration as the namespace.

class scaleway.registry.v1.UpdateNamespaceRequest(namespace_id: 'str', region: 'Optional[Region]', description: 'Optional[str]', is_public: 'Optional[bool]')

Bases: object

description: Optional[str]

Namespace description.

is_public: Optional[bool]

Defines whether or not the namespace is public.

namespace_id: str

ID of the namespace to update.

region: Optional[str]

Region to target. If none is passed will use default region from the config.