I got a working schema using the editor, posted at the end for completeness.
What I'm trying to solve for is reusing a definition between an in path
param and an in: body param network_id in my below example. I currently am
unable to do it so I have a follow-up question:
put:
summary: Modify Gateway Record
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/gateway_id"
- in: body
name: MutableGatewayRecord
description: Gateway Configs
required: true
schema:
$ref: '#/definitions/mutable_gateway_record'
responses:
'200':
description: Success
default:
$ref: '#/responses/UnexpectedError'
For in path parameters, the below syntax doesn't work like for the in body
params? Also is there a way to redirect the type in an in_path param to
point at something in #definitions, either of these ways will allow me to
reuse the typedefs.
- in: path
name: network_id
description: Network Id
schema:
$ref: '#/definitions/network_record'
Instead I had to define the parameter under #parameters like below and use
a
parameters:
network_id:
in: path
name: network_id
description: Network ID
required: true
type: string
swagger: '2.0'
info:
title: Magma
description: Magma REST APIs
version: 1.1.2
basePath: /magma
consumes:
- application/json
produces:
- application/json
schemes:
- http
- https
tags:
- name: Networks
description: Everything about networks
- name: Gateways
description: Provision and manage gateways
- name: Subscribers
description: Operations about subscribers
paths:
/networks:
get:
summary: List all networks
tags:
- Networks
responses:
'200':
description: List of network ids
schema:
type: array
items:
$ref: '#/definitions/network_id'
default:
$ref: '#/responses/UnexpectedError'
post:
summary: Add a new network
tags:
- Networks
parameters:
- in: body
name: network_record
description: Network object that needs to be added
required: true
schema:
$ref: '#/definitions/network_record'
responses:
'201':
description: Success
default:
$ref: '#/responses/UnexpectedError'
'/networks/{network_id}':
get:
summary: Retrieve Network Configs
tags:
- Networks
parameters:
- in: path
name: network_id
description: Network ID
required: true
type: string
responses:
'201':
description: Network Configs
schema:
$ref: '#/definitions/network_record'
default:
$ref: '#/responses/UnexpectedError'
put:
summary: Set Network Configs
tags:
- Networks
parameters:
- in: path
name: network_id
description: Network ID
required: true
type: string
- in: body
name: network_record
description: Network Configs
required: true
schema:
$ref: '#/definitions/network_record'
responses:
'200':
description: Success
default:
$ref: '#/responses/UnexpectedError'
delete:
summary: Delete a network
tags:
- Networks
parameters:
- $ref: "#/parameters/network_id"
responses:
'204':
description: Success
default:
$ref: '#/responses/UnexpectedError'
'/networks/{network_id}/gateways':
get:
summary: List gateways in the network
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
responses:
'200':
description: List of gateway ids
schema:
type: array
items:
$ref: '#/definitions/gateway_id'
default:
$ref: '#/responses/UnexpectedError'
post:
summary: Add a new gateway to the network
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
- in: body
name: Gateway Record
description: Gateway Record Of the Gateway to Add
required: true
schema:
$ref: '#/definitions/access_gateway_record'
responses:
'201':
description: New Logical ID of the Registered Gateway
schema:
$ref: '#/definitions/gateway_id'
default:
$ref: '#/responses/UnexpectedError'
'/networks/{network_id}/gateways/{gateway_id}':
get:
summary: Get Registered Gateway's Record
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/gateway_id"
responses:
'200':
description: Gateway Record on Success
schema:
$ref: '#/definitions/access_gateway_record'
default:
$ref: '#/responses/UnexpectedError'
put:
summary: Modify Gateway Record
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/gateway_id"
- in: body
name: MutableGatewayRecord
description: Gateway Configs
required: true
schema:
$ref: '#/definitions/mutable_gateway_record'
responses:
'200':
description: Success
default:
$ref: '#/responses/UnexpectedError'
'/networks/{network_id}/gateways/{gateway_id}/configs':
get:
summary: Retrieve Gateway Configs
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/gateway_id"
responses:
'200':
description: Retreive Gateway Configs
schema:
$ref: '#/definitions/gateway_configs'
default:
$ref: '#/responses/UnexpectedError'
put:
summary: Modify Gateway Configs
tags:
- Gateways
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/gateway_id"
- in: body
name: GatewayConfigs
description: Gateway Configs
required: true
schema:
$ref: '#/definitions/gateway_configs'
responses:
'200':
description: Success
default:
$ref: '#/responses/UnexpectedError'
'/networks/{network_id}/subscribers':
get:
summary: List subscribers in the network
tags:
- Subscribers
parameters:
- $ref: "#/parameters/network_id"
responses:
'200':
description: List of subscriber ids
schema:
type: array
items:
$ref: '#/definitions/subscriber_id'
default:
$ref: '#/responses/UnexpectedError'
post:
summary: Add a new subscriber to the network
tags:
- Subscribers
parameters:
- $ref: "#/parameters/network_id"
- in: body
name: subscriber
description: Subscriber object that needs to be added
required: true
schema:
$ref: '#/definitions/subscriber'
responses:
'201':
description: Success
default:
$ref: '#/responses/UnexpectedError'
'/networks/{network_id}/subscribers/{subscriber_id}':
get:
summary: Retrieve the subscriber info
tags:
- Subscribers
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/subscriber_id"
responses:
'200':
description: Subscriber Info
schema:
type: object
items:
$ref: '#/definitions/subscriber'
default:
$ref: '#/responses/UnexpectedError'
put:
summary: Modify subscriber info
tags:
- Subscribers
parameters:
- $ref: "#/parameters/network_id"
- $ref: "#/parameters/subscriber_id"
- in: body
name: subscriber
description: Subscriber Info
required: true
schema:
$ref: '#/definitions/subscriber'
responses:
'200':
description: Success
default:
$ref: '#/responses/UnexpectedError'
delete:
summary: Remove a subscriber from the network
tags:
- Subscribers
parameters:
- $ref: "#/parameters/network_id"
- $ref: '#/parameters/subscriber_id'
responses:
'204':
description: Success
default:
$ref: '#/responses/UnexpectedError'
responses:
UnexpectedError:
description: Unexpected Error
schema:
$ref: '#/definitions/error'
parameters:
network_id:
in: path
name: network_id
description: Network ID
required: true
type: string
subscriber_id:
in: path
name: subscriber_id
description: Subscriber ID
required: true
type: string
gateway_id:
in: path
name: gateway_id
description: Gateway ID
required: true
type: string
definitions:
log_level:
type: integer
format: int32
enum:
- 0
- 1
- 2
- 3
- 4
minimum: 0
maximum: 4
example: 1
network_id:
type: string
minLength: 1
example: NFHDZAQU8Pyw2N91nbNdGjk5e
enodebd_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
pci:
type: integer
format: int32
example: 260
earfcndl:
type: integer
format: int32
example: 44590
bandwidth_mhz:
type: integer
format: int32
example: 20
plmnid_list:
type: string
example: '20895'
subframe_assignment:
type: integer
format: int32
example: 2
special_subframe_pattern:
type: integer
format: int32
example: 7
mme_ip:
type: string
x-go-custom-tag: 'magma_alt_name:"MmeIp"'
example: 10.0.2.1
allow_enodeb_transmit:
type: boolean
example: true
network_enodebd_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
earfcndl:
type: integer
format: int32
example: 44590
bandwidth_mhz:
type: integer
format: int32
example: 20
plmnid_list:
type: string
example: '20895'
subframe_assignment:
type: integer
format: int32
example: 2
special_subframe_pattern:
type: integer
format: int32
example: 7
mme_ip:
type: string
x-go-custom-tag: 'magma_alt_name:"MmeIp"'
example: 10.0.2.1
mobilityd_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
ip_block:
type: string
minLength: 5
maxLength: 49
x-go-custom-tag: 'magma_alt_name:"IpBlock"'
example: 192.168.16.0/24
ip_recycle_interval:
type: integer
format: uint32
x-go-custom-tag: 'magma_alt_name:"IpRecycleInterval"'
example: 15
mme_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
mcc:
type: integer
format: int32
example: 208
mnc:
type: integer
format: int32
example: 95
tac:
type: integer
format: int32
example: 1
mme_gid:
type: integer
format: int32
example: 1
mme_code:
type: integer
format: int32
example: 1
network_mme_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
mcc:
type: integer
format: int32
example: 208
mnc:
type: integer
format: int32
example: 95
tac:
type: integer
format: int32
example: 1
mme_gid:
type: integer
format: int32
example: 1
control_proxy_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
cloud_address:
type: string
example: 192.168.80.10
cloud_port:
type: integer
format: int32
example: 8080
controllerd_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
apps:
type: array
items:
type: string
magmad_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
checkin_interval:
type: integer
format: int32
example: 60
checkin_timeout:
type: integer
format: int32
example: 10
autoupgrade_enabled:
type: boolean
example: true
autoupgrade_poll_interval:
type: integer
format: int32
example: 300
autoupgrade_channel:
type: string
example: stable
autoupgrade_available_version:
type: string
example: 100.0.0
metricsd_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
spgw_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
subscriber_db_config:
type: object
minLength: 1
properties:
log_level:
$ref: '#/definitions/log_level'
lte_auth_op:
type: string
format: byte
example: EREREREREREREREREREREQ==
lte_auth_amf:
type: string
format: byte
example: gAA=
network_record:
type: object
required:
- name
properties:
name:
type: string
minLength: 1
example: SampleNetwork
x-nullable: false
enodebd:
$ref: '#/definitions/network_enodebd_config'
mobilityd:
$ref: '#/definitions/mobilityd_config'
mme:
$ref: '#/definitions/network_mme_config'
subscriberdb:
$ref: '#/definitions/subscriber_db_config'
gateway_id:
type: string
minLength: 1
example: NFHDZAQU8Pyw2N91nbNdGjk5e.22ffea10-7fc4-4427-975a-b9e4ce8f6f4d
hw_gateway_id:
type: object
required:
- id
properties:
id:
type: string
minLength: 1
x-nullable: false
x-go-custom-tag: 'magma_alt_name:"Id"'
example: 22ffea10-7fc4-4427-975a-b9e4ce8f6f4d
mutable_gateway_record:
type: object
properties:
name:
type: string
minLength: 1
example: SoDoSoPa Tower
access_gateway_record:
type: object
required:
- hw_id
properties:
hw_id:
$ref: '#/definitions/hw_gateway_id'
x-go-custom-tag: 'magma_alt_name:"HwId"'
name:
type: string
minLength: 1
example: South Park's CtPa Town Tower
gateway_configs:
type: object
properties:
control_proxy:
$ref: '#/definitions/control_proxy_config'
enodebd:
$ref: '#/definitions/enodebd_config'
controllerd:
$ref: '#/definitions/controllerd_config'
magmad:
$ref: '#/definitions/magmad_config'
metricsd:
$ref: '#/definitions/metricsd_config'
mobilityd:
$ref: '#/definitions/mobilityd_config'
mme:
$ref: '#/definitions/mme_config'
spgw:
$ref: '#/definitions/spgw_config'
subscriberdb:
$ref: '#/definitions/subscriber_db_config'
error:
type: object
required:
- message
properties:
message:
type: string
example: Error string
subscriber_id:
type: string
pattern: '^(IMSI\d{10,15})$'
example: IMSI208950000000010
lte_subscription:
type: object
properties:
state:
type: string
enum:
- INACTIVE
- ACTIVE
default: INACTIVE
x-nullable: false
auth_algo:
type: string
enum:
- MILENAGE
default: MILENAGE
x-nullable: false
auth_key:
type: string
format: byte
minLength: 32
maxLength: 32
example: AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=
auth_opc:
type: string
format: byte
minLength: 32
maxLength: 32
example: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
subscriber:
type: object
properties:
id:
$ref: '#/definitions/subscriber_id'
x-nullable: false
x-go-custom-tag: 'magma_alt_name:"Id"'
lte:
$ref: '#/definitions/lte_subscription'
On Wed, May 3, 2017 at 6:32 PM, amar padmanabhan <[email protected]> wrote:
> I ran the schema through the online editor and there are issues. I based
> my definition on https://github.com/OAI/OpenAPI-Specification/blob/
> master/examples/v2.0/yaml/petstore-expanded.yaml, can anyone provide
> insights into what the below error means? I have a bunch of those. For
> example network_record is defined under #definitions
> Thanks
> Amar
>
>
> Schema error at paths./networks/{network_id}.get.responses[200]is not
> exactly one from <#/definitions/response>,<#/definitions/jsonReference>
>
> ---
> swagger: "2.0"
> info:
> title: Magma
> description: Magma REST APIs
> version: 1.1.2
> basePath: /magma
> consumes:
> - application/json
> produces:
> - application/json
> schemes:
> - http
> - https
> tags:
> - name: Networks
> description: Everything about networks
> - name: Gateways
> description: Provision and manage gateways
> - name: Subscribers
> description: Operations about subscribers
> paths:
> /networks:
> get:
> summary: List all networks
> tags:
> - Networks
> responses:
> 200:
> description: List of network ids
> schema:
> type: array
> items:
> $ref: '#/definitions/network_id'
> default:
> $ref: "#/responses/UnexpectedError"
> post:
> summary: Add a new network
> tags:
> - Networks
> parameters:
> - in: body
> name: network_record
> description: Network object that needs to be added
> required: true
> schema:
> $ref: '#/definitions/network_record'
> responses:
> 201:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> /networks/{network_id}:
> get:
> summary: Retrieve Network Configs
> tags:
> - Networks
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> type: string
> responses:
> "200":
> description: Network Configs
> name: network_record
> schema:
> $ref: '#/definitions/network_record'
> default:
> $ref: "#/responses/UnexpectedError"
> put:
> summary: Set Network Configs
> tags:
> - Networks
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: body
> name: network_record
> description: Network Configs
> required: true
> schema:
> $ref: '#/definitions/network_record'
> responses:
> 200:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> delete:
> summary: Delete a network
> tags:
> - Networks
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> responses:
> 204:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> /networks/{network_id}/gateways:
> get:
> summary: List gateways in the network
> tags:
> - Gateways
> parameters:
> - in: path
> name: network Id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> responses:
> 200:
> description: List of gateway ids
> schema:
> type: array
> items:
> $ref: '#/definitions/gateway_id'
> default:
> $ref: "#/responses/UnexpectedError"
> post:
> summary: Add a new gateway to the network
> tags:
> - Gateways
> parameters:
> - in: path
> name: network Id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: body
> name: Gateway Record
> description: Gateway Record Of the Gateway to Add
> required: true
> schema:
> $ref: '#/definitions/access_gateway_record'
> responses:
> 201:
> description: New Logical ID of the Registered Gateway
> name: Logical Gateway ID
> schema:
> $ref: '#/definitions/gateway_id'
> default:
> $ref: "#/responses/UnexpectedError"
> /networks/{network_id}/gateways/{gateway_id}:
> get:
> summary: Get Registered Gateway's Record
> tags:
> - Gateways
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: gateway_id
> description: Gateway ID
> required: true
> schema:
> $ref: '#/definitions/gateway_id'
> responses:
> 200:
> description: Gateway Record on Success
> name: Gateway Record
> schema:
> $ref: '#/definitions/access_gateway_record'
> default:
> $ref: "#/responses/UnexpectedError"
> put:
> summary: Modify Gateway Record
> tags:
> - Gateways
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: gateway_id
> description: Gateway ID
> required: true
> schema:
> $ref: '#/definitions/gateway_id'
> - in: body
> name: MutableGatewayRecord
> description: Gateway Configs
> required: true
> schema:
> $ref: '#/definitions/mutable_gateway_record'
> responses:
> 200:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> /networks/{network_id}/gateways/{gateway_id}/configs:
> get:
> summary: Retrieve Gateway Configs
> tags:
> - Gateways
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: gateway_id
> description: Gateway ID
> required: true
> schema:
> $ref: '#/definitions/gateway_id'
> responses:
> 200:
> description: Retreive Gateway Configs
> name: gateway_configs
> schema:
> $ref: '#/definitions/gateway_configs'
> default:
> $ref: "#/responses/UnexpectedError"
> put:
> summary: Modify Gateway Configs
> tags:
> - Gateways
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: gateway_id
> description: Gateway ID
> required: true
> schema:
> $ref: '#/definitions/gateway_id'
> - in: body
> name: GatewayConfigs
> description: Gateway Configs
> required: true
> schema:
> $ref: '#/definitions/gateway_configs'
> responses:
> 200:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> /networks/{network_id}/subscribers:
> get:
> summary: List subscribers in the network
> tags:
> - Subscribers
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> responses:
> 200:
> description: List of subscriber ids
> schema:
> type: array
> items:
> $ref: '#/definitions/subscriber_id'
> default:
> $ref: "#/responses/UnexpectedError"
> post:
> summary: Add a new subscriber to the network
> tags:
> - Subscribers
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: body
> name: subscriber
> description: Subscriber object that needs to be added
> required: true
> schema:
> $ref: '#/definitions/subscriber'
> responses:
> 201:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> /networks/{network_id}/subscribers/{subscriber_id}:
> get:
> summary: Retrieve the subscriber info
> tags:
> - Subscribers
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: subscriber_id
> description: Subscriber ID
> required: true
> schema:
> $ref: '#/definitions/subscriber_id'
> responses:
> 200:
> description: Subscriber Info
> schema:
> type: object
> items:
> $ref: '#/definitions/subscriber'
> default:
> $ref: "#/responses/UnexpectedError"
> put:
> summary: Modify subscriber info
> tags:
> - Subscribers
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: subscriber_id
> description: Subscriber ID
> required: true
> schema:
> $ref: '#/definitions/subscriber_id'
> - in: body
> name: subscriber
> description: Subscriber Info
> required: true
> schema:
> $ref: '#/definitions/subscriber'
> responses:
> 200:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> delete:
> summary: Remove a subscriber from the network
> tags:
> - Subscribers
> parameters:
> - in: path
> name: network_id
> description: Network ID
> required: true
> schema:
> $ref: '#/definitions/network_id'
> - in: path
> name: subscriber_id
> description: Subscriber ID
> required: true
> schema:
> $ref: '#/definitions/subscriber_id'
> responses:
> 204:
> description: Success
> default:
> $ref: "#/responses/UnexpectedError"
> responses:
> UnexpectedError:
> description: Unexpected Error
> schema:
> $ref: '#/definitions/error'
> definitions:
> log_level:
> type: integer
> format: int32
> enum:
> - 0
> - 1
> - 2
> - 3
> - 4
> minimum: 0
> maximum: 4
> example: 1
> network_id:
> type: string
> minLength: 1
> example: "NFHDZAQU8Pyw2N91nbNdGjk5e"
> enodebd_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> pci:
> type: integer
> format: int32
> example: 260
> earfcndl:
> type: integer
> format: int32
> example: 44590
> bandwidth_mhz:
> type: integer
> format: int32
> example: 20
> plmnid_list:
> type: string
> example: "20895"
> subframe_assignment:
> type: integer
> format: int32
> example: 2
> special_subframe_pattern:
> type: integer
> format: int32
> example: 7
> mme_ip:
> type: string
> x-go-custom-tag: magma_alt_name:"MmeIp"
> example: "10.0.2.1"
> allow_enodeb_transmit:
> type: boolean
> example: true
> network_enodebd_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> earfcndl:
> type: integer
> format: int32
> example: 44590
> bandwidth_mhz:
> type: integer
> format: int32
> example: 20
> plmnid_list:
> type: string
> example: "20895"
> subframe_assignment:
> type: integer
> format: int32
> example: 2
> special_subframe_pattern:
> type: integer
> format: int32
> example: 7
> mme_ip:
> type: string
> x-go-custom-tag: magma_alt_name:"MmeIp"
> example: "10.0.2.1"
> mobilityd_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> ip_block:
> type: string
> minLength: 5
> maxLength: 49
> x-go-custom-tag: magma_alt_name:"IpBlock"
> example: "192.168.16.0/24"
> ip_recycle_interval:
> type: integer
> format: uint32
> x-go-custom-tag: magma_alt_name:"IpRecycleInterval"
> example: 15
> mme_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> mcc:
> type: integer
> format: int32
> example: 208
> mnc:
> type: integer
> format: int32
> example: 95
> tac:
> type: integer
> format: int32
> example: 1
> mme_gid:
> type: integer
> format: int32
> example: 1
> mme_code:
> type: integer
> format: int32
> example: 1
> network_mme_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> mcc:
> type: integer
> format: int32
> example: 208
> mnc:
> type: integer
> format: int32
> example: 95
> tac:
> type: integer
> format: int32
> example: 1
> mme_gid:
> type: integer
> format: int32
> example: 1
> control_proxy_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> cloud_address:
> type: string
> example: "192.168.80.10"
> cloud_port:
> type: integer
> format: int32
> example: 8080
> controllerd_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> apps:
> type: array
> items:
> type: string
> magmad_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> checkin_interval:
> type: integer
> format: int32
> example: 60
> checkin_timeout:
> type: integer
> format: int32
> example: 10
> autoupgrade_enabled:
> type: boolean
> example: true
> autoupgrade_poll_interval:
> type: integer
> format: int32
> example: 300
> autoupgrade_channel:
> type: string
> example: "stable"
> autoupgrade_available_version:
> type: string
> example: "100.0.0"
> metricsd_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> spgw_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> subscriber_db_config:
> type: object
> minLength: 1
> properties:
> log_level:
> $ref: '#/definitions/log_level'
> lte_auth_op:
> type: string
> format: byte
> example: "EREREREREREREREREREREQ=="
> lte_auth_amf:
> type: string
> format: byte
> example: "gAA="
> network_record:
> type: object
> required:
> - name
> properties:
> name:
> type: string
> minLength: 1
> example: "SampleNetwork"
> x-nullable: false
> enodebd:
> $ref: '#/definitions/network_enodebd_config'
> mobilityd:
> $ref: '#/definitions/mobilityd_config'
> mme:
> $ref: '#/definitions/network_mme_config'
> subscriberdb:
> $ref: '#/definitions/subscriber_db_config'
> gateway_id:
> type: string
> minLength: 1
> example: "NFHDZAQU8Pyw2N91nbNdGjk5e.22ffea10-7fc4-4427-975a-
> b9e4ce8f6f4d"
> hw_gateway_id:
> type: object
> required:
> - id
> properties:
> id:
> type: string
> minLength: 1
> x-nullable: false
> x-go-custom-tag: magma_alt_name:"Id"
> example: "22ffea10-7fc4-4427-975a-b9e4ce8f6f4d"
> mutable_gateway_record:
> type: object
> properties:
> name:
> type: string
> minLength: 1
> example: "SoDoSoPa Tower"
> access_gateway_record:
> type: object
> required:
> - hw_id
> properties:
> hw_id:
> $ref: '#/definitions/hw_gateway_id'
> x-go-custom-tag: magma_alt_name:"HwId"
> name:
> type: string
> minLength: 1
> example: "South Park's CtPa Town Tower"
> gateway_configs:
> type: object
> properties:
> control_proxy:
> $ref: '#/definitions/control_proxy_config'
> enodebd:
> $ref: '#/definitions/enodebd_config'
> controllerd:
> $ref: '#/definitions/controllerd_config'
> magmad:
> $ref: '#/definitions/magmad_config'
> metricsd:
> $ref: '#/definitions/metricsd_config'
> mobilityd:
> $ref: '#/definitions/mobilityd_config'
> mme:
> $ref: '#/definitions/mme_config'
> spgw:
> $ref: '#/definitions/spgw_config'
> subscriberdb:
> $ref: '#/definitions/subscriber_db_config'
> error:
> type: object
> required:
> - message
> properties:
> message:
> type: string
> example: Error string
> subscriber_id:
> type: string
> pattern: '^(IMSI\d{10,15})$'
> example: IMSI208950000000010
> subscriber_id_set:
> type: array
> items:
> $ref: '#/definitions/subscriber_id'
> lte_subscription:
> type: object
> properties:
> state:
> type: string
> enum:
> - INACTIVE
> - ACTIVE
> default: INACTIVE
> x-nullable: false
> auth_algo:
> type: string
> enum:
> - MILENAGE
> default: MILENAGE
> x-nullable: false
> auth_key:
> type: string
> format: byte
> minLength: 32
> maxLength: 32
> example: "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8="
> auth_opc:
> type: string
> format: byte
> minLength: 32
> maxLength: 32
> example: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
> subscriber:
> type: object
> properties:
> id:
> $ref: '#/definitions/subscriber_id'
> x-nullable: false
> x-go-custom-tag: magma_alt_name:"Id"
> lte:
> $ref: '#/definitions/lte_subscription'
>
> On Wed, May 3, 2017 at 4:58 PM, amar padmanabhan <[email protected]>
> wrote:
>
>> Cool thanks! Yeah I just posted a snippet of the spec. Let me double
>> check, I used the online editor initially.
>> - Amar
>>
>> On Wed, May 3, 2017 at 4:22 PM, Ron Ratovsky <[email protected]> wrote:
>>
>>> They should be supported by the codegen, yes.
>>>
>>>
>>>
>>> However, your spec is not a valid one. I’m not exactly sure what you’re
>>> trying to do there because it’s partial, but I recommend you use our online
>>> editor to make sure it’s valid is you write it.
>>>
>>>
>>>
>>>
>>>
>>> *From: *<[email protected]> on behalf of amar
>>> padmanabhan <[email protected]>
>>> *Reply-To: *"[email protected]" <
>>> [email protected]>
>>> *Date: *Wednesday, 3 May 2017 at 15:25
>>> *To: *Swagger <[email protected]>
>>> *Subject: *Using RefParameter in param
>>>
>>>
>>>
>>> Hi all,
>>>
>>> I am trying to reuse a definition and added it to the parameters, this
>>> causes an issue in the codegen side. Wondering if what I am doing is legal
>>> which is to share a definition on the ReusableParam side.
>>>
>>> Also are ReusableParams supported for CodeGen? Looking at
>>> public CodegenParameter fromParameter(Parameter param, Set<String>
>>> imports) {
>>>
>>> it looks like if param instanceof RefParameter is not handled?
>>>
>>> Thanks
>>>
>>> Amar
>>>
>>> /networks/{tenant_network_id}:
>>>
>>> get:
>>>
>>> summary: Retrieve Network Configs
>>>
>>> tags:
>>>
>>> - Networks
>>>
>>> parameters:
>>>
>>> - in: path
>>>
>>> name: tenant_network_id
>>>
>>> description: Network ID
>>>
>>> required: true
>>>
>>> $ref: '#/definitions/network_id'
>>>
>>> responses:
>>>
>>> 200:
>>>
>>> description: Network Configs
>>>
>>> name: network_record
>>>
>>> schema:
>>>
>>> $ref: '#/definitions/network_record'
>>>
>>> default:
>>>
>>> $ref: "#/responses/UnexpectedError"
>>>
>>>
>>>
>>>
>>>
>>> Fails with error:
>>>
>>> [main] ERROR io.swagger.codegen.Codegen - Could not process operation:
>>>
>>> Tag: Networks
>>>
>>> Operation: null
>>>
>>> Resource: get /networks/{tenant_network_id}
>>>
>>> Definitions: {log_level=io.swagger.models.ModelImpl@92faeecf,
>>> network_id=io.swagger.models.ModelImpl@6b0f60b1,
>>> enodebd_config=io.swagger.models.ModelImpl@c36cbf14,
>>> network_enodebd_config=io.swagger.models.ModelImpl@e06bf483,
>>> mobilityd_config=io.swagger.models.ModelImpl@55d5985,
>>> mme_config=io.swagger.models.ModelImpl@87eca79c,
>>> network_mme_config=io.swagger.models.ModelImpl@3e1f21d4,
>>> control_proxy_config=io.swagger.models.ModelImpl@6c4336ec,
>>> controllerd_config=io.swagger.models.ModelImpl@6f0f03de,
>>> magmad_config=io.swagger.models.ModelImpl@cc912af0,
>>> metricsd_config=io.swagger.models.ModelImpl@7c0d6eb4,
>>> spgw_config=io.swagger.models.ModelImpl@7c0d6eb4,
>>> subscriber_db_config=io.swagger.models.ModelImpl@f598f277,
>>> network_record=io.swagger.models.ModelImpl@7f3c2b8,
>>> gateway_id=io.swagger.models.ModelImpl@4d043a45,
>>> hw_gateway_id=io.swagger.models.ModelImpl@4ba76cd,
>>> mutable_gateway_record=io.swagger.models.ModelImpl@977a9e84,
>>> access_gateway_record=io.swagger.models.ModelImpl@1e8b44d8,
>>> gateway_configs=io.swagger.models.ModelImpl@e4d24ce1,
>>> error=io.swagger.models.ModelImpl@7b1be154,
>>> subscriber_id=io.swagger.models.ModelImpl@99b488e7,
>>> subscriber_id_set=io.swagger.models.ArrayModel@fddb2387,
>>> lte_subscription=io.swagger.models.ModelImpl@113de764,
>>> subscriber=io.swagger.models.ModelImpl@b9a94056}
>>>
>>> Exception: io.swagger.models.parameters.RefParameter cannot be cast
>>> to io.swagger.models.parameters.BodyParameter
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Swagger" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Swagger" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>
--
You received this message because you are subscribed to the Google Groups
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.