standard-attr for network-segment-range api-ref

Adds standard attributes with tagging support to the API definition and
samples of network-segment-range extension.

Co-authored-by: Allain Legacy <Allain.legacy@windriver.com>

Partially-implements: blueprint network-segment-range-management
Change-Id: I18679b4f7d2c65abd5106f256eff4a1b481d239d
This commit is contained in:
Kailun Qin 2019-03-04 05:11:40 +08:00
parent 24ca972d0c
commit e13f082632
7 changed files with 76 additions and 6 deletions

View File

@ -13,6 +13,19 @@ a per-tenant basis.
Lists, shows details for, creates, updates, and deletes network segment ranges.
The network segment ranges API is admin-only.
Resource timestamps
===================
The ``standard-attr-timestamp`` extension adds the ``created_at`` and
``updated_at`` attributes to all resources that have standard attributes.
Tag extension
=============
The ``standard-attr-tag`` adds tag support for resources with
standard attributes by adding the ``tags`` attribute
allowing consumers to associate tags with resources.
Show network segment range details
==================================
@ -44,6 +57,7 @@ Response Parameters
- id: network_segment_range_id
- name: name
- description: description
- default: network_segment_range-default
- shared: network_segment_range-shared
- tenant_id: project_id
@ -54,6 +68,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available
- used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example
----------------
@ -79,8 +97,13 @@ Request
- network_segment_range_id: network_segment_range_id-path
- name: name-request
- description: description-request
- minimum: network_segment_range-minimum-body-optional
- maximum: network_segment_range-maximum-body-optional
- tags: tags-query
- tags-any: tags-any-query
- not-tags: not-tags-query
- not-tags-any: not-tags-any-query
Request Example
---------------
@ -95,6 +118,7 @@ Response Parameters
- id: network_segment_range_id
- name: name
- description: description
- default: network_segment_range-default
- shared: network_segment_range-shared
- tenant_id: project_id
@ -105,6 +129,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available
- used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example
----------------
@ -164,6 +192,10 @@ Request
- physical_network: network_segment_range-physical_network-query
- sort_dir: sort_dir
- sort_key: network_segment_range-sort_key
- tags: tags-query
- tags-any: tags-any-query
- not-tags: not-tags-query
- not-tags-any: not-tags-any-query
- fields: fields
Response Parameters
@ -173,6 +205,7 @@ Response Parameters
- id: network_segment_range_id
- name: name
- description: description
- default: network_segment_range-default
- shared: network_segment_range-shared
- tenant_id: project_id
@ -183,6 +216,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available
- used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example
----------------
@ -207,6 +244,7 @@ Request
.. rest_parameters:: parameters.yaml
- name: network_segment_range-name
- description: description-request
- shared: network_segment_range-shared
- project_id: project_id-body-optional
- network_type: network_segment_range-network_type
@ -227,6 +265,7 @@ Response Parameters
- id: network_segment_range_id
- name: name
- description: description
- default: network_segment_range-default
- shared: network_segment_range-shared
- tenant_id: project_id
@ -237,6 +276,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available
- used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example
----------------

View File

@ -1,6 +1,7 @@
{
"network_segment_range": {
"name": "range_vlan_physnet1",
"description": "network segment range for testing",
"shared": false,
"project_id": "7011dc7fccac4efda89dc3b7f0d0975a",
"network_type": "vlan",

View File

@ -2,6 +2,7 @@
"network_segment_range": {
"id": "59b38ee8-6642-418a-88b7-756861606ecb",
"name": "range_vlan_physnet1",
"description": "network segment range for testing",
"default": false,
"shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -11,6 +12,10 @@
"minimum": 10,
"maximum": 20,
"available": [10,11,12,13,14,15,16,17,18,19,20],
"used": {}
"used": {},
"created_at": "2019-03-04T04:49:28Z",
"updated_at": "2019-03-04T04:49:28Z",
"revision_number": 1,
"tags": ["tag1,tag2"]
}
}

View File

@ -2,6 +2,7 @@
"network_segment_range": {
"id": "59b38ee8-6642-418a-88b7-756861606ecb",
"name": "range_vlan_physnet1",
"description": "network segment range for testing",
"default": false,
"shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -14,5 +15,9 @@
"used": {
"17": "5fc1cd2f16ab4c8fbba2e780891b9de3",
"18": "87504c1c9d86439882ff90fdbfb096ad"}
}
},
"created_at": "2019-03-04T04:49:28Z",
"updated_at": "2019-03-04T04:49:28Z",
"revision_number": 1,
"tags": ["tag1,tag2"]
}

View File

@ -2,6 +2,7 @@
"network_segment_range": {
"name": "new_range",
"minimum": 10,
"maximum": 20
"maximum": 20,
"description": "network segment range updated for testing"
}
}

View File

@ -2,6 +2,7 @@
"network_segment_range": {
"id": "50089a13-4a9f-4421-85ba-5222e84610c3",
"name": "new_range",
"description": "network segment range updated for testing",
"default": false,
"shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -13,6 +14,10 @@
"available": [10,11,12,13,14,15,16,19,20],
"used": {
"17": "5fc1cd2f16ab4c8fbba2e780891b9de3",
"18": "87504c1c9d86439882ff90fdbfb096ad"}
"18": "87504c1c9d86439882ff90fdbfb096ad"},
"created_at": "2019-03-04T04:56:49Z",
"updated_at": "2019-03-04T04:58:06Z",
"revision_number": 2,
"tags": ["tag1,tag2"]
}
}

View File

@ -3,6 +3,7 @@
{
"id": "59b38ee8-6642-418a-88b7-756861606ecb",
"name": "range_vlan_physnet1",
"description": "network segment range 1 for testing",
"default": false,
"shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -14,11 +15,16 @@
"available": [10,11,12,13,14,15,16,19,20],
"used": {
"17": "5fc1cd2f16ab4c8fbba2e780891b9de3",
"18": "87504c1c9d86439882ff90fdbfb096ad"}
"18": "87504c1c9d86439882ff90fdbfb096ad"},
"created_at": "2019-03-04T04:49:28Z",
"updated_at": "2019-03-04T04:49:28Z",
"revision_number": 1,
"tags": ["tag1,tag2"]
},
{
"id": "91ea6e31-3a6d-4541-8432-b49b4cacf893",
"name": "range_vxlan",
"description": "network segment range 2 for testing",
"default": false,
"shared": true,
"tenant_id": null,
@ -30,7 +36,11 @@
"available": [40,41,43,44,46,47,48,49,50],
"used": {
"42": "07ac1127ee9647d48ce2626867104a13",
"45": "d4fa62aa47d340d98d076801aa7e6ec4"}
"45": "d4fa62aa47d340d98d076801aa7e6ec4"},
"created_at": "2019-03-04T04:56:49Z",
"updated_at": "2019-03-04T04:58:06Z",
"revision_number": 2,
"tags": ["tag1,tag2"]
}
]
}