Skip to content
Open
31 changes: 25 additions & 6 deletions code/API_definitions/dedicated-network-accesses.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ info:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
x-camara-commonalities: 0.6
x-camara-commonalities: "0.7"
externalDocs:
description: Product documentation at CAMARA
url: https://github.com/camaraproject/DedicatedNetworks
Expand Down Expand Up @@ -119,6 +119,8 @@ paths:
type: array
items:
$ref: '#/components/schemas/NetworkAccessInfo'
maxItems: 200
# We may need to add pagination support, https://github.com/camaraproject/Commonalities/blob/main/documentation/CAMARA-API-Design-Guide.md#41-pagination
"400":
$ref: "#/components/responses/Generic400"
"401":
Expand Down Expand Up @@ -156,6 +158,8 @@ paths:
required: true
schema:
type: string
maxLength: 2048
# Is this long enough?
'400':
$ref: "#/components/responses/Generic400"
"401":
Expand Down Expand Up @@ -255,6 +259,8 @@ components:
as per section 3.3.5 of the RFC
schema:
type: string
maxLength: 8192
# Practical limit of HTTP headers
example: 'phonenumber="+123456789"'

headers:
Expand All @@ -267,17 +273,20 @@ components:
XCorrelator:
type: string
pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$
maxLength: 256
example: "b4333c46-49c0-4f62-80d7-f0ef930f1c46"

AccessId:
description: Network access id in UUID format
type: string
format: uuid
maxLength: 36

NetworkId:
description: Network id in UUID format
type: string
format: uuid
maxLength: 36

BaseNetworkAccessInfo:
description: Common attributes of a device access to a dedicated network
Expand All @@ -292,10 +301,13 @@ components:
type: array
items:
type: string
maxLength: 256
minItems: 1
maxItems: 128
defaultQosProfile:
description: (Optional) The default QOS profile of a device access. When absent, the defaultQosProfile of the Network is used
type: string
maxLength: 256
required:
- networkId

Expand Down Expand Up @@ -333,7 +345,7 @@ components:
networkAccessIdentifier:
$ref: "#/components/schemas/NetworkAccessIdentifier"
ipv4Address:
$ref: "#/components/schemas/DeviceIpv4Addr"
$ref: "#/components/schemas/DeviceIpv4Address"
ipv6Address:
$ref: "#/components/schemas/DeviceIpv6Address"
minProperties: 1
Expand All @@ -349,7 +361,7 @@ components:
type: string
example: "[email protected]"

DeviceIpv4Addr:
DeviceIpv4Address:
type: object
description: |
The device should be identified by either the public (observed) IP address and port as seen by the application server, or the private (local) and any public (observed) IP addresses in use by the device (this information can be obtained by various means, for example from some DNS servers).
Expand All @@ -361,9 +373,9 @@ components:
In all cases, publicAddress must be specified, along with at least one of either privateAddress or publicPort, dependent upon which is known. In general, mobile devices cannot be identified by their public IPv4 address alone.
properties:
publicAddress:
$ref: "#/components/schemas/SingleIpv4Addr"
$ref: "#/components/schemas/SingleIpv4Address"
privateAddress:
$ref: "#/components/schemas/SingleIpv4Addr"
$ref: "#/components/schemas/SingleIpv4Address"
publicPort:
$ref: "#/components/schemas/Port"
anyOf:
Expand All @@ -373,10 +385,11 @@ components:
publicAddress: "84.125.93.10"
publicPort: 59765

SingleIpv4Addr:
SingleIpv4Address:
description: A single IPv4 address with no subnet mask
type: string
format: ipv4
maxLength: 15
example: "84.125.93.10"

Port:
Expand All @@ -390,6 +403,7 @@ components:
The device should be identified by the observed IPv6 address, or by any single IPv6 address from within the subnet allocated to the device (e.g. adding ::0 to the /64 prefix).
type: string
format: ipv6
maxLength: 45
example: 2001:db8:85a3:8d3:1319:8a2e:370:7344

ErrorInfo:
Expand All @@ -401,12 +415,17 @@ components:
properties:
status:
type: integer
format: int32
minimum: 100
maximum: 599
description: HTTP response status code
code:
type: string
maxLength: 96
description: A human-readable code to describe the error
message:
type: string
maxLength: 512
description: A human-readable description of what the event represents

responses:
Expand Down
22 changes: 21 additions & 1 deletion code/API_definitions/dedicated-network-areas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ info:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
x-camara-commonalities: 0.6
x-camara-commonalities: "0.7"
servers:
- url: "{apiRoot}/dedicated-network-areas/vwip"
variables:
Expand Down Expand Up @@ -93,6 +93,8 @@ paths:
type: array
items:
$ref: '#/components/schemas/ServiceArea'
maxItems: 200
# We may need to add pagination support, https://github.com/camaraproject/Commonalities/blob/main/documentation/CAMARA-API-Design-Guide.md#41-pagination
'400':
$ref: "#/components/responses/Generic400"
"401":
Expand Down Expand Up @@ -150,10 +152,12 @@ components:
XCorrelator:
type: string
pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$
maxLength: 256
example: "b4333c46-49c0-4f62-80d7-f0ef930f1c46"

NetworkProfileId:
type: string
maxLength: 36

QosProfileName:
description: |
Expand All @@ -174,6 +178,7 @@ components:
ServiceAreaId:
type: string
format: uuid
maxLength: 36

RetrieveServiceAreasRequest:
description: Request object to retrieve service areas that match all the given properties
Expand All @@ -187,6 +192,8 @@ components:
$ref: "#/components/schemas/Area"
byName:
type: string
maxLength: 200
# Is this too short?
byNetworkProfileId:
$ref: "#/components/schemas/NetworkProfileId"
byQosProfileName:
Expand All @@ -199,8 +206,12 @@ components:
$ref: '#/components/schemas/ServiceAreaId'
name:
type: string
maxLength: 200
# Is this too short?
description:
type: string
maxLength: 200
# Is this too short
area:
$ref: '#/components/schemas/Area'
networkProfiles:
Expand All @@ -209,12 +220,16 @@ components:
items:
$ref: "#/components/schemas/NetworkProfileId"
minItems: 1
maxItems: 256
# The standard should not limit deployments here. Deployments may enforce a shorter array length
qosProfiles:
description: Qos Profiles which are supported in this area.
type: array
items:
$ref: '#/components/schemas/QosProfileName'
minItems: 1
maxItems: 256
# The standard should not limit deployments here. Deployments may enforce a shorter array length
required:
- id
- area
Expand Down Expand Up @@ -323,12 +338,17 @@ components:
properties:
status:
type: integer
format: int32
minimum: 100
maximum: 599
description: HTTP response status code
code:
type: string
maxLength: 96
description: A human-readable code to describe the error
message:
type: string
maxLength: 512
description: A human-readable description of what the event represents

responses:
Expand Down
23 changes: 22 additions & 1 deletion code/API_definitions/dedicated-network-profiles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ info:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
x-camara-commonalities: 0.6
x-camara-commonalities: "0.7"
externalDocs:
description: Product documentation at CAMARA
url: https://github.com/camaraproject/DedicatedNetworks
Expand All @@ -77,6 +77,8 @@ paths:
description: name of a network profile
schema:
type: string
maxLength: 200
# Is this too short? (The standard should not limit deployments)
- $ref: "#/components/parameters/x-correlator"
responses:
'200':
Expand All @@ -87,6 +89,8 @@ paths:
type: array
items:
$ref: '#/components/schemas/NetworkProfile'
maxItems: 200
# We may need to add pagination support, https://github.com/camaraproject/Commonalities/blob/main/documentation/CAMARA-API-Design-Guide.md#41-pagination
'400':
$ref: "#/components/responses/Generic400"
"401":
Expand Down Expand Up @@ -149,12 +153,14 @@ components:
XCorrelator:
type: string
pattern: ^[a-zA-Z0-9-_:;.\/<>{}]{0,256}$
maxLength: 256
example: "b4333c46-49c0-4f62-80d7-f0ef930f1c46"

NetworkProfileId:
description: Network profile id in UUID format
type: string
format: uuid
maxLength: 36

NetworkProfile:
type: object
Expand All @@ -164,8 +170,16 @@ components:
name:
description: A human-readable name to describe the network profile
type: string
maxLength: 200
# Is this too short? The standard should not limit deployments.
maxNumberOfDevices:
type: integer
example: 5
format: int64
minimum: 1
maximum: 1000000000000
# this is assuming support for an IoT use-case with nationwide support.
# We may need to restrict this because of new Commonalities 0.7-rc1
aggregatedUlThroughput:
$ref: "#/components/schemas/BitRate"
aggregatedDlThroughput:
Expand All @@ -176,6 +190,8 @@ components:
items:
$ref: '#/components/schemas/QosProfileName'
minItems: 1
maxItems: 32
# We may need to restrict this because of new Commonalities 0.7-rc1
defaultQosProfile:
$ref: '#/components/schemas/QosProfileName'
required:
Expand Down Expand Up @@ -235,12 +251,17 @@ components:
properties:
status:
type: integer
format: int32
minimum: 100
maximum: 599
description: HTTP response status code
code:
type: string
maxLength: 96
description: A human-readable code to describe the error
message:
type: string
maxLength: 512
description: A human-readable description of what the event represents

responses:
Expand Down
Loading