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. Lists, shows details for, creates, updates, and deletes network segment ranges.
The network segment ranges API is admin-only. 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 Show network segment range details
================================== ==================================
@ -44,6 +57,7 @@ Response Parameters
- id: network_segment_range_id - id: network_segment_range_id
- name: name - name: name
- description: description
- default: network_segment_range-default - default: network_segment_range-default
- shared: network_segment_range-shared - shared: network_segment_range-shared
- tenant_id: project_id - tenant_id: project_id
@ -54,6 +68,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required - maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available - available: network_segment_range-available
- used: network_segment_range-used - used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example Response Example
---------------- ----------------
@ -79,8 +97,13 @@ Request
- network_segment_range_id: network_segment_range_id-path - network_segment_range_id: network_segment_range_id-path
- name: name-request - name: name-request
- description: description-request
- minimum: network_segment_range-minimum-body-optional - minimum: network_segment_range-minimum-body-optional
- maximum: network_segment_range-maximum-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 Request Example
--------------- ---------------
@ -95,6 +118,7 @@ Response Parameters
- id: network_segment_range_id - id: network_segment_range_id
- name: name - name: name
- description: description
- default: network_segment_range-default - default: network_segment_range-default
- shared: network_segment_range-shared - shared: network_segment_range-shared
- tenant_id: project_id - tenant_id: project_id
@ -105,6 +129,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required - maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available - available: network_segment_range-available
- used: network_segment_range-used - used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example Response Example
---------------- ----------------
@ -164,6 +192,10 @@ Request
- physical_network: network_segment_range-physical_network-query - physical_network: network_segment_range-physical_network-query
- sort_dir: sort_dir - sort_dir: sort_dir
- sort_key: network_segment_range-sort_key - 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 - fields: fields
Response Parameters Response Parameters
@ -173,6 +205,7 @@ Response Parameters
- id: network_segment_range_id - id: network_segment_range_id
- name: name - name: name
- description: description
- default: network_segment_range-default - default: network_segment_range-default
- shared: network_segment_range-shared - shared: network_segment_range-shared
- tenant_id: project_id - tenant_id: project_id
@ -183,6 +216,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required - maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available - available: network_segment_range-available
- used: network_segment_range-used - used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example Response Example
---------------- ----------------
@ -207,6 +244,7 @@ Request
.. rest_parameters:: parameters.yaml .. rest_parameters:: parameters.yaml
- name: network_segment_range-name - name: network_segment_range-name
- description: description-request
- shared: network_segment_range-shared - shared: network_segment_range-shared
- project_id: project_id-body-optional - project_id: project_id-body-optional
- network_type: network_segment_range-network_type - network_type: network_segment_range-network_type
@ -227,6 +265,7 @@ Response Parameters
- id: network_segment_range_id - id: network_segment_range_id
- name: name - name: name
- description: description
- default: network_segment_range-default - default: network_segment_range-default
- shared: network_segment_range-shared - shared: network_segment_range-shared
- tenant_id: project_id - tenant_id: project_id
@ -237,6 +276,10 @@ Response Parameters
- maximum: network_segment_range-maximum-body-required - maximum: network_segment_range-maximum-body-required
- available: network_segment_range-available - available: network_segment_range-available
- used: network_segment_range-used - used: network_segment_range-used
- revision_number: revision_number
- created_at: created_at_resource
- updated_at: updated_at_resource
- tags: tags
Response Example Response Example
---------------- ----------------

View File

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

View File

@ -2,6 +2,7 @@
"network_segment_range": { "network_segment_range": {
"id": "59b38ee8-6642-418a-88b7-756861606ecb", "id": "59b38ee8-6642-418a-88b7-756861606ecb",
"name": "range_vlan_physnet1", "name": "range_vlan_physnet1",
"description": "network segment range for testing",
"default": false, "default": false,
"shared": false, "shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a", "tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -11,6 +12,10 @@
"minimum": 10, "minimum": 10,
"maximum": 20, "maximum": 20,
"available": [10,11,12,13,14,15,16,17,18,19,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": { "network_segment_range": {
"id": "59b38ee8-6642-418a-88b7-756861606ecb", "id": "59b38ee8-6642-418a-88b7-756861606ecb",
"name": "range_vlan_physnet1", "name": "range_vlan_physnet1",
"description": "network segment range for testing",
"default": false, "default": false,
"shared": false, "shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a", "tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -14,5 +15,9 @@
"used": { "used": {
"17": "5fc1cd2f16ab4c8fbba2e780891b9de3", "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"]
} }

View File

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

View File

@ -2,6 +2,7 @@
"network_segment_range": { "network_segment_range": {
"id": "50089a13-4a9f-4421-85ba-5222e84610c3", "id": "50089a13-4a9f-4421-85ba-5222e84610c3",
"name": "new_range", "name": "new_range",
"description": "network segment range updated for testing",
"default": false, "default": false,
"shared": false, "shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a", "tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -13,6 +14,10 @@
"available": [10,11,12,13,14,15,16,19,20], "available": [10,11,12,13,14,15,16,19,20],
"used": { "used": {
"17": "5fc1cd2f16ab4c8fbba2e780891b9de3", "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", "id": "59b38ee8-6642-418a-88b7-756861606ecb",
"name": "range_vlan_physnet1", "name": "range_vlan_physnet1",
"description": "network segment range 1 for testing",
"default": false, "default": false,
"shared": false, "shared": false,
"tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a", "tenant_id": "7011dc7fccac4efda89dc3b7f0d0975a",
@ -14,11 +15,16 @@
"available": [10,11,12,13,14,15,16,19,20], "available": [10,11,12,13,14,15,16,19,20],
"used": { "used": {
"17": "5fc1cd2f16ab4c8fbba2e780891b9de3", "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", "id": "91ea6e31-3a6d-4541-8432-b49b4cacf893",
"name": "range_vxlan", "name": "range_vxlan",
"description": "network segment range 2 for testing",
"default": false, "default": false,
"shared": true, "shared": true,
"tenant_id": null, "tenant_id": null,
@ -30,7 +36,11 @@
"available": [40,41,43,44,46,47,48,49,50], "available": [40,41,43,44,46,47,48,49,50],
"used": { "used": {
"42": "07ac1127ee9647d48ce2626867104a13", "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"]
} }
] ]
} }