From 536efb7c50726c1197849881532569ff420300a9 Mon Sep 17 00:00:00 2001 From: featherstone Date: Fri, 15 Dec 2017 16:17:35 -0700 Subject: [PATCH] Fixes to response codes and explicit inclusion of examples Change-Id: Ib659e383574036e6b7cbf7cc2476f2d9f9a6eaf1 --- Mp1.json | Bin 59176 -> 171254 bytes Mp1.yaml | 603 ++++++++++++++++++++- definitions/Problem.detail.yaml | 3 + definitions/Problem.instance.yaml | 4 + definitions/Problem.status.yaml | 4 + definitions/Problem.title.yaml | 3 + definitions/Problem.type.yaml | 4 + definitions/ProblemDetails.yaml | 12 + definitions/TransportInfo.yaml | 4 +- definitions/index.yaml | 12 + examples/ServiceInfo.json | 4 +- examples/ServiceInfo.yaml | 4 +- paths/ApplicationsDnsRule.GET.yaml | 31 +- paths/ApplicationsDnsRule.PUT.yaml | 41 +- paths/ApplicationsDnsRules.GET.yaml | 34 +- paths/ApplicationsSubscription.DELETE.yaml | 18 +- paths/ApplicationsSubscription.GET.yaml | 25 +- paths/ApplicationsSubscriptions.GET.yaml | 25 +- paths/ApplicationsSubscriptions.POST.yaml | 27 +- paths/ApplicationsTrafficRule.GET.yaml | 38 +- paths/ApplicationsTrafficRule.PUT.yaml | 45 +- paths/ApplicationsTrafficRules.GET.yaml | 41 +- paths/Services.GET.yaml | 56 +- paths/Services.POST.yaml | 56 +- paths/ServicesServiceId.GET.yaml | 54 +- paths/ServicesServiceId.PUT.yaml | 61 ++- paths/TimingCaps.GET.yaml | 25 +- paths/TimingCurrentTime.GET.yaml | 25 +- paths/Transports.GET.yaml | 25 +- 29 files changed, 1247 insertions(+), 37 deletions(-) create mode 100644 definitions/Problem.detail.yaml create mode 100644 definitions/Problem.instance.yaml create mode 100644 definitions/Problem.status.yaml create mode 100644 definitions/Problem.title.yaml create mode 100644 definitions/Problem.type.yaml create mode 100644 definitions/ProblemDetails.yaml diff --git a/Mp1.json b/Mp1.json index 4e532954b9510b6370d01ab5c4b2c5023a2bdf27..ff4605f8c090ef89467c0b2911bf6a63d9897417 100644 GIT binary patch literal 171254 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 literal 59176 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 n%stDaYy9{Bo@GVr diff --git a/Mp1.yaml b/Mp1.yaml index 341ec7d..5ec6e2c 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -137,6 +137,38 @@ paths: properties: DnsRule: $ref: '#/definitions/DnsRule' + examples: + application/json: + DnsRule: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' '/applications/{appInstanceId}/dns_rules/{dnsRuleId}': parameters: - $ref: '#/parameters/Path.AppInstanceId' @@ -154,6 +186,38 @@ paths: properties: DnsRule: $ref: '#/definitions/DnsRule' + examples: + application/json: + DnsRule: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' put: description: 'This method activates, de-activates or updates a traffic rule.' operationId: ApplicationsDnsRule.PUT @@ -169,6 +233,45 @@ paths: properties: DnsRule: $ref: '#/definitions/DnsRule' + examples: + application/json: + DnsRule: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '412': + description: Precondition Failed + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' '/applications/{appInstanceId}/subscriptions': parameters: - $ref: '#/parameters/Path.AppInstanceId' @@ -185,6 +288,29 @@ paths: properties: Mp1SubscriptionLinkList: $ref: '#/definitions/Mp1SubscriptionLinkList' + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' post: description: 'The POST method may be used to create a new subscription. One example use case is to create a new subscription to the mobile edge service availability notifications. Upon success, the response contains entity body describing the created subscription.' operationId: ApplicationsSubscriptions.POST @@ -193,13 +319,36 @@ paths: parameters: - $ref: '#/parameters/Body.AppTerminationNotificationSubscription' responses: - '200': + '201': description: Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created. schema: type: object properties: AppTerminationNotificationSubscription: $ref: '#/definitions/AppTerminationNotificationSubscription.Response' + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' '/applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}': parameters: - $ref: '#/parameters/Path.AppInstanceId' @@ -218,6 +367,29 @@ paths: properties: SerAvailabilityNotificationSubscription: $ref: '#/definitions/SerAvailabilityNotificationSubscription.Response' + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' delete: description: This method deletes a meMp1Subscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. operationId: ApplicationsSubscription.DELETE @@ -226,6 +398,22 @@ paths: responses: '204': description: No Content + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' '/applications/{appInstanceId}/traffic_rules': parameters: - $ref: '#/parameters/Path.AppInstanceId' @@ -244,6 +432,49 @@ paths: properties: TrafficRule: $ref: '#/definitions/TrafficRule' + examples: + application/json: + TrafficRule: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - 80 + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' '/applications/{appInstanceId}/traffic_rules/{trafficRuleId}': parameters: - $ref: '#/parameters/Path.AppInstanceId' @@ -261,6 +492,49 @@ paths: properties: TrafficRule: $ref: '#/definitions/TrafficRule' + examples: + application/json: + TrafficRule: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - 80 + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' put: description: This method retrieves information about all the traffic rules associated with a mobile edge application instance. operationId: ApplicationsTrafficRules.PUT @@ -276,6 +550,56 @@ paths: properties: TrafficRule: $ref: '#/definitions/TrafficRule' + examples: + application/json: + TrafficRule: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - 80 + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '412': + description: Precondition Failed + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' /services: get: description: This method retrieves information about a list of meService resources. This method is typically used in "service availability query" procedure @@ -296,6 +620,60 @@ paths: properties: ServiceInfo: $ref: '#/definitions/ServiceInfo' + examples: + application/json: + ServiceInfo: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: 192.0.2.0 + port: '8080' + security.mp1: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint + serializer: JSON + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' put: description: This method is used to create a meService resource. This method is typically used in "service availability update and new service registration" procedure operationId: Services.POST @@ -311,6 +689,60 @@ paths: properties: ServiceInfo: $ref: '#/definitions/ServiceInfo' + examples: + application/json: + ServiceInfo: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: 192.0.2.0 + port: '8080' + security.mp1: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint + serializer: JSON + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' '/services/{serviceId}': parameters: - $ref: '#/parameters/Path.ServiceId' @@ -353,11 +785,34 @@ paths: addresses: - host: 192.0.2.0 port: '8080' - security: + security.mp1: oAuth2Info: grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/mp1.security/TokenEndPoint + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint serializer: JSON + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' put: description: This method updates the information about a meService resource operationId: ServicesServiceId.PUT @@ -399,11 +854,41 @@ paths: addresses: - host: 192.0.2.0 port: '8080' - security: + security.mp1: oAuth2Info: grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/mp1.security/TokenEndPoint + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint serializer: JSON + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '412': + description: Precondition Failed + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' /timing/current_time: get: description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure @@ -418,6 +903,29 @@ paths: properties: CurrentTime: $ref: '#/definitions/CurrentTime' + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' /timing/timing_caps: get: description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query @@ -432,6 +940,29 @@ paths: properties: TimingCaps: $ref: '#/definitions/TimingCaps' + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' /transports: get: description: This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the mobile edge platform in the "transport information query" procedure @@ -448,6 +979,29 @@ paths: properties: TransportInfo: $ref: '#/definitions/TransportInfo' + '400': + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '403': + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + '404': + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' definitions: AppTerminationNotification.MaxGracefulTimeout: description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. @@ -743,6 +1297,37 @@ definitions: properties: _links: $ref: '#/definitions/Mp1SubscriptionLinkList.Links' + ProblemDetails: + type: object + properties: + type: + $ref: '#/definitions/Problem.type' + title: + $ref: '#/definitions/Problem.title' + status: + $ref: '#/definitions/Problem.status' + detail: + $ref: '#/definitions/Problem.detail' + instance: + $ref: '#/definitions/Problem.instance' + Problem.detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem + Problem.instance: + type: string + format: uri + description: A URI reference that identifies the specific occurrence of the problem + Problem.status: + type: integer + format: uint32 + description: The HTTP status code for this occurrence of the problem + Problem.title: + type: string + description: 'A short, human-readable summary of the problem type' + Problem.type: + type: string + format: uri + description: A URI reference according to IETF RFC 3986 that identifies the problem type SecurityInfo.OAuth2Info.GrantTypes: description: List of supported OAuth 2.0 grant types type: string @@ -1013,9 +1598,9 @@ definitions: items: $ref: '#/definitions/TimingCaps.PtpMasters' TrafficFilter.Address: - description: Identify the traffic rule. + description: Identify the traffic ip address. type: string - example: TrafficRule1 + example: 192.168.1.1 TrafficFilter.DSCP: description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) type: integer @@ -1203,7 +1788,7 @@ definitions: - protocol - version - endpoint - - security + - security.mp1 properties: id: $ref: '#/definitions/TransportInfo.Id' @@ -1219,7 +1804,7 @@ definitions: $ref: '#/definitions/TransportInfo.Version' endpoint: $ref: '#/definitions/EndPointInfo' - security: + security.mp1: $ref: '#/definitions/SecurityInfo' implSpecificInfo: $ref: '#/definitions/TransportInfo.ImplSpecificInfo' diff --git a/definitions/Problem.detail.yaml b/definitions/Problem.detail.yaml new file mode 100644 index 0000000..01b9d2d --- /dev/null +++ b/definitions/Problem.detail.yaml @@ -0,0 +1,3 @@ +type: string +description: >- + A human-readable explanation specific to this occurrence of the problem diff --git a/definitions/Problem.instance.yaml b/definitions/Problem.instance.yaml new file mode 100644 index 0000000..d2c35fc --- /dev/null +++ b/definitions/Problem.instance.yaml @@ -0,0 +1,4 @@ +type: string +format: uri +description: >- + A URI reference that identifies the specific occurrence of the problem diff --git a/definitions/Problem.status.yaml b/definitions/Problem.status.yaml new file mode 100644 index 0000000..3d99685 --- /dev/null +++ b/definitions/Problem.status.yaml @@ -0,0 +1,4 @@ +type: integer +format: uint32 +description: >- + The HTTP status code for this occurrence of the problem diff --git a/definitions/Problem.title.yaml b/definitions/Problem.title.yaml new file mode 100644 index 0000000..b7894c4 --- /dev/null +++ b/definitions/Problem.title.yaml @@ -0,0 +1,3 @@ +type: string +description: >- + A short, human-readable summary of the problem type diff --git a/definitions/Problem.type.yaml b/definitions/Problem.type.yaml new file mode 100644 index 0000000..2b2edb6 --- /dev/null +++ b/definitions/Problem.type.yaml @@ -0,0 +1,4 @@ +type: string +format: uri +description: >- + A URI reference according to IETF RFC 3986 that identifies the problem type diff --git a/definitions/ProblemDetails.yaml b/definitions/ProblemDetails.yaml new file mode 100644 index 0000000..5d15937 --- /dev/null +++ b/definitions/ProblemDetails.yaml @@ -0,0 +1,12 @@ +type: object +properties: + type: + $ref: '#/definitions/Problem.type' + title: + $ref: '#/definitions/Problem.title' + status: + $ref: '#/definitions/Problem.status' + detail: + $ref: '#/definitions/Problem.detail' + instance: + $ref: '#/definitions/Problem.instance' diff --git a/definitions/TransportInfo.yaml b/definitions/TransportInfo.yaml index a34a6c1..7ef20b7 100644 --- a/definitions/TransportInfo.yaml +++ b/definitions/TransportInfo.yaml @@ -7,7 +7,7 @@ required: - protocol - version - endpoint -- security +- security.mp1 properties: id: $ref: '#/definitions/TransportInfo.Id' @@ -23,7 +23,7 @@ properties: $ref: '#/definitions/TransportInfo.Version' endpoint: $ref: '#/definitions/EndPointInfo' - security: + security.mp1: $ref: '#/definitions/SecurityInfo' implSpecificInfo: $ref: '#/definitions/TransportInfo.ImplSpecificInfo' \ No newline at end of file diff --git a/definitions/index.yaml b/definitions/index.yaml index e1cdda1..496cb04 100644 --- a/definitions/index.yaml +++ b/definitions/index.yaml @@ -72,6 +72,18 @@ Mp1SubscriptionLinkList.Subscription: $ref: ./Mp1SubscriptionLinkList.Subscription.yaml Mp1SubscriptionLinkList: $ref: ./Mp1SubscriptionLinkList.yaml +ProblemDetails: + $ref: ./ProblemDetails.yaml +Problem.detail: + $ref: ./Problem.detail.yaml +Problem.instance: + $ref: ./Problem.instance.yaml +Problem.status: + $ref: ./Problem.status.yaml +Problem.title: + $ref: ./Problem.title.yaml +Problem.type: + $ref: ./Problem.type.yaml SecurityInfo.OAuth2Info.GrantTypes: $ref: ./SecurityInfo.OAuth2Info.GrantTypes.yaml SecurityInfo.OAuth2Info.TokenEndpoint: diff --git a/examples/ServiceInfo.json b/examples/ServiceInfo.json index c2cbeae..4de6a68 100644 --- a/examples/ServiceInfo.json +++ b/examples/ServiceInfo.json @@ -29,10 +29,10 @@ } ] }, - "security": { + "security.mp1": { "oAuth2Info": { "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", - "tokenEndpoint": "/meMp1/mp1.security/TokenEndPoint" + "tokenEndpoint": "/meMp1/security.mp1/TokenEndPoint" } } }, diff --git a/examples/ServiceInfo.yaml b/examples/ServiceInfo.yaml index 06f9102..0386a4f 100644 --- a/examples/ServiceInfo.yaml +++ b/examples/ServiceInfo.yaml @@ -22,8 +22,8 @@ ServiceInfo: addresses: - host: '192.0.2.0' port: '8080' - security: + security.mp1: oAuth2Info: grantTypes: OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /meMp1/mp1.security/TokenEndPoint + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint serializer: JSON diff --git a/paths/ApplicationsDnsRule.GET.yaml b/paths/ApplicationsDnsRule.GET.yaml index 3d6ada9..e0cbfa8 100644 --- a/paths/ApplicationsDnsRule.GET.yaml +++ b/paths/ApplicationsDnsRule.GET.yaml @@ -13,4 +13,33 @@ responses: $ref: '#/definitions/DnsRule' examples: application/json: - $ref: '../examples/DnsRule.json' \ No newline at end of file + DnsRule: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsDnsRule.PUT.yaml b/paths/ApplicationsDnsRule.PUT.yaml index c2c3dbd..868d9df 100644 --- a/paths/ApplicationsDnsRule.PUT.yaml +++ b/paths/ApplicationsDnsRule.PUT.yaml @@ -12,8 +12,43 @@ responses: type: object properties: DnsRule: - $ref: '#/definitions/DnsRule' - + $ref: '#/definitions/DnsRule' examples: application/json: - $ref: '../examples/DnsRule.json' \ No newline at end of file + DnsRule: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 412: + description: Precondition Failed + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsDnsRules.GET.yaml b/paths/ApplicationsDnsRules.GET.yaml index 6948dae..1d24a0c 100644 --- a/paths/ApplicationsDnsRules.GET.yaml +++ b/paths/ApplicationsDnsRules.GET.yaml @@ -12,4 +12,36 @@ responses: type: object properties: DnsRule: - $ref: '#/definitions/DnsRule' \ No newline at end of file + $ref: '#/definitions/DnsRule' + examples: + application/json: + DnsRule: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscription.DELETE.yaml b/paths/ApplicationsSubscription.DELETE.yaml index 64489bd..ca094f6 100644 --- a/paths/ApplicationsSubscription.DELETE.yaml +++ b/paths/ApplicationsSubscription.DELETE.yaml @@ -5,4 +5,20 @@ produces: responses: 204: - description: No Content \ No newline at end of file + description: No Content + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscription.GET.yaml b/paths/ApplicationsSubscription.GET.yaml index 05305b4..1043fa3 100644 --- a/paths/ApplicationsSubscription.GET.yaml +++ b/paths/ApplicationsSubscription.GET.yaml @@ -13,4 +13,27 @@ responses: $ref: '#/definitions/SerAvailabilityNotificationSubscription.Response' # The alternative response # AppTerminationNotificationSubscription: -# $ref: '#/definitions/AppTerminationNotificationSubscription.Response' \ No newline at end of file +# $ref: '#/definitions/AppTerminationNotificationSubscription.Response' + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscriptions.GET.yaml b/paths/ApplicationsSubscriptions.GET.yaml index 4f2e3f0..bb67171 100644 --- a/paths/ApplicationsSubscriptions.GET.yaml +++ b/paths/ApplicationsSubscriptions.GET.yaml @@ -10,4 +10,27 @@ responses: type: object properties: Mp1SubscriptionLinkList: - $ref: '#/definitions/Mp1SubscriptionLinkList' \ No newline at end of file + $ref: '#/definitions/Mp1SubscriptionLinkList' + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsSubscriptions.POST.yaml b/paths/ApplicationsSubscriptions.POST.yaml index 5d9e8ee..1468caf 100644 --- a/paths/ApplicationsSubscriptions.POST.yaml +++ b/paths/ApplicationsSubscriptions.POST.yaml @@ -8,7 +8,7 @@ parameters: #- $ref: '#/parameters/Body.SerAvailabilityNotificationSubscription' responses: - 200: + 201: description: Entity body in the request contains a subscription to the mobile edge service availability notifications that is to be created. schema: type: object @@ -17,4 +17,27 @@ responses: $ref: '#/definitions/AppTerminationNotificationSubscription.Response' # The alternative response # SerAvailabilityNotificationSubscription: -# $ref: '#/definitions/SerAvailabilityNotificationSubscription' \ No newline at end of file +# $ref: '#/definitions/SerAvailabilityNotificationSubscription' + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsTrafficRule.GET.yaml b/paths/ApplicationsTrafficRule.GET.yaml index ae232c1..cddc21d 100644 --- a/paths/ApplicationsTrafficRule.GET.yaml +++ b/paths/ApplicationsTrafficRule.GET.yaml @@ -13,4 +13,40 @@ responses: $ref: '#/definitions/TrafficRule' examples: application/json: - $ref: '../examples/TrafficRule.json' \ No newline at end of file + TrafficRule: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: [192.168.2.0/24, 192.168.3.0/24] + dstAddress: [192.127.4.100/32] + dstPort: [80] + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsTrafficRule.PUT.yaml b/paths/ApplicationsTrafficRule.PUT.yaml index dbef6ff..0e030d7 100644 --- a/paths/ApplicationsTrafficRule.PUT.yaml +++ b/paths/ApplicationsTrafficRule.PUT.yaml @@ -15,4 +15,47 @@ responses: $ref: '#/definitions/TrafficRule' examples: application/json: - $ref: '../examples/TrafficRule.json' \ No newline at end of file + TrafficRule: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: [192.168.2.0/24, 192.168.3.0/24] + dstAddress: [192.127.4.100/32] + dstPort: [80] + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 412: + description: Precondition Failed + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ApplicationsTrafficRules.GET.yaml b/paths/ApplicationsTrafficRules.GET.yaml index 4b8432b..4ab75dc 100644 --- a/paths/ApplicationsTrafficRules.GET.yaml +++ b/paths/ApplicationsTrafficRules.GET.yaml @@ -12,4 +12,43 @@ responses: type: object properties: TrafficRule: - $ref: '#/definitions/TrafficRule' \ No newline at end of file + $ref: '#/definitions/TrafficRule' + examples: + application/json: + TrafficRule: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + srcAddress: [192.168.2.0/24, 192.168.3.0/24] + dstAddress: [192.127.4.100/32] + dstPort: [80] + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/Services.GET.yaml b/paths/Services.GET.yaml index d0c64da..a245375 100644 --- a/paths/Services.GET.yaml +++ b/paths/Services.GET.yaml @@ -16,4 +16,58 @@ responses: type: object properties: ServiceInfo: - $ref: '#/definitions/ServiceInfo' \ No newline at end of file + $ref: '#/definitions/ServiceInfo' + examples: + application/json: + ServiceInfo: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: '192.0.2.0' + port: '8080' + security.mp1: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint + serializer: JSON + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/Services.POST.yaml b/paths/Services.POST.yaml index d986cca..784eb6d 100644 --- a/paths/Services.POST.yaml +++ b/paths/Services.POST.yaml @@ -12,4 +12,58 @@ responses: type: object properties: ServiceInfo: - $ref: '#/definitions/ServiceInfo' \ No newline at end of file + $ref: '#/definitions/ServiceInfo' + examples: + application/json: + ServiceInfo: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: '192.0.2.0' + port: '8080' + security.mp1: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint + serializer: JSON + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ServicesServiceId.GET.yaml b/paths/ServicesServiceId.GET.yaml index 57a60d8..fea37a7 100644 --- a/paths/ServicesServiceId.GET.yaml +++ b/paths/ServicesServiceId.GET.yaml @@ -11,7 +11,57 @@ responses: properties: ServiceInfo: $ref: '#/definitions/ServiceInfo' - examples: application/json: - $ref: '../examples/ServiceInfo.json' \ No newline at end of file + ServiceInfo: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: '192.0.2.0' + port: '8080' + security.mp1: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint + serializer: JSON + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/ServicesServiceId.PUT.yaml b/paths/ServicesServiceId.PUT.yaml index 0b354ac..c1ec0a8 100644 --- a/paths/ServicesServiceId.PUT.yaml +++ b/paths/ServicesServiceId.PUT.yaml @@ -13,7 +13,64 @@ responses: properties: ServiceInfo: $ref: '#/definitions/ServiceInfo' - examples: application/json: - $ref: '../examples/ServiceInfo.json' \ No newline at end of file + ServiceInfo: + serInstanceId: ServiceInstance123 + serName: ExampleService + serCategory: + href: catItem1 + id: id12345 + name: RNI + version: version1 + version: ServiceVersion1 + state: ACTIVE + transportId: Rest1 + transportInfo: + id: TransId12345 + name: REST + description: REST API + type: JSON + protocol: HTTP + version: '2.0' + endpoint: + uris: + - /meMp1/service/EntryPoint + addresses: + - host: '192.0.2.0' + port: '8080' + security.mp1: + oAuth2Info: + grantTypes: OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: /meMp1/security.mp1/TokenEndPoint + serializer: JSON + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 412: + description: Precondition Failed + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/TimingCaps.GET.yaml b/paths/TimingCaps.GET.yaml index 545700d..259593b 100644 --- a/paths/TimingCaps.GET.yaml +++ b/paths/TimingCaps.GET.yaml @@ -10,4 +10,27 @@ responses: type: object properties: TimingCaps: - $ref: '#/definitions/TimingCaps' \ No newline at end of file + $ref: '#/definitions/TimingCaps' + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/TimingCurrentTime.GET.yaml b/paths/TimingCurrentTime.GET.yaml index 4f4ea42..fb54026 100644 --- a/paths/TimingCurrentTime.GET.yaml +++ b/paths/TimingCurrentTime.GET.yaml @@ -10,4 +10,27 @@ responses: type: object properties: CurrentTime: - $ref: '#/definitions/CurrentTime' \ No newline at end of file + $ref: '#/definitions/CurrentTime' + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file diff --git a/paths/Transports.GET.yaml b/paths/Transports.GET.yaml index 89afb01..05dbed3 100644 --- a/paths/Transports.GET.yaml +++ b/paths/Transports.GET.yaml @@ -12,4 +12,27 @@ responses: type: object properties: TransportInfo: - $ref: '#/definitions/TransportInfo' \ No newline at end of file + $ref: '#/definitions/TransportInfo' + 400: + description: Bad Request + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 403: + description: Forbidden + schema: + type: object + required: + - ProblemDetails + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' + 404: + description: Not Found + schema: + type: object + properties: + ProblemDetails: + $ref: '#/definitions/ProblemDetails' \ No newline at end of file -- GitLab