Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
NFV - Network Functions Virtualisation
SOL005
Commits
40cd944f
Commit
40cd944f
authored
Apr 27, 2018
by
bayha
Browse files
First draft of NSD Management Interface
Change-Id: Idf0c67120618f188e79a9f6e4af084f6fb58b333
parent
0168a480
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/SOL005/NSDManagement/NSDManagement.yaml
View file @
40cd944f
---
swagger
:
"
2.0"
info
:
description
:
"
DRAFT
-
SOL005
-
NSD
Management
Interface
IMPORTANT:
Please
note
that
\
\
this
file
might
be
not
aligned
to
the
current
version
of
the
ETSI
Group
Specification
\
\
it
refers
to
and
has
not
been
approved
by
the
ETSI
NFV
ISG.
In
case
of
discrepancies
\
\
the
published
ETSI
Group
Specification
takes
precedence.
Please
report
bugs
\
\
to
https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
\n
"
version
:
"
2.4.1"
title
:
DRAFT - SOL005 - NSD Management Interface
description
:
>
DRAFT - SOL005 - NSD Management Interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been
approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
title
:
"
DRAFT
-
SOL005
-
NSD
Management
Interface"
contact
:
name
:
"
NFV-SOL
WG"
license
:
name
:
"
ETSI
Forge
copyright
notice"
url
:
https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact
:
name
:
"
NFV-SOL
WG"
externalDocs
:
description
:
ETSI GS NFV-SOL 005 V2.4.1
url
:
http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf
basePath
:
"
/nsd/v1"
schemes
:
-
https
url
:
"
https://forge.etsi.org/etsi-forge-copyright-notice.txt"
consumes
:
-
"
application/json"
-
"
application/json"
produces
:
-
"
application/json"
-
"
application/json"
paths
:
/resource
:
/ns_descriptors
:
get
:
summary
:
"
Query
NSD
Info"
description
:
"
The
GET
method
queries
information
about
multiple
NS
descriptor
\
\
resources.
This
method
shall
follow
the
provisions
specified
in
the
Tables
\
\
5.4.2.3.2-1
and
5.4.2.3.2-2
of
GS
NFV-SOL
005
for
URI
query
parameters,
\
\
request
and
response
data
structures,
and
response
codes."
parameters
:
[]
responses
:
200
:
description
:
"
Information
about
zero
or
more
NS
descriptors.
\n
The
response
\
\
body
shall
contain
a
representation
of
zero
or
more
NS
descriptors,
\
\
as
defined
in
clause
5.5.2.2
of
GS
NFV-SOL
005."
schema
:
$ref
:
"
#/definitions/NsdInfo"
400
:
description
:
"
There
are
two
possible
scenarios
listed
below.
\n\n
Error:
Invalid
\
\
attribute-based
filtering
parameters.
\n\n
The
response
body
shall
contain
\
\
a
ProblemDetails
structure,
in
which
the
\"
detail
\"
attribute
should
\
\
convey
more
information
about
the
error.
\n\n
Error:
Invalid
attribute
\
\
selector.
The
response
body
shall
contain
a
ProblemDetails
structure,
\
\
in
which
the
\"
detail
\"
attribute
should
convey
more
information
about
\
\
the
error."
post
:
summary
:
"
Create
NSD
Info"
description
:
"
The
POST
method
is
used
to
create
a
new
NS
descriptor
resource.
\
\
This
method
shall
follow
the
provisions
specified
in
the
Tables
5.4.2.3.1-1
\
\
and
5.4.2.3.1-2
of
GS
NFV-SOL
005
for
URI
query
parameters,
request
and
\
\
response
data
structures,
and
response
codes."
consumes
:
[]
parameters
:
-
name
:
"
body"
in
:
"
body"
required
:
true
schema
:
type
:
"
object"
required
:
-
"
CreateNsdInfoRequest"
properties
:
CreateNsdInfoRequest
:
$ref
:
"
#/definitions/CreateNsdInfoRequest"
description
:
"
The
CreateNsdInfoRequest
contains
parameters
for
creating
\
\
an
NS
descriptor
resource,
as
defined
in
\n
clause
5.5.2.4
of
GS
NFV-SOL
\
\
005."
responses
:
201
:
description
:
"
Status
201"
schema
:
type
:
"
object"
description
:
"
An
NS
descriptor
resource
was
created
successfully,
as
a
\
\
new
NS
descriptor
resource.
The
response
body
shall
contain
a
representation
\
\
of
the
new
NS
descriptor
resource,
as
defined
in
clause
5.5.2.2
of
\
\
GS
NFV-SOL
005."
properties
:
NsdInfo
:
$ref
:
"
#/definitions/NsdInfo"
headers
:
Location
:
type
:
"
string"
description
:
"
The
HTTP
response
shall
include
a
\"
Location
\"
HTTP
header
\
\
that
contains
the
resource
URI
of
the
new
NS
descriptor
resource."
/ns_descriptors/{nsdInfoId}
:
get
:
summary
:
"
Query
NSD
Info"
description
:
"
The
GET
method
reads
information
about
an
individual
NS
descriptor.
\
\
This
method
shall
follow
the
provisions
specified
in
GS
NFV-SOL
005
Tables
\
\
5.4.3.3.2-1
and
5.4.3.3.2-2
of
GS
NFV-SOL
005
for
URI
query
parameters,
\
\
request
and
response
data
structures,
and
response
codes."
parameters
:
[]
responses
:
200
:
description
:
"
Information
about
the
individual
NS
descriptor.
The
response
\
\
body
shall
contain
a
representation
of
the
individual
NS
descriptor,
\
\
as
defined
in
clause
5.5.2.2
of
GS
NFV-SOL
005."
schema
:
$ref
:
"
#/definitions/NsdInfo"
delete
:
summary
:
"
Delete
NSD"
description
:
"
The
DELETE
method
deletes
an
individual
NS
descriptor
resource.
\
\
An
individual
NS
descriptor
resource
can
only
be
deleted
when
there
is
no
\
\
NS
instance
using
it
(i.e.
usageState
=
NOT_IN_USE)
and
has
been
disabled
\
\
already
(i.e.
operationalState
=
DISABLED).
Otherwise,
the
DELETE
method
\
\
shall
fail.
This
method
shall
follow
the
provisions
specified
in
the
Tables
\
\
5.4.3.3.5-1
and
5.4.3.3.5-2
of
GS
NFV-SOL
005
for
URI
query
parameters,
\
\
request
and
response
data
structures,
and
response
codes."
parameters
:
[]
responses
:
204
:
description
:
"
The
operation
has
completed
successfully.
The
response
body
\
\
shall
be
empty."
schema
:
type
:
"
object"
description
:
"
The
operation
has
completed
successfully.
The
response
body
\
\
shall
be
empty."
409
:
description
:
"
Status
409"
schema
:
required
:
-
"
ProblemDetails"
type
:
"
object"
description
:
"
Error:
The
operation
cannot
be
executed
currently,
due
to
\
\
a
conflict
with
the
state
of
the
resource.
Typically,
this
is
due
\
\
to
the
fact
the
NS
descriptor
resource
is
in
the
enabled
operational
\
\
state
(i.e.
operationalState
=
ENABLED)
or
there
are
running
NS
instances
\
\
using
the
concerned
individual
NS
descriptor
resource
(i.e.
usageState
\
\
=
IN_USE).
The
response
body
shall
contain
a
ProblemDetails
structure,
\
\
in
which
the
\"
detail
\"
attribute
shall
convey
more
information
about
\
\
the
error."
properties
:
ProblemDetails
:
$ref
:
"
#/definitions/ProblemDetails"
patch
:
summary
:
"
Update
NSD
Info"
description
:
"
The
PATCH
method
modifies
the
operational
state
and/or
user
defined
\
\
data
of
an
individual
NS
descriptor
resource.
This
method
can
be
used
to:
\n\
1)
Enable
a
previously
disabled
individual
NS
descriptor
resource,
allowing
\
\
again
its
use
for
instantiation
of
new
\n
network
service
with
this
descriptor.
\
\
The
usage
state
(i.e.
\"
IN_USE/NOT_IN_USE
\"
)
shall
not
change
as
a
\n
result.
\n\
2)
Disable
a
previously
enabled
individual
NS
descriptor
resource,
preventing
\
\
any
further
use
for
instantiation
of
\n
new
network
service(s)
with
this
descriptor.
\
\
The
usage
state
(i.e.
\"
IN_USE/NOT_IN_USE
\"
)
shall
not
change
\n
as
a
result.
\n\
3)
Modify
the
user
defined
data
of
an
individual
NS
descriptor
resource.
\n\
This
method
shall
follow
the
provisions
specified
in
the
Tables
5.4.3.3.4-1
\
\
and
5.4.3.3.4-2
for
URI
query
parameters,
\n
request
and
response
data
structures,
\
\
and
response
codes."
consumes
:
[]
parameters
:
-
name
:
"
body"
in
:
"
body"
required
:
true
schema
:
type
:
"
object"
required
:
-
"
NsdInfoModifications"
properties
:
NsdInfoModifications
:
$ref
:
"
#/definitions/NsdInfoModifications"
description
:
"
The
operation
was
completed
successfully.
The
response
body
\
\
shall
contain
attribute
modifications
for
an
'Individual
NS
Descriptor'
\
\
resource
(see
clause
5.5.2.6
of
GS
NFV
SOL-005)."
responses
:
200
:
description
:
"
Status
200"
schema
:
$ref
:
"
#/definitions/NsdInfoModifications"
409
:
description
:
"
Status
409"
schema
:
$ref
:
"
#/definitions/ProblemDetails"
412
:
description
:
"
Status
412"
schema
:
$ref
:
"
#/definitions/ProblemDetails"
parameters
:
-
name
:
"
nsdInfoId"
in
:
"
path"
required
:
true
type
:
"
string"
/ns_descriptors/{nsdInfoId}/nsd_content
:
get
:
summary
:
"
Get
NSD
Content"
description
:
"
The
GET
method
fetches
the
content
of
the
NSD.
\n\n
The
NSD
can
\
\
be
implemented
as
a
single
file
or
as
a
collection
of
multiple
files.
If
\
\
the
NSD
is
implemented
in
the
form
of
multiple
files,
a
ZIP
file
embedding
\
\
these
files
shall
be
returned.
If
the
NSD
is
implemented
as
a
single
file,
\
\
either
that
file
or
a
ZIP
file
embedding
that
file
shall
be
returned.
\n\n\
The
selection
of
the
format
is
controlled
by
the
\"
Accept
\"
HTTP
header
passed
\
\
in
the
GET
request:
\n\n
•
If
the
\"
Accept
\"
header
contains
only
\"
text/plain
\"\
\
and
the
NSD
is
implemented
as
a
single
file,
the
file
shall
be
returned;
\
\
otherwise,
an
error
message
shall
be
returned.
\n\n
•
If
the
\"
Accept
\"
header
\
\
contains
only
\"
application/zip
\"
,
the
single
file
or
the
multiple
files
\
\
that
make
up
the
NSD
shall
be
returned
embedded
in
a
ZIP
file.
\n\n
•
If
the
\
\ \"
Accept
\"
header
contains
both
\"
text/plain
\"
and
\"
application/zip
\"
,
\
\
it
is
up
to
the
NFVO
to
choose
the
format
to
return
for
a
single-file
NSD;
\
\
for
a
multi-file
NSD,
a
ZIP
file
shall
be
returned.
\n\n
NOTE:
The
structure
\
\
of
the
NSD
zip
file
is
outside
the
scope
of
the
present
document."
parameters
:
-
name
:
"
Accept"
in
:
"
header"
required
:
true
type
:
"
string"
description
:
"
The
request
shall
contain
the
appropriate
entries
in
the
\"\
Accept
\"
HTTP
header
as
defined
above."
-
name
:
"
Range"
in
:
"
header"
required
:
false
type
:
"
string"
description
:
"
The
request
may
contain
a
\"
Range
\"
HTTP
header
to
obtain
single
\
\
range
of
bytes
from
the
NSD
file.
This
can
be
used
to
continue
an
aborted
\
\
transmission.
\n\n
If
the
NFVO
does
not
support
range
requests,
the
NFVO
\
\
shall
ignore
the
'Range
\"
header,
process
the
GET
request,
and
return
\
\
the
whole
NSD
file
with
a
200
OK
response
(rather
than
returning
a
4xx
\
\
error
status
code)."
responses
:
200
:
description
:
Success
\ No newline at end of file
description
:
"
On
success,
the
content
of
the
NSD
is
returned.
The
payload
\
\
body
shall
contain
a
copy
of
the
file
representing
the
NSD
or
a
ZIP
\
\
file
that
contains
the
file
or
multiple
files
representing
the
NSD,
\
\
as
specified
above.
The
\"
Content-Type
\"
HTTP
header
shall
be
set
according
\
\
to
the
format
of
the
returned
file,
i.e.
to
\"
text/plain
\"
for
a
YAML
\
\
file
or
to
\"
application/zip
\"
for
a
ZIP
file."
schema
:
type
:
"
object"
headers
:
Content-Type
:
type
:
"
string"
206
:
description
:
"
On
success,
if
the
NFVO
supports
range
requests,
a
single
\
\
consecutive
byte
range
from
the
content
of
the
NSD
file
is
returned.
\n\
\n
The
response
body
shall
contain
the
requested
part
of
the
NSD
file.
\n\
\n
The
\"
Content-Range
\"
HTTP
header
shall
be
provided
according
to
IETF
\
\
RFC
7233
[23].
\n\n
The
\"
Content-Type
\"
HTTP
header
shall
be
set
as
defined
\
\
above
for
the
\"
200
OK
\"
response."
headers
:
Content-Range
:
type
:
"
string"
Content-Type
:
type
:
"
string"
406
:
description
:
"
Status
406"
schema
:
type
:
"
object"
description
:
"
If
the
\"
Accept
\"
header
does
not
contain
at
least
one
name
\
\
of
a
content
type
for
which
the
NFVO
can
provide
a
representation
\
\
of
the
NSD,
the
NFVO
shall
respond
with
this
response
code.
The
\"\
ProblemDetails
\"
structure
may
be
included
with
the
\"
detail
\"
attribute
\
\
providing
more
information
about
the
error."
409
:
description
:
"
Status
409"
schema
:
type
:
"
object"
description
:
"
Error:
The
operation
cannot
be
executed
currently,
due
to
\
\
a
conflict
with
the
state
of
the
resource.
Typically,
this
is
due
\
\
to
the
fact
\"
nsdOnboardingState
\"
has
a
value
different
from
ONBOARDED.
\
\
The
response
body
shall
contain
a
ProblemDetails
structure,
in
which
\
\
the
\"
detail
\"
attribute
shall
convey
more
information
about
the
error."
416
:
description
:
"
Status
416"
schema
:
type
:
"
object"
description
:
"
The
byte
range
passed
in
the
\"
Range
\"
header
did
not
match
\
\
any
available
byte
range
in
the
NSD
file
(e.g.
\n\"
access
after
end
\
\
of
file
\"
).
The
response
body
may
contain
a
ProblemDetails
structure."
put
:
summary
:
"
Upload
NSD"
description
:
"
The
PUT
method
is
used
to
upload
the
content
of
a
NSD.
The
NSD
\
\
to
be
uploaded
can
be
implemented
as
a
single
file
or
as
a
collection
of
\
\
multiple
files,
as
defined
in
clause
5.4.4.3.2
of
GS
NFV-SOL
005.
If
the
\
\
NSD
is
implemented
in
the
form
of
multiple
files,
a
ZIP
file
embedding
these
\
\
files
shall
be
uploaded.
If
the
NSD
is
implemented
as
a
single
file,
either
\
\
that
file
or
a
ZIP
file
embedding
that
file
shall
be
uploaded.
The
\"
Content-Type
\"\
\
HTTP
header
in
the
PUT
request
shall
be
set
accordingly
based
on
the
format
\
\
selection
of
the
NSD.
If
the
NSD
to
be
uploaded
is
a
text
file,
the
\"
Content-Type
\"\
\
header
is
set
to
\"
text/plain
\"
.
If
the
NSD
to
be
uploaded
is
a
zip
file,
\
\
the
\"
Content-Type
\"
header
is
set
to
\"
application/zip
\"
.
This
method
shall
\
\
follow
the
provisions
specified
in
the
Tables
5.4.4.3.3-1
and
5.4.4.3.3-2
\
\
of
GS-NFV-SOL
005
for
URI
query
parameters,
request
and
response
data
structures,
\
\
and
response
codes."
consumes
:
[]
parameters
:
-
name
:
"
Content-Type"
in
:
"
header"
required
:
false
type
:
"
string"
description
:
"
The
payload
body
contains
a
copy
of
the
file
representing
the
\
\
NSD
or
a
ZIP
file
that
contains
the
file
or
multiple
files
representing
\
\
the
NSD,
as
specified
above.
The
request
shall
set
the
\"
Content-Type
\"\
\
HTTP
header
as
defined
\n
above."
-
name
:
"
body"
in
:
"
body"
required
:
true
schema
:
type
:
"
object"
responses
:
202
:
description
:
"
Status
202"
schema
:
type
:
"
object"
description
:
"
The
NSD
content
was
accepted
for
uploading,
but
the
processing
\
\
has
not
been
completed.
It
is
expected
to
take
some
time
for
processing
\
\
(asynchronous
mode).
The
response
body
shall
be
empty.
See
note."
204
:
description
:
"
The
NSD
content
was
successfully
uploaded
and
validated
(synchronous
\
\
mode).
The
response
body
shall
be
empty."
409
:
description
:
"
Error:
The
operation
cannot
be
executed
currently,
due
to
\
\
a
conflict
with
the
state
of
the
resource.
Typically,
this
is
due
to
\
\
the
fact
that
the
NsdOnboardingState
has
a
value
other
than
CREATED.
\
\
The
response
body
shall
contain
a
ProblemDetails
structure,
in
which
\
\
the
\"
detail
\"
attribute
shall
convey
more
information
about
the
error."
schema
:
$ref
:
"
#/definitions/ProblemDetails"
parameters
:
-
name
:
"
nsdInfoId"
in
:
"
path"
required
:
true
type
:
"
string"
/pnf_descriptors
:
get
:
summary
:
"
Query
PFND
Info"
description
:
"
The
GET
method
queries
information
about
multiple
PNF
descriptor
\
\
resources."
parameters
:
-
name
:
"
exclude_default"
in
:
"
query"
required
:
false
type
:
"
string"
description
:
"
Indicates
to
exclude
the
following
\n
\n
complex
attributes
from
\
\
the
response.
\n
See
clause
4.3.3
for
details.
\n\n
The
NFVO
shall
support
\
\
this
parameter.
\n\n
The
following
attributes
shall
be
excluded
from
the
\
\
PnfdInfo
structure
in
the
response
body
if
this
parameter
is
provided,
\
\
or
none
of
the
parameters
\"
all_fields,
\"
\"
fields
\"
,
\"
exclude_fields
\"\
,
\"
exclude_default
\"
are
provided:
userDefinedData."
-
name
:
"
all_fields"
in
:
"
query"
required
:
false
type
:
"
string"
description
:
"
Include
all
complex
attributes
in
the
response.
See
clause
4.3.3
\
\
for
details.
The
NFVO
shall
support
this
parameter."
responses
:
200
:
description
:
"
Status
200"
schema
:
type
:
"
object"
description
:
"
Information
about
zero
or
more
PNF
descriptors.
The
response
\
\
body
shall
contain
a
representation
of
zero
or
more
PNF
descriptors,
\
\
as
defined
in
clause
5.5.2.2."
post
:
summary
:
"
Create
PNFD
Info"
description
:
"
The
POST
method
is
used
to
create
a
new
PNF
descriptor
resource."
consumes
:
[]
parameters
:
-
name
:
"
body"
in
:
"
body"
required
:
true
schema
:
type
:
"
object"
description
:
"
Parameters
of
creating
a
PNF
descriptor
resource,
as
defined
\
\
in
\n
clause
5.5.2.6
of
GS
NFV-SOL
005."
responses
:
201
:
description
:
"
Status
201"
schema
:
type
:
"
object"
description
:
"
A
PNF
descriptor
resource
was
created
successfully,
as
a
\
\
new
PNF
descriptor
resource.
The
response
body
shall
contain
a
representation
\
\
of
the
new
PNF
descriptor
resource,
as
defined
in
clause
5.5.2.5.
\
\
The
HTTP
response
shall
include
a
\"
Location
\"
HTTP
header
that
contains
\
\
the
resource
URI
of
the
new
PNF
descriptor
resource."
/pnf_descriptors/{pnfdInfoId}
:
get
:
summary
:
"
Query
PNFD
Info"
description
:
"
The
GET
method
reads
information
about
an
individual
PNF
descriptor.
\
\
This
method
shall
follow
the
provisions
specified
in
the
Tables
5.4.6.3.2-1
\
\
and
5.4.6.3.2-2
of
GS
NFV-SOL
005
for
URI
query
parameters,
request
and
\
\
response
data
structures,
and
response
codes."
parameters
:
[]
responses
:
200
:
description
:
"
Information
about
the
individual
PNFD
descriptor.
The
response
\
\
body
shall
contain
a
representation
of
the
individual
PNF
descriptor,
\
\
as
defined
in
clause
5.5.2.5
of
GS
NFV-SOL
005."
delete
:
summary
:
"
Delete
PNFD"
description
:
"
The
DELETE
method
deletes
an
individual
PNF
descriptor
resource.
\
\
An
individual
PNF
descriptor
resource
can
only
be
deleted
when
there
is
\
\
no
NS
instance
using
it
or
there
is
NSD
referencing
it.
To
delete
all
PNFD
\
\
versions
identified
by
a
particular
value
of
the
\"
pnfdInvariantId
\"
attribute,
\
\
the
procedure
is
to
first
use
the
GET
method
with
filter
\"
pnfdInvariantId
\"\
\
towards
the
PNF
descriptors
resource
to
find
all
versions
of
the
PNFD.
Then,
\
\
the
client
uses
the
DELETE
method
described
in
this
clause
to
delete
each
\
\
PNFD
version
individually.
This
method
shall
follow
the
provisions
specified
\
\
in
the
Tables
5.4.6.3.5-1
and
5.4.6.3.5-2
of
GS
NFV-SOL
005
for
URI
query
\
\
parameters,
request
and
response
data
structures,
and
response
codes."
parameters
:
[]
responses
:
204
:
description
:
"
The
operation
has
completed
successfully.
The
response
body
\
\
shall
be
empty."
patch
:
summary
:
"
Update
PNFD
Info"
description
:
"
The
PATCH
method
modifies
the
user
defined
data
of
an
individual
\
\
PNF
descriptor
resource.
This
method
shall
follow
the
provisions
specified
\
\
in
the
Tables
5.4.6.3.4-1
and
5.4.6.3.4-2
for
URI
query
parameters,
request
\
\
and
response
data
structures,
and
response
codes."
consumes
:
[]
parameters
:
-
name
:
"
body"
in
:
"
body"
required
:
true
schema
:
$ref
:
"
#/definitions/PnfdInfoModifications"
responses
:
200
:
description
:
"
Status
200"
schema
:
$ref
:
"
#/definitions/PnfdInfoModifications"
412
:
description
:
"
Status
412"
schema
:
$ref
:
"
#/definitions/ProblemDetails"
parameters
:
-
name
:
"
pnfdInfoId"
in
:
"
path"
required
:
true
type
:
"
string"
/pnf_descriptors/{pnfdInfoId}/pnfd_content
:
get
:
summary
:
"
Get
PNFD
Content"
description
:
"
The
GET
method
fetches
the
content
of
the
PNFD."
parameters
:
[]
responses
:
200
:
description
:
"
On
success,
the
content
of
the
PNFD
is
returned.
The
payload
\
\
body
shall
contain
a
copy
of
the
file
representing
the
PNFD.
The
\"\
Content-Type
\"
HTTP
header
shall
be
set
to
\"
text/plain
\"
."
put
:
summary
:
"
Upload
PNFD"
description
:
"
The
PUT
method
is
used
to
upload
the
content
of
a
PNFD.
This
method
\
\
shall
follow
the
provisions
specified
in
the
Tables
5.4.7.3.3-1
and
5.4.7.3.3-2
\
\
of
GS
NFV-SOL
005for
URI
query
parameters,
request
and
response
data
structures,
\
\
and
response
codes."
consumes
:
[]
parameters
:
-
name
:
"
Content-Type"
in
:
"
header"
required
:
false
type
:
"
string"
description
:
"
The
request
shall
set
the
\"
Content-Type
\"
HTTP
header
to
\"\
text/plain
\"
."
-
name
:
"
body"
in
:
"
body"
required
:
true
schema
:
type
:
"
object"
description
:
"
The
payload
body
contains
a
copy
of
the
file
representing
\
\
the
PNFD."
responses
:
204
:
description
:
"
The
PNFD
content
was
successfully
uploaded
and
validated.
\
\
The
response
body
shall
be
empty."
409
:
description
:
"
Status
409"
schema
:
$ref
:
"
#/definitions/ProblemDetails"
parameters
:
-
name
:
"
pnfdInfoId"
in
:
"
path"
required
:
true
type
:
"
string"
/subscriptions
:
get
:
summary
:
"
Query
Subscription
Information"
description
:
"
The
GET
method
queries
the
list
of
active
subscriptions
of
the
\
\
functional
block
that
invokes
the
method.
It
can
be
used
e.g.
for
resynchronization
\
\
after
error
situations.
This
method
shall
support
the
URI
query
parameters,
\
\
request
and
response
data
structures,
and
response
codes,
as
specified
in
\
\
the
Tables
5.4.8.3.2-1
and
5.4.8.3.2-2
of
GS
NFV-SOL
005."
parameters
:
[]
responses
:
200
:
description
:
"
Status
200"
schema
:
type
:
"
array"
description
:
"
The
list
of
subscriptions
was
queried
successfully.
The
\
\
response
body
shall
contain
the
representations
of
all
active
subscriptions
\
\
of
the
functional
block
that
invokes
the
method."
items
:
$ref
:
"
#/definitions/NsdmSubscription"
303
:
description
:
"
A
subscription
with
the
same
callbackURI
and
the
same
filter
\
\
already
exits
and
the
policy
of
the
NFVO
is
to
not
create
redundant
\
\
subscriptions.
The
response
body
shall
be
empty."
headers
:
Location
:
type
:
"
string"
description
:
"
The
HTTP
response
shall
include
a
\"
Location
\"
HTTP
header
\
\
that
contains
the
resource
URI
of
the
existing
subscription
resource."
post
:
summary
:
"
Subscribe"
description
:
"
The
POST
method
creates
a
new
subscription.
This
method
shall
\
\
support
the
URI
query
parameters,
request
and
response
data
structures,
\
\
and
response
codes,
as
specified
in
the
Tables
5.4.8.3.1-1
and
5.4.8.3.1-2
\
\
of
GS-NFV
SOL
005.
Creation
of
two
subscription
resources
with
the
same
\
\
callbackURI
and
the
same
filter
can
result
in
performance
degradation
and
\
\
will
provide
duplicates
of
notifications
to
the
OSS,
and
might
make
sense
\
\
only
in
very
rare
use
cases.
Consequently,
the
NFVO
may
either
allow
creating
\
\
a
subscription
resource
if
another
subscription
resource
with
the
same
filter
\
\
and
callbackUri
already
exists
(in
which
case
it
shall
return
the
\"
201
\
\
Created
\"
response
code),
or
may
decide
to
not
create
a
duplicate
subscription
\
\
resource
(in
which
case
it
shall
return
a
\"
303
See
Other
\"
response
code
\
\
referencing
the
existing
subscription
resource
with
the
same
filter
and
\
\
callbackUri)."
consumes
:
[]
parameters
: