本文整理汇总了Golang中github.com/juju/juju/apiserver/params.BackupsMetadataResult.ID方法的典型用法代码示例。如果您正苦于以下问题:Golang BackupsMetadataResult.ID方法的具体用法?Golang BackupsMetadataResult.ID怎么用?Golang BackupsMetadataResult.ID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/juju/apiserver/params.BackupsMetadataResult
的用法示例。
在下文中一共展示了BackupsMetadataResult.ID方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ResultFromMetadata
// ResultFromMetadata updates the result with the information in the
// metadata value.
func ResultFromMetadata(meta *backups.Metadata) params.BackupsMetadataResult {
var result params.BackupsMetadataResult
result.ID = meta.ID()
result.Checksum = meta.Checksum()
result.ChecksumFormat = meta.ChecksumFormat()
result.Size = meta.Size()
if meta.Stored() != nil {
result.Stored = *(meta.Stored())
}
result.Started = meta.Started
if meta.Finished != nil {
result.Finished = *meta.Finished
}
result.Notes = meta.Notes
result.Environment = meta.Origin.Environment
result.Machine = meta.Origin.Machine
result.Hostname = meta.Origin.Hostname
result.Version = meta.Origin.Version
return result
}
示例2: ResultFromMetadata
// ResultFromMetadata updates the result with the information in the
// metadata value.
func ResultFromMetadata(meta *backups.Metadata) params.BackupsMetadataResult {
var result params.BackupsMetadataResult
result.ID = meta.ID()
result.Checksum = meta.Checksum()
result.ChecksumFormat = meta.ChecksumFormat()
result.Size = meta.Size()
if meta.Stored() != nil {
result.Stored = *(meta.Stored())
}
result.Started = meta.Started
if meta.Finished != nil {
result.Finished = *meta.Finished
}
result.Notes = meta.Notes
result.Model = meta.Origin.Model
result.Machine = meta.Origin.Machine
result.Hostname = meta.Origin.Hostname
result.Version = meta.Origin.Version
result.Series = meta.Origin.Series
// TODO(wallyworld) - remove these ASAP
// These are only used by the restore CLI when re-bootstrapping.
// We will use a better solution but the way restore currently
// works, we need them and they are no longer available via
// bootstrap config. We will need to ifx how re-bootstrap deals
// with these keys to address the issue.
result.CACert = meta.CACert
result.CAPrivateKey = meta.CAPrivateKey
return result
}
示例3: Upload
// Upload sends the backup archive to remote storage.
func (c *Client) Upload(archive io.Reader, meta params.BackupsMetadataResult) (string, error) {
// Empty out some of the metadata.
meta.ID = ""
meta.Stored = time.Time{}
// Send the request.
_, resp, err := c.http.SendHTTPRequestReader("backups", archive, &meta, "juju-backup.tar.gz")
if err != nil {
return "", errors.Annotate(err, "while sending HTTP request")
}
// Handle the response.
if resp.StatusCode == http.StatusOK {
var result params.BackupsMetadataResult
if err := apihttp.ExtractJSONResult(resp, &result); err != nil {
return "", errors.Annotate(err, "while extracting result")
}
return result.ID, nil
} else {
failure, err := apihttp.ExtractAPIError(resp)
if err != nil {
return "", errors.Annotate(err, "while extracting failure")
}
return "", errors.Trace(failure)
}
}
示例4: Upload
// Upload sends the backup archive to remote storage.
func (c *Client) Upload(archive io.ReadSeeker, meta params.BackupsMetadataResult) (string, error) {
// Empty out some of the metadata.
meta.ID = ""
meta.Stored = time.Time{}
req, err := http.NewRequest("PUT", "/backups", nil)
if err != nil {
return "", errors.Trace(err)
}
body, contentType, err := httpattachment.NewBody(archive, meta, "juju-backup.tar.gz")
if err != nil {
return "", errors.Annotatef(err, "cannot create multipart body")
}
req.Header.Set("Content-Type", contentType)
var result params.BackupsMetadataResult
if err := c.client.Do(req, body, &result); err != nil {
return "", errors.Trace(err)
}
return result.ID, nil
}