Mp1.yaml 64.8 KB
Newer Older
      description: NTP server detail.
      type: object
      required:
        - ptpMasterIpAddress
        - ptpMasterLocalPriority
        - delayReqMaxRate
      properties:
        ptpMasterIpAddress:
          $ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterIpAddress'
          $ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterLocalPriority'
        delayReqMaxRate:
          $ref: '#/components/schemas/TimingCaps.NtpServers.DelayReqMaxRate'
    TimingCaps.TimeStamp:
      description: time
      type: object
      required:
        - nanoSeconds
        - seconds
      properties:
        seconds:
          type: integer
          format: uint32
          description: >-
            The seconds part of the time. Time is defined as Unix-time since
            January 1, 1970, 00:00:00 UTC
          example: 1577836800
        nanoSeconds:
          type: integer
          format: uint32
          description: >-
            The nanoseconds part of the time. Time is defined as Unix-time since
            January 1, 1970, 00:00:00 UTC
          example: 0
    TimingCaps:
      description: >-
        This type represents the information provided by the mobile edge
        platform in response to the Timing capabilities Query message.
      type: object
      properties:
        timeStamp:
          $ref: '#/components/schemas/TimingCaps.TimeStamp'
        ntpServers:
          description: Available NTP servers
          type: array
          items:
            $ref: '#/components/schemas/TimingCaps.NtpServers'
        ptpMasters:
          description: Available PTP Masters
          type: array
          items:
            $ref: '#/components/schemas/TimingCaps_PtpMasters'
    TrafficFilter.Address:
      description: Identify the traffic ip address.
      type: string
    TrafficFilter.DSCP:
      description: >-
        Used to match all IPv4 packets that have the same Differentiated
        Services Code Point (DSCP)
      type: integer
      format: uint32
      example: 0
    TrafficFilter.Port:
      description: A port
      type: string
      example: '8080'
    TrafficFilter.Protocol:
      description: Protocol of the traffic filter
      type: string
      example: '?'
    TrafficFilter.QCI:
      description: >-
        Used to match all packets that have the same Quality Class Indicator
        (QCI).
      type: integer
      format: uint32
      example: 1
    TrafficFilter.TC:
      description: Used to match all IPv6 packets that have the same Traffic Class.
      type: integer
      format: uint32
      example: 1
    TrafficFilter.Token:
      description: Used for token based traffic rule
      type: string
      example: '?'
    TrafficFilter.TunnelAddress:
      description: Used for GTP tunnel based traffic rule
      type: string
      example: '?'
    TrafficFilter.TunnelPort:
      description: Used for GTP tunnel based traffic rule
      type: string
      example: '?'
    TrafficFilter:
      description: This type represents the traffic filter.
      type: object
      properties:
        srcAddress:
          description: >-
            An IP address or a range of IP address. For IPv4, the IP address
            could be an IP address plus mask, or an individual IP address, or a
            range of IP addresses. For IPv6, the IP address could be an IP
            prefix, or a range of IP prefixes.
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.Address'
        dstAddress:
          description: >-
            An IP address or a range of IP address. For IPv4, the IP address
            could be an IP address plus mask, or an individual IP address, or a
            range of IP addresses. For IPv6, the IP address could be an IP
            prefix, or a range of IP prefixes.
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.Address'
        srcPort:
          description: A port or a range of ports
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.Port'
        dstPort:
          description: A port or a range of ports
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.Port'
        protocol:
          description: Specify the protocol of the traffic filter
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.Protocol'
        token:
          description: Used for token based traffic rule
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.Token'
        srcTunnelAddress:
          description: Used for GTP tunnel based traffic rule
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.TunnelAddress'
        tgtTunnelAddress:
          description: Used for GTP tunnel based traffic rule
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.TunnelAddress'
        srcTunnelPort:
          description: Used for GTP tunnel based traffic rule
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.TunnelPort'
        dstTunnelPort:
          description: Used for GTP tunnel based traffic rule
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter.TunnelPort'
        qCI:
          $ref: '#/components/schemas/TrafficFilter.QCI'
        dSCP:
          $ref: '#/components/schemas/TrafficFilter.DSCP'
        tC:
          $ref: '#/components/schemas/TrafficFilter.TC'
    TrafficRule.Action:
      description: >-
        The action of the ME host data plane when a packet matches the
        trafficFilter
      type: string
      enum:
        - DROP
        - FORWARD_DECAPSULATED
        - FORWARD_AS_IS
        - PASSTHROUGH
        - DUPLICATE_DECAPSULATED
        - DUPLICATE_AS_IS
    TrafficRule.FilterType:
      description: >-
        Definition of filter per FLOW or PACKET. If flow the filter match
        UE->EPC packet and the reverse packet is handled in the same context
      type: string
      enum:
        - FLOW
        - PACKET
      example: FLOW
    TrafficRule.Id:
      description: Identify the traffic rule.
      type: string
      description: >-
        Priority of this traffic rule. If traffic rule conflicts, the one with
        higher priority take precedence
      type: integer
      format: uint32
      example: 1
    TrafficRule.State:
      description: Contains the traffic rule state
      type: string
      enum:
        - ACTIVE
        - INACTIVE
    TrafficRule:
      description: This type represents the general information of a traffic rule.
      type: object
      required:
        - trafficRuleId
        - filterType
        - priority
        - trafficFilter
        - action
        - state
      properties:
        trafficRuleId:
          $ref: '#/components/schemas/TrafficRule.Id'
        filterType:
          $ref: '#/components/schemas/TrafficRule.FilterType'
        priority:
          $ref: '#/components/schemas/TrafficRule_Priority'
          type: array
          items:
            $ref: '#/components/schemas/TrafficFilter'
        action:
          $ref: '#/components/schemas/TrafficRule.Action'
        dstInterface:
          $ref: '#/components/schemas/DestinationInterface'
        state:
          $ref: '#/components/schemas/TrafficRule.State'
    TransportInfo.Description:
      description: Human-readable description of this transport
      type: string
    TransportInfo.Id:
      description: The identifier of this transport
      type: string
    TransportInfo.ImplSpecificInfo:
      description: Additional implementation specific details of the transport
      type: object
    TransportInfo.Name:
      description: The name of this transport
      type: string
    TransportInfo.Protocol:
      description: The name of the protocol used. Shall be set to HTTP for a REST API.
      type: string
    TransportInfo.Version:
      description: The version of the protocol used
      type: string
      example: '2.0'
    TransportInfo:
      description: This type represents the general information of a mobile edge service.
      type: object
      required:
        - id
        - name
        - type
        - protocol
        - version
        - endpoint
        - security
      properties:
        id:
          $ref: '#/components/schemas/TransportInfo.Id'
        name:
          $ref: '#/components/schemas/TransportInfo.Name'
        description:
          $ref: '#/components/schemas/TransportInfo.Description'
        type:
          $ref: '#/components/schemas/TransportTypes'
        protocol:
          $ref: '#/components/schemas/TransportInfo.Protocol'
        version:
          $ref: '#/components/schemas/TransportInfo.Version'
        endpoint:
          description: This type represents information about a transport endpoint
          type: object
          oneOf:
            - $ref: '#/components/schemas/EndPointInfo.Uris'
            - $ref: '#/components/schemas/EndPointInfo.Addresses'
            - $ref: '#/components/schemas/EndPointInfo.Alternative'
        security:
          $ref: '#/components/schemas/SecurityInfo'
        implSpecificInfo:
          $ref: '#/components/schemas/TransportInfo.ImplSpecificInfo'
    TransportTypes:
      description: The enumeration TransportTypes represents types of transports
      type: string
      enum:
        - REST_HTTP
        - MB_TOPIC_BASED
        - MB_ROUTING
        - MB_PUBSUB
        - RPC
        - RPC_STREAMING
        - WEBSOCKET
    TunnelInfo.TunnelDstAddress:
      description: Destination address of the tunnel
      type: string
      example: '?'
    TunnelInfo.TunnelSrcAddress:
      description: Source address of the tunnel
      type: string
      example: '?'
    TunnelInfo.TunnelType:
      description: This type represents the tunnel information.
      type: string
      enum:
        - GTP_U
        - GRE
    TunnelInfo:
      description: This type represents the tunnel information.
      type: object
      required:
        - tunnelType
      properties:
        tunnelType:
          $ref: '#/components/schemas/TunnelInfo.TunnelType'
        tunnelDstAddress:
          $ref: '#/components/schemas/TunnelInfo.TunnelDstAddress'
        tunnelSrcAddress:
          $ref: '#/components/schemas/TunnelInfo.TunnelSrcAddress'
  parameters:
    Path.AppInstanceId:
      name: appInstanceId
      description: >-
        Represents a mobile edge application instance. Note that the
        appInstanceId is allocated by the mobile edge platform manager.
      in: path
      required: true
      schema:
        type: string
    Path.DnsRuleId:
      name: dnsRuleId
      description: Represents a DNS rule.
      in: path
      required: true
      schema:
        type: string
    Path.SubscriptionId:
      name: subscriptionId
      description: >-
        Represents a subscription to the notifications from the mobile edge
        platform.
      in: path
      required: true
      schema:
        type: string
    Path.SubscriptionType:
      name: subscriptionType
      description: >-
        Represents a subscription type to the notifications from the mobile edge
        platform.
      in: path
      required: true
      schema:
        type: string
        enum:
          - AppTerminationNotificationSubscription        
          - SerAvailabilityNotificationSubscription
    Path.ServiceId:
      name: serviceId
      description: Represents a mobile edge service instance.
      in: path
      required: true
      schema:
        type: string
    Path.TrafficRuleId:
      name: trafficRuleId
      description: Represents a traffic rule.
      in: path
      required: true
      schema:
        type: string
    Query.Ser_category_id:
      name: ser_category_id
      description: >-
        A mobile edge application instance may use ser_category_id as an input
        parameter to query the availability of a list of mobile edge service
        instances in a serCategory. Either "ser_instance_id" or "ser_name" or
        "ser_category_id" or none of them shall be present.
      in: query
      required: false
      schema:
        type: string
    Query.Ser_instance_id:
      name: ser_instance_id
      description: >-
        A mobile edge application instance may use multiple ser_instance_ids as
        an input parameter to query the availability of a list of mobile edge
        service instances. Either "ser_instance_id" or "ser_name" or
        "ser_category_id" or none of them shall be present.
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    Query.Ser_name:
      name: ser_name
      description: >-
        A mobile edge application instance may use multiple ser_names as an
        input parameter to query the availability of a list of mobile edge
        service instances. Either "ser_instance_id" or "ser_name" or
        "ser_category_id" or none of them shall be present.
      in: query
      required: false
      schema:
          type: string
  responses:
    ApplicationsDnsRules.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            type: array
            minItems: 0
            items:
              $ref: '#/components/schemas/DnsRule'
          examples:
            DnsRules:
              $ref: '#/components/examples/DnsRules'
      links:
        getIndividualMeDNSRule:
          $ref: '#/components/links/GetIndividualMeDNSRule'
        putIndividualMeDNSRule:
          $ref: '#/components/links/PutIndividualMeDNSRule'
    ApplicationsDnsRule.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DnsRule'
          examples:
            DnsRule:
              $ref: '#/components/examples/DnsRule'
    ApplicationsSubscriptions.200:
      description: >-
        Upon success, a response body containing the list of links to the
        requested subscriptions is returned.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Mp1SubscriptionLinkList'
      links:
        getIndividualMeMp1SubscriptionLinkList:
          $ref: '#/components/links/GetIndividualMeMp1SubscriptionLinkList'
        delIndividualMeMp1SubscriptionLinkList:
          $ref: '#/components/links/DelIndividualMeMp1SubscriptionLinkList'
    ApplicationsSubscriptions.201:
      description: >-
        Entity body in the request contains a subscription to the mobile
        edge service availability notifications that is to be created.
      headers:
        location:
          description: The resource URI of the created resource
          schema:
            type: string
            format: uri
      content:
        application/json:
          schema:
            oneOf: 
              - $ref: '#/components/schemas/AppTerminationNotificationSubscription'
              - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription'
      links:
        getIndividualMeMp1Subscription:
          $ref: '#/components/links/GetIndividualMeMp1Subscription'
        delIndividualMeMp1Subscription:
          $ref: '#/components/links/DelIndividualMeMp1Subscription'
    ApplicationsSubscription.200:
      description: >-
        Upon success, a response body containing the requested subscription
        is returned.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/AppTerminationNotificationSubscription'
              - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription'
    ApplicationsTrafficRules.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            type: array
            minItems: 0
            items:
              $ref: '#/components/schemas/TrafficRule'
          examples:
            TrafficRules:
              $ref: '#/components/examples/TrafficRules'
      links:
        getIndividualMeTrafficRule:
          $ref: '#/components/links/GetIndividualMeTrafficRule'
        putIndividualMeTrafficRule:
          $ref: '#/components/links/PutIndividualMeTrafficRule'
    ApplicationsTrafficRule.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TrafficRule'
          examples:
            TrafficRule:
              $ref: '#/components/examples/TrafficRule'
    Services.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            type: array
            minItems: 0
            items:
              $ref: '#/components/schemas/ServiceInfo'
          examples:
            ServiceInfoList:
              $ref: '#/components/examples/ServiceInfoList'
      links:
        getIndividualMeService:
          $ref: '#/components/links/GetIndividualMeService'
        putIndividualMeService:
          $ref: '#/components/links/PutIndividualMeService'
    Services.201:
      description: >-
        Upon success, the HTTP response shall include a Location HTTP header
        that contains the resource URI of the created resource.
      headers:
        location:
          description: The resource URI of the created resource
          schema:
            type: string
            format: uri
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceInfo'
          examples:
            ServiceInfo:
              $ref: '#/components/examples/ServiceInfo'
      links:
        getIndividualMeService:
          $ref: '#/components/links/GetIndividualMeService'
        putIndividualMeService:
          $ref: '#/components/links/PutIndividualMeService'
    ServicesServiceId.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceInfo'
          examples:
            ServiceInfo:
              $ref: '#/components/examples/ServiceInfo'
    TimingCurrentTime.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CurrentTime'
    TimingCaps.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TimingCaps'
    Transports.200:
      description: >-
        It is used to indicate nonspecific success. The response body
        contains a representation of the resource.
      content:
        application/json:
          schema:
            type: array
            minItems: 0
            items:
              $ref: '#/components/schemas/TransportInfo'
      links:
        getTransportInfo:
          $ref: '#/components/links/GetTransportInfo'
    Error.400:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          schema:
            $ref: '#/components/schemas/Empty'
    Error.403:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    Error.404:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          schema:
            $ref: '#/components/schemas/Empty'
    Error.412:
      description: Precondition Failed
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
          schema:
            $ref: '#/components/schemas/Empty'
  requestBodies:
    ApplicationsDnsRule:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DnsRule'
      description: The updated state is included in the entity body of the request.
      required: true
    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
    Services.Post:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceInfo.Post'
      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'
    ServiceAvailabilityNotification:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceAvailabilityNotification'
  callbacks:
    AppTerminationNotification:
      '{$request.body#/callbackReference}':
          description: >-
            Represents the information that the MEP notifies the
            subscribed application instance about the corresponding 
            application instance termination/stop
          operationId: AppTerminationNotification_POST
          tags:
            - callback
          requestBody:
            $ref: '#/components/requestBodies/AppTerminationNotification'
          responses:
            '200':
              description: Expected responses from callback consumer, if it accepts the callback
    ServiceAvailabilityNotification:
      '{$request.body#/callbackReference}':
          description: >-
            'Represents the service availability information that 
            is used in the following cases
            - when the MEC platform announces the newly available
             services to the authorized relevant MEC applications (e.g. 
             the applications that indicate the services as "optional" 
             or "required") that are subscribed to the corresponding 
             service availability notifications
            -	when the MEC platform notifies the authorized relevant 
            applications that are subscribed to the corresponding 
            service availability notifications about the service availability changes.'
          operationId: ServiceAvailabilityNotification_POST
          tags:
            - callback
          requestBody:
            $ref: '#/components/requestBodies/ServiceAvailabilityNotification'
          responses:
            '200':
              description: Expected responses from callback consumer, if it accepts the callback
  links:
    GetIndividualMeService:
      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'
    GetTransportInfo:
      operationId: AppServices_POST
      description: The `id` value returned in the response can be used as the `transportId` parameter in `POST /applications/{appInstanceId}/services`. The first transport is provided as the link as wildcards are not supported
      parameters:
        transportId: '$response.body#/0/id'
      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'
        - dnsRuleId: 'DnsRule1'
          domainName: 'www.example.com'
          ipAddressType: 'IP_V4'
          ipAddress: '146.241.7.3'
        serInstanceId: 'ServiceInstance123'
        serName: 'ExampleService'
          href: 'catItem1'
          id: 'id12345'
          name: 'RNI'
          version: 'version1'
        version: 'ServiceVersion1'
        state: 'ACTIVE'
          id: 'TransId12345'
          name: 'REST'
          description: 'REST API'
          type: 'REST_HTTP'
          protocol: 'HTTP'
              grantTypes: 'OAUTH2_CLIENT_CREDENTIALS'
              tokenEndpoint: '/meMp1/security/TokenEndPoint'
        serializer: 'JSON'
        - serInstanceId: 'ServiceInstance123'
          serName: 'ExampleService'
            href: 'catItem1'
            id: 'id12345'
            name: 'RNI'
            version: 'version1'
          version: 'ServiceVersion1'
          state: 'ACTIVE'
            id: 'TransId12345'
            name: 'REST'
            description: 'REST API'
            type: 'REST_HTTP'
            protocol: 'HTTP'
                grantTypes: 'OAUTH2_CLIENT_CREDENTIALS'
                tokenEndpoint: '/meMp1/security/TokenEndPoint'
          serializer: 'JSON'
        trafficRuleId: 'TrafficRule123'
        serName: 'ExampleService'
        filterType: 'FLOW'
          - srcAddress:
              - '192.168.2.0/24'
              - '192.168.3.0/24'
            dstAddress:
              - '192.127.4.100/32'
            dstPort:
              - '80'
        action: 'FORWARD_DECAPSULATED'
          interfaceType: 'IP'
          dstIpAddress: '20.1.1.1'
        state: 'ACTIVE'
        - trafficRuleId: 'TrafficRule123'
          serName: 'ExampleService'
          filterType: 'FLOW'
            - srcAddress:
                - '192.168.2.0/24'
                - '192.168.3.0/24'
              dstAddress:
                - '192.127.4.100/32'
              dstPort:
                - '80'
          action: 'FORWARD_DECAPSULATED'