Mp1.json 76.3 KB
Newer Older
      },
      "ApplicationsSubscriptions": {
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/AppTerminationNotificationSubscription"
                },
                {
                  "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription"
                }
              ]
            }
        "description": "Entity body in the request contains a subscription to the mobile edge application termination notifications that is to be created.",
        "required": true
      },
      "ApplicationsTrafficRule": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TrafficRule"
            }
        "description": "One or more updated attributes that are allowed to be changed",
        "required": true
      },
      "Services": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ServiceInfo"
            }
        "description": "New ServiceInfo with updated \"state\" is included as entity body of the request",
        "required": true
      },
      "ServicesServiceId": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ServiceInfo"
            }
        "description": "New ServiceInfo with updated \"state\" is included as entity body of the request",
        "required": true
      },
      "AppTerminationNotification": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AppTerminationNotification"
            }
          }
        "required": true
      },
      "ServiceAvailabilityNotification": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ServiceAvailabilityNotification"
            }
          }
    "callbacks": {
      "AppTerminationNotification": {
        "$request.body#/callbackReference": {
          "post": {
            "requestBody": {
              "$ref": "#/components/requestBodies/AppTerminationNotification"
            },
            "responses": {
              "200": {
                "description": "Expected responses from callback consumer, if it accepts the callback"
              }
            }
          }
        }
      },
      "ServiceAvailabilityNotification": {
        "$request.body#/callbackReference": {
          "post": {
            "requestBody": {
              "$ref": "#/components/requestBodies/ServiceAvailabilityNotification"
            },
            "responses": {
              "200": {
                "description": "Expected responses from callback consumer, if it accepts the callback"
              }
            }
          }
        "operationId": "ServicesServiceId_GET",
        "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}`",
        "parameters": {
          "serviceId": "$response.body#/serviceId"
        }
      },
      "PutIndividualMeService": {
        "operationId": "ServicesServiceId_PUT",
        "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}`",
        "parameters": {
          "serviceId": "$response.body#/serviceId"
        }
      },
      "GetIndividualMeDNSRule": {
        "operationId": "ApplicationsDnsRule_GET",
        "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}`",
        "parameters": {
          "dnsRuleId": "$response.body#/dnsRuleId"
        }
      },
      "PutIndividualMeDNSRule": {
        "operationId": "ApplicationsDnsRule_PUT",
        "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}`",
        "parameters": {
          "dnsRuleId": "$response.body#/dnsRuleId"
        }
      },
      "GetIndividualMeTrafficRule": {
        "operationId": "ApplicationsTrafficRule_GET",
        "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`",
        "parameters": {
          "trafficRuleId": "$response.body#/trafficRuleId"
        }
      },
      "PutIndividualMeTrafficRule": {
        "operationId": "ApplicationsTrafficRule_PUT",
        "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`",
        "parameters": {
          "trafficRuleId": "$response.body#/trafficRuleId"
        }
      },
      "GetIndividualMeMp1Subscription": {
        "operationId": "ApplicationsSubscription_GET",
        "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
        "parameters": {
          "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
          "subscriptionId": "TBC"
        }
      },
      "DelIndividualMeMp1Subscription": {
        "operationId": "ApplicationsSubscription_DELETE",
        "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
        "parameters": {
          "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
          "subscriptionId": "TBC"
        }
      },
      "GetIndividualMeMp1SubscriptionLinkList": {
        "operationId": "ApplicationsSubscription_GET",
        "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
        "parameters": {
          "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
          "subscriptionId": "TBC"
        }
      },
      "DelIndividualMeMp1SubscriptionLinkList": {
        "operationId": "ApplicationsSubscription_DELETE",
        "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionType}/{subscriptionId}`",
        "parameters": {
          "description": "regex = \\/mp1\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute",
          "subscriptionId": "TBC"
    "examples": {
      "DnsRule": {
        "value": {
          "dnsRuleId": "DnsRule1",
          "domainName": "www.example.com",
          "ipAddressType": "IP_V4",
          "ipAddress": "146.241.7.3",
          "ttl": 300,
          "state": "ACTIVE"
        }
      },
      "DnsRules": {
        "value": [
          {
            "dnsRuleId": "DnsRule1",
            "domainName": "www.example.com",
            "ipAddressType": "IP_V4",
            "ipAddress": "146.241.7.3",
            "ttl": 300,
            "state": "ACTIVE"
          }
        ]
      },
      "ServiceInfo": {
        "value": {
          "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",
            "protocol": "HTTP",
            "version": "2.0",
            "endpoint": {
              "uris": [
                "/meMp1/service/EntryPoint"
              ],
              "addresses": [
                {
                  "host": "192.0.2.0",
                }
              ]
            },
            "security": {
              "oAuth2Info": {
                "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                "tokenEndpoint": "/meMp1/security/TokenEndPoint"
              }
            }
          },
          "serializer": "JSON"
        }
      },
      "ServiceInfoList": {
        "value": [
          {
            "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",
              "protocol": "HTTP",
              "version": "2.0",
              "endpoint": {
                "uris": [
                  "/meMp1/service/EntryPoint"
                ],
                "addresses": [
                  {
                    "host": "192.0.2.0",
                  }
                ]
              },
              "security": {
                "oAuth2Info": {
                  "grantTypes": "OAUTH2_CLIENT_CREDENTIALS",
                  "tokenEndpoint": "/meMp1/security/TokenEndPoint"
                }
              }
            },
            "serializer": "JSON"
          }
        ]
      },
      "TrafficRule": {
        "value": {
          "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"
      },
      "TrafficRules": {
        "value": [
          {
            "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"
          }
        ]