registry

package
v1.0.0-beta.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 14 Imported by: 6

Documentation

Overview

Package registry provides methods and message types of the registry v1 API.

Index

Constants

View Source
const (
	ImageStatusUnknown  = ImageStatus("unknown")
	ImageStatusReady    = ImageStatus("ready")
	ImageStatusDeleting = ImageStatus("deleting")
	ImageStatusError    = ImageStatus("error")
	ImageStatusLocked   = ImageStatus("locked")
)
View Source
const (
	ImageVisibilityVisibilityUnknown = ImageVisibility("visibility_unknown")
	ImageVisibilityInherit           = ImageVisibility("inherit")
	ImageVisibilityPublic            = ImageVisibility("public")
	ImageVisibilityPrivate           = ImageVisibility("private")
)
View Source
const (
	ListImagesRequestOrderByCreatedAtAsc  = ListImagesRequestOrderBy("created_at_asc")
	ListImagesRequestOrderByCreatedAtDesc = ListImagesRequestOrderBy("created_at_desc")
	ListImagesRequestOrderByNameAsc       = ListImagesRequestOrderBy("name_asc")
	ListImagesRequestOrderByNameDesc      = ListImagesRequestOrderBy("name_desc")
)
View Source
const (
	ListNamespacesRequestOrderByCreatedAtAsc    = ListNamespacesRequestOrderBy("created_at_asc")
	ListNamespacesRequestOrderByCreatedAtDesc   = ListNamespacesRequestOrderBy("created_at_desc")
	ListNamespacesRequestOrderByDescriptionAsc  = ListNamespacesRequestOrderBy("description_asc")
	ListNamespacesRequestOrderByDescriptionDesc = ListNamespacesRequestOrderBy("description_desc")
	ListNamespacesRequestOrderByNameAsc         = ListNamespacesRequestOrderBy("name_asc")
	ListNamespacesRequestOrderByNameDesc        = ListNamespacesRequestOrderBy("name_desc")
)
View Source
const (
	ListTagsRequestOrderByCreatedAtAsc  = ListTagsRequestOrderBy("created_at_asc")
	ListTagsRequestOrderByCreatedAtDesc = ListTagsRequestOrderBy("created_at_desc")
	ListTagsRequestOrderByNameAsc       = ListTagsRequestOrderBy("name_asc")
	ListTagsRequestOrderByNameDesc      = ListTagsRequestOrderBy("name_desc")
)
View Source
const (
	NamespaceStatusUnknown  = NamespaceStatus("unknown")
	NamespaceStatusReady    = NamespaceStatus("ready")
	NamespaceStatusDeleting = NamespaceStatus("deleting")
	NamespaceStatusError    = NamespaceStatus("error")
	NamespaceStatusLocked   = NamespaceStatus("locked")
)
View Source
const (
	TagStatusUnknown  = TagStatus("unknown")
	TagStatusReady    = TagStatus("ready")
	TagStatusDeleting = TagStatus("deleting")
	TagStatusError    = TagStatus("error")
	TagStatusLocked   = TagStatus("locked")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	// contains filtered or unexported fields
}

API: container registry API.

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) CreateNamespace

func (s *API) CreateNamespace(req *CreateNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)

CreateNamespace: create a new namespace.

func (*API) DeleteImage

func (s *API) DeleteImage(req *DeleteImageRequest, opts ...scw.RequestOption) (*Image, error)

DeleteImage: delete the image associated with the given id.

func (*API) DeleteNamespace

func (s *API) DeleteNamespace(req *DeleteNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)

DeleteNamespace: delete the namespace associated with the given id.

func (*API) DeleteTag

func (s *API) DeleteTag(req *DeleteTagRequest, opts ...scw.RequestOption) (*Tag, error)

DeleteTag: delete the tag associated with the given id.

func (*API) GetImage

func (s *API) GetImage(req *GetImageRequest, opts ...scw.RequestOption) (*Image, error)

GetImage: get the image associated with the given id.

func (*API) GetNamespace

func (s *API) GetNamespace(req *GetNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)

GetNamespace: get the namespace associated with the given id.

func (*API) GetTag

func (s *API) GetTag(req *GetTagRequest, opts ...scw.RequestOption) (*Tag, error)

GetTag: get the tag associated with the given id.

func (*API) ListImages

func (s *API) ListImages(req *ListImagesRequest, opts ...scw.RequestOption) (*ListImagesResponse, error)

ListImages: list all your images.

func (*API) ListNamespaces

func (s *API) ListNamespaces(req *ListNamespacesRequest, opts ...scw.RequestOption) (*ListNamespacesResponse, error)

ListNamespaces: list all your namespaces.

func (*API) ListTags

func (s *API) ListTags(req *ListTagsRequest, opts ...scw.RequestOption) (*ListTagsResponse, error)

ListTags: list all your tags.

func (*API) Regions

func (s *API) Regions() []scw.Region

Regions list localities the api is available in

func (*API) UpdateImage

func (s *API) UpdateImage(req *UpdateImageRequest, opts ...scw.RequestOption) (*Image, error)

UpdateImage: update the image associated with the given id.

func (*API) UpdateNamespace

func (s *API) UpdateNamespace(req *UpdateNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)

UpdateNamespace: update the namespace associated with the given id.

func (*API) WaitForImage

func (s *API) WaitForImage(req *WaitForImageRequest, opts ...scw.RequestOption) (*Image, error)

WaitForImage wait for the image to be in a "terminal state" before returning. This function can be used to wait for an image to be ready for example.

func (*API) WaitForNamespace

func (s *API) WaitForNamespace(req *WaitForNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)

WaitForNamespace wait for the namespace to be in a "terminal state" before returning. This function can be used to wait for a namespace to be ready for example.

func (*API) WaitForTag

func (s *API) WaitForTag(req *WaitForTagRequest, opts ...scw.RequestOption) (*Tag, error)

WaitForTag wait for the tag to be in a "terminal state" before returning. This function can be used to wait for a tag to be ready for example.

type CreateNamespaceRequest

type CreateNamespaceRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// Name: define a namespace name.
	Name string `json:"name"`
	// Description: define a description.
	Description string `json:"description"`
	// Deprecated: OrganizationID: assign the namespace owner (deprecated).
	// Precisely one of OrganizationID, ProjectID must be set.
	OrganizationID *string `json:"organization_id,omitempty"`
	// ProjectID: assign the namespace to a project ID.
	// Precisely one of OrganizationID, ProjectID must be set.
	ProjectID *string `json:"project_id,omitempty"`
	// IsPublic: define the default visibility policy.
	IsPublic bool `json:"is_public"`
}

type DeleteImageRequest

type DeleteImageRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// ImageID: the unique ID of the Image.
	ImageID string `json:"-"`
}

type DeleteNamespaceRequest

type DeleteNamespaceRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// NamespaceID: the unique ID of the Namespace.
	NamespaceID string `json:"-"`
}

type DeleteTagRequest

type DeleteTagRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// TagID: the unique ID of the tag.
	TagID string `json:"-"`
	// Force: if two tags share the same digest the deletion will fail unless this parameter is set to true.
	Force bool `json:"-"`
}

type GetImageRequest

type GetImageRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// ImageID: the unique ID of the Image.
	ImageID string `json:"-"`
}

type GetNamespaceRequest

type GetNamespaceRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// NamespaceID: the unique ID of the Namespace.
	NamespaceID string `json:"-"`
}

type GetTagRequest

type GetTagRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// TagID: the unique ID of the Tag.
	TagID string `json:"-"`
}

type Image

type Image struct {
	// ID: the unique ID of the Image.
	ID string `json:"id"`
	// Name: the Image name, unique in a namespace.
	Name string `json:"name"`
	// NamespaceID: the unique ID of the Namespace the image belongs to.
	NamespaceID string `json:"namespace_id"`
	// Status: the status of the image.
	// Default value: unknown
	Status ImageStatus `json:"status"`
	// StatusMessage: details of the image status.
	StatusMessage *string `json:"status_message"`
	// Visibility: a `public` image is pullable from internet without authentication, opposed to a `private` image. `inherit` will use the namespace `is_public` parameter.
	// Default value: visibility_unknown
	Visibility ImageVisibility `json:"visibility"`
	// Size: 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.
	Size scw.Size `json:"size"`
	// CreatedAt: creation date.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last modification date, from the user or the service.
	UpdatedAt *time.Time `json:"updated_at"`
	// Tags: list of docker tags of the image.
	Tags []string `json:"tags"`
}

Image: image.

type ImageStatus

type ImageStatus string

func (ImageStatus) MarshalJSON

func (enum ImageStatus) MarshalJSON() ([]byte, error)

func (ImageStatus) String

func (enum ImageStatus) String() string

func (*ImageStatus) UnmarshalJSON

func (enum *ImageStatus) UnmarshalJSON(data []byte) error

type ImageVisibility

type ImageVisibility string

func (ImageVisibility) MarshalJSON

func (enum ImageVisibility) MarshalJSON() ([]byte, error)

func (ImageVisibility) String

func (enum ImageVisibility) String() string

func (*ImageVisibility) UnmarshalJSON

func (enum *ImageVisibility) UnmarshalJSON(data []byte) error

type ListImagesRequest

type ListImagesRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// Page: a positive integer to choose the page to display.
	Page *int32 `json:"-"`
	// PageSize: a positive integer lower or equal to 100 to select the number of items to display.
	PageSize *uint32 `json:"-"`
	// OrderBy: field by which to order the display of Images.
	// Default value: created_at_asc
	OrderBy ListImagesRequestOrderBy `json:"-"`
	// NamespaceID: filter by the Namespace ID.
	NamespaceID *string `json:"-"`
	// Name: filter by the Image name (exact match).
	Name *string `json:"-"`
	// OrganizationID: filter by Organization ID.
	OrganizationID *string `json:"-"`
	// ProjectID: filter by Project ID.
	ProjectID *string `json:"-"`
}

type ListImagesRequestOrderBy

type ListImagesRequestOrderBy string

func (ListImagesRequestOrderBy) MarshalJSON

func (enum ListImagesRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListImagesRequestOrderBy) String

func (enum ListImagesRequestOrderBy) String() string

func (*ListImagesRequestOrderBy) UnmarshalJSON

func (enum *ListImagesRequestOrderBy) UnmarshalJSON(data []byte) error

type ListImagesResponse

type ListImagesResponse struct {
	// Images: paginated list of images matching filters.
	Images []*Image `json:"images"`
	// TotalCount: total number of images matching filters.
	TotalCount uint32 `json:"total_count"`
}

ListImagesResponse: list images response.

func (*ListImagesResponse) UnsafeAppend

func (r *ListImagesResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListImagesResponse) UnsafeGetTotalCount

func (r *ListImagesResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListNamespacesRequest

type ListNamespacesRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// Page: a positive integer to choose the page to display.
	Page *int32 `json:"-"`
	// PageSize: a positive integer lower or equal to 100 to select the number of items to display.
	PageSize *uint32 `json:"-"`
	// OrderBy: field by which to order the display of Images.
	// Default value: created_at_asc
	OrderBy ListNamespacesRequestOrderBy `json:"-"`
	// OrganizationID: filter by Organization ID.
	OrganizationID *string `json:"-"`
	// ProjectID: filter by Project ID.
	ProjectID *string `json:"-"`
	// Name: filter by the namespace name (exact match).
	Name *string `json:"-"`
}

type ListNamespacesRequestOrderBy

type ListNamespacesRequestOrderBy string

func (ListNamespacesRequestOrderBy) MarshalJSON

func (enum ListNamespacesRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListNamespacesRequestOrderBy) String

func (enum ListNamespacesRequestOrderBy) String() string

func (*ListNamespacesRequestOrderBy) UnmarshalJSON

func (enum *ListNamespacesRequestOrderBy) UnmarshalJSON(data []byte) error

type ListNamespacesResponse

type ListNamespacesResponse struct {
	// Namespaces: paginated list of namespaces matching filters.
	Namespaces []*Namespace `json:"namespaces"`
	// TotalCount: total number of namespaces matching filters.
	TotalCount uint32 `json:"total_count"`
}

ListNamespacesResponse: list namespaces response.

func (*ListNamespacesResponse) UnsafeAppend

func (r *ListNamespacesResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListNamespacesResponse) UnsafeGetTotalCount

func (r *ListNamespacesResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListTagsRequest

type ListTagsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// ImageID: the unique ID of the image.
	ImageID string `json:"-"`
	// Page: a positive integer to choose the page to display.
	Page *int32 `json:"-"`
	// PageSize: a positive integer lower or equal to 100 to select the number of items to display.
	PageSize *uint32 `json:"-"`
	// OrderBy: field by which to order the display of Images.
	// Default value: created_at_asc
	OrderBy ListTagsRequestOrderBy `json:"-"`
	// Name: filter by the tag name (exact match).
	Name *string `json:"-"`
}

type ListTagsRequestOrderBy

type ListTagsRequestOrderBy string

func (ListTagsRequestOrderBy) MarshalJSON

func (enum ListTagsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListTagsRequestOrderBy) String

func (enum ListTagsRequestOrderBy) String() string

func (*ListTagsRequestOrderBy) UnmarshalJSON

func (enum *ListTagsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListTagsResponse

type ListTagsResponse struct {
	// Tags: paginated list of tags matching filters.
	Tags []*Tag `json:"tags"`
	// TotalCount: total number of tags matching filters.
	TotalCount uint32 `json:"total_count"`
}

ListTagsResponse: list tags response.

func (*ListTagsResponse) UnsafeAppend

func (r *ListTagsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListTagsResponse) UnsafeGetTotalCount

func (r *ListTagsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type Namespace

type Namespace struct {
	// ID: the unique ID of the namespace.
	ID string `json:"id"`
	// Name: the name of the namespace, unique in a region accross all organizations.
	Name string `json:"name"`
	// Description: description of the namespace.
	Description string `json:"description"`
	// OrganizationID: owner of the namespace.
	OrganizationID string `json:"organization_id"`
	// ProjectID: project of the namespace.
	ProjectID string `json:"project_id"`
	// Status: namespace status.
	// Default value: unknown
	Status NamespaceStatus `json:"status"`
	// StatusMessage: namespace status details.
	StatusMessage string `json:"status_message"`
	// Endpoint: endpoint reachable by docker.
	Endpoint string `json:"endpoint"`
	// IsPublic: namespace visibility policy.
	IsPublic bool `json:"is_public"`
	// Size: total size of the namespace, calculated as the sum of the size of all images in the namespace.
	Size scw.Size `json:"size"`
	// CreatedAt: creation date.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last modification date, from the user or the service.
	UpdatedAt *time.Time `json:"updated_at"`
	// ImageCount: number of images in the namespace.
	ImageCount uint32 `json:"image_count"`
	// Region: region the namespace belongs to.
	Region scw.Region `json:"region"`
}

Namespace: namespace.

type NamespaceStatus

type NamespaceStatus string

func (NamespaceStatus) MarshalJSON

func (enum NamespaceStatus) MarshalJSON() ([]byte, error)

func (NamespaceStatus) String

func (enum NamespaceStatus) String() string

func (*NamespaceStatus) UnmarshalJSON

func (enum *NamespaceStatus) UnmarshalJSON(data []byte) error

type Tag

type Tag struct {
	// ID: the unique ID of the tag.
	ID string `json:"id"`
	// Name: tag name, unique for an image.
	Name string `json:"name"`
	// ImageID: image ID this tag belongs to.
	ImageID string `json:"image_id"`
	// Status: tag status.
	// Default value: unknown
	Status TagStatus `json:"status"`
	// Digest: hash of the tag actual content. Several tags of a same image may have the same digest.
	Digest string `json:"digest"`
	// CreatedAt: creation date.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last modification date, from the user or the service.
	UpdatedAt *time.Time `json:"updated_at"`
}

Tag: tag.

type TagStatus

type TagStatus string

func (TagStatus) MarshalJSON

func (enum TagStatus) MarshalJSON() ([]byte, error)

func (TagStatus) String

func (enum TagStatus) String() string

func (*TagStatus) UnmarshalJSON

func (enum *TagStatus) UnmarshalJSON(data []byte) error

type UpdateImageRequest

type UpdateImageRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// ImageID: image ID to update.
	ImageID string `json:"-"`
	// Visibility: a `public` image is pullable from internet without authentication, opposed to a `private` image. `inherit` will use the namespace `is_public` parameter.
	// Default value: visibility_unknown
	Visibility ImageVisibility `json:"visibility"`
}

type UpdateNamespaceRequest

type UpdateNamespaceRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// NamespaceID: namespace ID to update.
	NamespaceID string `json:"-"`
	// Description: define a description.
	Description *string `json:"description"`
	// IsPublic: define the default visibility policy.
	IsPublic *bool `json:"is_public"`
}

type WaitForImageRequest

type WaitForImageRequest struct {
	ImageID       string
	Region        scw.Region
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForNamespaceRequest is used by WaitForNamespace method

type WaitForNamespaceRequest

type WaitForNamespaceRequest struct {
	NamespaceID   string
	Region        scw.Region
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForNamespaceRequest is used by WaitForNamespace method

type WaitForTagRequest

type WaitForTagRequest struct {
	TagID         string
	Region        scw.Region
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForTagRequest is used by WaitForTag method

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL