Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
89f596f4
Commit
89f596f4
authored
Mar 11, 2017
by
Maxym Kutsevol
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update deps
parent
2c05bb53
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
883 additions
and
1 deletion
+883
-1
Godeps.json
Godeps/Godeps.json
+9
-1
LICENSES
Godeps/LICENSES
+398
-0
BUILD
pkg/cloudprovider/providers/openstack/BUILD
+2
-0
BUILD
vendor/BUILD
+31
-0
doc.go
.../gophercloud/openstack/blockstorage/v1/apiversions/doc.go
+3
-0
requests.go
...ercloud/openstack/blockstorage/v1/apiversions/requests.go
+20
-0
results.go
...hercloud/openstack/blockstorage/v1/apiversions/results.go
+49
-0
urls.go
...gophercloud/openstack/blockstorage/v1/apiversions/urls.go
+18
-0
doc.go
...loud/gophercloud/openstack/blockstorage/v2/volumes/doc.go
+5
-0
requests.go
...gophercloud/openstack/blockstorage/v2/volumes/requests.go
+182
-0
results.go
.../gophercloud/openstack/blockstorage/v2/volumes/results.go
+121
-0
urls.go
...oud/gophercloud/openstack/blockstorage/v2/volumes/urls.go
+23
-0
util.go
...oud/gophercloud/openstack/blockstorage/v2/volumes/util.go
+22
-0
No files found.
Godeps/Godeps.json
View file @
89f596f4
{
"ImportPath"
:
"k8s.io/kubernetes"
,
"GoVersion"
:
"go1.7"
,
"GodepVersion"
:
"v7
9
"
,
"GodepVersion"
:
"v7
4
"
,
"Packages"
:
[
"github.com/ugorji/go/codec/codecgen"
,
"github.com/onsi/ginkgo/ginkgo"
,
...
...
@@ -1417,10 +1417,18 @@
"Rev"
:
"12f19e5e04d617182cffa5c11f189ef0013b9791"
},
{
"ImportPath"
:
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions"
,
"Rev"
:
"12f19e5e04d617182cffa5c11f189ef0013b9791"
},
{
"ImportPath"
:
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes"
,
"Rev"
:
"12f19e5e04d617182cffa5c11f189ef0013b9791"
},
{
"ImportPath"
:
"github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes"
,
"Rev"
:
"12f19e5e04d617182cffa5c11f189ef0013b9791"
},
{
"ImportPath"
:
"github.com/gophercloud/gophercloud/openstack/common/extensions"
,
"Rev"
:
"12f19e5e04d617182cffa5c11f189ef0013b9791"
},
...
...
Godeps/LICENSES
View file @
89f596f4
...
...
@@ -47690,6 +47690,205 @@ specific language governing permissions and limitations under the License.
================================================================================
=
vendor
/
github
.
com
/
gophercloud
/
gophercloud
/
openstack
/
blockstorage
/
v1
/
apiversions
licensed
under
:
=
Copyright
2012
-
2013
Rackspace
,
Inc
.
Licensed
under
the
Apache
License
,
Version
2.0
(
the
"License"
);
you
may
not
use
this
file
except
in
compliance
with
the
License
.
You
may
obtain
a
copy
of
the
License
at
http
://
www
.
apache
.
org
/
licenses
/
LICENSE
-
2.0
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
software
distributed
under
the
License
is
distributed
on
an
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied
.
See
the
License
for
the
specific
language
governing
permissions
and
limitations
under
the
License
.
------
Apache
License
Version
2.0
,
January
2004
http
://
www
.
apache
.
org
/
licenses
/
TERMS
AND
CONDITIONS
FOR
USE
,
REPRODUCTION
,
AND
DISTRIBUTION
1.
Definitions
.
"License"
shall
mean
the
terms
and
conditions
for
use
,
reproduction
,
and
distribution
as
defined
by
Sections
1
through
9
of
this
document
.
"Licensor"
shall
mean
the
copyright
owner
or
entity
authorized
by
the
copyright
owner
that
is
granting
the
License
.
"Legal Entity"
shall
mean
the
union
of
the
acting
entity
and
all
other
entities
that
control
,
are
controlled
by
,
or
are
under
common
control
with
that
entity
.
For
the
purposes
of
this
definition
,
"control"
means
(
i
)
the
power
,
direct
or
indirect
,
to
cause
the
direction
or
management
of
such
entity
,
whether
by
contract
or
otherwise
,
or
(
ii
)
ownership
of
fifty
percent
(
50
%)
or
more
of
the
outstanding
shares
,
or
(
iii
)
beneficial
ownership
of
such
entity
.
"You"
(
or
"Your"
)
shall
mean
an
individual
or
Legal
Entity
exercising
permissions
granted
by
this
License
.
"Source"
form
shall
mean
the
preferred
form
for
making
modifications
,
including
but
not
limited
to
software
source
code
,
documentation
source
,
and
configuration
files
.
"Object"
form
shall
mean
any
form
resulting
from
mechanical
transformation
or
translation
of
a
Source
form
,
including
but
not
limited
to
compiled
object
code
,
generated
documentation
,
and
conversions
to
other
media
types
.
"Work"
shall
mean
the
work
of
authorship
,
whether
in
Source
or
Object
form
,
made
available
under
the
License
,
as
indicated
by
a
copyright
notice
that
is
included
in
or
attached
to
the
work
(
an
example
is
provided
in
the
Appendix
below
).
"Derivative Works"
shall
mean
any
work
,
whether
in
Source
or
Object
form
,
that
is
based
on
(
or
derived
from
)
the
Work
and
for
which
the
editorial
revisions
,
annotations
,
elaborations
,
or
other
modifications
represent
,
as
a
whole
,
an
original
work
of
authorship
.
For
the
purposes
of
this
License
,
Derivative
Works
shall
not
include
works
that
remain
separable
from
,
or
merely
link
(
or
bind
by
name
)
to
the
interfaces
of
,
the
Work
and
Derivative
Works
thereof
.
"Contribution"
shall
mean
any
work
of
authorship
,
including
the
original
version
of
the
Work
and
any
modifications
or
additions
to
that
Work
or
Derivative
Works
thereof
,
that
is
intentionally
submitted
to
Licensor
for
inclusion
in
the
Work
by
the
copyright
owner
or
by
an
individual
or
Legal
Entity
authorized
to
submit
on
behalf
of
the
copyright
owner
.
For
the
purposes
of
this
definition
,
"submitted"
means
any
form
of
electronic
,
verbal
,
or
written
communication
sent
to
the
Licensor
or
its
representatives
,
including
but
not
limited
to
communication
on
electronic
mailing
lists
,
source
code
control
systems
,
and
issue
tracking
systems
that
are
managed
by
,
or
on
behalf
of
,
the
Licensor
for
the
purpose
of
discussing
and
improving
the
Work
,
but
excluding
communication
that
is
conspicuously
marked
or
otherwise
designated
in
writing
by
the
copyright
owner
as
"Not a Contribution."
"Contributor"
shall
mean
Licensor
and
any
individual
or
Legal
Entity
on
behalf
of
whom
a
Contribution
has
been
received
by
Licensor
and
subsequently
incorporated
within
the
Work
.
2.
Grant
of
Copyright
License
.
Subject
to
the
terms
and
conditions
of
this
License
,
each
Contributor
hereby
grants
to
You
a
perpetual
,
worldwide
,
non
-
exclusive
,
no
-
charge
,
royalty
-
free
,
irrevocable
copyright
license
to
reproduce
,
prepare
Derivative
Works
of
,
publicly
display
,
publicly
perform
,
sublicense
,
and
distribute
the
Work
and
such
Derivative
Works
in
Source
or
Object
form
.
3.
Grant
of
Patent
License
.
Subject
to
the
terms
and
conditions
of
this
License
,
each
Contributor
hereby
grants
to
You
a
perpetual
,
worldwide
,
non
-
exclusive
,
no
-
charge
,
royalty
-
free
,
irrevocable
(
except
as
stated
in
this
section
)
patent
license
to
make
,
have
made
,
use
,
offer
to
sell
,
sell
,
import
,
and
otherwise
transfer
the
Work
,
where
such
license
applies
only
to
those
patent
claims
licensable
by
such
Contributor
that
are
necessarily
infringed
by
their
Contribution
(
s
)
alone
or
by
combination
of
their
Contribution
(
s
)
with
the
Work
to
which
such
Contribution
(
s
)
was
submitted
.
If
You
institute
patent
litigation
against
any
entity
(
including
a
cross
-
claim
or
counterclaim
in
a
lawsuit
)
alleging
that
the
Work
or
a
Contribution
incorporated
within
the
Work
constitutes
direct
or
contributory
patent
infringement
,
then
any
patent
licenses
granted
to
You
under
this
License
for
that
Work
shall
terminate
as
of
the
date
such
litigation
is
filed
.
4.
Redistribution
.
You
may
reproduce
and
distribute
copies
of
the
Work
or
Derivative
Works
thereof
in
any
medium
,
with
or
without
modifications
,
and
in
Source
or
Object
form
,
provided
that
You
meet
the
following
conditions
:
(
a
)
You
must
give
any
other
recipients
of
the
Work
or
Derivative
Works
a
copy
of
this
License
;
and
(
b
)
You
must
cause
any
modified
files
to
carry
prominent
notices
stating
that
You
changed
the
files
;
and
(
c
)
You
must
retain
,
in
the
Source
form
of
any
Derivative
Works
that
You
distribute
,
all
copyright
,
patent
,
trademark
,
and
attribution
notices
from
the
Source
form
of
the
Work
,
excluding
those
notices
that
do
not
pertain
to
any
part
of
the
Derivative
Works
;
and
(
d
)
If
the
Work
includes
a
"NOTICE"
text
file
as
part
of
its
distribution
,
then
any
Derivative
Works
that
You
distribute
must
include
a
readable
copy
of
the
attribution
notices
contained
within
such
NOTICE
file
,
excluding
those
notices
that
do
not
pertain
to
any
part
of
the
Derivative
Works
,
in
at
least
one
of
the
following
places
:
within
a
NOTICE
text
file
distributed
as
part
of
the
Derivative
Works
;
within
the
Source
form
or
documentation
,
if
provided
along
with
the
Derivative
Works
;
or
,
within
a
display
generated
by
the
Derivative
Works
,
if
and
wherever
such
third
-
party
notices
normally
appear
.
The
contents
of
the
NOTICE
file
are
for
informational
purposes
only
and
do
not
modify
the
License
.
You
may
add
Your
own
attribution
notices
within
Derivative
Works
that
You
distribute
,
alongside
or
as
an
addendum
to
the
NOTICE
text
from
the
Work
,
provided
that
such
additional
attribution
notices
cannot
be
construed
as
modifying
the
License
.
You
may
add
Your
own
copyright
statement
to
Your
modifications
and
may
provide
additional
or
different
license
terms
and
conditions
for
use
,
reproduction
,
or
distribution
of
Your
modifications
,
or
for
any
such
Derivative
Works
as
a
whole
,
provided
Your
use
,
reproduction
,
and
distribution
of
the
Work
otherwise
complies
with
the
conditions
stated
in
this
License
.
5.
Submission
of
Contributions
.
Unless
You
explicitly
state
otherwise
,
any
Contribution
intentionally
submitted
for
inclusion
in
the
Work
by
You
to
the
Licensor
shall
be
under
the
terms
and
conditions
of
this
License
,
without
any
additional
terms
or
conditions
.
Notwithstanding
the
above
,
nothing
herein
shall
supersede
or
modify
the
terms
of
any
separate
license
agreement
you
may
have
executed
with
Licensor
regarding
such
Contributions
.
6.
Trademarks
.
This
License
does
not
grant
permission
to
use
the
trade
names
,
trademarks
,
service
marks
,
or
product
names
of
the
Licensor
,
except
as
required
for
reasonable
and
customary
use
in
describing
the
origin
of
the
Work
and
reproducing
the
content
of
the
NOTICE
file
.
7.
Disclaimer
of
Warranty
.
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
Licensor
provides
the
Work
(
and
each
Contributor
provides
its
Contributions
)
on
an
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied
,
including
,
without
limitation
,
any
warranties
or
conditions
of
TITLE
,
NON
-
INFRINGEMENT
,
MERCHANTABILITY
,
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
You
are
solely
responsible
for
determining
the
appropriateness
of
using
or
redistributing
the
Work
and
assume
any
risks
associated
with
Your
exercise
of
permissions
under
this
License
.
8.
Limitation
of
Liability
.
In
no
event
and
under
no
legal
theory
,
whether
in
tort
(
including
negligence
),
contract
,
or
otherwise
,
unless
required
by
applicable
law
(
such
as
deliberate
and
grossly
negligent
acts
)
or
agreed
to
in
writing
,
shall
any
Contributor
be
liable
to
You
for
damages
,
including
any
direct
,
indirect
,
special
,
incidental
,
or
consequential
damages
of
any
character
arising
as
a
result
of
this
License
or
out
of
the
use
or
inability
to
use
the
Work
(
including
but
not
limited
to
damages
for
loss
of
goodwill
,
work
stoppage
,
computer
failure
or
malfunction
,
or
any
and
all
other
commercial
damages
or
losses
),
even
if
such
Contributor
has
been
advised
of
the
possibility
of
such
damages
.
9.
Accepting
Warranty
or
Additional
Liability
.
While
redistributing
the
Work
or
Derivative
Works
thereof
,
You
may
choose
to
offer
,
and
charge
a
fee
for
,
acceptance
of
support
,
warranty
,
indemnity
,
or
other
liability
obligations
and
/
or
rights
consistent
with
this
License
.
However
,
in
accepting
such
obligations
,
You
may
act
only
on
Your
own
behalf
and
on
Your
sole
responsibility
,
not
on
behalf
of
any
other
Contributor
,
and
only
if
You
agree
to
indemnify
,
defend
,
and
hold
each
Contributor
harmless
for
any
liability
incurred
by
,
or
claims
asserted
against
,
such
Contributor
by
reason
of
your
accepting
any
such
warranty
or
additional
liability
.
END
OF
TERMS
AND
CONDITIONS
=
vendor
/
github
.
com
/
gophercloud
/
gophercloud
/
LICENSE
dd19699707373c2ca31531a659130416
-
================================================================================
================================================================================
=
vendor
/
github
.
com
/
gophercloud
/
gophercloud
/
openstack
/
blockstorage
/
v1
/
volumes
licensed
under
:
=
Copyright
2012
-
2013
Rackspace
,
Inc
.
...
...
@@ -47889,6 +48088,205 @@ specific language governing permissions and limitations under the License.
================================================================================
=
vendor
/
github
.
com
/
gophercloud
/
gophercloud
/
openstack
/
blockstorage
/
v2
/
volumes
licensed
under
:
=
Copyright
2012
-
2013
Rackspace
,
Inc
.
Licensed
under
the
Apache
License
,
Version
2.0
(
the
"License"
);
you
may
not
use
this
file
except
in
compliance
with
the
License
.
You
may
obtain
a
copy
of
the
License
at
http
://
www
.
apache
.
org
/
licenses
/
LICENSE
-
2.0
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
software
distributed
under
the
License
is
distributed
on
an
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied
.
See
the
License
for
the
specific
language
governing
permissions
and
limitations
under
the
License
.
------
Apache
License
Version
2.0
,
January
2004
http
://
www
.
apache
.
org
/
licenses
/
TERMS
AND
CONDITIONS
FOR
USE
,
REPRODUCTION
,
AND
DISTRIBUTION
1.
Definitions
.
"License"
shall
mean
the
terms
and
conditions
for
use
,
reproduction
,
and
distribution
as
defined
by
Sections
1
through
9
of
this
document
.
"Licensor"
shall
mean
the
copyright
owner
or
entity
authorized
by
the
copyright
owner
that
is
granting
the
License
.
"Legal Entity"
shall
mean
the
union
of
the
acting
entity
and
all
other
entities
that
control
,
are
controlled
by
,
or
are
under
common
control
with
that
entity
.
For
the
purposes
of
this
definition
,
"control"
means
(
i
)
the
power
,
direct
or
indirect
,
to
cause
the
direction
or
management
of
such
entity
,
whether
by
contract
or
otherwise
,
or
(
ii
)
ownership
of
fifty
percent
(
50
%)
or
more
of
the
outstanding
shares
,
or
(
iii
)
beneficial
ownership
of
such
entity
.
"You"
(
or
"Your"
)
shall
mean
an
individual
or
Legal
Entity
exercising
permissions
granted
by
this
License
.
"Source"
form
shall
mean
the
preferred
form
for
making
modifications
,
including
but
not
limited
to
software
source
code
,
documentation
source
,
and
configuration
files
.
"Object"
form
shall
mean
any
form
resulting
from
mechanical
transformation
or
translation
of
a
Source
form
,
including
but
not
limited
to
compiled
object
code
,
generated
documentation
,
and
conversions
to
other
media
types
.
"Work"
shall
mean
the
work
of
authorship
,
whether
in
Source
or
Object
form
,
made
available
under
the
License
,
as
indicated
by
a
copyright
notice
that
is
included
in
or
attached
to
the
work
(
an
example
is
provided
in
the
Appendix
below
).
"Derivative Works"
shall
mean
any
work
,
whether
in
Source
or
Object
form
,
that
is
based
on
(
or
derived
from
)
the
Work
and
for
which
the
editorial
revisions
,
annotations
,
elaborations
,
or
other
modifications
represent
,
as
a
whole
,
an
original
work
of
authorship
.
For
the
purposes
of
this
License
,
Derivative
Works
shall
not
include
works
that
remain
separable
from
,
or
merely
link
(
or
bind
by
name
)
to
the
interfaces
of
,
the
Work
and
Derivative
Works
thereof
.
"Contribution"
shall
mean
any
work
of
authorship
,
including
the
original
version
of
the
Work
and
any
modifications
or
additions
to
that
Work
or
Derivative
Works
thereof
,
that
is
intentionally
submitted
to
Licensor
for
inclusion
in
the
Work
by
the
copyright
owner
or
by
an
individual
or
Legal
Entity
authorized
to
submit
on
behalf
of
the
copyright
owner
.
For
the
purposes
of
this
definition
,
"submitted"
means
any
form
of
electronic
,
verbal
,
or
written
communication
sent
to
the
Licensor
or
its
representatives
,
including
but
not
limited
to
communication
on
electronic
mailing
lists
,
source
code
control
systems
,
and
issue
tracking
systems
that
are
managed
by
,
or
on
behalf
of
,
the
Licensor
for
the
purpose
of
discussing
and
improving
the
Work
,
but
excluding
communication
that
is
conspicuously
marked
or
otherwise
designated
in
writing
by
the
copyright
owner
as
"Not a Contribution."
"Contributor"
shall
mean
Licensor
and
any
individual
or
Legal
Entity
on
behalf
of
whom
a
Contribution
has
been
received
by
Licensor
and
subsequently
incorporated
within
the
Work
.
2.
Grant
of
Copyright
License
.
Subject
to
the
terms
and
conditions
of
this
License
,
each
Contributor
hereby
grants
to
You
a
perpetual
,
worldwide
,
non
-
exclusive
,
no
-
charge
,
royalty
-
free
,
irrevocable
copyright
license
to
reproduce
,
prepare
Derivative
Works
of
,
publicly
display
,
publicly
perform
,
sublicense
,
and
distribute
the
Work
and
such
Derivative
Works
in
Source
or
Object
form
.
3.
Grant
of
Patent
License
.
Subject
to
the
terms
and
conditions
of
this
License
,
each
Contributor
hereby
grants
to
You
a
perpetual
,
worldwide
,
non
-
exclusive
,
no
-
charge
,
royalty
-
free
,
irrevocable
(
except
as
stated
in
this
section
)
patent
license
to
make
,
have
made
,
use
,
offer
to
sell
,
sell
,
import
,
and
otherwise
transfer
the
Work
,
where
such
license
applies
only
to
those
patent
claims
licensable
by
such
Contributor
that
are
necessarily
infringed
by
their
Contribution
(
s
)
alone
or
by
combination
of
their
Contribution
(
s
)
with
the
Work
to
which
such
Contribution
(
s
)
was
submitted
.
If
You
institute
patent
litigation
against
any
entity
(
including
a
cross
-
claim
or
counterclaim
in
a
lawsuit
)
alleging
that
the
Work
or
a
Contribution
incorporated
within
the
Work
constitutes
direct
or
contributory
patent
infringement
,
then
any
patent
licenses
granted
to
You
under
this
License
for
that
Work
shall
terminate
as
of
the
date
such
litigation
is
filed
.
4.
Redistribution
.
You
may
reproduce
and
distribute
copies
of
the
Work
or
Derivative
Works
thereof
in
any
medium
,
with
or
without
modifications
,
and
in
Source
or
Object
form
,
provided
that
You
meet
the
following
conditions
:
(
a
)
You
must
give
any
other
recipients
of
the
Work
or
Derivative
Works
a
copy
of
this
License
;
and
(
b
)
You
must
cause
any
modified
files
to
carry
prominent
notices
stating
that
You
changed
the
files
;
and
(
c
)
You
must
retain
,
in
the
Source
form
of
any
Derivative
Works
that
You
distribute
,
all
copyright
,
patent
,
trademark
,
and
attribution
notices
from
the
Source
form
of
the
Work
,
excluding
those
notices
that
do
not
pertain
to
any
part
of
the
Derivative
Works
;
and
(
d
)
If
the
Work
includes
a
"NOTICE"
text
file
as
part
of
its
distribution
,
then
any
Derivative
Works
that
You
distribute
must
include
a
readable
copy
of
the
attribution
notices
contained
within
such
NOTICE
file
,
excluding
those
notices
that
do
not
pertain
to
any
part
of
the
Derivative
Works
,
in
at
least
one
of
the
following
places
:
within
a
NOTICE
text
file
distributed
as
part
of
the
Derivative
Works
;
within
the
Source
form
or
documentation
,
if
provided
along
with
the
Derivative
Works
;
or
,
within
a
display
generated
by
the
Derivative
Works
,
if
and
wherever
such
third
-
party
notices
normally
appear
.
The
contents
of
the
NOTICE
file
are
for
informational
purposes
only
and
do
not
modify
the
License
.
You
may
add
Your
own
attribution
notices
within
Derivative
Works
that
You
distribute
,
alongside
or
as
an
addendum
to
the
NOTICE
text
from
the
Work
,
provided
that
such
additional
attribution
notices
cannot
be
construed
as
modifying
the
License
.
You
may
add
Your
own
copyright
statement
to
Your
modifications
and
may
provide
additional
or
different
license
terms
and
conditions
for
use
,
reproduction
,
or
distribution
of
Your
modifications
,
or
for
any
such
Derivative
Works
as
a
whole
,
provided
Your
use
,
reproduction
,
and
distribution
of
the
Work
otherwise
complies
with
the
conditions
stated
in
this
License
.
5.
Submission
of
Contributions
.
Unless
You
explicitly
state
otherwise
,
any
Contribution
intentionally
submitted
for
inclusion
in
the
Work
by
You
to
the
Licensor
shall
be
under
the
terms
and
conditions
of
this
License
,
without
any
additional
terms
or
conditions
.
Notwithstanding
the
above
,
nothing
herein
shall
supersede
or
modify
the
terms
of
any
separate
license
agreement
you
may
have
executed
with
Licensor
regarding
such
Contributions
.
6.
Trademarks
.
This
License
does
not
grant
permission
to
use
the
trade
names
,
trademarks
,
service
marks
,
or
product
names
of
the
Licensor
,
except
as
required
for
reasonable
and
customary
use
in
describing
the
origin
of
the
Work
and
reproducing
the
content
of
the
NOTICE
file
.
7.
Disclaimer
of
Warranty
.
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
Licensor
provides
the
Work
(
and
each
Contributor
provides
its
Contributions
)
on
an
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied
,
including
,
without
limitation
,
any
warranties
or
conditions
of
TITLE
,
NON
-
INFRINGEMENT
,
MERCHANTABILITY
,
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
You
are
solely
responsible
for
determining
the
appropriateness
of
using
or
redistributing
the
Work
and
assume
any
risks
associated
with
Your
exercise
of
permissions
under
this
License
.
8.
Limitation
of
Liability
.
In
no
event
and
under
no
legal
theory
,
whether
in
tort
(
including
negligence
),
contract
,
or
otherwise
,
unless
required
by
applicable
law
(
such
as
deliberate
and
grossly
negligent
acts
)
or
agreed
to
in
writing
,
shall
any
Contributor
be
liable
to
You
for
damages
,
including
any
direct
,
indirect
,
special
,
incidental
,
or
consequential
damages
of
any
character
arising
as
a
result
of
this
License
or
out
of
the
use
or
inability
to
use
the
Work
(
including
but
not
limited
to
damages
for
loss
of
goodwill
,
work
stoppage
,
computer
failure
or
malfunction
,
or
any
and
all
other
commercial
damages
or
losses
),
even
if
such
Contributor
has
been
advised
of
the
possibility
of
such
damages
.
9.
Accepting
Warranty
or
Additional
Liability
.
While
redistributing
the
Work
or
Derivative
Works
thereof
,
You
may
choose
to
offer
,
and
charge
a
fee
for
,
acceptance
of
support
,
warranty
,
indemnity
,
or
other
liability
obligations
and
/
or
rights
consistent
with
this
License
.
However
,
in
accepting
such
obligations
,
You
may
act
only
on
Your
own
behalf
and
on
Your
sole
responsibility
,
not
on
behalf
of
any
other
Contributor
,
and
only
if
You
agree
to
indemnify
,
defend
,
and
hold
each
Contributor
harmless
for
any
liability
incurred
by
,
or
claims
asserted
against
,
such
Contributor
by
reason
of
your
accepting
any
such
warranty
or
additional
liability
.
END
OF
TERMS
AND
CONDITIONS
=
vendor
/
github
.
com
/
gophercloud
/
gophercloud
/
LICENSE
dd19699707373c2ca31531a659130416
-
================================================================================
================================================================================
=
vendor
/
github
.
com
/
gophercloud
/
gophercloud
/
openstack
/
common
/
extensions
licensed
under
:
=
Copyright
2012
-
2013
Rackspace
,
Inc
.
pkg/cloudprovider/providers/openstack/BUILD
View file @
89f596f4
...
...
@@ -29,7 +29,9 @@ go_library(
"//vendor:github.com/golang/glog",
"//vendor:github.com/gophercloud/gophercloud",
"//vendor:github.com/gophercloud/gophercloud/openstack",
"//vendor:github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions",
"//vendor:github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes",
"//vendor:github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes",
"//vendor:github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach",
"//vendor:github.com/gophercloud/gophercloud/openstack/compute/v2/flavors",
"//vendor:github.com/gophercloud/gophercloud/openstack/compute/v2/servers",
...
...
vendor/BUILD
View file @
89f596f4
...
...
@@ -4158,6 +4158,21 @@ go_library(
)
go_library(
name = "github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions",
srcs = [
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/doc.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/requests.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/results.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/urls.go",
],
tags = ["automanaged"],
deps = [
"//vendor:github.com/gophercloud/gophercloud",
"//vendor:github.com/gophercloud/gophercloud/pagination",
],
)
go_library(
name = "github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes",
srcs = [
"github.com/gophercloud/gophercloud/openstack/blockstorage/v1/volumes/doc.go",
...
...
@@ -4174,6 +4189,22 @@ go_library(
)
go_library(
name = "github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes",
srcs = [
"github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/doc.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/requests.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/results.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/urls.go",
"github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/util.go",
],
tags = ["automanaged"],
deps = [
"//vendor:github.com/gophercloud/gophercloud",
"//vendor:github.com/gophercloud/gophercloud/pagination",
],
)
go_library(
name = "github.com/gophercloud/gophercloud/openstack/common/extensions",
srcs = [
"github.com/gophercloud/gophercloud/openstack/common/extensions/doc.go",
...
...
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/doc.go
0 → 100644
View file @
89f596f4
// Package apiversions provides information and interaction with the different
// API versions for the OpenStack Block Storage service, code-named Cinder.
package
apiversions
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/requests.go
0 → 100644
View file @
89f596f4
package
apiversions
import
(
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
)
// List lists all the Cinder API versions available to end-users.
func
List
(
c
*
gophercloud
.
ServiceClient
)
pagination
.
Pager
{
return
pagination
.
NewPager
(
c
,
listURL
(
c
),
func
(
r
pagination
.
PageResult
)
pagination
.
Page
{
return
APIVersionPage
{
pagination
.
SinglePageBase
(
r
)}
})
}
// Get will retrieve the volume type with the provided ID. To extract the volume
// type from the result, call the Extract method on the GetResult.
func
Get
(
client
*
gophercloud
.
ServiceClient
,
v
string
)
(
r
GetResult
)
{
_
,
r
.
Err
=
client
.
Get
(
getURL
(
client
,
v
),
&
r
.
Body
,
nil
)
return
}
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/results.go
0 → 100644
View file @
89f596f4
package
apiversions
import
(
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
)
// APIVersion represents an API version for Cinder.
type
APIVersion
struct
{
ID
string
`json:"id"`
// unique identifier
Status
string
`json:"status"`
// current status
Updated
string
`json:"updated"`
// date last updated
}
// APIVersionPage is the page returned by a pager when traversing over a
// collection of API versions.
type
APIVersionPage
struct
{
pagination
.
SinglePageBase
}
// IsEmpty checks whether an APIVersionPage struct is empty.
func
(
r
APIVersionPage
)
IsEmpty
()
(
bool
,
error
)
{
is
,
err
:=
ExtractAPIVersions
(
r
)
return
len
(
is
)
==
0
,
err
}
// ExtractAPIVersions takes a collection page, extracts all of the elements,
// and returns them a slice of APIVersion structs. It is effectively a cast.
func
ExtractAPIVersions
(
r
pagination
.
Page
)
([]
APIVersion
,
error
)
{
var
s
struct
{
Versions
[]
APIVersion
`json:"versions"`
}
err
:=
(
r
.
(
APIVersionPage
))
.
ExtractInto
(
&
s
)
return
s
.
Versions
,
err
}
// GetResult represents the result of a get operation.
type
GetResult
struct
{
gophercloud
.
Result
}
// Extract is a function that accepts a result and extracts an API version resource.
func
(
r
GetResult
)
Extract
()
(
*
APIVersion
,
error
)
{
var
s
struct
{
Version
*
APIVersion
`json:"version"`
}
err
:=
r
.
ExtractInto
(
&
s
)
return
s
.
Version
,
err
}
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v1/apiversions/urls.go
0 → 100644
View file @
89f596f4
package
apiversions
import
(
"strings"
"net/url"
"github.com/gophercloud/gophercloud"
)
func
getURL
(
c
*
gophercloud
.
ServiceClient
,
version
string
)
string
{
return
c
.
ServiceURL
(
strings
.
TrimRight
(
version
,
"/"
)
+
"/"
)
}
func
listURL
(
c
*
gophercloud
.
ServiceClient
)
string
{
u
,
_
:=
url
.
Parse
(
c
.
ServiceURL
(
""
))
u
.
Path
=
"/"
return
u
.
String
()
}
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/doc.go
0 → 100644
View file @
89f596f4
// Package volumes provides information and interaction with volumes in the
// OpenStack Block Storage service. A volume is a detachable block storage
// device, akin to a USB hard drive. It can only be attached to one instance at
// a time.
package
volumes
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/requests.go
0 → 100644
View file @
89f596f4
package
volumes
import
(
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
)
// CreateOptsBuilder allows extensions to add additional parameters to the
// Create request.
type
CreateOptsBuilder
interface
{
ToVolumeCreateMap
()
(
map
[
string
]
interface
{},
error
)
}
// CreateOpts contains options for creating a Volume. This object is passed to
// the volumes.Create function. For more information about these parameters,
// see the Volume object.
type
CreateOpts
struct
{
// The size of the volume, in GB
Size
int
`json:"size" required:"true"`
// The availability zone
AvailabilityZone
string
`json:"availability_zone,omitempty"`
// ConsistencyGroupID is the ID of a consistency group
ConsistencyGroupID
string
`json:"consistencygroup_id,omitempty"`
// The volume description
Description
string
`json:"description,omitempty"`
// One or more metadata key and value pairs to associate with the volume
Metadata
map
[
string
]
string
`json:"metadata,omitempty"`
// The volume name
Name
string
`json:"name,omitempty"`
// the ID of the existing volume snapshot
SnapshotID
string
`json:"snapshot_id,omitempty"`
// SourceReplica is a UUID of an existing volume to replicate with
SourceReplica
string
`json:"source_replica,omitempty"`
// the ID of the existing volume
SourceVolID
string
`json:"source_volid,omitempty"`
// The ID of the image from which you want to create the volume.
// Required to create a bootable volume.
ImageID
string
`json:"imageRef,omitempty"`
// The associated volume type
VolumeType
string
`json:"volume_type,omitempty"`
}
// ToVolumeCreateMap assembles a request body based on the contents of a
// CreateOpts.
func
(
opts
CreateOpts
)
ToVolumeCreateMap
()
(
map
[
string
]
interface
{},
error
)
{
return
gophercloud
.
BuildRequestBody
(
opts
,
"volume"
)
}
// Create will create a new Volume based on the values in CreateOpts. To extract
// the Volume object from the response, call the Extract method on the
// CreateResult.
func
Create
(
client
*
gophercloud
.
ServiceClient
,
opts
CreateOptsBuilder
)
(
r
CreateResult
)
{
b
,
err
:=
opts
.
ToVolumeCreateMap
()
if
err
!=
nil
{
r
.
Err
=
err
return
}
_
,
r
.
Err
=
client
.
Post
(
createURL
(
client
),
b
,
&
r
.
Body
,
&
gophercloud
.
RequestOpts
{
OkCodes
:
[]
int
{
202
},
})
return
}
// Delete will delete the existing Volume with the provided ID.
func
Delete
(
client
*
gophercloud
.
ServiceClient
,
id
string
)
(
r
DeleteResult
)
{
_
,
r
.
Err
=
client
.
Delete
(
deleteURL
(
client
,
id
),
nil
)
return
}
// Get retrieves the Volume with the provided ID. To extract the Volume object
// from the response, call the Extract method on the GetResult.
func
Get
(
client
*
gophercloud
.
ServiceClient
,
id
string
)
(
r
GetResult
)
{
_
,
r
.
Err
=
client
.
Get
(
getURL
(
client
,
id
),
&
r
.
Body
,
nil
)
return
}
// ListOptsBuilder allows extensions to add additional parameters to the List
// request.
type
ListOptsBuilder
interface
{
ToVolumeListQuery
()
(
string
,
error
)
}
// ListOpts holds options for listing Volumes. It is passed to the volumes.List
// function.
type
ListOpts
struct
{
// admin-only option. Set it to true to see all tenant volumes.
AllTenants
bool
`q:"all_tenants"`
// List only volumes that contain Metadata.
Metadata
map
[
string
]
string
`q:"metadata"`
// List only volumes that have Name as the display name.
Name
string
`q:"name"`
// List only volumes that have a status of Status.
Status
string
`q:"status"`
}
// ToVolumeListQuery formats a ListOpts into a query string.
func
(
opts
ListOpts
)
ToVolumeListQuery
()
(
string
,
error
)
{
q
,
err
:=
gophercloud
.
BuildQueryString
(
opts
)
return
q
.
String
(),
err
}
// List returns Volumes optionally limited by the conditions provided in ListOpts.
func
List
(
client
*
gophercloud
.
ServiceClient
,
opts
ListOptsBuilder
)
pagination
.
Pager
{
url
:=
listURL
(
client
)
if
opts
!=
nil
{
query
,
err
:=
opts
.
ToVolumeListQuery
()
if
err
!=
nil
{
return
pagination
.
Pager
{
Err
:
err
}
}
url
+=
query
}
return
pagination
.
NewPager
(
client
,
url
,
func
(
r
pagination
.
PageResult
)
pagination
.
Page
{
return
VolumePage
{
pagination
.
SinglePageBase
(
r
)}
})
}
// UpdateOptsBuilder allows extensions to add additional parameters to the
// Update request.
type
UpdateOptsBuilder
interface
{
ToVolumeUpdateMap
()
(
map
[
string
]
interface
{},
error
)
}
// UpdateOpts contain options for updating an existing Volume. This object is passed
// to the volumes.Update function. For more information about the parameters, see
// the Volume object.
type
UpdateOpts
struct
{
Name
string
`json:"name,omitempty"`
Description
string
`json:"description,omitempty"`
Metadata
map
[
string
]
string
`json:"metadata,omitempty"`
}
// ToVolumeUpdateMap assembles a request body based on the contents of an
// UpdateOpts.
func
(
opts
UpdateOpts
)
ToVolumeUpdateMap
()
(
map
[
string
]
interface
{},
error
)
{
return
gophercloud
.
BuildRequestBody
(
opts
,
"volume"
)
}
// Update will update the Volume with provided information. To extract the updated
// Volume from the response, call the Extract method on the UpdateResult.
func
Update
(
client
*
gophercloud
.
ServiceClient
,
id
string
,
opts
UpdateOptsBuilder
)
(
r
UpdateResult
)
{
b
,
err
:=
opts
.
ToVolumeUpdateMap
()
if
err
!=
nil
{
r
.
Err
=
err
return
}
_
,
r
.
Err
=
client
.
Put
(
updateURL
(
client
,
id
),
b
,
&
r
.
Body
,
&
gophercloud
.
RequestOpts
{
OkCodes
:
[]
int
{
200
},
})
return
}
// IDFromName is a convienience function that returns a server's ID given its name.
func
IDFromName
(
client
*
gophercloud
.
ServiceClient
,
name
string
)
(
string
,
error
)
{
count
:=
0
id
:=
""
pages
,
err
:=
List
(
client
,
nil
)
.
AllPages
()
if
err
!=
nil
{
return
""
,
err
}
all
,
err
:=
ExtractVolumes
(
pages
)
if
err
!=
nil
{
return
""
,
err
}
for
_
,
s
:=
range
all
{
if
s
.
Name
==
name
{
count
++
id
=
s
.
ID
}
}
switch
count
{
case
0
:
return
""
,
gophercloud
.
ErrResourceNotFound
{
Name
:
name
,
ResourceType
:
"volume"
}
case
1
:
return
id
,
nil
default
:
return
""
,
gophercloud
.
ErrMultipleResourcesFound
{
Name
:
name
,
Count
:
count
,
ResourceType
:
"volume"
}
}
}
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/results.go
0 → 100644
View file @
89f596f4
package
volumes
import
(
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
)
type
Attachment
struct
{
AttachedAt
gophercloud
.
JSONRFC3339MilliNoZ
`json:"attached_at"`
AttachmentID
string
`json:"attachment_id"`
Device
string
`json:"device"`
HostName
string
`json:"host_name"`
ID
string
`json:"id"`
ServerID
string
`json:"server_id"`
VolumeID
string
`json:"volume_id"`
}
// Volume contains all the information associated with an OpenStack Volume.
type
Volume
struct
{
// Unique identifier for the volume.
ID
string
`json:"id"`
// Current status of the volume.
Status
string
`json:"status"`
// Size of the volume in GB.
Size
int
`json:"size"`
// AvailabilityZone is which availability zone the volume is in.
AvailabilityZone
string
`json:"availability_zone"`
// The date when this volume was created.
CreatedAt
gophercloud
.
JSONRFC3339MilliNoZ
`json:"created_at"`
// The date when this volume was last updated
UpdatedAt
gophercloud
.
JSONRFC3339MilliNoZ
`json:"updated_at"`
// Instances onto which the volume is attached.
Attachments
[]
Attachment
`json:"attachments"`
// Human-readable display name for the volume.
Name
string
`json:"name"`
// Human-readable description for the volume.
Description
string
`json:"description"`
// The type of volume to create, either SATA or SSD.
VolumeType
string
`json:"volume_type"`
// The ID of the snapshot from which the volume was created
SnapshotID
string
`json:"snapshot_id"`
// The ID of another block storage volume from which the current volume was created
SourceVolID
string
`json:"source_volid"`
// Arbitrary key-value pairs defined by the user.
Metadata
map
[
string
]
string
`json:"metadata"`
// UserID is the id of the user who created the volume.
UserID
string
`json:"user_id"`
// Indicates whether this is a bootable volume.
Bootable
string
`json:"bootable"`
// Encrypted denotes if the volume is encrypted.
Encrypted
bool
`json:"encrypted"`
// ReplicationStatus is the status of replication.
ReplicationStatus
string
`json:"replication_status"`
// ConsistencyGroupID is the consistency group ID.
ConsistencyGroupID
string
`json:"consistencygroup_id"`
// Multiattach denotes if the volume is multi-attach capable.
Multiattach
bool
`json:"multiattach"`
}
/*
THESE BELONG IN EXTENSIONS:
// ReplicationDriverData contains data about the replication driver.
ReplicationDriverData string `json:"os-volume-replication:driver_data"`
// ReplicationExtendedStatus contains extended status about replication.
ReplicationExtendedStatus string `json:"os-volume-replication:extended_status"`
// TenantID is the id of the project that owns the volume.
TenantID string `json:"os-vol-tenant-attr:tenant_id"`
*/
// VolumePage is a pagination.pager that is returned from a call to the List function.
type
VolumePage
struct
{
pagination
.
SinglePageBase
}
// IsEmpty returns true if a ListResult contains no Volumes.
func
(
r
VolumePage
)
IsEmpty
()
(
bool
,
error
)
{
volumes
,
err
:=
ExtractVolumes
(
r
)
return
len
(
volumes
)
==
0
,
err
}
// ExtractVolumes extracts and returns Volumes. It is used while iterating over a volumes.List call.
func
ExtractVolumes
(
r
pagination
.
Page
)
([]
Volume
,
error
)
{
var
s
struct
{
Volumes
[]
Volume
`json:"volumes"`
}
err
:=
(
r
.
(
VolumePage
))
.
ExtractInto
(
&
s
)
return
s
.
Volumes
,
err
}
type
commonResult
struct
{
gophercloud
.
Result
}
// Extract will get the Volume object out of the commonResult object.
func
(
r
commonResult
)
Extract
()
(
*
Volume
,
error
)
{
var
s
struct
{
Volume
*
Volume
`json:"volume"`
}
err
:=
r
.
ExtractInto
(
&
s
)
return
s
.
Volume
,
err
}
// CreateResult contains the response body and error from a Create request.
type
CreateResult
struct
{
commonResult
}
// GetResult contains the response body and error from a Get request.
type
GetResult
struct
{
commonResult
}
// UpdateResult contains the response body and error from an Update request.
type
UpdateResult
struct
{
commonResult
}
// DeleteResult contains the response body and error from a Delete request.
type
DeleteResult
struct
{
gophercloud
.
ErrResult
}
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/urls.go
0 → 100644
View file @
89f596f4
package
volumes
import
"github.com/gophercloud/gophercloud"
func
createURL
(
c
*
gophercloud
.
ServiceClient
)
string
{
return
c
.
ServiceURL
(
"volumes"
)
}
func
listURL
(
c
*
gophercloud
.
ServiceClient
)
string
{
return
c
.
ServiceURL
(
"volumes"
,
"detail"
)
}
func
deleteURL
(
c
*
gophercloud
.
ServiceClient
,
id
string
)
string
{
return
c
.
ServiceURL
(
"volumes"
,
id
)
}
func
getURL
(
c
*
gophercloud
.
ServiceClient
,
id
string
)
string
{
return
deleteURL
(
c
,
id
)
}
func
updateURL
(
c
*
gophercloud
.
ServiceClient
,
id
string
)
string
{
return
deleteURL
(
c
,
id
)
}
vendor/github.com/gophercloud/gophercloud/openstack/blockstorage/v2/volumes/util.go
0 → 100644
View file @
89f596f4
package
volumes
import
(
"github.com/gophercloud/gophercloud"
)
// WaitForStatus will continually poll the resource, checking for a particular
// status. It will do this for the amount of seconds defined.
func
WaitForStatus
(
c
*
gophercloud
.
ServiceClient
,
id
,
status
string
,
secs
int
)
error
{
return
gophercloud
.
WaitFor
(
secs
,
func
()
(
bool
,
error
)
{
current
,
err
:=
Get
(
c
,
id
)
.
Extract
()
if
err
!=
nil
{
return
false
,
err
}
if
current
.
Status
==
status
{
return
true
,
nil
}
return
false
,
nil
})
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment