mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
vendor: Updating Gophercloud for OpenStack (#12577)
This commit is contained in:
parent
804579f869
commit
2a136ef09b
@ -214,3 +214,40 @@ func ExtendSize(client *gophercloud.ServiceClient, id string, opts ExtendSizeOpt
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UploadImageOptsBuilder allows extensions to add additional parameters to the
|
||||||
|
// UploadImage request.
|
||||||
|
type UploadImageOptsBuilder interface {
|
||||||
|
ToVolumeUploadImageMap() (map[string]interface{}, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UploadImageOpts contains options for uploading a Volume to image storage.
|
||||||
|
type UploadImageOpts struct {
|
||||||
|
// Container format, may be bare, ofv, ova, etc.
|
||||||
|
ContainerFormat string `json:"container_format,omitempty"`
|
||||||
|
// Disk format, may be raw, qcow2, vhd, vdi, vmdk, etc.
|
||||||
|
DiskFormat string `json:"disk_format,omitempty"`
|
||||||
|
// The name of image that will be stored in glance
|
||||||
|
ImageName string `json:"image_name,omitempty"`
|
||||||
|
// Force image creation, usable if volume attached to instance
|
||||||
|
Force bool `json:"force,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToVolumeUploadImageMap assembles a request body based on the contents of a
|
||||||
|
// UploadImageOpts.
|
||||||
|
func (opts UploadImageOpts) ToVolumeUploadImageMap() (map[string]interface{}, error) {
|
||||||
|
return gophercloud.BuildRequestBody(opts, "os-volume_upload_image")
|
||||||
|
}
|
||||||
|
|
||||||
|
// UploadImage will upload image base on the values in UploadImageOptsBuilder
|
||||||
|
func UploadImage(client *gophercloud.ServiceClient, id string, opts UploadImageOptsBuilder) (r UploadImageResult) {
|
||||||
|
b, err := opts.ToVolumeUploadImageMap()
|
||||||
|
if err != nil {
|
||||||
|
r.Err = err
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, r.Err = client.Post(uploadURL(client, id), b, nil, &gophercloud.RequestOpts{
|
||||||
|
OkCodes: []int{202},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -17,6 +17,11 @@ type DetachResult struct {
|
|||||||
gophercloud.ErrResult
|
gophercloud.ErrResult
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UploadImageResult contains the response body and error from a UploadImage request.
|
||||||
|
type UploadImageResult struct {
|
||||||
|
gophercloud.ErrResult
|
||||||
|
}
|
||||||
|
|
||||||
// ReserveResult contains the response body and error from a Get request.
|
// ReserveResult contains the response body and error from a Get request.
|
||||||
type ReserveResult struct {
|
type ReserveResult struct {
|
||||||
gophercloud.ErrResult
|
gophercloud.ErrResult
|
||||||
|
@ -14,6 +14,10 @@ func detachURL(c *gophercloud.ServiceClient, id string) string {
|
|||||||
return attachURL(c, id)
|
return attachURL(c, id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func uploadURL(c *gophercloud.ServiceClient, id string) string {
|
||||||
|
return attachURL(c, id)
|
||||||
|
}
|
||||||
|
|
||||||
func reserveURL(c *gophercloud.ServiceClient, id string) string {
|
func reserveURL(c *gophercloud.ServiceClient, id string) string {
|
||||||
return attachURL(c, id)
|
return attachURL(c, id)
|
||||||
}
|
}
|
||||||
|
13
vendor/github.com/gophercloud/gophercloud/openstack/client.go
generated
vendored
13
vendor/github.com/gophercloud/gophercloud/openstack/client.go
generated
vendored
@ -310,6 +310,19 @@ func NewDBV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*
|
|||||||
return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil
|
return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewDNSV2 creates a ServiceClient that may be used to access the v2 DNS service.
|
||||||
|
func NewDNSV2(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) {
|
||||||
|
eo.ApplyDefaults("dns")
|
||||||
|
url, err := client.EndpointLocator(eo)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &gophercloud.ServiceClient{
|
||||||
|
ProviderClient: client,
|
||||||
|
Endpoint: url,
|
||||||
|
ResourceBase: url + "v2/"}, nil
|
||||||
|
}
|
||||||
|
|
||||||
// NewImageServiceV2 creates a ServiceClient that may be used to access the v2 image service.
|
// NewImageServiceV2 creates a ServiceClient that may be used to access the v2 image service.
|
||||||
func NewImageServiceV2(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) {
|
func NewImageServiceV2(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) {
|
||||||
eo.ApplyDefaults("image")
|
eo.ApplyDefaults("image")
|
||||||
|
41
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors/requests.go
generated
vendored
41
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors/requests.go
generated
vendored
@ -54,6 +54,47 @@ func ListDetail(client *gophercloud.ServiceClient, opts ListOptsBuilder) paginat
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CreateOptsBuilder interface {
|
||||||
|
ToFlavorCreateMap() (map[string]interface{}, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateOpts is passed to Create to create a flavor
|
||||||
|
// Source:
|
||||||
|
// https://github.com/openstack/nova/blob/stable/newton/nova/api/openstack/compute/schemas/flavor_manage.py#L20
|
||||||
|
type CreateOpts struct {
|
||||||
|
Name string `json:"name" required:"true"`
|
||||||
|
// memory size, in MBs
|
||||||
|
RAM int `json:"ram" required:"true"`
|
||||||
|
VCPUs int `json:"vcpus" required:"true"`
|
||||||
|
// disk size, in GBs
|
||||||
|
Disk *int `json:"disk" required:"true"`
|
||||||
|
ID string `json:"id,omitempty"`
|
||||||
|
// non-zero, positive
|
||||||
|
Swap *int `json:"swap,omitempty"`
|
||||||
|
RxTxFactor float64 `json:"rxtx_factor,omitempty"`
|
||||||
|
IsPublic *bool `json:"os-flavor-access:is_public,omitempty"`
|
||||||
|
// ephemeral disk size, in GBs, non-zero, positive
|
||||||
|
Ephemeral *int `json:"OS-FLV-EXT-DATA:ephemeral,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToFlavorCreateMap satisfies the CreateOptsBuilder interface
|
||||||
|
func (opts *CreateOpts) ToFlavorCreateMap() (map[string]interface{}, error) {
|
||||||
|
return gophercloud.BuildRequestBody(opts, "flavor")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a flavor
|
||||||
|
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult) {
|
||||||
|
b, err := opts.ToFlavorCreateMap()
|
||||||
|
if err != nil {
|
||||||
|
r.Err = err
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, r.Err = client.Post(createURL(client), b, &r.Body, &gophercloud.RequestOpts{
|
||||||
|
OkCodes: []int{200, 201},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Get instructs OpenStack to provide details on a single flavor, identified by its ID.
|
// Get instructs OpenStack to provide details on a single flavor, identified by its ID.
|
||||||
// Use ExtractFlavor to convert its result into a Flavor.
|
// Use ExtractFlavor to convert its result into a Flavor.
|
||||||
func Get(client *gophercloud.ServiceClient, id string) (r GetResult) {
|
func Get(client *gophercloud.ServiceClient, id string) (r GetResult) {
|
||||||
|
47
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors/results.go
generated
vendored
47
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors/results.go
generated
vendored
@ -8,13 +8,21 @@ import (
|
|||||||
"github.com/gophercloud/gophercloud/pagination"
|
"github.com/gophercloud/gophercloud/pagination"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetResult temporarily holds the response from a Get call.
|
type commonResult struct {
|
||||||
type GetResult struct {
|
|
||||||
gophercloud.Result
|
gophercloud.Result
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extract provides access to the individual Flavor returned by the Get function.
|
type CreateResult struct {
|
||||||
func (r GetResult) Extract() (*Flavor, error) {
|
commonResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetResult temporarily holds the response from a Get call.
|
||||||
|
type GetResult struct {
|
||||||
|
commonResult
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extract provides access to the individual Flavor returned by the Get and Create functions.
|
||||||
|
func (r commonResult) Extract() (*Flavor, error) {
|
||||||
var s struct {
|
var s struct {
|
||||||
Flavor *Flavor `json:"flavor"`
|
Flavor *Flavor `json:"flavor"`
|
||||||
}
|
}
|
||||||
@ -40,41 +48,32 @@ type Flavor struct {
|
|||||||
VCPUs int `json:"vcpus"`
|
VCPUs int `json:"vcpus"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Flavor) UnmarshalJSON(b []byte) error {
|
func (r *Flavor) UnmarshalJSON(b []byte) error {
|
||||||
var flavor struct {
|
type tmp Flavor
|
||||||
ID string `json:"id"`
|
var s struct {
|
||||||
Disk int `json:"disk"`
|
tmp
|
||||||
RAM int `json:"ram"`
|
Swap interface{} `json:"swap"`
|
||||||
Name string `json:"name"`
|
|
||||||
RxTxFactor float64 `json:"rxtx_factor"`
|
|
||||||
Swap interface{} `json:"swap"`
|
|
||||||
VCPUs int `json:"vcpus"`
|
|
||||||
}
|
}
|
||||||
err := json.Unmarshal(b, &flavor)
|
err := json.Unmarshal(b, &s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
f.ID = flavor.ID
|
*r = Flavor(s.tmp)
|
||||||
f.Disk = flavor.Disk
|
|
||||||
f.RAM = flavor.RAM
|
|
||||||
f.Name = flavor.Name
|
|
||||||
f.RxTxFactor = flavor.RxTxFactor
|
|
||||||
f.VCPUs = flavor.VCPUs
|
|
||||||
|
|
||||||
switch t := flavor.Swap.(type) {
|
switch t := s.Swap.(type) {
|
||||||
case float64:
|
case float64:
|
||||||
f.Swap = int(t)
|
r.Swap = int(t)
|
||||||
case string:
|
case string:
|
||||||
switch t {
|
switch t {
|
||||||
case "":
|
case "":
|
||||||
f.Swap = 0
|
r.Swap = 0
|
||||||
default:
|
default:
|
||||||
swap, err := strconv.ParseFloat(t, 64)
|
swap, err := strconv.ParseFloat(t, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
f.Swap = int(swap)
|
r.Swap = int(swap)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors/urls.go
generated
vendored
4
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/flavors/urls.go
generated
vendored
@ -11,3 +11,7 @@ func getURL(client *gophercloud.ServiceClient, id string) string {
|
|||||||
func listURL(client *gophercloud.ServiceClient) string {
|
func listURL(client *gophercloud.ServiceClient) string {
|
||||||
return client.ServiceURL("flavors", "detail")
|
return client.ServiceURL("flavors", "detail")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createURL(client *gophercloud.ServiceClient) string {
|
||||||
|
return client.ServiceURL("flavors")
|
||||||
|
}
|
||||||
|
4
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/images/results.go
generated
vendored
4
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/images/results.go
generated
vendored
@ -45,8 +45,8 @@ type Image struct {
|
|||||||
Status string
|
Status string
|
||||||
|
|
||||||
Updated string
|
Updated string
|
||||||
|
|
||||||
Metadata map[string]string
|
Metadata map[string]interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ImagePage contains a single page of results from a List operation.
|
// ImagePage contains a single page of results from a List operation.
|
||||||
|
3
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers/requests.go
generated
vendored
3
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers/requests.go
generated
vendored
@ -401,11 +401,10 @@ type RebuildOptsBuilder interface {
|
|||||||
// operation
|
// operation
|
||||||
type RebuildOpts struct {
|
type RebuildOpts struct {
|
||||||
// The server's admin password
|
// The server's admin password
|
||||||
AdminPass string `json:"adminPass" required:"true"`
|
AdminPass string `json:"adminPass,omitempty"`
|
||||||
// The ID of the image you want your server to be provisioned on
|
// The ID of the image you want your server to be provisioned on
|
||||||
ImageID string `json:"imageRef"`
|
ImageID string `json:"imageRef"`
|
||||||
ImageName string `json:"-"`
|
ImageName string `json:"-"`
|
||||||
//ImageName string `json:"-"`
|
|
||||||
// Name to set the server to
|
// Name to set the server to
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
// AccessIPv4 [optional] provides a new IPv4 address for the instance.
|
// AccessIPv4 [optional] provides a new IPv4 address for the instance.
|
||||||
|
22
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers/results.go
generated
vendored
22
vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers/results.go
generated
vendored
@ -19,11 +19,17 @@ type serverResult struct {
|
|||||||
|
|
||||||
// Extract interprets any serverResult as a Server, if possible.
|
// Extract interprets any serverResult as a Server, if possible.
|
||||||
func (r serverResult) Extract() (*Server, error) {
|
func (r serverResult) Extract() (*Server, error) {
|
||||||
var s struct {
|
var s Server
|
||||||
Server *Server `json:"server"`
|
|
||||||
}
|
|
||||||
err := r.ExtractInto(&s)
|
err := r.ExtractInto(&s)
|
||||||
return s.Server, err
|
return &s, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r serverResult) ExtractInto(v interface{}) error {
|
||||||
|
return r.Result.ExtractIntoStructPtr(v, "server")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExtractServersInto(r pagination.Page, v interface{}) error {
|
||||||
|
return r.(ServerPage).Result.ExtractIntoSlicePtr(v, "servers")
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateResult temporarily contains the response from a Create call.
|
// CreateResult temporarily contains the response from a Create call.
|
||||||
@ -221,11 +227,9 @@ func (r ServerPage) NextPageURL() (string, error) {
|
|||||||
|
|
||||||
// ExtractServers interprets the results of a single page from a List() call, producing a slice of Server entities.
|
// ExtractServers interprets the results of a single page from a List() call, producing a slice of Server entities.
|
||||||
func ExtractServers(r pagination.Page) ([]Server, error) {
|
func ExtractServers(r pagination.Page) ([]Server, error) {
|
||||||
var s struct {
|
var s []Server
|
||||||
Servers []Server `json:"servers"`
|
err := ExtractServersInto(r, &s)
|
||||||
}
|
return s, err
|
||||||
err := (r.(ServerPage)).ExtractInto(&s)
|
|
||||||
return s.Servers, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MetadataResult contains the result of a call for (potentially) multiple key-value pairs.
|
// MetadataResult contains the result of a call for (potentially) multiple key-value pairs.
|
||||||
|
@ -99,7 +99,7 @@ type CreateOpts struct {
|
|||||||
|
|
||||||
// properties is a set of properties, if any, that
|
// properties is a set of properties, if any, that
|
||||||
// are associated with the image.
|
// are associated with the image.
|
||||||
Properties map[string]string `json:"-,omitempty"`
|
Properties map[string]string `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToImageCreateMap assembles a request body based on the contents of
|
// ToImageCreateMap assembles a request body based on the contents of
|
||||||
|
@ -21,6 +21,7 @@ type ListOpts struct {
|
|||||||
Marker string `q:"marker"`
|
Marker string `q:"marker"`
|
||||||
SortKey string `q:"sort_key"`
|
SortKey string `q:"sort_key"`
|
||||||
SortDir string `q:"sort_dir"`
|
SortDir string `q:"sort_dir"`
|
||||||
|
RouterID string `q:"router_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// List returns a Pager which allows you to iterate over a collection of
|
// List returns a Pager which allows you to iterate over a collection of
|
||||||
|
@ -34,6 +34,9 @@ type FloatingIP struct {
|
|||||||
|
|
||||||
// The condition of the API resource.
|
// The condition of the API resource.
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
|
|
||||||
|
//The ID of the router used for this Floating-IP
|
||||||
|
RouterID string `json:"router_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type commonResult struct {
|
type commonResult struct {
|
||||||
|
21
vendor/github.com/gophercloud/gophercloud/pagination/pager.go
generated
vendored
21
vendor/github.com/gophercloud/gophercloud/pagination/pager.go
generated
vendored
@ -145,27 +145,24 @@ func (p Pager) AllPages() (Page, error) {
|
|||||||
|
|
||||||
// Switch on the page body type. Recognized types are `map[string]interface{}`,
|
// Switch on the page body type. Recognized types are `map[string]interface{}`,
|
||||||
// `[]byte`, and `[]interface{}`.
|
// `[]byte`, and `[]interface{}`.
|
||||||
switch testPage.GetBody().(type) {
|
switch pb := testPage.GetBody().(type) {
|
||||||
case map[string]interface{}:
|
case map[string]interface{}:
|
||||||
// key is the map key for the page body if the body type is `map[string]interface{}`.
|
// key is the map key for the page body if the body type is `map[string]interface{}`.
|
||||||
var key string
|
var key string
|
||||||
// Iterate over the pages to concatenate the bodies.
|
// Iterate over the pages to concatenate the bodies.
|
||||||
err = p.EachPage(func(page Page) (bool, error) {
|
err = p.EachPage(func(page Page) (bool, error) {
|
||||||
b := page.GetBody().(map[string]interface{})
|
b := page.GetBody().(map[string]interface{})
|
||||||
for k := range b {
|
for k, v := range b {
|
||||||
// If it's a linked page, we don't want the `links`, we want the other one.
|
// If it's a linked page, we don't want the `links`, we want the other one.
|
||||||
if !strings.HasSuffix(k, "links") {
|
if !strings.HasSuffix(k, "links") {
|
||||||
key = k
|
// check the field's type. we only want []interface{} (which is really []map[string]interface{})
|
||||||
|
switch vt := v.(type) {
|
||||||
|
case []interface{}:
|
||||||
|
key = k
|
||||||
|
pagesSlice = append(pagesSlice, vt...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch keyType := b[key].(type) {
|
|
||||||
case map[string]interface{}:
|
|
||||||
pagesSlice = append(pagesSlice, keyType)
|
|
||||||
case []interface{}:
|
|
||||||
pagesSlice = append(pagesSlice, b[key].([]interface{})...)
|
|
||||||
default:
|
|
||||||
return false, fmt.Errorf("Unsupported page body type: %+v", keyType)
|
|
||||||
}
|
|
||||||
return true, nil
|
return true, nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -216,7 +213,7 @@ func (p Pager) AllPages() (Page, error) {
|
|||||||
default:
|
default:
|
||||||
err := gophercloud.ErrUnexpectedType{}
|
err := gophercloud.ErrUnexpectedType{}
|
||||||
err.Expected = "map[string]interface{}/[]byte/[]interface{}"
|
err.Expected = "map[string]interface{}/[]byte/[]interface{}"
|
||||||
err.Actual = fmt.Sprintf("%v", reflect.TypeOf(testPage.GetBody()))
|
err.Actual = fmt.Sprintf("%T", pb)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
200
vendor/vendor.json
vendored
200
vendor/vendor.json
vendored
@ -1490,278 +1490,278 @@
|
|||||||
{
|
{
|
||||||
"checksumSHA1": "xKB/9qxVhWxAERkjZLYfuUBR4P8=",
|
"checksumSHA1": "xKB/9qxVhWxAERkjZLYfuUBR4P8=",
|
||||||
"path": "github.com/gophercloud/gophercloud",
|
"path": "github.com/gophercloud/gophercloud",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "S3zTth9INyj1RfyHkQEvJAvRWvw=",
|
"checksumSHA1": "0KdIjTH5IO8hlIl8kdfI6313GiY=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack",
|
"path": "github.com/gophercloud/gophercloud/openstack",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "XAKLUSwXSMGtbp+U874qU4MzT/A=",
|
"checksumSHA1": "f2hdkOhYmmO2ljNtr+OThK8VAEI=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/blockstorage/extensions/volumeactions",
|
"path": "github.com/gophercloud/gophercloud/openstack/blockstorage/extensions/volumeactions",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "9DTfNt/B4aZWXEmTNqXU5rNrrDc=",
|
"checksumSHA1": "9DTfNt/B4aZWXEmTNqXU5rNrrDc=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes",
|
"path": "github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "B4IXSmq364HcBruvvV0QjDFxZgc=",
|
"checksumSHA1": "B4IXSmq364HcBruvvV0QjDFxZgc=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes",
|
"path": "github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "w2wHF5eEBE89ZYlkS9GAJsSIq9U=",
|
"checksumSHA1": "w2wHF5eEBE89ZYlkS9GAJsSIq9U=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/bootfromvolume",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/bootfromvolume",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "e7AW3YDVYJPKUjpqsB4AL9RRlTw=",
|
"checksumSHA1": "e7AW3YDVYJPKUjpqsB4AL9RRlTw=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/floatingips",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/floatingips",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "RWwUliHD65cWApdEo4ckOcPSArg=",
|
"checksumSHA1": "RWwUliHD65cWApdEo4ckOcPSArg=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/keypairs",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/keypairs",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "tOmntqlmZ/r8aObUChNloddLhwk=",
|
"checksumSHA1": "tOmntqlmZ/r8aObUChNloddLhwk=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/schedulerhints",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/schedulerhints",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "jNrUTQf+9dYfaD7YqvKwC+kGvyY=",
|
"checksumSHA1": "jNrUTQf+9dYfaD7YqvKwC+kGvyY=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/secgroups",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/secgroups",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "ci4gzd7Uy9JC4NcQ2ms19pjtW6s=",
|
"checksumSHA1": "ci4gzd7Uy9JC4NcQ2ms19pjtW6s=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/servergroups",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/servergroups",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "qBpGbX7LQMPATdO8XyQmU7IXDiI=",
|
"checksumSHA1": "qBpGbX7LQMPATdO8XyQmU7IXDiI=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/startstop",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/startstop",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "5JuziAp9BSRA/z+8pTjVLTWeTw4=",
|
"checksumSHA1": "5JuziAp9BSRA/z+8pTjVLTWeTw4=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/tenantnetworks",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/tenantnetworks",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "2VNgU0F9PDax5VKClvMLmbzuksw=",
|
"checksumSHA1": "2VNgU0F9PDax5VKClvMLmbzuksw=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "a9xDFPigDjHlPlthknKlBduGvKY=",
|
"checksumSHA1": "S1BV3o8Pa0aM5RaUuRYXY7LnPIc=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/flavors",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/flavors",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "UGeqrw3KdPNRwDxl315MAYyy/uY=",
|
"checksumSHA1": "Rnzx2YgOD41k8KoPA08tR992PxQ=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/images",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/images",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "S8zR7Y8Yf6dz5+m5jyWYu5ar+vk=",
|
"checksumSHA1": "IjCvcaNnRW++hclt21WUkMYinaA=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/servers",
|
"path": "github.com/gophercloud/gophercloud/openstack/compute/v2/servers",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "1sVqsZBZBNhDXLY9XzjMkcOkcbg=",
|
"checksumSHA1": "1sVqsZBZBNhDXLY9XzjMkcOkcbg=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants",
|
"path": "github.com/gophercloud/gophercloud/openstack/identity/v2/tenants",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "AvUU5En9YpG25iLlcAPDgcQODjI=",
|
"checksumSHA1": "AvUU5En9YpG25iLlcAPDgcQODjI=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens",
|
"path": "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "ZKyEbJuIlvuZ9aUushINCXJHF4w=",
|
"checksumSHA1": "ZKyEbJuIlvuZ9aUushINCXJHF4w=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens",
|
"path": "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "5+wNKnxGvSGV8lHS+7km0ZiNEts=",
|
"checksumSHA1": "5+wNKnxGvSGV8lHS+7km0ZiNEts=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/imageservice/v2/imagedata",
|
"path": "github.com/gophercloud/gophercloud/openstack/imageservice/v2/imagedata",
|
||||||
"revision": "f47ca3a2d457dd4601b823eb17ecc3094baf5fab",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-17T17:23:12Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "TG1z1hNllqjUgBpNnqZTxHqXBTs=",
|
"checksumSHA1": "fyXTcJg3obtp3n+99WOGtUiMelg=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/imageservice/v2/images",
|
"path": "github.com/gophercloud/gophercloud/openstack/imageservice/v2/images",
|
||||||
"revision": "f47ca3a2d457dd4601b823eb17ecc3094baf5fab",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-17T17:23:12Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "aTHxjMlfNXFJ3l2TZyvIwqt/3kM=",
|
"checksumSHA1": "aTHxjMlfNXFJ3l2TZyvIwqt/3kM=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/firewalls",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/firewalls",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "14ZhP0wE/WCL/6oujcML755AaH4=",
|
"checksumSHA1": "14ZhP0wE/WCL/6oujcML755AaH4=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/policies",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/policies",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "sYET5A7WTyJ7dpuxR/VXYoReldw=",
|
"checksumSHA1": "sYET5A7WTyJ7dpuxR/VXYoReldw=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/rules",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/fwaas/rules",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "0UcU/7oQbhlnYKoT+I+T403U8MQ=",
|
"checksumSHA1": "CHmnyRSFPivC+b/ojgfeEIY5ReM=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/floatingips",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/floatingips",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "Mjt7GwFygyqPxygY8xZZnUasHmk=",
|
"checksumSHA1": "Mjt7GwFygyqPxygY8xZZnUasHmk=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "mCTz2rnyVfhjJ+AD/WihCNcYWiY=",
|
"checksumSHA1": "mCTz2rnyVfhjJ+AD/WihCNcYWiY=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/members",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/members",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "B2mtHvADREtFLam72wyijyQh/Ds=",
|
"checksumSHA1": "B2mtHvADREtFLam72wyijyQh/Ds=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/monitors",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/monitors",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "pTr22CKKJ26yvhgd0SRxFF4jkEs=",
|
"checksumSHA1": "pTr22CKKJ26yvhgd0SRxFF4jkEs=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/pools",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/pools",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "E7/Z7g5O9o+ge+8YklheTpKgWNw=",
|
"checksumSHA1": "E7/Z7g5O9o+ge+8YklheTpKgWNw=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/vips",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas/vips",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "mhpwj5tPv7Uw5aUfC55fhLPBcKo=",
|
"checksumSHA1": "mhpwj5tPv7Uw5aUfC55fhLPBcKo=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "5efJz6UH7JCFeav5ZCCzicXCFTU=",
|
"checksumSHA1": "5efJz6UH7JCFeav5ZCCzicXCFTU=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "TVFgBTz7B6bb1R4TWdgAkbE1/fk=",
|
"checksumSHA1": "TVFgBTz7B6bb1R4TWdgAkbE1/fk=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "xirjw9vJIN6rmkT3T56bfPfOLUM=",
|
"checksumSHA1": "xirjw9vJIN6rmkT3T56bfPfOLUM=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "FKwSMrpQf7b3TcCOQfh+ovoBShA=",
|
"checksumSHA1": "FKwSMrpQf7b3TcCOQfh+ovoBShA=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "CsS/kI3VeLcSHzMKviFVDwqwgvk=",
|
"checksumSHA1": "CsS/kI3VeLcSHzMKviFVDwqwgvk=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/rules",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/rules",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "zKOhFTL5BDZPMC58ZzZkryjskno=",
|
"checksumSHA1": "zKOhFTL5BDZPMC58ZzZkryjskno=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/networks",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/networks",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "Lx257Qaf6y2weNwHTx6lm3OY7a8=",
|
"checksumSHA1": "Lx257Qaf6y2weNwHTx6lm3OY7a8=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/ports",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/ports",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "wY0MY7RpX0Z2Y0rMmrAuYS6cHYA=",
|
"checksumSHA1": "wY0MY7RpX0Z2Y0rMmrAuYS6cHYA=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/subnets",
|
"path": "github.com/gophercloud/gophercloud/openstack/networking/v2/subnets",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "LtdQKIKKRKe6FOGdBvrBz/bg1Gc=",
|
"checksumSHA1": "LtdQKIKKRKe6FOGdBvrBz/bg1Gc=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/accounts",
|
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/accounts",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "1lwXcRrM5A7iCfekbn3bpfNLe3g=",
|
"checksumSHA1": "1lwXcRrM5A7iCfekbn3bpfNLe3g=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/containers",
|
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/containers",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "dotTh+ZsNiyv8e9Z4e0chPEZDKE=",
|
"checksumSHA1": "dotTh+ZsNiyv8e9Z4e0chPEZDKE=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/objects",
|
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/objects",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "roxPPVwS2CjJhf0CApHNQxAX7EA=",
|
"checksumSHA1": "roxPPVwS2CjJhf0CApHNQxAX7EA=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/swauth",
|
"path": "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/swauth",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "TDOZnaS0TO0NirpxV1QwPerAQTY=",
|
"checksumSHA1": "TDOZnaS0TO0NirpxV1QwPerAQTY=",
|
||||||
"path": "github.com/gophercloud/gophercloud/openstack/utils",
|
"path": "github.com/gophercloud/gophercloud/openstack/utils",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "pmpLcbUZ+EgLUmTbzMtGRq3haOU=",
|
"checksumSHA1": "FNy075ydQZXvnL2bNNIOCmy/ghs=",
|
||||||
"path": "github.com/gophercloud/gophercloud/pagination",
|
"path": "github.com/gophercloud/gophercloud/pagination",
|
||||||
"revision": "b06120d13e262ceaf890ef38ee30898813696af0",
|
"revision": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
|
||||||
"revisionTime": "2017-02-14T04:36:15Z"
|
"revisionTime": "2017-03-10T01:59:53Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "6tvhO5ieOvX9R6o0vtl19s0lr8E=",
|
"checksumSHA1": "6tvhO5ieOvX9R6o0vtl19s0lr8E=",
|
||||||
|
Loading…
Reference in New Issue
Block a user