Documentation ¶
Index ¶
- type AddImageMembersOpts
- type AddImageMembersResult
- type CopyImageOpts
- type DeleteImageMembersOpts
- type DeleteImageMembersResult
- type ExportResult
- type ImageCopyResult
- type ImageTags
- type ImageTagsResult
- type ImagesQuota
- type ImportResult
- type ListImageTagsOpts
- type OperationJob
- type Quota
- type QuotaResult
- type Resources
- type SetImageTagOpts
- type SetImageTagResult
- type UpdateImageMemberOpts
- type UpdateImageMemberResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddImageMembersOpts ¶
type AddImageMembersOpts struct { // Images is the image list to operating Images []string `json:"images"` // Projects is the member list Projects []string `json:"projects"` }
// CopyImage copy an existed image to another one func CopyImage(client *gophercloud.ServiceClient, imageID string, opts CopyImageOpts) (r ImageCopyResult) {
b, err := opts.ToImageCopyMap() if err != nil { r.Err = err return } _, r.Err = client.Post( copyImageURL(client, imageID), b, &r.Body, &gophercloud.RequestOpts{OkCodes: []int{200}}, ) return }
AddImageMembersOpts is the request body of image members adding operation
func (AddImageMembersOpts) ToImageMemberAddMap ¶
func (opts AddImageMembersOpts) ToImageMemberAddMap() (map[string]interface{}, error)
ToImageMemberAddMap assembles a request body
type AddImageMembersResult ¶
type AddImageMembersResult struct {
// contains filtered or unexported fields
}
AddImageMembersResult represents the result of image members adding operation
func (AddImageMembersResult) ExtractJob ¶
func (r AddImageMembersResult) ExtractJob() (*OperationJob, error)
type CopyImageOpts ¶
type CopyImageOpts struct { // Name is the image name Name string `json:"name"` // Description is the description of the image Description string `json:"description,omitempty"` // CmkID is the key of encryption, default is empty CmkID string `json:"cmk_id,omitempty"` }
// SetImageTag set a tag to an image func SetImageTag(client *gophercloud.ServiceClient, opts SetImageTagOpts) (r SetImageTagResult) {
b, err := opts.ToImageTagSetMap() if err != nil { r.Err = err return } _, r.Err = client.Put(putImageTagsURL(client), b, nil, &gophercloud.RequestOpts{ OkCodes: []int{204}}) return }
//ImportImage import an image from OBS bucket to the huawei cloud
func ImportImage(client *gophercloud.ServiceClient, imageID, imageURL string) (r ImportResult) { _, r.Err = client.Put(importImageURL(client, imageID), map[string]string{ "image_url": imageURL, }, nil, &gophercloud.RequestOpts{OkCodes: []int{200}}) return }
// ExportImage export an image from huawei cloud to OBS bucket
func ExportImage(client *gophercloud.ServiceClient, imageID, bucketURL, fileFormat string) (r ExportResult) { _, r.Err = client.Post(exportImageURL(client, imageID), map[string]string{ "bucket_url": bucketURL, "file_format": fileFormat, }, nil, &gophercloud.RequestOpts{OkCodes: []int{200}}) return }
CopyImageOpts represents the request body struct of copy image operation
func (CopyImageOpts) ToImageCopyMap ¶
func (opts CopyImageOpts) ToImageCopyMap() (map[string]interface{}, error)
ToImageCopyMap assembles a request body
type DeleteImageMembersOpts ¶
type DeleteImageMembersOpts struct { // Images is the image list to operating Images []string `json:"images"` // Projects is the member list Projects []string `json:"projects"` }
DeleteImageMembersOpts is the request body of image members adding operation
func (DeleteImageMembersOpts) ToImageMembersDeleteMap ¶
func (opts DeleteImageMembersOpts) ToImageMembersDeleteMap() (map[string]interface{}, error)
ToImageMemberUpdateMap assembles a request body
type DeleteImageMembersResult ¶
type DeleteImageMembersResult struct {
// contains filtered or unexported fields
}
DeleteImageMembersResult represents the result of image members deleting operation
func (DeleteImageMembersResult) ExtractJob ¶
func (r DeleteImageMembersResult) ExtractJob() (*OperationJob, error)
type ExportResult ¶
type ExportResult struct {
// contains filtered or unexported fields
}
ExportResult represents the result of the image exporting
func (ExportResult) ExtractJob ¶
func (r ExportResult) ExtractJob() (*OperationJob, error)
type ImageCopyResult ¶
type ImageCopyResult struct {
// contains filtered or unexported fields
}
CopyResult represents the result of the image copying
func (ImageCopyResult) ExtractJob ¶
func (r ImageCopyResult) ExtractJob() (*OperationJob, error)
type ImageTags ¶
type ImageTags struct {
Tags []string `json:"tags"`
}
ImageTags is the golang struct of ImageTagsResult
type ImageTagsResult ¶
type ImageTagsResult struct {
gophercloud.Result
}
ImageTagsResult represents the result of image tags query
func (ImageTagsResult) Extract ¶
func (r ImageTagsResult) Extract() (*ImageTags, error)
Extract extracts ImageTagsResult to struct
type ImagesQuota ¶
type ImagesQuota struct { // Type is the resource type Type string `json:"type"` // Used is the amount of used resource Used int `json:"used"` // Quota is the amount of all resource Quota int `json:"quota"` // Min is the minimum of resource Min int `json:"min"` // Max is the maximum of resource Max int `json:"max"` }
ImagesQuota represents the quota of cloud images
type ImportResult ¶
type ImportResult struct {
// contains filtered or unexported fields
}
ImportResult represents the result of the image importing
func (ImportResult) ExtractJob ¶
func (r ImportResult) ExtractJob() (*OperationJob, error)
type ListImageTagsOpts ¶
type ListImageTagsOpts struct { // Limit is Integer value for the limit of values to return Limit int `q:"limit"` // Page represents the page number listing Page int `q:"page"` }
ListImageTagsOpts is the options for list image tags operation
func (ListImageTagsOpts) ToImageTagsListQuery ¶
func (opts ListImageTagsOpts) ToImageTagsListQuery() (string, error)
ToImageTagsListQuery builds the options to url query parameters
type OperationJob ¶
type OperationJob struct {
JobID string `json:"job_id"`
}
type QuotaResult ¶
type QuotaResult struct {
gophercloud.Result
}
CloudImagesQuotaResult represents the result of cloud image quota request
func (QuotaResult) Extract ¶
func (r QuotaResult) Extract() (*Quota, error)
Extract extracts the result to CloudImagesQuota
type Resources ¶
type Resources struct {
Resources []ImagesQuota `json:"resources"`
}
type SetImageTagOpts ¶
type SetImageTagOpts struct { // ImageID is the image id ImageID string `json:"image_id"` // Tag is the tag you wanna set Tag string `json:"tag"` // set map tag ImageTag map[string]interface{} `json:"image_tag"` }
// ListImageTags list tags of an image func ListImageTags(client *gophercloud.ServiceClient, opts ListImageTagsOpts) (r ImageTagsResult) {
b, err := opts.ToImageTagsListQuery() if err != nil { r.Err = err return } _, r.Err = client.Get(getImageTagsURL(client)+b, &r.Body, nil) return }
SetImageTagOpts represents the request body of SetImageTag
func (SetImageTagOpts) ToImageTagSetMap ¶
func (opts SetImageTagOpts) ToImageTagSetMap() (map[string]interface{}, error)
ToImageSetMap assembles a request body
type SetImageTagResult ¶
type SetImageTagResult struct {
gophercloud.Result
}
SetImageTagResult is the result of image tag setting operation
type UpdateImageMemberOpts ¶
type UpdateImageMemberOpts struct { // Images is the image list to update Images []string `json:"images"` // ProjectiD is the project id used to set ProjectID string `json:"project_id"` // Status is the status of members, accepted means accept shared image, // otherwise rejected Status string `json:"status"` }
UpdateImageMemberOpts is the request body for image member updating
func (UpdateImageMemberOpts) ToImageMemberUpdateMap ¶
func (opts UpdateImageMemberOpts) ToImageMemberUpdateMap() (map[string]interface{}, error)
ToImageMemberUpdateMap assembles a request body
type UpdateImageMemberResult ¶
type UpdateImageMemberResult struct {
// contains filtered or unexported fields
}
UpdateImageMemberResult represent the result of image members updating operation
func (UpdateImageMemberResult) ExtractJob ¶
func (r UpdateImageMemberResult) ExtractJob() (*OperationJob, error)