registry

package
v1.0.0-beta.11 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2023 License: Apache-2.0 Imports: 14 Imported by: 5

Documentation

Overview

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

Index

Constants

View Source
const (
	// ImageStatusUnknown is [insert doc].
	ImageStatusUnknown = ImageStatus("unknown")
	// ImageStatusReady is [insert doc].
	ImageStatusReady = ImageStatus("ready")
	// ImageStatusDeleting is [insert doc].
	ImageStatusDeleting = ImageStatus("deleting")
	// ImageStatusError is [insert doc].
	ImageStatusError = ImageStatus("error")
	// ImageStatusLocked is [insert doc].
	ImageStatusLocked = ImageStatus("locked")
)
View Source
const (
	// ImageVisibilityVisibilityUnknown is [insert doc].
	ImageVisibilityVisibilityUnknown = ImageVisibility("visibility_unknown")
	// ImageVisibilityInherit is [insert doc].
	ImageVisibilityInherit = ImageVisibility("inherit")
	// ImageVisibilityPublic is [insert doc].
	ImageVisibilityPublic = ImageVisibility("public")
	// ImageVisibilityPrivate is [insert doc].
	ImageVisibilityPrivate = ImageVisibility("private")
)
View Source
const (
	// ListImagesRequestOrderByCreatedAtAsc is [insert doc].
	ListImagesRequestOrderByCreatedAtAsc = ListImagesRequestOrderBy("created_at_asc")
	// ListImagesRequestOrderByCreatedAtDesc is [insert doc].
	ListImagesRequestOrderByCreatedAtDesc = ListImagesRequestOrderBy("created_at_desc")
	// ListImagesRequestOrderByNameAsc is [insert doc].
	ListImagesRequestOrderByNameAsc = ListImagesRequestOrderBy("name_asc")
	// ListImagesRequestOrderByNameDesc is [insert doc].
	ListImagesRequestOrderByNameDesc = ListImagesRequestOrderBy("name_desc")
)
View Source
const (
	// ListNamespacesRequestOrderByCreatedAtAsc is [insert doc].
	ListNamespacesRequestOrderByCreatedAtAsc = ListNamespacesRequestOrderBy("created_at_asc")
	// ListNamespacesRequestOrderByCreatedAtDesc is [insert doc].
	ListNamespacesRequestOrderByCreatedAtDesc = ListNamespacesRequestOrderBy("created_at_desc")
	// ListNamespacesRequestOrderByDescriptionAsc is [insert doc].
	ListNamespacesRequestOrderByDescriptionAsc = ListNamespacesRequestOrderBy("description_asc")
	// ListNamespacesRequestOrderByDescriptionDesc is [insert doc].
	ListNamespacesRequestOrderByDescriptionDesc = ListNamespacesRequestOrderBy("description_desc")
	// ListNamespacesRequestOrderByNameAsc is [insert doc].
	ListNamespacesRequestOrderByNameAsc = ListNamespacesRequestOrderBy("name_asc")
	// ListNamespacesRequestOrderByNameDesc is [insert doc].
	ListNamespacesRequestOrderByNameDesc = ListNamespacesRequestOrderBy("name_desc")
)
View Source
const (
	// ListTagsRequestOrderByCreatedAtAsc is [insert doc].
	ListTagsRequestOrderByCreatedAtAsc = ListTagsRequestOrderBy("created_at_asc")
	// ListTagsRequestOrderByCreatedAtDesc is [insert doc].
	ListTagsRequestOrderByCreatedAtDesc = ListTagsRequestOrderBy("created_at_desc")
	// ListTagsRequestOrderByNameAsc is [insert doc].
	ListTagsRequestOrderByNameAsc = ListTagsRequestOrderBy("name_asc")
	// ListTagsRequestOrderByNameDesc is [insert doc].
	ListTagsRequestOrderByNameDesc = ListTagsRequestOrderBy("name_desc")
)
View Source
const (
	// NamespaceStatusUnknown is [insert doc].
	NamespaceStatusUnknown = NamespaceStatus("unknown")
	// NamespaceStatusReady is [insert doc].
	NamespaceStatusReady = NamespaceStatus("ready")
	// NamespaceStatusDeleting is [insert doc].
	NamespaceStatusDeleting = NamespaceStatus("deleting")
	// NamespaceStatusError is [insert doc].
	NamespaceStatusError = NamespaceStatus("error")
	// NamespaceStatusLocked is [insert doc].
	NamespaceStatusLocked = NamespaceStatus("locked")
)
View Source
const (
	// TagStatusUnknown is [insert doc].
	TagStatusUnknown = TagStatus("unknown")
	// TagStatusReady is [insert doc].
	TagStatusReady = TagStatus("ready")
	// TagStatusDeleting is [insert doc].
	TagStatusDeleting = TagStatus("deleting")
	// TagStatusError is [insert doc].
	TagStatusError = TagStatus("error")
	// TagStatusLocked is [insert doc].
	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 an image

Delete the image associated with the given id.

func (*API) DeleteNamespace

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

DeleteNamespace: delete an existing namespace

Delete the namespace associated with the given id.

func (*API) DeleteTag

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

DeleteTag: delete a tag

Delete the tag associated with the given id.

func (*API) GetImage

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

GetImage: get a image

Get the image associated with the given id.

func (*API) GetNamespace

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

GetNamespace: get a namespace

Get the namespace associated with the given id.

func (*API) GetTag

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

GetTag: get a tag

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 an existing image

Update the image associated with the given id.

func (*API) UpdateNamespace

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

UpdateNamespace: update an existing namespace

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
	//
	// 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