diff --git a/diagrams/README.md b/diagrams/README.md index cf78092..333c2ae 100644 --- a/diagrams/README.md +++ b/diagrams/README.md @@ -1 +1,2 @@ MediatorManager Diagrams + diff --git a/spec/MediatorManager copy.yaml b/spec/MediatorManager copy.yaml new file mode 100644 index 0000000..c5d6756 --- /dev/null +++ b/spec/MediatorManager copy.yaml @@ -0,0 +1,11941 @@ +openapi: 3.0.0 +info: + title: MediatorManager + version: 1.0.0 + +x-gui-paths: +######################################################################################################################## +# Representation Layer +######################################################################################################################## + /docs: + get: + operationId: docs + summary: 'Represents Swagger API description page' + tags: + - RepresentationServices + responses: + '200': + description: 'Swagger API description page represented' + # Not explixitly described + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + +paths: +######################################################################################################################## +# Service Layer - Individual Part +######################################################################################################################## + /v1/bequeath-your-data-and-die: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: bequeathYourDataAndDie + summary: 'Initiates process of embedding a new release' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - new-application-name + - new-application-release + - new-application-protocol + - new-application-address + - new-application-port + properties: + new-application-name: + type: string + description: > + 'Name of application that shall be target of the handover process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-nr-1-1-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + new-application-release: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of application that shall be target of the handover process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-nr-1-1-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + new-application-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the application that shall be target of the handover process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + new-application-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of application that shall be target of the handover process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of application that shall be target of the handover process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + new-application-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of application that shall be target of the handover process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + new-application-name: 'NewApplicationName' + new-application-release: '32.6.3' + new-application-protocol: 'HTTP' + new-application-address: + ip-address: + ipv-4-address: '1.1.3.1' + new-application-port: 3001 + responses: + '204': + description: 'Process of embedding a new release initiated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-im-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + PromptForBequeathingRegardsMediatorInstanceManagerToNewRelease: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-nr-1-0-0-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - provide-mediator-instance-operation + - dismantle-mediator-instance-operation + - list-mediator-instance-operation + - protocol + - address + - port + - vendor-name + - supported-device-kind-list + - engineering-limit + properties: + application-name: + type: string + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + provide-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to create a new mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + dismantle-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to dismantle an existing mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + list-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'operation to list the existing mediator instances + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + vendor-name: + description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + supported-device-kind-list: + description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' + type: array + items: + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + engineering-limit: + description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' + type: integer + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'EricssonMediatorManager' + release-number: '1.0.1' + provide-mediator-operation: '/v1/provide-mediator-instance' + dismantle-mediator-operation: '/v1/dismantle-mediator-instance' + list-mediator-operation: '/v1/list-mediator-instances' + vendor-name: 'Ericsson' + supported-device-kind-list: ['MLTN','ML6600'] + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.1' + port: 3001 + engineering-limits: 3000 + responses: + '204': + description: 'Mediator Instance Manager Information stored' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + PromptForBequeathingDataCausesRequestForBroadcastingInfoAboutServerReplacement: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - current-application-name + - current-release-number + - future-application-name + - future-release-number + - future-protocol + - future-address + - future-port + properties: + current-application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + current-release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + future-application-name: + type: string + description: > + 'Future name of the application that has updated connection data + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-nr-1-1-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + future-release-number: + type: string + description: > + 'Future release number of the application that has updated connection data + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-nr-1-1-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + future-protocol: + type: string + description: > + 'Protocol to be used in future for addressing the application that has updated connection data + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + future-address: + type: object + properties: + ip-address: + type: object + properties: + ipv-4-address: + type: string + description: > + 'Future IPv4 address of the application that has updated connection data + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + description: > + 'Future domain name of the application that has updated connection data + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + future-port: + type: integer + description: > + 'Future port of the application that has updated connection data + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + responses: + '204': + description: 'Will broadcast server replacement' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + PromptForBequeathingDataCausesRequestForDeregisteringOfOldRelease: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-002/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + properties: + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + responses: + '204': + description: 'Application deregistered' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + PromptingNewReleaseForUpdatingServerCausesRequestForBroadcastingInfoAboutBackwardCompatibleUpdateOfOperation: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-003/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'This callback belongs to the sequence of actions that have to be done during the bequeath-your-data-and-die process, despite the forwarding gets neither managed nor directly initiated by the /v1/bequeath-your-data-and-die request. + After consuming applications have been redirected to the new release, the new release is triggered (this callback) to request the RegistryOffice for broadcasting information about backward compatible replacements of services.' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - old-operation-name + - new-operation-name + properties: + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + old-operation-name: + type: string + description: > + 'Name of the deprecated operation + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-*/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + new-operation-name: + type: string + description: > + 'Name of the replacing operation + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-*/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + responses: + '204': + description: 'Will broadcast operation update' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + + /v1/regard-mediator-instance-manager: + post: + operationId: regardMediatorInstanceManager + summary: 'Offers configuring the client side for MediatorInstanceManager and its paring defintion to APPData' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - provide-mediator-instance-operation + - dismantle-mediator-instance-operation + - list-mediator-instance-operation + - protocol + - address + - port + - vendor-name + - supported-device-kind-list + - engineering-limit + properties: + application-name: + type: string + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + provide-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to create a new mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + dismantle-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to dismantle an existing mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + list-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'operation to list the existing mediator instances + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + vendor-name: + description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + supported-device-kind-list: + description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' + type: array + items: + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + engineering-limit: + description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' + type: integer + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'EricssonMediatorManager' + release-number: '1.0.1' + provide-mediator-operation: '/v1/provide-mediator-instance' + dismantle-mediator-operation: '/v1/dismantle-mediator-instance' + list-mediator-operation: '/v1/list-mediator-instances' + vendor-name: 'Ericsson' + supported-device-kind-list: ['MLTN','ML6600'] + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.1' + port: 3001 + engineering-limits: 3000 + responses: + '204': + description: 'Mediator Instance Manager Information stored' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/disregard-mediator-instance-manager: + post: + operationId: disregardMediatorInstanceManager + summary: 'deletes the client side of the MediatorInstanceManager from CONFIGfile and its relavant information from APPData' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + properties: + application-name: + type: string + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, and delete [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, and delete [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + example: + application-name: 'EricssonMediatorManager' + release-number: '1.0.1' + responses: + '204': + description: 'Mediator Instance Manager Information deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/list-mediator-instance-managers: + post: + operationId: listMediatorInstanceManagers + summary: 'Lists the configured MediatorInstanceManagers and its paring defintion in APPData' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - provide-mediator-instance-operation + - dismantle-mediator-instance-operation + - list-mediator-instance-operation + - protocol + - address + - port + - vendor-name + - supported-device-kind-list + - engineering-limits + properties: + application-name: + type: string + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + provide-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to create a new mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + dismantle-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to dismantle an existing mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + list-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'operation to list the existing mediator instances + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + vendor-name: + description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + supported-device-kind-list: + description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' + type: array + items: + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + engineering-limits: + description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' + type: integer + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'EricssonMediatorManager' + release-number: '1.0.1' + provide-mediator-operation: '/v1/provide-mediator-instance' + dismantle-mediator-operation: '/v1/dismantle-mediator-instance' + list-mediator-operation: '/v1/list-mediator-instances' + vendor-name: 'Ericsson' + supported-device-kind-list: ['MLTN','ML6600'] + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.1' + port: 3001 + engineering-limits: 3000 + responses: + '200': + description: 'Mediator Instance Manager Information stored' + content: + application/json: + schema: + type: array + uniqueItems: true + items: + type: object + required: + - application-name + - release-number + - provide-mediator-instance-operation + - dismantle-mediator-instance-operation + - list-mediator-instance-operation + - protocol + - address + - port + - vendor-name + - supported-device-kind-list + - engineering-limits + properties: + application-name: + type: string + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + provide-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to create a new mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + dismantle-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to dismantle an existing mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + list-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'operation to list the existing mediator instances + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + vendor-name: + description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + supported-device-kind-list: + description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' + type: array + items: + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + engineering-limits: + description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' + type: integer + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'EricssonMediatorManager' + release-number: '1.0.1' + provide-mediator-operation: '/v1/provide-mediator-instance' + dismantle-mediator-operation: '/v1/dismantle-mediator-instance' + list-mediator-operation: '/v1/list-mediator-instances' + vendor-name: 'Ericsson' + supported-device-kind-list: ['MLTN','ML6600'] + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.1' + port: 3001 + engineering-limits: 3000 + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + ProvideMediatorInstanceExportsListOfMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + responses: + '200': + description: 'Mediators listed' + content: + application/json: + schema: + type: array + items: + type: object + required: + - device-name + - device-kind-name + - mediator-instance-ip-address + - mediator-instance-netconf-port + - device-ip-address + properties: + device-name: + type: string + description: > + 'Name of device, which is connected by this mediator instance' + device-kind-name: + type: string + description: > + 'Type of the device, which is connected by the mediator' + mediator-instance-ip-address: + type: string + description: > + 'IP address of the mediator, which has been created' + mediator-instance-netconf-port: + type: integer + description: > + 'Port of the mediator, which has been created' + device-ip-address: + type: string + description: > + 'IP address of the device, which has been connected by the mediator' + example: + device-name: '305251234' + device-kind-name: 'AGS_20' + mediator-instance-ip-address: '10.118.132.1' + mediator-instance-netconf-port: 1 + device-ip-address: '10.118.133.1' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + ProvideMediatorInstanceCreatesMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - device-name + - device-ip-address + - device-kind-name + properties: + device-name: + type: string + minLength: 3 + description: > + 'Name of device that will be connected by the mediator (mediator will get same name) + find or create [/core-model-1-4:control-construct/forwarding-domain=xmim-0-0-1-op-fd-0000/forwarding-construct=xmim-0-0-1-meth-fc-*/name=ForwardingName/name]' + device-ip-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IP address of the device, which is to be connected by the mediator + update or create [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + device-kind-name: + type: string + description: > + 'Type of the device, which is to be connected by the mediator (SNMP client has to be chosen accordingly) + update or create [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-prot-c-*/layer-protocol=0/protocol-client-interface-1-0:protocol-client-interface-pac/protocol-client-interface-configuration/protocol-server-name]' + example: + device-name: '305251234' + device-ip-address: '10.118.133.1' + device-kind-name: 'AGS_20' + responses: + '200': + description: 'Mediator created' + content: + application/json: + schema: + type: object + required: + - mediator-instance-ip-address + - mediator-instance-netconf-port + properties: + mediator-instance-ip-address: + type: string + description: > + 'IP address of the mediator, which has been created + from [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-tcp-s-*/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address]' + mediator-instance-netconf-port: + type: integer + description: > + 'Port of the mediator, which has been created + from [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-tcp-s-*/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port]' + example: + mediator-instance-ip-address: '10.118.132.1' + mediator-instance-netconf-port: 1 + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + DismantleMediatorInstanceDeletesMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - device-name + properties: + device-name: + type: string + minLength: 3 + description: > + 'Name of device (mediator, respectively FC has the same name) that has to be dismantled + find [/core-model-1-4:control-construct/forwarding-domain=xmim-0-0-1-op-fd-0000/forwarding-construct=xmim-0-0-1-meth-fc-*/name=ForwardingName/name]' + responses: + '204': + description: 'Mediator deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + + /v1/provide-mediator-instance: + post: + operationId: provideMediatorInstance + summary: 'Creates a mediator instance' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - mount-name + - device-ip + - vendor-name + - device-model + properties: + mount-name: + type: string + pattern: ^(?:\d{3}(?:25|27)\d{4}|\d{3}55\d{4}[AB])$ + description: 'Identifier of the device at the Controller' + device-ip: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: 'ip-address of the device' + vendor-name: + description: 'Vendor name of the device' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + device-model: + description: 'model of the device' + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + example: + device-ip: '127.0.0.1' + vendor-name: 'Ericsson' + device-model: 'MLTN' + responses: + '200': + description: 'Created new mediator instance' + content: + application/json: + schema: + type: object + required: + - mediator-instance-ip-address + - mediator-instance-netconf-port + properties: + mediator-instance-ip-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: 'ip-address of the mediator instance' + mediator-instance-netconf-port: + description: 'port of the mediator instance' + type: integer + minimum: 0 + maximum: 65535 + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + ProvideMediatorInstanceChecksAllocationMethodType: + url: #/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-string-p-000/string-profile-1-0:string-profile-pac/string-profile-capability/string-name + description: > + 'Internally the current allocationMethodType value will be checked. + If allocationMethodType == EQUAL_UTILIZATION then load should be shared accross the MediatorInstanceManager of the same kind + Else If allocationMethodType == NONE then MediatorInstanceManager shall be selected randomly until the EngineeringLimit exceeds' + ProvideMediatorInstanceFindsPairingDefinition: + url: #/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/operation-name + description: > + 'Internally finds the available list of MediatorInstanceManagers allocated for the #requestBody#devicemodel in the APPData' + ProvideMediatorInstanceExportsListOfMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'Correct MediatorInstanceManager application will be determined by + repeating this callback for all the MediatorInstanceManager instances from the {$ProvideMediatorInstanceFindsPairingDefinition} and + If {$ProvideMediatorInstanceFindsPairingDefinition#engineeringLimits > responses#array.length} consider that MediatorInstanceManager further. + If {$ProvideMediatorInstanceChecksAllocationMethodType#allocationMethodType} == EQUAL_UTILIZATION then the MediatorInstanceManager with least load should be consider + otherwise a random MediatorInstanceManager shall be choosed' + post: + summary: Retrieves the list of Mediator Instance + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + responses: + '200': + description: 'Mediators listed' + content: + application/json: + schema: + type: array + items: + type: object + required: + - device-name + - device-kind-name + - mediator-instance-ip-address + - mediator-instance-netconf-port + - device-ip-address + properties: + device-name: + type: string + description: > + 'Name of device, which is connected by this mediator instance' + device-kind-name: + type: string + description: > + 'Type of the device, which is connected by the mediator' + mediator-instance-ip-address: + type: string + description: > + 'IP address of the mediator, which has been created' + mediator-instance-netconf-port: + type: integer + description: > + 'Port of the mediator, which has been created' + device-ip-address: + type: string + description: > + 'IP address of the device, which has been connected by the mediator' + example: + device-name: '305251234' + device-kind-name: 'AGS_20' + mediator-instance-ip-address: '10.118.132.1' + mediator-instance-netconf-port: 1 + device-ip-address: '10.118.133.1' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + ProvideMediatorInstanceCreatesMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'Perform this callback on the MediatorInstanceManager application selected from the {$ProvideMediatorInstanceExportsListOfMediatorInstance} + If the request fails with response code != 200 , then repeat this callback with the next eligible MediatorInstanceManager + If the final request fails with the (response code 500: 'No Port available for this mediator instance' for SIAE) OR (response code 404: 'Netconf ports: No Port available' for Ericsson) then the response' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - device-name + - device-ip-address + - device-kind-name + properties: + device-name: + type: string + minLength: 3 + description: > + 'The name of the device that is addressed by this callback from {$request.body#mount-name}' + device-ip-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'The name of the device that is addressed by this callback from {$request.body#device-ip}' + device-kind-name: + type: string + description: > + 'The name of the device that is addressed by this callback from {$request.body#device-model}' + example: + device-name: '305251234' + device-ip-address: '10.118.133.1' + device-kind-name: 'AGS_20' + responses: + '200': + description: 'Mediator created' + content: + application/json: + schema: + type: object + required: + - mediator-instance-ip-address + - mediator-instance-netconf-port + properties: + mediator-instance-ip-address: + type: string + description: > + 'IP address of the mediator, which has been created' + mediator-instance-netconf-port: + type: integer + description: > + 'Port of the mediator, which has been created' + example: + mediator-instance-ip-address: '10.118.132.1' + mediator-instance-netconf-port: 1 + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/dismantle-mediator-instance: + post: + operationId: dismantleMediatorInstance + summary: 'Deletes a mediator Instance' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - device-name + - mediator-instance-ip-address + properties: + device-name: + type: string + pattern: ^(?:\d{3}(?:25|27)\d{4}|\d{3}55\d{4}[AB])$ + description: 'Identifier of the device at the Controller' + mediator-instance-ip-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: 'Mediator IP address of the device' + example: + device-name: '222250001' + mediator-instance-ip-address: '127.0.0.1' + responses: + '204': + description: 'Deleted mediator instance' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + DeleteMediatorInstanceFirstLocatesMediatorInstanceManager: + url: #/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/operation-name + description: > + 'Internally retrieves the list of MediatorInstanceManager and finds the MediatorInstanceManager allocated for the #requestBody#mediator-instance-ip-address' + DismantleMediatorInstanceDeletesMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - device-name + properties: + device-name: + type: string + pattern: ^(?:\d{3}(?:25|27)\d{4}|\d{3}55\d{4}[AB])$ + description: 'Identifier of the device at the Controller' + responses: + '204': + description: 'Mediator deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + +######################################################################################################################## +# Service Layer - Basic Part +######################################################################################################################## + /v1/register-yourself: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: registerYourself + summary: 'Initiates registering at the currently active RegistryOffice' + description: 'Shall also automatically execute without receiving any request every time the application starts' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - description: 'use existing configuration' + type: object + maxProperties: 0 + - description: 'update configuration' + type: object + required: + - registry-office-application + - registry-office-application-release-number + - registration-operation + - registry-office-protocol + - registry-office-address + - registry-office-port + properties: + registry-office-application: + type: string + minLength: 3 + description: > + 'If body provided, name of RegistryOffice application + find [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-mm-1-0-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + registry-office-application-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'If body provided, release of RegistryOffice application + find or update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-mm-1-0-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + registration-operation: + type: string + minLength: 6 + description: > + 'If body provided, operation for registering + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + registry-office-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'If body provided, protocol for addressing the RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + registry-office-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'If body provided, IPv4 address of RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'If body provided, domain name of RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + registry-office-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'If body provided, port of RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + http-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'If provided, own IPv4 address, which has to be documented (but not be directly used for formulating the callback) + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'If provided, own domain name, which has to be documented (but not be directly used for formulating the callback) + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/domain-name]' + http-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'If provided, own TCP port, which has to be documented (but not be directly used for formulating the callback) + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port]' + preceding-application-name: + type: string + minLength: 3 + description: > + 'If provided, the new application will address /v1/bequeath-your-data-and-die at the preceding application after receiving /v1/embed-yourself + (/v1/bequeath-your-data-and-die will not be sent, if application-name in *-http-c-or-* == OldRelease) + update [/core-model-1-4:control-construct/logical-termination-point=*-http-c-or-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + preceding-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'If application-name in *-http-c-or-* different from OldRelease, the new application will address /v1/bequeath-your-data-and-die at the preceding release after receiving /v1/embed-yourself + update [/core-model-1-4:control-construct/logical-termination-point=*-http-c-or-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + example: + registry-office-application: 'ApplicationForRegistering' + registry-office-application-release-number: '43.3.4' + registration-operation: '/v2/register-application' + registry-office-protocol: 'HTTP' + registry-office-address: + ip-address: + ipv-4-address: '1.1.3.1' + registry-office-port: 3001 + http-address: + ip-address: + ipv-4-address: '1.1.3.1' + http-port: 3001 + preceding-application-name: 'OldApplicationName' + preceding-release-number: '54.3.3' + responses: + '204': + description: 'Will register at the RegistryOffice' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + PromptForRegisteringCausesRegistrationRequest2: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://{[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]}:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'Starting from RO v2.1.0, PromptForRegisteringCausesRegistrationRequest2 shall be executed first, only if HTTP response code different from 204 PromptForRegisteringCausesRegistrationRequest shall be executed, too.' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - embedding-operation + - client-update-operation + - operation-client-update-operation + - dispose-remainders-operation + - preceding-release-operation + - subsequent-release-operation + - tcp-server + properties: + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + preceding-application-name: + type: string + description: > + 'To be providede if application-name in *-http-c-or-* different from OldRelease + for preparing RO for the new application addressing /v1/bequeath-your-data-and-die at the preceding application after receiving /v1/embed-yourself + from [/core-model-1-4:control-construct/logical-termination-point=*-http-c-or-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + preceding-release-number: + type: string + description: > + 'To be providede if application-name in *-http-c-or-* different from OldRelease + for preparing RO for the new application addressing /v1/bequeath-your-data-and-die at the preceding application after receiving /v1/embed-yourself + from [/core-model-1-4:control-construct/logical-termination-point=*-http-c-or-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + embedding-operation: + type: string + description: > + 'Name of service for initiating embedding process + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-001/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + client-update-operation: + type: string + description: > + 'Name of service for broadcasting server changes + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-007/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + operation-client-update-operation: + type: string + description: > + 'Name of service for broadcasting replacements of operations by backward compatible substitutes + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-011/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + dispose-remainders-operation: + type: string + description: > + 'Name of service for broadcasting de-registrations of applications + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-013/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + preceding-release-operation: + type: string + description: > + 'Name of service for broadcasting de-registrations of applications + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-014/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + subsequent-release-operation: + type: string + description: > + 'Name of service for broadcasting de-registrations of applications + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-015/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + tcp-server: + type: object + properties: + protocol: + type: string + description: > + 'Own protocol (shall be taken (if available) from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-protocol]' + address: + type: object + properties: + ip-address: + type: object + properties: + ipv-4-address: + type: string + description: > + 'Own IPv4 address (shall be taken (if available) from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address]' + domain-name: + type: string + description: > + 'Own domain name (shall be taken (if available) from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/domain-name]' + port: + type: integer + description: > + 'Own TCP port (shall be taken from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port]' + responses: + '204': + description: 'Application registered' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + PromptForRegisteringCausesRegistrationRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://{[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]}:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'DEPRECATED - Callback shall be deleted with RO v3.0.0' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - embedding-operation + - client-update-operation + - operation-client-update-operation + - tcp-server-list + properties: + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + preceding-application-name: + type: string + description: > + 'To be providede if application-name in *-http-c-or-* different from OldRelease + for preparing RO for the new application addressing /v1/bequeath-your-data-and-die at the preceding application after receiving /v1/embed-yourself + from [/core-model-1-4:control-construct/logical-termination-point=*-http-c-or-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + preceding-release-number: + type: string + description: > + 'To be providede if application-name in *-http-c-or-* different from OldRelease + for preparing RO for the new application addressing /v1/bequeath-your-data-and-die at the preceding application after receiving /v1/embed-yourself + from [/core-model-1-4:control-construct/logical-termination-point=*-http-c-or-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + embedding-operation: + type: string + description: > + 'Name of service for initiating embedding process + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-001/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + client-update-operation: + type: string + description: > + 'Name of service for broadcasting server changes + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-007/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + operation-client-update-operation: + type: string + description: > + 'Name of service for broadcasting replacements of operations by backward compatible substitutes + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-011/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + tcp-server-list: + type: array + items: + type: object + required: + - protocol + - address + - port + properties: + protocol: + type: string + description: > + 'Own protocol (shall be taken (if available) from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-protocol]' + address: + type: object + properties: + ip-address: + type: object + properties: + ipv-4-address: + type: string + description: > + 'Own IPv4 address (shall be taken (if available) from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address]' + domain-name: + type: string + description: > + 'Own domain name (shall be taken (if available) from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/domain-name]' + port: + type: integer + description: > + 'Own TCP port (shall be taken from the stored data, but not from the initiating request body, because attribute is not mandatory in the request body definition) + from[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port]' + responses: + '204': + description: 'Application registered' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/embed-yourself: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: embedYourself + summary: 'Embed yourself into the MBH SDN application layer' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - registry-office-application + - registry-office-application-release-number + - relay-server-replacement-operation + - relay-operation-update-operation + - deregistration-operation + - registry-office-protocol + - registry-office-address + - registry-office-port + properties: + registry-office-application: + type: string + description: > + 'Name of RegistryOffice application + find [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-mm-1-0-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + registry-office-application-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of RegistryOffice application + find or update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-mm-1-0-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + relay-server-replacement-operation: + type: string + minLength: 6 + description: > + 'Operation for requesting for broadcasting a new server address + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + relay-operation-update-operation: + type: string + minLength: 6 + description: > + 'Operation for requesting for broadcasting a backward compatible replacement of an operation + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-003/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + deregistration-operation: + type: string + minLength: 6 + description: > + 'Operation for deregistering from the application layer + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-mm-1-0-0-002/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + registry-office-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol for addressing RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + registry-office-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + registry-office-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of RegistryOffice application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + old-release-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol for addressing the currently running old release of the same application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + old-release-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of currently running old release of the same application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of currently running old release of the same application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + old-release-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of currently running old release of the same application + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + registry-office-application: 'RegistrationApplication' + registry-office-application-release-number: '43.2.5' + relay-server-replacement-operation: '/v1/relay-server-replacement' + relay-operation-update-operation: '/v1/relay-operation-update' + deregistration-operation: '/v1/deregister-application' + registry-office-protocol: 'HTTP' + registry-office-address: + ip-address: + ipv-4-address: '1.1.3.1' + registry-office-port: 3001 + old-release-protocol: 'HTTP' + old-release-address: + ip-address: + ipv-4-address: '1.1.3.1' + old-release-port: 3001 + responses: + '204': + description: 'Will embed into the MBH SDN application layer' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-001/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + PromptForEmbeddingCausesRequestForBequeathingData: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mm-1-0-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-or-1-0-1-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-or-1-0-1-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - new-application-name + - new-application-release + - new-application-protocol + - new-application-address + - new-application-port + properties: + new-application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + new-application-release: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + new-application-protocol: + type: string + description: > + 'Protocol expected by this application + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-protocol]' + new-application-address: + type: object + properties: + ip-address: + type: object + properties: + ipv-4-address: + type: string + description: > + 'Own IPv4 address + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address]' + domain-name: + type: string + description: > + 'Own domain-name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/domain-name]' + new-application-port: + type: integer + description: > + 'Own TCP port + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port]' + responses: + '204': + description: 'Process of embedding a new release initiated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + PromptForEmbeddingCausesCyclicLoadingOfDeviceListFromMwdi: + URL: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-mwdi-1-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + responses: + '200': + description: 'List of connected devices provided' + content: + application/json: + schema: + type: object + required: + - mount-name-list + properties: + mount-name-list: + type: array + items: + type: string + description: 'MountName of device in connected state at the Controller' + example: + mount-name-list: + - '305251234' + - '105258888' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + '502': + $ref: '#/components/responses/502' + '531': + $ref: '#/components/responses/531' + '532': + $ref: '#/components/responses/532' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + PromptForEmbeddingCausesCyclicDeviceDataRetrievalFromMwdi: + URL: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-mwdi-1-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-mwdi-1-1-2-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + - name: mountName + in: path + required: true + schema: + type: string + example: '222250001' + description: > + 'The mountName of the device that is addressed by the request + from cyclic processing of NEP deviceList' + - name: fields + in: query + required: false + schema: + type: string + description: > + 'Query parameter to filter ressources according to RFC8040 fields filter spec + from string profile instance mm-1-0-0-string-p-000' + responses: + '200': + description: 'Filtered ControlConstruct data of device provided' + content: + application/json: + schema: + description: 'Only relevant attributes listed, not all attributes are available for all devices' + type: object + required: + - core-model-1-4:control-construct + properties: + core-model-1-4:control-construct: + type: array + items: + type: object + additionalProperties: true + properties: + # + equipment-augment-1-0:control-construct-pac: + type: object + description: 'Data for generalDeviceInformation' + properties: + device-model-name: + type: string + external-label: + type: string + # + equipment-augment-1-0:protocol-collection: + type: object + properties: + protocol: + type: array + items: + type: object + additionalProperties: true + properties: + lldp-1-0:lldp-pac: + type: object + properties: + local-system-data: + type: object + properties: + system-name: + type: string + description: 'Data for generalDeviceInformation' + # + equipment: + type: array + description: 'Data for actualEquipmentInfo' + items: + type: object + properties: + uuid: + type: string + local-id: + type: string + actual-equipment: + type: object + properties: + manufactured-thing: + type: object + properties: + equipment-type: + type: object + properties: + version: + type: string + description: + type: string + model-identifier: + type: string + part-type-identifier: + type: string + type-name: + type: string + manufacturer-properties: + type: object + properties: + manufacturer-name: + type: string + manufacturer-identifier: + type: string + # + logical-termination-point: + type: array + description: > + 'LTPs with no relevant data can be filtered out, before data is written to NEP cache. + I.e. only keep LTPs for the following interfaces: air-interface, ethernet-container, wire-interface' + items: + type: object + properties: + uuid: + type: string + description: 'Data for respective interface (layer protocol) generalInformation or specific datasets' + operational-state: + type: string + description: 'Data for respective interface (layer protocol) generalInformation' + ltp-augment-1-0:ltp-augment-pac: + type: object + properties: + original-ltp-name: + type: string + description: 'Data for respective interface (layer protocol) generalInformation' + layer-protocol: + type: array + items: + type: object + additionalProperties: true + properties: + local-id: + type: string + description: 'Data for respective interface (layer protocol) generalInformation or specific datasets' + administrative-state: + type: string + description: 'Data for respective interface (layer protocol) generalInformation' + # not all interfaces may be available at every device + # wire-interface + wire-interface-2-0:wire-interface-pac: + type: object + description: 'Data for wireInterfaceGeneralInformation' + properties: + wire-interface-status: + type: object + properties: + interface-status: + type: string + description: 'Store in NEP cache without substring wire-interface-2-0:INTERFACE_STATUS_TYPE_' + pmd-kind-cur: + type: string + wire-interface-configuration: + type: object + properties: + interface-name: + type: string + fixed-pmd-kind: + type: string + wire-interface-capability: + type: object + properties: + supported-pmd-kind-list: + type: array + items: + type: object + properties: + pmd-name: + type: string + duplex: + type: string + speed: + type: string + # ethernet-container + ethernet-container-2-0:ethernet-container-pac: + type: object + properties: + ethernet-container-historical-performances: + type: object + description: 'Data for ethernetContainerPmData' + properties: + historical-performance-data-list: + type: array + items: + type: object + properties: + granularity-period: + type: string + period-end-time: + type: string + history-data-id: + type: string + performance-data: + type: object + properties: + dropped-frames-input: + type: integer + dropped-frames-output: + type: integer + errored-frames-input: + type: integer + errored-frames-output: + type: integer + total-frames-input: + type: string + total-frames-output: + type: string + total-bytes-input: + type: string + total-bytes-output: + type: string + ethernet-container-configuration: + type: object + description: 'Data for ethernetContainerGeneralInformation' + properties: + interface-name: + type: string + bundling-is-on: + type: boolean + ethernet-container-status: + type: object + properties: + interface-status: + type: string + description: 'Data for ethernetContainerGeneralInformation, store in NEP cache without substring ethernet-container-2-0:INTERFACE_STATUS_TYPE_' + # air-interface + air-interface-2-0:air-interface-pac: + type: object + properties: + air-interface-historical-performances: + type: object + properties: + historical-performances-data-list: + type: array + items: + type: object + properties: + granularity-period: + type: string + description: 'Data for airInterfaceNonQamPmData and airInterfaceQamPmData' + period-end-time: + type: string + description: 'Data for airInterfaceNonQamPmData and airInterfaceQamPmData' + history-data-id: + type: string + description: 'Data for airInterfaceNonQamPmData and airInterfaceQamPmData' + performance-data: + type: object + description: 'All properties except time-xstates-list are data for airInterfaceNonQamPmData' + properties: + ses: + type: integer + es: + type: integer + unavailability: + type: integer + rx-level-min: + type: integer + rx-level-max: + type: integer + rx-level-avg: + type: integer + tx-level-min: + type: integer + tx-level-max: + type: integer + tx-level-avg: + type: integer + snir-min: + type: integer + snir-max: + type: integer + snir-avg: + type: integer + xpd-min: + type: integer + xpd-max: + type: integer + xpd-avg: + type: integer + time-xstates-list: + type: array + description: 'Data for airInterfaceQamPmData' + items: + properties: + time: + type: integer + transmission-mode: + type: string + description: 'Filter for those array items, where time>0' + air-interface-configuration: + type: object + description: 'Data for airInterfaceGeneralInformation' + properties: + transmission-mode-min: + type: string + transmission-mode-max: + type: string + power-is-on: + type: boolean + transmitter-is-on: + type: boolean + xpic-is-on: + type: boolean + air-interface-status: + type: object + properties: + interface-status: + type: string + description: 'Data for airInterfaceGeneralInformation, store in NEP cache without air-interface-2-0:INTERFACE_STATUS_TYPE_' + air-interface-capability: + type: object + properties: + type-of-equipment: + type: string + description: 'Data for airInterfaceGeneralInformation' + transmission-mode-list: + type: array + description: 'Data for airInterfaceTransmissionModeLists' + items: + type: object + properties: + tryansmission-mode-name: + type: string + symbol-rate-reduction-factor: + type: integer + channel-bandwidth: + type: integer + xpic-is-avail: + type: boolean + modulation-scheme-name-at-lct: + type: string + modulation-scheme: + type: integer + code-rate: + type: integer + example: + # example shows data like received from MWDI before filtering and processing on NEP side is applied + core-model-1-4:control-construct: + - equipment-augment-1-0:control-construct-pac: + device-model-name: 'SomeDeviceType' + external-label: '100250001' + equipment-augment-1-0:protocol-collection: + protocol: + - uuid: 'PC-LLDP-5' + lldp-1-0:lldp-pac: + local-system-data: + system-name: 'System xyz' + logical-termination-point: + - uuid: 'SYNC-1234567891' + operational-state: 'core-model-1-4:OPERATIONAL_STATE_ENABLED' + layer-protocol: + - local-id: '1234567891' + administrative-state: 'core-model-1-4:ADMINISTRATIVE_STATE_UNLOCKED' + ltp-augment-1-0:ltp-augment-pac: + original-ltp-name: 'E1 1/7/4D' + - uuid: 'ETH-3456789123' + operational-state: 'core-model-1-4:OPERATIONAL_STATE_ENABLED' + layer-protocol: + - local-id: '3456789123' + ethernet-container-2-0:ethernet-container-pac: + ethernet-container-status: + interface-status: 'ethernet-container-2-0:INTERFACE_STATUS_TYPE_UP' + ethernet-container-historical-performances: + historical-performance-data-list: + - granularity-period: 'ethernet-container-2-0:GRANULARITY_PERIOD_TYPE_PERIOD-15-MIN' + period-end-time: '2025-01-07T22:00:00+01:00' + performance-data: + total-frames-input: -1 + total-bytes-input: 75120 + total-bytes-output: 15000 + total-frames-output: -1 + errored-frames-input: 0 + dropped-frames-input: 900 + dropped-frames-output: 0 + errored-frames-output: 0 + history-data-id: 'History Data ID not defined.' + ethernet-container-configuration: + interface-name: '10PN1234_M2-2' + bundling-is-on: false + administrative-state: 'core-model-1-4:ADMINISTRATIVE_STATE_UNLOCKED' + ltp-augment-1-0:ltp-augment-pac: + original-ltp-name: 'LAN 1/5/3' + - uuid: 'RF-2223335555' + operational-state: 'core-model-1-4:OPERATIONAL_STATE_ENABLED' + layer-protocol: + - local-id: '2223335555' + air-interface-2-0:air-interface-pac: + air-interface-configuration: + transmission-mode-min: '56000-16-v0' + transmitter-is-on: true + transmission-mode-max: '56000-256-v0' + xpic-is-on: false + power-is-on: true + air-interface-status: + interface-status: 'air-interface-2-0:INTERFACE_STATUS_TYPE_UP' + air-interface-historical-performances: + historical-performance-data-list: + - granularity-period: 'air-interface-2-0:GRANULARITY_PERIOD_TYPE_PERIOD-15-MIN' + period-end-time: '2025-01-07T08:30:00+01:00' + history-data-id: 'History Data ID not defined.' + performance-data: + es: 5 + xpd-max: -99 + tx-level-max: 12 + ses: 10 + rx-level-max: -50 + snir-min: 40 + snir-avg: -99 + rx-level-avg: 99 + unavailability: 20 + time-xstates-list: + - time: 901 + transmission-mode: '56000-32-v0' + - time: 0 + transmission-mode: '56000-64-v0' + - time: 0 + transmission-mode: '56000-4-v0' + - time: 0 + transmission-mode: '56000-16-v0' + rx-level-min: -50 + xpd-min: -99 + xpd-avg: -99 + tx-level-min: 8 + tx-level-avg: 99 + snir-max: 41 + air-interface-capability: + transmission-mode-list: + - transmission-mode-name: '56000-32-v0' + symbol-rate-reduction-factor: 1 + channel-bandwidth: 56000 + xpic-is-avail: true + modulation-scheme-name-at-lct: '32 QAM' + modulation-scheme: 32 + code-rate: 97 + type-of-equipment: 'RAU2 XYZ' + administrative-state: 'core-model-1-4:ADMINISTRATIVE_STATE_UNLOCKED' + - uuid: 'ETY-8888999912' + operational-state: 'core-model-1-4:OPERATIONAL_STATE_ENABLED' + layer-protocol: + - local-id: '8888999912' + wire-interface-2-0:wire-interface-pac: + wire-interface-status: + interface-status: 'wire-interface-2-0:INTERFACE_STATUS_TYPE_UP' + pmd-kind-cur: '1000BASE_FD' + wire-interface-configuration: + interface-name: '123790001A_ge2/0' + fixed-pmd-kind: '1000BASE_FD' + wire-interface-capability: + supported-pmd-kind-list: + - pmd-name: '1000BASE_FD' + duplex: 'wire-interface-2-0:DUPLEX_TYPE_FULL_DUPLEX' + speed: '1000Mbit/s' + administrative-state: 'core-model-1-4:ADMINISTRATIVE_STATE_UNLOCKED' + ltp-augment-1-0:ltp-augment-pac: + original-ltp-name: 'LAN 1/9/5' + equipment: + - uuid: '1919191919' + - uuid: '1929394959' + actual-equipment: + manufactured-thing: + equipment-type: + version: 'R1C' + description: 'Removable Memory Module' + model-identifier: 'RMM' + part-type-identifier: 'RYS 110 243/1' + type-name: 'RMM' + manufacturer-properties: + manufacturer-name: 'SomeVendor' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '460': + $ref: '#/components/responses/460' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + '502': + $ref: '#/components/responses/502' + '531': + $ref: '#/components/responses/531' + '532': + $ref: '#/components/responses/532' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + + /v1/redirect-service-request-information: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: redirectServiceRequestInformation + summary: 'Offers configuring the client side for sending service request information' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - service-log-application + - service-log-application-release-number + - service-log-operation + - service-log-protocol + - service-log-address + - service-log-port + properties: + service-log-application: + type: string + description: > + 'Name of application that shall record the service requests + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-eatl-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + service-log-application-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of application that shall record the service requests + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-eatl-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + service-log-operation: + type: string + minLength: 6 + description: > + 'Operation for recording the service requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-eatl-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + service-log-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the application that shall record the service requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + service-log-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of application that shall record the service requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of application that shall record the service requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + service-log-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of application that shall record the service requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + service-log-application: 'LoggingApplication' + service-log-application-release-number: '34.2.6' + service-log-operation: '/v1/record-service-request' + service-log-protocol: 'HTTP' + service-log-address: + ip-address: + ipv-4-address: '1.1.3.1' + service-log-port: 3001 + responses: + '204': + description: 'Information about service requests will be send to the new target' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + ServiceRequestCausesLoggingRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-eatl-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-eatl-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - x-correlator + - trace-indicator + - user + - originator + - application-name + - release-number + - operation-name + - response-code + properties: + x-correlator: + type: string + description: 'UUID for the service execution flow that allows to correlate requests and responses; as defined in all service headers [x-correlator]' + trace-indicator: + type: string + description: 'From [parameters/trace-indicator]; Empty string sent by external applications to be replaced by 1' + user: + type: string + description: 'User identifier from the system starting the service call; as defined in all service headers [user]' + originator: + type: string + description: 'ApplicationName on the client side; as defined in all service headers [originator]' + application-name: + type: string + description: '[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: '[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + operation-name: + type: string + description: '[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-*/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + response-code: + type: integer + description: 'Response code sent to [originator] after invoking [operation-name] at [application-name]' + timestamp: + type: string + description: 'Date and time when [application-name] sent response to [originator]; only to be provided, if [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-eatl-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/detailed-logging-is-on] == true' + stringified-body: + type: string + description: 'Stringified body of the request addressed from [originator] to [application-name]; only to be provided, if [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-eatl-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/detailed-logging-is-on] == true' + stringified-response: + type: string + description: 'Stringified response sent from [application-name] to [originator]; only to be provided, if [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-eatl-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/detailed-logging-is-on] == true' + url: + type: string + description: 'Complete URL that has been addressed by the request; only to be provided, if the client is sending the record to EaTL, because the server could not be reached' + exec-time: + type: integer + description: 'Total elapsed time for the execution of the request; value identical with responseHeaders.exec-time; only to be provided, if the server is sending the record to EaTL after processing the request' + responses: + '204': + description: 'Request recorded' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/redirect-oam-request-information: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: redirectOamRequestInformation + summary: 'Offers configuring the client side for sending OaM request information' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - oam-log-application + - oam-log-application-release-number + - oam-log-operation + - oam-log-protocol + - oam-log-address + - oam-log-port + properties: + oam-log-application: + type: string + description: > + 'Name of application that shall record the OaM requests + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-ol-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + oam-log-application-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of application that shall record the OaM request + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-ol-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + oam-log-operation: + type: string + minLength: 6 + description: > + 'Operation for recording the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-ol-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + oam-log-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the application that shall record the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + oam-log-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of application that shall record the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of application that shall record the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + oam-log-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of application that shall record the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + oam-log-application: 'LoggingApplication' + oam-log-application-release-number: '54.3.2' + oam-log-operation: '/v1/record-oam-request' + oam-log-protocol: 'HTTP' + oam-log-address: + ip-address: + ipv-4-address: '1.1.3.1' + oam-log-port: 3001 + responses: + '204': + description: 'Information about OaM requests will be send to the new target' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-003/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + OamRequestCausesLoggingRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-ol-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-ol-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - method + - resource + - stringified-body + - response-code + - user-name + - timestamp + properties: + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + method: + type: string + description: 'Method applied in the OaM request, which is to be recorded' + resource: + type: string + description: 'Resource addressed by the OaM request, which is to be recorded' + stringified-body: + type: string + description: 'Stringified body of the OaM request, which is to be recorded' + response-code: + type: integer + description: 'Response code answered to the OaM request, which is to be recorded' + user-name: + type: string + description: 'user header of the OaM request, which is to be recorded' + timestamp: + type: string + description: 'Date and time when the response to the OaM request, which is to be recorded, has been sent' + responses: + '204': + description: 'OaM request recorded' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/end-subscription: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: endSubscription + summary: 'Stops sending notifications of a specific subscription' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - subscriber-application + - subscriber-release-number + - subscription + properties: + subscriber-application: + type: string + description: > + 'Name of application that no longer wants to receive notifications + find [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + subscriber-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of application that no longer wants to receive notifications + find [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + subscription: + type: string + minLength: 6 + description: > + 'Name of operation that had been addressed for starting getting notifications + find [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-*/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + example: + subscriber-application: 'AlreadySubscribingApplication' + subscriber-release-number: '38.4.3' + subscription: '/v1/subscription-to-be-stopped' + responses: + '204': + description: 'Stopped sending notifications of a specific subscription' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-004/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inquire-oam-request-approvals: + description: > + 'DEPRECATED + Service shall be deleted with AP v3.0.0 + Starting from AP v2.1.0, /v1/inquire-basic-auth-approvals shall be applied as a backward compatible update' + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: inquireOamRequestApprovals + summary: 'Receives information about where to ask for approval of OaM requests' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - oam-approval-application + - oam-approval-application-release-number + - oam-approval-operation + - oam-approval-protocol + - oam-approval-address + - oam-approval-port + properties: + oam-approval-application: + type: string + description: > + 'Name of application that shall approve the OaM requests + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-aa-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + oam-approval-application-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of application that shall approve the OaM requests + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-aa-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + oam-approval-operation: + type: string + minLength: 6 + description: > + 'Operation for approving the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-aa-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + oam-approval-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the application that shall approve the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + oam-approval-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of application that shall approve the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of application that shall approve the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + oam-approval-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of application that shall approve the OaM requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + oam-approval-application: 'AccessApprover' + oam-approval-application-release-number: '34.3.3' + oam-approval-operation: '/v1/approve-basic-auth-request' + oam-approval-protocol: 'HTTP' + oam-approval-address: + ip-address: + ipv-4-address: '1.1.3.1' + oam-approval-port: 3001 + responses: + '204': + description: 'Informed about where to inquire for approval of OaM requests' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-005/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + BasicAuthRequestCausesInquiryForAuthentication: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-aa-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - Authorization + - application-name + - release-number + - operation-name + - method + properties: + Authorization: + type: string + description: > + 'Authorization code + from {$request.parameters#Authorization} of the BasicAuth request that initiates the inquiry for approval' + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own application release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + operation-name: + type: string + description: > + 'Path (could be service, could be OaM path) that has been addressed by the BasicAuth request + in path parameter values to be replaced by original parameter names in curly brackets + filters to be removed + from {$request.path} of the BasicAuth request that initiates the inquiry for approval' + method: + type: string + description: > + 'Method applied in the BasicAuth request + from {$request.method} of the BasicAuth request that initiates the inquiry for approval' + responses: + '200': + description: 'Response on inquiry for approval of a BasicAuth request provided' + content: + application/json: + schema: + oneOf: + - description: 'AdministratorAdministration is responding' + type: object + properties: + oam-request-is-approved: + type: boolean + reason-of-objection: + type: string + description: > + 'This attribute to be represented, if response::oam-request-is-approved==false. + Reasons to be checked and indicated according to the sequence defined in the enumeration.' + - description: 'AccessAdministration is responding' + type: object + properties: + basic-auth-request-is-approved: + type: boolean + description: 'If true, BasicAuth request can be executed' + reason-of-objection: + type: string + description: > + 'if AUTHORIZATION_CODE_UNKNOWN BasicAuth request to be aborted and 401 to be sent + else BasicAuth request to be aborted and 403 to be sent' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/update-client: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: updateClient + summary: 'Allows updating connection data of a serving application' + description: > + 'Initiates update of release number and TCP/IP address at existing HttpClients and TcpClients, but not at OldRelease or NewRelease. + If combination of {future-application-name, future-release-number} is different from combination {current-application-name, current-release-number} + and if HttpClient with combination of {future-application-name, future-release-number} already exists, + HttpClient with combination {current-application-name, current-release-number} shall not be updated, + but OperationClients shall be transferred to the HttpClient with combination of {future-application-name, future-release-number}.' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - current-application-name + - current-release-number + - future-application-name + - future-release-number + - future-protocol + - future-address + - future-port + properties: + current-application-name: + type: string + description: > + 'Current name of the application that has updated connection data + find, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + current-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Current release number of the application that has updated connection data + find, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + future-application-name: + type: string + description: > + 'Future name of the application that has updated connection data + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + future-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Future release number of the application that has updated connection data + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + future-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used in future for addressing the application that has updated connection data + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + future-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'Future IPv4 address of the application that has updated connection data + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Future domain name of the application that has updated connection data + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + future-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Future port of the application that has updated connection data + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + current-application-name: 'CurrentApplicationName' + current-release-number: '43.5.5' + future-application-name: 'FutureApplicationName' + future-release-number: '43.5.6' + future-protocol: 'HTTP' + future-address: + ip-address: + ipv-4-address: '1.1.3.1' + future-port: 3001 + responses: + '204': + description: 'Will update connection information' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-007/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/list-ltps-and-fcs: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: listLtpsAndFcs + summary: 'Allows retrieving all interface and internal connection data' + tags: + - BasicServices + security: + - apiKeyAuth: [] + responses: + '200': + description: 'All interface and internal connection data provided' + content: + application/json: + schema: + type: object + required: + - core-model-1-4:control-construct + properties: + core-model-1-4:control-construct: + type: object + required: + - uuid + - logical-termination-point + - forwarding-domain + properties: + uuid: + type: string + logical-termination-point: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/logicalTerminationPoint' + example: + - uuid: 'xy-15-3-2-op-s-bm-000' + ltp-direction: 'core-model-1-4:TERMINATION_DIRECTION_SOURCE' + client-ltp: [] + server-ltp: ['xy-15-3-2-http-s-000'] + layer-protocol: + - local-id: '0' + layer-protocol-name: 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + operation-server-interface-1-0:operation-server-interface-pac: + operation-server-interface-capability: + operation-name: '/v1/register-yourself' + operation-server-interface-configuration: + life-cycle-state: 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - uuid: 'xy-15-3-2-http-s-000' + ltp-direction: 'core-model-1-4:TERMINATION_DIRECTION_SOURCE' + client-ltp: ['xy-15-3-2-op-s-bm-000'] + server-ltp: [] + layer-protocol: + - local-id: '0' + layer-protocol-name: 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + http-server-interface-1-0:http-server-interface-pac: + http-server-interface-capability: + application-name: 'ApplicationName' + release-number: '45.2.7' + data-update-period: 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_REAL_TIME' + forwarding-domain: + type: array + minItems: 1 + maxItems: 1 + items: + $ref: '#/components/schemas/forwardingDomain' + example: + - uuid: 'xy-15-3-2-op-fd-000' + forwarding-construct: + - uuid: 'xy-15-3-2-op-fc-bm-000' + name: + - value-name: 'ForwardingKind' + value: 'core-model-1-4:FORWARDING_KIND_TYPE_INVARIANT_PROCESS_SNIPPET' + - value-name: 'ForwardingName' + value: 'PromptForRegisteringCausesRegistrationRequest' + fc-port: + - local-id: '000' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_MANAGEMENT' + logical-termination-point: 'xy-15-3-2-op-s-bm-000' + - local-id: '100' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_INPUT' + logical-termination-point: 'xy-15-3-2-op-s-bm-000' + - uuid: 'xy-15-3-2-op-fc-bm-001' + name: + - value-name: 'ForwardingKind' + value: 'core-model-1-4:FORWARDING_KIND_TYPE_INVARIANT_PROCESS_SNIPPET' + - value-name: 'ForwardingName' + value: 'PromptForEmbeddingCausesRequestForBequeathingData' + fc-port: + - local-id: '100' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_INPUT' + logical-termination-point: 'xy-15-3-2-op-s-bm-001' + - local-id: '200' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT' + logical-termination-point: 'xy-15-3-2-op-c-bm-yz-34-4-4-000' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-008/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/redirect-topology-change-information: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: redirectTopologyChangeInformation + summary: 'Offers configuring client side for sending information about topology changes and provides current data tree' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - topology-application + - topology-application-release-number + - topology-operation-ltp-update + - topology-operation-ltp-deletion + - topology-operation-fc-update + - topology-operation-fc-port-update + - topology-operation-fc-port-deletion + - topology-application-protocol + - topology-application-address + - topology-application-port + properties: + topology-application: + type: string + description: > + 'Name of application that shall document the application layer topology + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-alt-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + topology-application-release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of application that shall document the application layer topology + find or update, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-alt-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + topology-operation-ltp-update: + type: string + minLength: 6 + description: > + 'Operation for updating an LTP + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + topology-operation-ltp-deletion: + type: string + minLength: 6 + description: > + 'Operation for deleting an LTP and its dependents like FC port and Link (if applicable) + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-002/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + topology-operation-fc-update: + type: string + minLength: 6 + description: > + 'Operation for updating a ForwardingConstruct instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-003/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + topology-operation-fc-port-update: + type: string + minLength: 6 + description: > + 'Operation for updating an FC port + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-004/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + topology-operation-fc-port-deletion: + type: string + minLength: 6 + description: > + 'Operation for deleting an FC port + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-005/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + topology-application-protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addresing the application that shall document the application layer topology + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + topology-application-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of application that shall document the application layer topology + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of application that shall document the application layer topology + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + topology-application-port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of application that shall document the application layer topology + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + topology-application: 'InventoryApplication' + topology-application-release-number: '54.1.3' + topology-operation-ltp-update: '/v1/update-ltp' + topology-operation-ltp-deletion: '/v1/delete-ltp-and-dependents' + topology-operation-fc-update: '/v1/update-fc' + topology-operation-fc-port-update: '/v1/update-fc-port' + topology-operation-fc-port-deletion: '/v1/delete-fc-port' + topology-application-protocol: 'HTTP' + topology-application-address: + ip-address: + ipv-4-address: '1.1.3.1' + topology-application-port: 3001 + responses: + '200': + description: 'Client side for sending information about topology changes has been updated and current data tree has been provided' + content: + application/json: + schema: + type: object + required: + - core-model-1-4:control-construct + properties: + core-model-1-4:control-construct: + type: object + description: > + 'Entire internal datatree + from [/core-model-1-4:control-construct]' + required: + - uuid + - logical-termination-point + - forwarding-domain + properties: + uuid: + type: string + logical-termination-point: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/logicalTerminationPoint' + example: + - uuid: 'xy-15-3-2-op-s-bm-000' + ltp-direction: 'core-model-1-4:TERMINATION_DIRECTION_SOURCE' + client-ltp: [] + server-ltp: ['xy-15-3-2-http-s-000'] + layer-protocol: + - local-id: '0' + layer-protocol-name: 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + operation-server-interface-1-0:operation-server-interface-pac: + operation-server-interface-capability: + operation-name: '/v1/register-yourself' + operation-server-interface-configuration: + life-cycle-state: 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - uuid: 'xy-15-3-2-http-s-000' + ltp-direction: 'core-model-1-4:TERMINATION_DIRECTION_SOURCE' + client-ltp: ['xy-15-3-2-op-s-bm-000'] + server-ltp: [] + layer-protocol: + - local-id: '0' + layer-protocol-name: 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + http-server-interface-1-0:http-server-interface-pac: + http-server-interface-capability: + application-name: 'ApplicationName' + release-number: '32.2.3' + data-update-period: 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_REAL_TIME' + forwarding-domain: + type: array + minItems: 1 + maxItems: 1 + items: + $ref: '#/components/schemas/forwardingDomain' + example: + - uuid: 'xy-15-3-2-op-fd-000' + forwarding-construct: + - uuid: 'xy-15-3-2-op-fc-bm-000' + name: + - value-name: 'ForwardingKind' + value: 'core-model-1-4:FORWARDING_KIND_TYPE_INVARIANT_PROCESS_SNIPPET' + - value-name: 'ForwardingName' + value: 'PromptForRegisteringCausesRegistrationRequest' + fc-port: + - local-id: '000' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_MANAGEMENT' + logical-termination-point: 'xy-15-3-2-op-s-bm-000' + - local-id: '100' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_INPUT' + logical-termination-point: 'xy-15-3-2-op-s-bm-000' + - uuid: 'xy-15-3-2-op-fc-bm-001' + name: + - value-name: 'ForwardingKind' + value: 'core-model-1-4:FORWARDING_KIND_TYPE_INVARIANT_PROCESS_SNIPPET' + - value-name: 'ForwardingName' + value: 'PromptForEmbeddingCausesRequestForBequeathingData' + fc-port: + - local-id: '100' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_INPUT' + logical-termination-point: 'xy-15-3-2-op-s-bm-001' + - local-id: '200' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT' + logical-termination-point: 'xy-15-3-2-op-c-bm-yz-34-4-4-000' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-009/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + ServiceRequestCausesLtpUpdateRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever a service request causes the creation or change of an LTP' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/logicalTerminationPoint' + responses: + '204': + description: 'LTP will be updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + ServiceRequestCausesLtpDeletionRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-002/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever a service request causes an LTP being deleted' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - uuid + properties: + uuid: + type: string + responses: + '204': + description: 'LTP and its dependents will be deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + ServiceRequestCausesFcUpdateRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-003/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever a service request causes the creation or change of an FC port' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - uuid + - name + - fc-port + properties: + uuid: + type: string + name: + type: array + items: + type: object + required: + - value-name + - value + properties: + value-name: + type: string + value: + type: string + fc-port: + type: array + items: + type: object + required: + - local-id + - port-direction + - logical-termination-point + properties: + local-id: + type: string + port-direction: + type: string + logical-termination-point: + type: string + responses: + '204': + description: 'FC will be updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + ServiceRequestCausesFcPortUpdateRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-004/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever a service request causes an FC port being updated' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - fc-uuid + - fc-port + properties: + fc-uuid: + type: string + fc-port: + type: object + required: + - local-id + - port-direction + - logical-termination-point + properties: + local-id: + type: string + port-direction: + type: string + logical-termination-point: + type: string + responses: + '204': + description: 'FC port will be updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + ServiceRequestCausesFcPortDeletionRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-005/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever a service request causes an FC port being deleted' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - fc-uuid + - fc-port-local-id + properties: + fc-uuid: + type: string + fc-port-local-id: + type: string + responses: + '204': + description: 'FC port will be deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + OamRequestCausesLtpUpdateRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever an OaM request causes the creation or change of an LTP' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/logicalTerminationPoint' + responses: + '204': + description: 'LTP will be updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + OamRequestCausesLtpDeletionRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-002/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever an OaM request causes an LTP being deleted' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - uuid + properties: + uuid: + type: string + responses: + '204': + description: 'LTP will be deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + OamRequestCausesFcUpdateRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-003/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever an OaM request causes the creation or change of an FC port' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - uuid + - name + - fc-port + properties: + uuid: + type: string + name: + type: array + items: + type: object + required: + - value-name + - value + properties: + value-name: + type: string + value: + type: string + fc-port: + type: array + items: + type: object + required: + - local-id + - port-direction + - logical-termination-point + properties: + local-id: + type: string + port-direction: + type: string + logical-termination-point: + type: string + responses: + '204': + description: 'FC port will be updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + OamRequestCausesFcPortUpdateRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-004/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever an OaM request causes an FC port being updated' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - fc-uuid + - fc-port + properties: + fc-uuid: + type: string + fc-port: + type: object + required: + - local-id + - port-direction + - logical-termination-point + properties: + local-id: + type: string + port-direction: + type: string + enum: + - 'core-model-1-4:PORT_DIRECTION_TYPE_MANAGEMENT' + - 'core-model-1-4:PORT_DIRECTION_TYPE_INPUT' + - 'core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT' + logical-termination-point: + type: string + responses: + '204': + description: 'FC port will be updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + OamRequestCausesFcPortDeletionRequest: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-alt-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bm-alt-2-1-2-005/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: 'To be activated whenever an OaM request causes an FC port being deleted' + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - fc-uuid + - fc-port-local-id + properties: + fc-uuid: + type: string + fc-port-local-id: + type: string + responses: + '204': + description: 'FC port will be deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/update-operation-key: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: updateOperationKey + summary: 'Allows updating operation key at a server or client' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - operation-uuid + - new-operation-key + properties: + operation-uuid: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-([sc])-([bi][ms])((-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})){0,1})-([0-9]{3})$' + description: > + 'UUID of LTP that is target of the updating of the operation key + find [/core-model-1-4:control-construct/logical-termination-point=uuid]' + new-operation-key: + type: string + minLength: 5 + description: > + 'Future operation key + update [/core-model-1-4:control-construct/logical-termination-point={operation-uuid}/layer-protocol=0/operation-*-interface-1-0:operation-*-interface-pac/operation-*-interface-configuration/operation-key]' + example: + operation-uuid: 'xy-15-3-2-op-s-is-003' + new-operation-key: 'Operation key not yet provided.' + responses: + '204': + description: 'Operation key has been updated' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-010/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/update-operation-client: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: updateOperationClient + summary: 'Allows updating operation clients to redirect to backward compatible services' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - old-operation-name + - new-operation-name + properties: + application-name: + type: string + description: > + 'Name of the application that has an updated operation + find, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release number of the application that has an updated operation + find, but not at OldRelease or NewRelease, [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + old-operation-name: + type: string + minLength: 6 + description: > + 'Name of the deprecated operation + find [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-*/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + new-operation-name: + type: string + minLength: 6 + description: > + 'Name of the replacing operation + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-*/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + example: + application-name: 'ApplicationName' + release-number: '75.4.3' + old-operation-name: '/v1/register-application' + new-operation-name: '/v2/register-application' + responses: + '204': + description: 'Operation clients will be updated, if existing' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-011/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inquire-basic-auth-approvals: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: inquireBasicAuthRequestApprovals + summary: 'Receives information about where to ask for approval of BasicAuth requests' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - operation-name + - protocol + - address + - port + properties: + application-name: + type: string + description: > + 'Name of the application that approves the BasicAuth requests + find or update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-aa-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of the application that approves the BasicAuth requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-aa-2-1-2-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + operation-name: + type: string + minLength: 6 + description: > + 'Operation for approving the BasicAuth requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-aa-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the application that approves the BasicAuth requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of the application that approves the BasicAuth requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of the application that approves the BasicAuth requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of the application that approves the BasicAuth requests + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'AccessApplication' + release-number: '43.2.4' + operation-name: '/v1/approve-basic-auth-request' + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.1' + port: 3001 + responses: + '204': + description: 'Informed about where to inquire for approval of BasicAuth requests' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + find in [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-005/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + BasicAuthRequestCausesInquiryForAuthentication: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-aa-2-1-2-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-bs-aa-2-1-2-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - Authorization + - application-name + - release-number + - operation-name + - method + properties: + Authorization: + type: string + description: > + 'Authorization code + from {$request.parameters#Authorization} of the BasicAuth request that initiates the inquiry for approval' + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own application release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + operation-name: + type: string + description: > + 'Path (could be service, could be OaM path) that has been addressed by the BasicAuth request + in path parameter values to be replaced by original parameter names in curly brackets + filters to be removed + from {$request.path} of the BasicAuth request that initiates the inquiry for approval' + method: + type: string + description: > + 'Method applied in the BasicAuth request + from {$request.method} of the BasicAuth request that initiates the inquiry for approval' + responses: + '200': + description: 'Response on inquiry for approval of a BasicAuth request provided' + content: + application/json: + schema: + type: object + properties: + basic-auth-request-is-approved: + type: boolean + description: 'If true, BasicAuth request can be executed' + reason-of-objection: + type: string + description: > + 'if AUTHORIZATION_CODE_UNKNOWN BasicAuth request to be aborted and 401 to be sent + else BasicAuth request to be aborted and 403 to be sent' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/dispose-remainders-of-deregistered-application: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: disposeRemaindersOfDeregisteredApplication + summary: 'Removes application from configuration and application data' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + properties: + application-name: + type: string + description: 'Name of application that shall be removed from configuration and application data' + release-number: + type: string + description: 'Release of application that shall be removed from configuration and application data' + example: + application-name: 'BadApplication' + release-number: '45.4.3' + responses: + '204': + description: 'Application removed from configuration and application data' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + find in [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-013/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inform-about-preceding-release: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: informAboutPrecedingRelease + summary: 'Provides name and number of the preceding release' + tags: + - BasicServices + responses: + '200': + description: 'Name and number of the preceding release provided' + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + properties: + application-name: + type: string + description: > + 'ApplicationName of the OldRelease + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-or-1-0-1-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'ReleaseNumber of the OldRelease + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-or-1-0-1-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + example: + application-name: 'ApplicationNameOfTheOldRelease' + release-number: '45.4.7' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-014/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/update-client-of-subsequent-release: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: UpdateClientOfSubsequentRelease + summary: 'Configures Http and TcpClient of the NewRelease' + tags: + - BasicServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - protocol + - address + - port + properties: + application-name: + type: string + description: > + 'Name of the application that is target of the bequeath-your-data-and-die process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-nr-1-1-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'Release of the application that is target of the bequeath-your-data-and-die process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-nr-1-1-0-000/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used during the bequeath-your-data-and-die process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address to be used during the bequeath-your-data-and-die process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name to be used during the bequeath-your-data-and-die process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port to be used during the bequeath-your-data-and-die process + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-nr-1-1-0-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'ApplicationNameOfNewRelease' + release-number: '17.1.2' + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.0' + port: 3000 + responses: + '200': + description: 'Operations required for transferring data provided' + content: + application/json: + schema: + type: object + required: + - bequeath-your-data-and-die-operation + - data-transfer-operations-list + properties: + bequeath-your-data-and-die-operation: + type: string + description: > + 'Operation for starting the handover process on the already existing application + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-im-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name]' + data-transfer-operations-list: + type: array + items: + type: string + description: > + 'List of operations required for transferring data from the oldRelease to the newRelease + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-nr-*/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + example: + bequeath-your-data-and-die-operation: '/v1/bequeath-your-data-and-die' + data-transfer-operations-list: + - '/v1/inquire-application-type-approvals' + - '/v1/notify-approvals' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bm-015/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + + /v1/start-application-in-generic-representation: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: startApplicationInGenericRepresentation + summary: 'Starts application in generic representation' + tags: + - BasicServices + responses: + '200': + description: 'Start mask provided' + content: + application/json: + schema: + $ref: '#/components/schemas/genericRepresentation' + example: + response-value-list: + - field-name: 'applicationName' + value: 'OwnApplicationName' + datatype: 'string' + consequent-action-list: + - label: 'Inform about Application' + request: 'https://1.1.4.1:4001/v1/inform-about-application-in-generic-representation' + display-in-new-browser-window: false + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inform-about-application: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: informAboutApplication + summary: 'Returns administrative information' + tags: + - BasicServices + responses: + '200': + description: 'Administrative information provided' + content: + application/json: + schema: + type: object + required: + - application-name + - release-number + - application-purpose + - data-update-period + - owner-name + - owner-email-address + properties: + application-name: + type: string + description: > + 'Own application name + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name]' + release-number: + type: string + description: > + 'Own release number + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number]' + application-purpose: + type: string + description: > + 'Own application purpose + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-purpose]' + data-update-period: + type: string + enum: + - 'real-time' + - '1h-period' + - '24h-period' + - 'manual' + description: 'from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/data-update-period]' + owner-name: + type: string + description: 'from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/owner-name]' + owner-email-address: + type: string + description: 'from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/owner-email-address]' + example: + application-name: 'OwnApplicationName' + release-number: '34.3.6' + application-purpose: 'Brief description of the purpose of the application.' + data-update-period: 'real-time' + owner-name: 'Thorsten Heinze' + owner-email-address: 'Thorsten.Heinze@telefonica.com' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-001/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inform-about-application-in-generic-representation: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: informAboutApplicationInGenericRepresentation + summary: 'Returns administrative information for generic representation' + tags: + - BasicServices + responses: + '200': + description: 'Administrative information provided' + content: + application/json: + schema: + $ref: '#/components/schemas/genericRepresentation' + example: + response-value-list: + - field-name: 'applicationName' + value: 'OwnApplicationName' + datatype: 'string' + - field-name: 'releaseNumber' + value: '43.3.5' + datatype: 'string' + - field-name: 'applicationPurpose' + value: 'Brief description of the purpose of the application.' + datatype: 'string' + - field-name: 'dataUpdatePeriod' + value: 'real-time' + datatype: 'string' + - field-name: 'ownerName' + value: 'Thorsten Heinze' + datatype: 'string' + - field-name: 'ownerEmailAddress' + value: 'Thorsten.Heinze@telefonica.com' + datatype: 'string' + consequent-action-list: + - label: 'Release History' + request: 'https://1.1.4.1:4001/v1/inform-about-release-history-in-generic-representation' + display-in-new-browser-window: false + - label: 'API Documentation' + request: 'https://1.1.4.1:4001/docs' + display-in-new-browser-window: true + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inform-about-release-history: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: informAboutReleaseHistory + summary: 'Returns release history' + tags: + - BasicServices + responses: + '200': + description: 'Release history provided' + content: + application/json: + schema: + type: array + uniqueItems: true + items: + type: object + required: + - release-number + - release-date + - changes + properties: + release-number: + type: string + description: 'from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list=*/release-number]' + release-date: + type: string + description: 'from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list=*/release-date]' + changes: + type: string + description: 'from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list=*/changes]' + example: + - release-number: '34.5.6' + release-date: '20.11.2010' + changes: 'Initial version.' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-003/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + /v1/inform-about-release-history-in-generic-representation: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: informAboutReleaseHistoryInGenericRepresentation + summary: 'Returns release history for generic representation' + tags: + - BasicServices + responses: + '200': + description: 'Release history provided' + content: + application/json: + schema: + $ref: '#/components/schemas/genericRepresentation' + example: + response-value-list: + - field-name: '43.6.4' + value: '20.11.2010 - Initial version.' + datatype: 'string' + consequent-action-list: + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-004/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + +######################################################################################################################## +# OAM Layer - Individual Part +######################################################################################################################## + /core-model-1-4:control-construct: + get: + operationId: getControlConstruct + summary: 'Returns entire data tree' + tags: + - Core + security: + - basicAuth: [] + responses: + '200': + description: 'ControlConstruct provided' + content: + application/json: + schema: + type: object + required: + - core-model-1-4:control-construct + properties: + core-model-1-4:control-construct: + type: object + required: + - uuid + - profile-collection + - logical-termination-point + - forwarding-domain + properties: + uuid: + type: string + pattern: '^([a-z]{2,6})-([0-9]+)-([0-9]+)-([0-9]+)$' + example: 'xy-15-3-2' + profile-collection: + type: object + required: + - profile + properties: + profile: + type: array + uniqueItems: true + items: + oneOf: + - description: 'action profile' + type: object + required: + - uuid + - profile-name + # Bug in the postman mock server + # original code is: + # - action-profile-1-0:action-profile-pac + # workaround code is: + # - empty line - + additionalProperties: false + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + action-profile-1-0:action-profile-pac: + type: object + required: + - action-profile-capability + - action-profile-configuration + properties: + action-profile-capability: + type: object + required: + - operation-name + - label + - display-in-new-browser-window + properties: + operation-name: + type: string + label: + type: string + input-value-list: + type: array + items: + type: object + required: + - field-name + properties: + field-name: + type: string + unit: + type: string + display-in-new-browser-window: + type: boolean + action-profile-configuration: + type: object + required: + - consequent-operation-reference + properties: + consequent-operation-reference: + type: string + - description: 'generic response profile' + type: object + required: + - uuid + - profile-name + - response-profile-1-0:response-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + response-profile-1-0:response-profile-pac: + type: object + required: + - response-profile-capability + - response-profile-configuration + properties: + response-profile-capability: + type: object + required: + - operation-name + - field-name + - datatype + properties: + operation-name: + type: string + field-name: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-field-name: + type: string + field-name-reference: + type: string + description: + type: string + datatype: + type: string + response-profile-configuration: + type: object + required: + - value + properties: + value: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-value: + type: string + value-reference: + type: string + - description: 'file profile' + type: object + required: + - uuid + - profile-name + - file-profile-1-0:file-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + file-profile-1-0:file-profile-pac: + type: object + required: + - file-profile-capability + - file-profile-configuration + properties: + file-profile-capability: + type: object + required: + - file-identifier + - file-description + properties: + file-identifier: + type: string + file-description: + type: string + file-profile-configuration: + type: object + required: + - file-name + properties: + file-name: + type: string + operation: + type: string + enum: + - 'file-profile-1-0:OPERATION_TYPE_READ_ONLY' + - 'file-profile-1-0:OPERATION_TYPE_READ_WRITE' + - 'file-profile-1-0:OPERATION_TYPE_OFF' + - 'file-profile-1-0:OPERATION_TYPE_NOT_YET_DEFINED' + - description: 'integer profile' + type: object + required: + - uuid + - profile-name + - integer-profile-1-0:integer-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + integer-profile-1-0:integer-profile-pac: + type: object + required: + - integer-profile-capability + - integer-profile-configuration + properties: + integer-profile-capability: + type: object + required: + - integer-name + properties: + integer-name: + type: string + purpose: + type: string + unit: + type: string + minimum: + type: integer + maximum: + type: integer + integer-profile-configuration: + type: object + required: + - integer-value + properties: + integer-value: + type: integer + - description: 'string profile' + type: object + required: + - uuid + - profile-name + - string-profile-1-0:string-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + string-profile-1-0:string-profile-pac: + type: object + required: + - string-profile-capability + - string-profile-configuration + properties: + string-profile-capability: + type: object + required: + - string-name + properties: + string-name: + type: string + enumeration: + type: array + items: + type: string + pattern: + type: string + string-profile-configuration: + type: object + required: + - string-value + properties: + string-value: + type: string + example: + - uuid: 'xy-15-3-2-integer-p-000' + profile-name: 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + integer-profile-1-0:integer-profile-pac: + integer-profile-capability: + integer-name: 'maximumNumberOfEntries' + purpose: 'Limiting the number of entries for controlling the storage consumption and access response time' + unit: 'records' + minimum: 0 + maximum: 1000000 + integer-profile-configuration: + integer-value: 1000000 + logical-termination-point: + type: array + uniqueItems: true + items: + type: object + required: + - uuid + - ltp-direction + - client-ltp + - server-ltp + - layer-protocol + properties: + uuid: + type: string + ltp-direction: + type: string + enum: + - 'core-model-1-4:TERMINATION_DIRECTION_BIDIRECTIONAL' + - 'core-model-1-4:TERMINATION_DIRECTION_SINK' + - 'core-model-1-4:TERMINATION_DIRECTION_SOURCE' + - 'core-model-1-4:TERMINATION_DIRECTION_UNDEFINED_OR_UNKNOWN' + client-ltp: + type: array + uniqueItems: true + items: + type: string + server-ltp: + type: array + uniqueItems: true + items: + type: string + layer-protocol: + type: array + minItems: 1 + maxItems: 1 + items: + oneOf: + - description: 'operation server' + type: object + required: + - local-id + - layer-protocol-name + - operation-server-interface-1-0:operation-server-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + operation-server-interface-1-0:operation-server-interface-pac: + type: object + required: + - operation-server-interface-capability + - operation-server-interface-configuration + properties: + operation-server-interface-capability: + type: object + required: + - operation-name + properties: + operation-name: + type: string + operation-server-interface-configuration: + type: object + required: + - life-cycle-state + - operation-key + properties: + life-cycle-state: + type: string + enum: + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + operation-key: + type: string + - description: 'http server' + type: object + required: + - local-id + - layer-protocol-name + - http-server-interface-1-0:http-server-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + http-server-interface-1-0:http-server-interface-pac: + type: object + required: + - http-server-interface-capability + properties: + http-server-interface-capability: + type: object + required: + - application-name + - release-number + - application-purpose + - data-update-period + - owner-name + - owner-email-address + - release-list + properties: + application-name: + type: string + release-number: + type: string + application-purpose: + type: string + data-update-period: + type: string + enum: + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_REAL_TIME' + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_1H_PERIOD' + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_24H_PERIOD' + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_MANUAL' + owner-name: + type: string + owner-email-address: + type: string + release-list: + type: array + uniqueItems: true + items: + type: object + required: + - local-id + - release-number + - release-date + - changes + properties: + local-id: + type: string + release-number: + type: string + release-date: + type: string + changes: + type: string + - description: 'tcp server' + type: object + required: + - local-id + - layer-protocol-name + - tcp-server-interface-1-0:tcp-server-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + tcp-server-interface-1-0:tcp-server-interface-pac: + type: object + required: + - tcp-server-interface-configuration + properties: + tcp-server-interface-configuration: + type: object + required: + - description + - local-protocol + - local-address + - local-port + properties: + description: + type: string + local-protocol: + type: string + local-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + domain-name: + type: string + local-port: + type: integer + - description: 'operation client' + type: object + required: + - local-id + - layer-protocol-name + - operation-client-interface-1-0:operation-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + operation-client-interface-1-0:operation-client-interface-pac: + type: object + required: + - operation-client-interface-configuration + - operation-client-interface-status + properties: + operation-client-interface-configuration: + type: object + required: + - operation-name + - operation-key + properties: + operation-name: + type: string + operation-key: + type: string + detailed-logging-is-on: + type: boolean + operation-client-interface-status: + type: object + required: + - operational-state + - life-cycle-state + properties: + operational-state: + type: string + enum: + - 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_AVAILABLE' + - 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_UNAVAILABLE' + - 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + life-cycle-state: + type: string + enum: + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + - description: 'elasticsearch client' + type: object + required: + - local-id + - layer-protocol-name + - elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac: + type: object + required: + - elasticsearch-client-interface-configuration + - elasticsearch-client-interface-status + properties: + elasticsearch-client-interface-configuration: + type: object + required: + - auth + - index-alias + properties: + auth: + type: object + minProperties: 1 + additionalProperties: false + properties: + api-key: + type: string + description: 'base64EncodedKey' + index-alias: + type: string + service-records-policy: + type: object + required: + - service-records-policy-name + - phases + properties: + service-records-policy-name: + type: string + description: + type: string + project: + type: object + properties: + name: + type: string + department: + type: string + phases: + type: object + properties: + hot: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + forcemerge: + type: object + required: + - max-num-segments + properties: + max-num-segments: + type: integer + index-codec: + type: string + readonly: + type: object + rollover: + type: object + minProperties: 1 + additionalProperties: false + properties: + max-age: + type: string + max-docs: + type: integer + max-size: + type: string + max-primary-shard-size: + type: string + max-primary-shard-docs: + type: integer + min-age: + type: string + min-docs: + type: integer + min-size: + type: string + min-primary-shard-size: + type: string + min-primary-shard-docs: + type: integer + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + shrink: + type: object + properties: + number-of-shards: + type: integer + max-primary-shard-size: + type: string + unfollow: + type: object + warm: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + allocate: + type: object + minProperties: 1 + additionalProperties: false + properties: + number-of-replicas: + type: integer + total-shards-per-node: + type: integer + include: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + exclude: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + require: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + storage: + type: string + enum: + - 'high' + forcemerge: + type: object + required: + - max-num-segments + properties: + max-num-segments: + type: integer + index-codec: + type: string + migrate: + type: object + properties: + enabled: + type: boolean + readonly: + type: object + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + shrink: + type: object + properties: + number-of-shards: + type: integer + max-primary-shard-size: + type: string + unfollow: + type: object + cold: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + allocate: + type: object + minProperties: 1 + additionalProperties: false + properties: + number-of-replicas: + type: integer + total-shards-per-node: + type: integer + include: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + exclude: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + require: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + storage: + type: string + enum: + - 'high' + migrate: + type: object + properties: + enabled: + type: boolean + readonly: + type: object + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + unfollow: + type: object + frozen: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + unfollow: + type: object + delete: + type: object + properties: + min-age: + type: string + actions: + type: object + required: + - delete + properties: + delete: + type: object + properties: + delete-searchable-snapshot: + type: boolean + wait-for-snapshot: + type: object + required: + - policy + properties: + policy: + type: string + elasticsearch-client-interface-status: + type: object + required: + - operational-state + - life-cycle-state + properties: + operational-state: + type: string + enum: + - 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_AVAILABLE' + - 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_UNAVAILABLE' + - 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + life-cycle-state: + type: string + enum: + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + - description: 'http client' + type: object + required: + - local-id + - layer-protocol-name + - http-client-interface-1-0:http-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + http-client-interface-1-0:http-client-interface-pac: + type: object + required: + - http-client-interface-configuration + properties: + http-client-interface-configuration: + type: object + required: + - application-name + - release-number + properties: + application-name: + type: string + release-number: + type: string + - description: 'tcp client' + type: object + required: + - local-id + - layer-protocol-name + - tcp-client-interface-1-0:tcp-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + enum: + - 'operation-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'http-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-server-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + - 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + - 'elasticsearch-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_ELASTICSEARCH_LAYER' + - 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + - 'tcp-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_TCP_LAYER' + tcp-client-interface-1-0:tcp-client-interface-pac: + type: object + required: + - tcp-client-interface-configuration + properties: + tcp-client-interface-configuration: + type: object + required: + - remote-protocol + - remote-address + - remote-port + properties: + remote-protocol: + type: string + remote-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + domain-name: + type: string + remote-port: + type: integer + example: + - uuid: 'xy-15-3-2-op-c-bm-yz-34-4-4-000' + ltp-direction: 'core-model-1-4:TERMINATION_DIRECTION_SINK' + client-ltp: [] + server-ltp: ['xy-15-3-2-http-c-yz-34-4-4-000'] + layer-protocol: + - local-id: '0' + layer-protocol-name: 'operation-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_OPERATION_LAYER' + operation-client-interface-1-0:operation-client-interface-pac: + operation-client-interface-configuration: + operation-name: '/v2/register-application' + operation-key: 'Operation key not yet provided.' + operation-client-interface-status: + operational-state: 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + life-cycle-state: 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + - uuid: 'xy-15-3-2-http-c-yz-34-4-4-000' + ltp-direction: 'core-model-1-4:TERMINATION_DIRECTION_SINK' + client-ltp: ['xy-15-3-2-op-c-bm-yz-34-4-4-000'] + server-ltp: ['xy-15-3-2-tcp-c-yz-34-4-4-000'] + layer-protocol: + - local-id: '0' + layer-protocol-name: 'http-client-interface-1-0:LAYER_PROTOCOL_NAME_TYPE_HTTP_LAYER' + http-client-interface-1-0:http-client-interface-pac: + http-client-interface-configuration: + application-name: 'ApplicationName' + release-number: '15.3.2' + forwarding-domain: + type: array + minItems: 1 + maxItems: 1 + items: + type: object + required: + - uuid + - forwarding-construct + properties: + uuid: + type: string + forwarding-construct: + type: array + items: + type: object + required: + - uuid + - name + - fc-port + properties: + uuid: + type: string + name: + type: array + items: + type: object + required: + - value-name + - value + properties: + value-name: + type: string + value: + type: string + fc-port: + type: array + items: + type: object + required: + - local-id + - port-direction + - logical-termination-point + properties: + local-id: + type: string + port-direction: + type: string + enum: + - 'core-model-1-4:PORT_DIRECTION_TYPE_MANAGEMENT' + - 'core-model-1-4:PORT_DIRECTION_TYPE_INPUT' + - 'core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT' + logical-termination-point: + type: string + example: + - uuid: 'xy-15-3-2-op-fd-000' + forwarding-construct: + - uuid: 'xy-15-3-2-op-fc-bm-003' + name: + - value-name: 'ForwardingKind' + value: 'core-model-1-4:FORWARDING_KIND_TYPE_INVARIANT_PROCESS_SNIPPET' + - value-name: 'ForwardingName' + value: 'OamRequestCausesLoggingRequest' + fc-port: + - local-id: '000' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_MANAGEMENT' + logical-termination-point: 'xy-15-3-2-op-s-bm-003' + - local-id: '200' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT' + logical-termination-point: 'xy-15-3-2-op-c-bs-yz-34-3-3-000' + - uuid: 'xy-15-3-2-op-fc-bm-004' + name: + - value-name: 'ForwardingKind' + value: 'core-model-1-4:FORWARDING_KIND_TYPE_INVARIANT_PROCESS_SNIPPET' + - value-name: 'ForwardingName' + value: 'BasicAuthRequestCausesInquiryForAuthentication' + fc-port: + - local-id: '000' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_MANAGEMENT' + logical-termination-point: 'xy-15-3-2-op-s-bm-005' + - local-id: '200' + port-direction: 'core-model-1-4:PORT_DIRECTION_TYPE_OUTPUT' + logical-termination-point: 'xy-15-3-2-op-c-bs-yz-34-3-3-000' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/profile-collection/profile={uuid}: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([a-z]+)-p-([0-9,a-f]{3})$' + example: 'xy-15-3-2-action-p-000' + get: + operationId: getProfileInstance + summary: 'Returns entire instance of Profile' + tags: + - Core + security: + - basicAuth: [] + responses: + '200': + description: 'Instance of Profile provided' + content: + application/json: + schema: + type: object + required: + - core-model-1-4:profile + properties: + core-model-1-4:profile: + oneOf: + - description: 'action profile' + type: object + required: + - uuid + - profile-name + - action-profile-1-0:action-profile-pac + additionalProperties: false + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + action-profile-1-0:action-profile-pac: + type: object + required: + - action-profile-capability + - action-profile-configuration + properties: + action-profile-capability: + type: object + required: + - operation-name + - label + - display-in-new-browser-window + properties: + operation-name: + type: string + label: + type: string + input-value-list: + type: array + items: + type: object + required: + - field-name + properties: + field-name: + type: string + unit: + type: string + display-in-new-browser-window: + type: boolean + action-profile-configuration: + type: object + required: + - consequent-operation-reference + properties: + consequent-operation-reference: + type: string + - description: 'generic response profile' + type: object + required: + - uuid + - profile-name + - response-profile-1-0:response-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + response-profile-1-0:response-profile-pac: + type: object + required: + - response-profile-capability + - response-profile-configuration + properties: + response-profile-capability: + type: object + required: + - operation-name + - field-name + - datatype + properties: + operation-name: + type: string + field-name: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-field-name: + type: string + field-name-reference: + type: string + description: + type: string + datatype: + type: string + response-profile-configuration: + type: object + required: + - value + properties: + value: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-value: + type: string + value-reference: + type: string + - description: 'file profile' + type: object + required: + - uuid + - profile-name + - file-profile-1-0:file-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + file-profile-1-0:file-profile-pac: + type: object + required: + - file-profile-capability + - file-profile-configuration + properties: + file-profile-capability: + type: object + required: + - file-identifier + - file-description + properties: + file-identifier: + type: string + file-description: + type: string + file-profile-configuration: + type: object + required: + - file-name + properties: + file-name: + type: string + operation: + type: string + enum: + - 'file-profile-1-0:OPERATION_TYPE_READ_ONLY' + - 'file-profile-1-0:OPERATION_TYPE_READ_WRITE' + - 'file-profile-1-0:OPERATION_TYPE_OFF' + - 'file-profile-1-0:OPERATION_TYPE_NOT_YET_DEFINED' + - description: 'integer profile' + type: object + required: + - uuid + - profile-name + - integer-profile-1-0:integer-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + integer-profile-1-0:integer-profile-pac: + type: object + required: + - integer-profile-capability + - integer-profile-configuration + properties: + integer-profile-capability: + type: object + required: + - integer-name + properties: + integer-name: + type: string + purpose: + type: string + unit: + type: string + minimum: + type: integer + maximum: + type: integer + integer-profile-configuration: + type: object + required: + - integer-value + properties: + integer-value: + type: integer + - description: 'string profile' + type: object + required: + - uuid + - profile-name + - string-profile-1-0:string-profile-pac + properties: + uuid: + type: string + profile-name: + type: string + enum: + - 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + - 'response-profile-1-0:PROFILE_NAME_TYPE_GENERIC_RESPONSE_PROFILE' + - 'file-profile-1-0:PROFILE_NAME_TYPE_FILE_PROFILE' + - 'integer-profile-1-0:PROFILE_NAME_TYPE_INTEGER_PROFILE' + - 'string-profile-1-0:PROFILE_NAME_TYPE_STRING_PROFILE' + string-profile-1-0:string-profile-pac: + type: object + required: + - string-profile-capability + - string-profile-configuration + properties: + string-profile-capability: + type: object + required: + - string-name + properties: + string-name: + type: string + enumeration: + type: array + items: + type: string + pattern: + type: string + string-profile-configuration: + type: object + required: + - string-value + properties: + string-value: + type: string + example: + core-model-1-4:profile: + uuid: 'xy-15-3-2-action-p-000' + profile-name: 'action-profile-1-0:PROFILE_NAME_TYPE_ACTION_PROFILE' + action-profile-1-0:action-profile-pac: + action-profile-capability: + operation-name: '/v1/start-application-in-generic-representation' + label: 'Inform about Application' + input-value-list: + - field-name: 'Label of input field' + unit: 'Unit at input field' + display-in-new-browser-window: false + action-profile-configuration: + consequent-operation-reference: '/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + +######################################################################################################################## +# OAM Layer - Basic Part +######################################################################################################################## + /core-model-1-4:control-construct/profile-collection/profile={uuid}/action-profile-1-0:action-profile-pac/action-profile-capability/operation-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-action-p-([0-9]{3})$' + example: 'xy-15-3-2-action-p-000' + get: + operationId: getActionProfileOperationName + summary: 'Returns the name of the Operation' + tags: + - ActionProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Operation name provided' + content: + application/json: + schema: + type: object + required: + - action-profile-1-0:operation-name + properties: + action-profile-1-0:operation-name: + type: string + example: '/v1/start-application-in-generic-representation' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/action-profile-1-0:action-profile-pac/action-profile-capability/label: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-action-p-([0-9]{3})$' + example: 'xy-15-3-2-action-p-000' + get: + operationId: getActionProfileLabel + summary: 'Returns the Label of the Action' + tags: + - ActionProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Label provided' + content: + application/json: + schema: + type: object + required: + - action-profile-1-0:label + properties: + action-profile-1-0:label: + type: string + example: 'Inform about Application' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/action-profile-1-0:action-profile-pac/action-profile-capability/input-value-list: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-action-p-([0-9]{3})$' + example: 'xy-15-3-2-action-p-000' + get: + operationId: getActionProfileInputValueListt + summary: 'Returns the list of input values' + tags: + - ActionProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Input values provided' + content: + application/json: + schema: + type: object + required: + - action-profile-1-0:input-value-list + properties: + action-profile-1-0:input-value-list: + type: array + uniqueItems: true + items: + type: object + required: + - field-name + properties: + field-name: + type: string + example: 'Label of input field' + unit: + type: string + example: 'Unit at input field' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/action-profile-1-0:action-profile-pac/action-profile-capability/display-in-new-browser-window: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-action-p-([0-9]{3})$' + example: 'xy-15-3-2-action-p-000' + get: + operationId: getActionProfileDisplayInNewBrowserWindow + summary: 'Returns whether to be presented in new browser window' + tags: + - ActionProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Whether to be presented in new browser window provided' + content: + application/json: + schema: + type: object + required: + - action-profile-1-0:display-in-new-browser-window + properties: + action-profile-1-0:display-in-new-browser-window: + type: boolean + example: false + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/action-profile-1-0:action-profile-pac/action-profile-configuration/consequent-operation-reference: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-action-p-([0-9]{3})$' + example: 'xy-15-3-2-action-p-000' + get: + operationId: getActionProfileConsequentOperationReference + summary: 'Returns the reference on the consequent operation' + tags: + - ActionProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Reference on the consequent operation provided' + content: + application/json: + schema: + type: object + required: + - action-profile-1-0:consequent-operation-reference + properties: + action-profile-1-0:consequent-operation-reference: + type: string + example: '/core-model-1-4:control-construct/logical-termination-point=xy-15-3-2-op-s-bs-002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putActionProfileConsequentOperationReference + summary: 'Configures the reference on the consequent operation' + tags: + - ActionProfile + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - action-profile-1-0:consequent-operation-reference + properties: + action-profile-1-0:consequent-operation-reference: + type: string + example: '/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-bs-002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name' + responses: + '204': + description: 'Reference on the consequent operation configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/profile-collection/profile={uuid}/response-profile-1-0:response-profile-pac/response-profile-capability/operation-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-response-p-([0-9]{3})$' + example: 'xy-15-3-2-response-p-000' + get: + operationId: getGenericResponseProfileOperationName + summary: 'Returns the name of the Operation' + tags: + - GenericResponseProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Operation name provided' + content: + application/json: + schema: + type: object + required: + - response-profile-1-0:operation-name + properties: + response-profile-1-0:operation-name: + type: string + example: '/v1/start-application-in-generic-representation' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/response-profile-1-0:response-profile-pac/response-profile-capability/field-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-response-p-([0-9]{3})$' + example: 'xy-15-3-2-response-p-000' + get: + operationId: getGenericResponseProfileFieldName + summary: 'Returns the name of the Field' + tags: + - GenericResponseProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Field name provided' + content: + application/json: + schema: + type: object + required: + - response-profile-1-0:field-name + properties: + response-profile-1-0:field-name: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-field-name: + type: string + field-name-reference: + type: string + example: + response-profile-1-0:field-name: + static-field-name: 'applicationName' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/response-profile-1-0:response-profile-pac/response-profile-capability/description: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-response-p-([0-9]{3})$' + example: 'xy-15-3-2-response-p-000' + get: + operationId: getGenericResponseProfileDescription + summary: 'Returns the Description of the Field' + tags: + - GenericResponseProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Description of the field provided' + content: + application/json: + schema: + type: object + required: + - response-profile-1-0:description + properties: + response-profile-1-0:description: + type: string + example: 'Name of this application' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/response-profile-1-0:response-profile-pac/response-profile-capability/datatype: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-response-p-([0-9]{3})$' + example: 'xy-15-3-2-response-p-000' + get: + operationId: getGenericResponseProfileDatatype + summary: 'Returns the Datatype of the Field' + tags: + - GenericResponseProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Datatype of the field provided' + content: + application/json: + schema: + type: object + required: + - response-profile-1-0:datatype + properties: + response-profile-1-0:datatype: + type: string + example: 'string' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/response-profile-1-0:response-profile-pac/response-profile-configuration/value: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-response-p-([0-9]{3})$' + example: 'xy-15-3-2-response-p-000' + get: + operationId: getGenericResponseProfileValue + summary: 'Returns the Value of the Field' + tags: + - GenericResponseProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Value of the field provided' + content: + application/json: + schema: + type: object + required: + - response-profile-1-0:value + properties: + response-profile-1-0:value: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-value: + type: string + value-reference: + type: string + example: + response-profile-1-0:value: + value-reference: '/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putGenericResponseProfileValue + summary: 'Configures the Value of the Field' + tags: + - GenericResponseProfile + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - response-profile-1-0:value + properties: + response-profile-1-0:value: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + static-value: + type: string + value-reference: + type: string + example: + response-profile-1-0:value: + value-reference: '/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-s-000/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name' + responses: + '204': + description: 'Request path configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/profile-collection/profile={uuid}/integer-profile-1-0:integer-profile-pac/integer-profile-capability/integer-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-integer-p-([0-9]{3})$' + example: 'xy-15-3-2-integer-p-000' + get: + operationId: getIntegerProfileIntegerName + summary: 'Returns the name of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Integer name provided' + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:integer-name + properties: + integer-profile-1-0:integer-name: + type: string + example: 'maximumNumberOfEntries' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/integer-profile-1-0:integer-profile-pac/integer-profile-capability/purpose: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-integer-p-([0-9]{3})$' + example: 'yz-34-4-4-integer-p-000' + get: + operationId: getIntegerProfilePurpose + summary: 'Returns the purpose of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Integer purpose provided' + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:purpose + properties: + integer-profile-1-0:purpose: + type: string + example: 'Limiting the number of entries for controlling the storage consumption and access response time' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/integer-profile-1-0:integer-profile-pac/integer-profile-capability/unit: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-integer-p-([0-9]{3})$' + example: 'xy-15-3-2-integer-p-000' + get: + operationId: getIntegerProfileUnit + summary: 'Returns the unit of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Integer unit provided' + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:unit + properties: + integer-profile-1-0:unit: + type: string + example: 'records' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/integer-profile-1-0:integer-profile-pac/integer-profile-capability/minimum: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-integer-p-([0-9]{3})$' + example: 'xy-15-3-2-integer-p-000' + get: + operationId: getIntegerProfileMinimum + summary: 'Returns the minimum value of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Minimum value provided' + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:minimum + properties: + integer-profile-1-0:minimum: + type: integer + example: 0 + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/integer-profile-1-0:integer-profile-pac/integer-profile-capability/maximum: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-integer-p-([0-9]{3})$' + example: 'xy-15-3-2-integer-p-000' + get: + operationId: getIntegerProfileMaximum + summary: 'Returns the maximum value of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Maximum value provided' + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:maximum + properties: + integer-profile-1-0:maximum: + type: integer + example: 1000000 + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/profile-collection/profile={uuid}/integer-profile-1-0:integer-profile-pac/integer-profile-configuration/integer-value: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-integer-p-([0-9]{3})$' + example: 'xy-15-3-2-integer-p-000' + get: + operationId: getIntegerProfileIntegerValue + summary: 'Returns the configured value of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + responses: + '200': + description: 'Integer value provided' + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:integer-value + properties: + integer-profile-1-0:integer-value: + type: integer + example: 1000000 + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putIntegerProfileIntegerValue + summary: 'Configures value of the Integer' + tags: + - IntegerProfile + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - integer-profile-1-0:integer-value + properties: + integer-profile-1-0:integer-value: + type: integer + description: 'Value must be between /integer-profile-capability/minimum and /integer-profile-capability/maximum to be accepted, if those attributes are available in the Capability section' + example: 1000000 + responses: + '204': + description: 'Integer value configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-capability/operation-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-s(-(get|put|post|del|pat))?-([bi][ms])-([0-9]{3})$' + example: 'xy-15-3-2-op-s-bm-000' + get: + operationId: getOperationServerOperationName + summary: 'Returns operation name' + tags: + - OperationServer + security: + - basicAuth: [] + responses: + '200': + description: 'Operation name provided' + content: + application/json: + schema: + type: object + required: + - operation-server-interface-1-0:operation-name + properties: + operation-server-interface-1-0:operation-name: + type: string + example: '/v1/register-yourself' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-s(-(get|put|post|del|pat))?-([bi][ms])-([0-9]{3})$' + example: 'xy-15-3-2-op-s-bm-000' + get: + operationId: getOperationServerLifeCycleState + summary: 'Returns the configured life cycle state of the operation' + tags: + - OperationServer + security: + - basicAuth: [] + responses: + '200': + description: 'Life cycle state provided' + content: + application/json: + schema: + type: object + required: + - operation-server-interface-1-0:life-cycle-state + properties: + operation-server-interface-1-0:life-cycle-state: + type: string + enum: + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + example: 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putOperationServerLifeCycleState + summary: 'Configures life cycle state' + tags: + - OperationServer + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - operation-server-interface-1-0:life-cycle-state + properties: + operation-server-interface-1-0:life-cycle-state: + type: string + enum: + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + example: 'operation-server-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + responses: + '204': + description: 'Life cycle state configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/operation-key: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-s(-(get|put|post|del|pat))?-([bi][ms])-([0-9]{3})$' + example: 'xy-15-3-2-op-s-bm-000' + get: + operationId: getOperationServerOperationKey + summary: 'Returns key for connecting' + tags: + - OperationServer + security: + - basicAuth: [] + responses: + '200': + description: 'Operation key provided' + content: + application/json: + schema: + type: object + required: + - operation-server-interface-1-0:operation-key + properties: + operation-server-interface-1-0:operation-key: + type: string + example: 'Operation key not yet provided.' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putOperationServerOperationKey + summary: 'Changes key for connecting' + tags: + - OperationServer + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - operation-server-interface-1-0:operation-key + properties: + operation-server-interface-1-0:operation-key: + type: string + minLength: 5 + example: 'Operation key not yet provided.' + responses: + '204': + description: 'Operation key changed' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerApplicationName + summary: 'Returns application name' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Application name provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:application-name + properties: + http-server-interface-1-0:application-name: + type: string + example: 'ApplicationName' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-number: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerReleaseNumber + summary: 'Returns release number' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Release number provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:release-number + properties: + http-server-interface-1-0:release-number: + type: string + example: '34.5.2' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/application-purpose: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerApplicationPurpose + summary: 'Returns application purpose' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Application purpose provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:application-purpose + properties: + http-server-interface-1-0:application-purpose: + type: string + example: 'Brief description of the purpose of the application.' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/data-update-period: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerDataUpdatePeriode + summary: 'Returns update period' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Update period provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:data-update-period + properties: + http-server-interface-1-0:data-update-period: + type: string + enum: + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_REAL_TIME' + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_1H_PERIOD' + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_24H_PERIOD' + - 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_MANUAL' + example: 'http-server-interface-1-0:DATA_UPDATE_PERIOD_TYPE_REAL_TIME' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/owner-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerOwnerName + summary: 'Returns owner name' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Owner name provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:owner-name + properties: + http-server-interface-1-0:owner-name: + type: string + example: 'Thorsten Heinze' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/owner-email-address: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerOwnerEmailAddress + summary: 'Returns owner email address' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Email address of owner provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:owner-email-address + properties: + http-server-interface-1-0:owner-email-address: + type: string + example: 'Thorsten.Heinze@telefonica.com' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-server-interface-1-0:http-server-interface-pac/http-server-interface-capability/release-list: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-s-000' + example: 'xy-15-3-2-http-s-000' + get: + operationId: getHttpServerReleaseList + summary: 'Returns list of releases' + tags: + - HttpServer + security: + - basicAuth: [] + responses: + '200': + description: 'List of releases provided' + content: + application/json: + schema: + type: object + required: + - http-server-interface-1-0:release-list + properties: + http-server-interface-1-0:release-list: + type: array + uniqueItems: true + items: + type: object + required: + - local-id + - release-number + - release-date + - changes + properties: + local-id: + type: string + release-number: + type: string + release-date: + type: string + changes: + type: string + example: + - local-id: 0 + release-number: '23.2.2' + release-date: '20.11.2010' + changes: 'Initial version.' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/description: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-s-000$' + example: 'xy-15-3-2-tcp-s-000' + get: + operationId: getTcpServerDescription + summary: 'Returns Description of TcpServer' + tags: + - TcpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Description provided' + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:description + properties: + tcp-server-interface-1-0:description: + type: string + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpServerDescription + summary: 'Documents Description of TcpServer' + tags: + - TcpServer + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:description + properties: + tcp-server-interface-1-0:description: + type: string + responses: + '204': + description: 'Description documented' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-protocol: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-s-000$' + example: 'xy-15-3-2-tcp-s-000' + get: + operationId: getTcpServerLocalProtocol + summary: 'Returns Protocol of TcpServer' + tags: + - TcpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Local protocol provided' + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:local-protocol + properties: + tcp-server-interface-1-0:local-protocol: + type: string + enum: + - 'tcp-server-interface-1-0:PROTOCOL_TYPE_HTTP' + - 'tcp-server-interface-1-0:PROTOCOL_TYPE_HTTPS' + - 'tcp-server-interface-1-0:PROTOCOL_TYPE_NOT_YET_DEFINED' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpServerLocalProtocol + summary: 'Documents Protocol of TcpServer' + tags: + - TcpServer + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:local-protocol + properties: + tcp-server-interface-1-0:local-protocol: + type: string + enum: + - 'tcp-server-interface-1-0:PROTOCOL_TYPE_HTTP' + - 'tcp-server-interface-1-0:PROTOCOL_TYPE_HTTPS' + - 'tcp-server-interface-1-0:PROTOCOL_TYPE_NOT_YET_DEFINED' + responses: + '204': + description: 'Local protocol documented' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-s-000$' + example: 'xy-15-3-2-tcp-s-000' + get: + operationId: getTcpServerLocalAddress + summary: 'Returns address of the server' + tags: + - TcpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Local address provided' + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:local-address + properties: + tcp-server-interface-1-0:local-address: + type: object + properties: + ipv-4-address: + type: string + domain-name: + type: string + example: + tcp-server-interface-1-0:local-address: + ipv-4-address: '1.1.4.1' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpServerLocalAddress + summary: 'Documents address of the server' + tags: + - TcpServer + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:local-address + properties: + tcp-server-interface-1-0:local-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + example: + tcp-server-interface-1-0:local-address: + ipv-4-address: '1.1.4.1' + responses: + '204': + description: 'Local IPv4 address documented' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-s-000$' + example: 'xy-15-3-2-tcp-s-000' + get: + operationId: getTcpServerLocalPort + summary: 'Returns TCP port of the server' + tags: + - TcpServer + security: + - basicAuth: [] + responses: + '200': + description: 'Local port provided' + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:local-port + properties: + tcp-server-interface-1-0:local-port: + type: integer + example: 1000 + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpServerLocalPort + summary: 'Documents TCP port of the server' + tags: + - TcpServer + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-server-interface-1-0:local-port + properties: + tcp-server-interface-1-0:local-port: + type: integer + minimum: 0 + maximum: 65535 + example: 1000 + responses: + '204': + description: 'Local port documented' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-c-([bi][ms])-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'xy-15-3-2-op-c-bm-or-1-0-1-000' + get: + operationId: getOperationClientOperationName + summary: 'Returns operation name' + tags: + - OperationClient + security: + - basicAuth: [] + responses: + '200': + description: 'Operation name provided' + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:operation-name + properties: + operation-client-interface-1-0:operation-name: + type: string + example: '/v1/bequeath-your-data-and-die' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putOperationClientOperationName + summary: 'Configures operation name' + tags: + - OperationClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:operation-name + properties: + operation-client-interface-1-0:operation-name: + type: string + minLength: 6 + example: '/v1/bequeath-your-data-and-die' + responses: + '204': + description: 'Operation name configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-key: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-c-([bi][ms])-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'xy-15-3-2-op-c-bm-or-1-0-1-000' + get: + operationId: getOperationClientOperationKey + summary: 'Returns key used for connecting to server.' + tags: + - OperationClient + security: + - basicAuth: [] + responses: + '200': + description: 'Operation key provided' + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:operation-key + properties: + operation-client-interface-1-0:operation-key: + type: string + example: 'Operation key not yet provided.' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putOperationClientOperationKey + summary: 'Configures key used for connecting to server.' + tags: + - OperationClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:operation-key + properties: + operation-client-interface-1-0:operation-key: + type: string + minLength: 5 + example: 'Operation key not yet provided.' + responses: + '204': + description: 'Operation key configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-status/operational-state: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-c-([bi][ms])-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'xy-15-3-2-op-c-bm-or-1-0-1-000' + get: + operationId: getOperationClientOperationalState + summary: 'Returns operational state of the operation' + tags: + - OperationClient + security: + - basicAuth: [] + responses: + '200': + description: 'Operational state provided' + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:operational-state + properties: + operation-client-interface-1-0:operational-state: + type: string + enum: + - 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_AVAILABLE' + - 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_UNAVAILABLE' + - 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + example: 'operation-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-status/life-cycle-state: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-c-([bi][ms])-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'xy-15-3-2-op-c-bm-or-1-0-1-000' + get: + operationId: getOperationClientLifeCycleState + summary: 'Returns life cycle state of the operation' + tags: + - OperationClient + security: + - basicAuth: [] + responses: + '200': + description: 'Life cycle state provided' + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:life-cycle-state + properties: + operation-client-interface-1-0:life-cycle-state: + type: string + enum: + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + example: 'operation-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/detailed-logging-is-on: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-op-c-bs-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'xy-15-3-2-op-c-bs-yz-34-4-3-000' + get: + operationId: getOperationClientDetailedLoggingIsOn + summary: 'Returns detailed logging configuration.' + tags: + - OperationClient + security: + - basicAuth: [] + responses: + '200': + description: 'Detailed logging configuration provided' + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:detailed-logging-is-on + properties: + operation-client-interface-1-0:detailed-logging-is-on: + type: boolean + example: false + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putOperationClientDetailedLoggingIsOn + summary: 'Configures detailed logging on/off.' + tags: + - OperationClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - operation-client-interface-1-0:detailed-logging-is-on + properties: + operation-client-interface-1-0:detailed-logging-is-on: + type: boolean + example: false + responses: + '204': + description: 'Operation key configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac/elasticsearch-client-interface-configuration/auth/api-key: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-es-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'yz-34-3-3-es-c-es-1-0-0-000' + get: + operationId: getElasticsearchClientApiKey + summary: 'Returns API key' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + responses: + '200': + description: 'API key provided' + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:api-key + properties: + elasticsearch-client-interface-1-0:api-key: + type: string + example: 'YWRtaW46MTIzNDU2' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putElasticsearchClientApiKey + summary: 'Configures API key' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:api-key + properties: + elasticsearch-client-interface-1-0:api-key: + type: string + responses: + '204': + description: 'API key configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac/elasticsearch-client-interface-configuration/index-alias: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-es-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'yz-34-3-3-es-c-es-1-0-0-000' + get: + operationId: getElasticsearchClientIndexAlias + summary: 'Returns index alias' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + responses: + '200': + description: 'Index alias provided' + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:index-alias + properties: + elasticsearch-client-interface-1-0:index-alias: + type: string + example: 'eatl_service_records' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putElasticsearchClientIndexAlias + summary: 'Configures index alias' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:index-alias + properties: + elasticsearch-client-interface-1-0:index-alias: + type: string + responses: + '204': + description: 'Index alias configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac/elasticsearch-client-interface-configuration/service-records-policy: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-es-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'yz-34-3-3-es-c-es-1-0-0-000' + get: + operationId: getElasticsearchClientServiceRecordsPolicy + summary: 'Returns service records policy' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + responses: + '200': + description: 'Service records policy provided' + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:service-records-policy + properties: + elasticsearch-client-interface-1-0:service-records-policy: + type: object + required: + - service-records-policy-name + - phases + properties: + service-records-policy-name: + type: string + description: + type: string + project: + type: object + properties: + name: + type: string + department: + type: string + phases: + type: object + properties: + hot: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + forcemerge: + type: object + required: + - max-num-segments + properties: + max-num-segments: + type: integer + index-codec: + type: string + readonly: + type: object + rollover: + type: object + minProperties: 1 + additionalProperties: false + properties: + max-age: + type: string + max-docs: + type: integer + max-size: + type: string + max-primary-shard-size: + type: string + max-primary-shard-docs: + type: integer + min-age: + type: string + min-docs: + type: integer + min-size: + type: string + min-primary-shard-size: + type: string + min-primary-shard-docs: + type: integer + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + shrink: + type: object + properties: + number-of-shards: + type: integer + max-primary-shard-size: + type: string + unfollow: + type: object + warm: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + allocate: + type: object + minProperties: 1 + additionalProperties: false + properties: + number-of-replicas: + type: integer + total-shards-per-node: + type: integer + include: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + exclude: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + require: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + storage: + type: string + enum: + - 'high' + forcemerge: + type: object + required: + - max-num-segments + properties: + max-num-segments: + type: integer + index-codec: + type: string + migrate: + type: object + properties: + enabled: + type: boolean + readonly: + type: object + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + shrink: + type: object + properties: + number-of-shards: + type: integer + max-primary-shard-size: + type: string + unfollow: + type: object + cold: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + allocate: + type: object + minProperties: 1 + additionalProperties: false + properties: + number-of-replicas: + type: integer + total-shards-per-node: + type: integer + include: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + exclude: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + require: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + storage: + type: string + enum: + - 'high' + migrate: + type: object + properties: + enabled: + type: boolean + readonly: + type: object + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + unfollow: + type: object + frozen: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + unfollow: + type: object + delete: + type: object + properties: + min-age: + type: string + actions: + type: object + required: + - delete + properties: + delete: + type: object + properties: + delete-searchable-snapshot: + type: boolean + wait-for-snapshot: + type: object + required: + - policy + properties: + policy: + type: string + example: + elasticsearch-client-interface-1-0:service-records-policy: + service-records-policy-name: 'eatl_service_records_policy' + phases: + hot: + min-age: '30s' + actions: + rollover: + max-age: '5d' + delete: + min-age: '5d' + actions: + delete: + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putElasticsearchClientServiceRecordsPolicy + summary: 'Configures service records policy' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:service-records-policy + properties: + elasticsearch-client-interface-1-0:service-records-policy: + type: object + required: + - service-records-policy-name + - phases + properties: + service-records-policy-name: + type: string + description: + type: string + project: + type: object + properties: + name: + type: string + department: + type: string + phases: + type: object + properties: + hot: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + forcemerge: + type: object + required: + - max-num-segments + properties: + max-num-segments: + type: integer + index-codec: + type: string + readonly: + type: object + rollover: + type: object + minProperties: 1 + additionalProperties: false + properties: + max-age: + type: string + max-docs: + type: integer + max-size: + type: string + max-primary-shard-size: + type: string + max-primary-shard-docs: + type: integer + min-age: + type: string + min-docs: + type: integer + min-size: + type: string + min-primary-shard-size: + type: string + min-primary-shard-docs: + type: integer + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + shrink: + type: object + properties: + number-of-shards: + type: integer + max-primary-shard-size: + type: string + unfollow: + type: object + warm: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + allocate: + type: object + minProperties: 1 + additionalProperties: false + properties: + number-of-replicas: + type: integer + total-shards-per-node: + type: integer + include: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + exclude: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + require: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + storage: + type: string + enum: + - 'high' + forcemerge: + type: object + required: + - max-num-segments + properties: + max-num-segments: + type: integer + index-codec: + type: string + migrate: + type: object + properties: + enabled: + type: boolean + readonly: + type: object + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + shrink: + type: object + properties: + number-of-shards: + type: integer + max-primary-shard-size: + type: string + unfollow: + type: object + cold: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + allocate: + type: object + minProperties: 1 + additionalProperties: false + properties: + number-of-replicas: + type: integer + total-shards-per-node: + type: integer + include: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + exclude: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + require: + type: object + properties: + box-type: + type: string + enum: + - 'hot' + - 'warm' + - 'cold' + - 'frozen' + - 'delete' + storage: + type: string + enum: + - 'high' + migrate: + type: object + properties: + enabled: + type: boolean + readonly: + type: object + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + set-priority: + type: object + required: + - priority + properties: + priority: + type: integer + unfollow: + type: object + frozen: + type: object + properties: + min-age: + type: string + actions: + type: object + properties: + searchable-snapshot: + type: object + required: + - snapshot-repository + properties: + snapshot-repository: + type: string + force-merge-index: + type: boolean + unfollow: + type: object + delete: + type: object + properties: + min-age: + type: string + actions: + type: object + required: + - delete + properties: + delete: + type: object + properties: + delete-searchable-snapshot: + type: boolean + wait-for-snapshot: + type: object + required: + - policy + properties: + policy: + type: string + example: + elasticsearch-client-interface-1-0:service-records-policy: + service-records-policy-name: 'eatl_service_records_policy' + phases: + hot: + min-age: '30s' + actions: + rollover: + max-age: '5d' + delete: + min-age: '5d' + actions: + delete: + delete-searchable-snapshot: true + responses: + '204': + description: 'Service records policy configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac/elasticsearch-client-interface-status/operational-state: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-es-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'yz-34-3-3-es-c-es-1-0-0-000' + get: + operationId: getElasticsearchClientOperationalState + summary: 'Returns operational state of the connection towards Elasticsearch' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + responses: + '200': + description: 'Operational state provided' + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:operational-state + properties: + elasticsearch-client-interface-1-0:operational-state: + type: string + enum: + - 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_AVAILABLE' + - 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_UNAVAILABLE' + - 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + example: 'elasticsearch-client-interface-1-0:OPERATIONAL_STATE_TYPE_NOT_YET_DEFINED' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac/elasticsearch-client-interface-status/life-cycle-state: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-es-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{3})$' + example: 'yz-34-3-3-es-c-es-1-0-0-000' + get: + operationId: getElasticsearchClientLifeCycleState + summary: 'Returns life cycle state of the connection towards Elasticsearch' + tags: + - ElasticsearchClient + security: + - basicAuth: [] + responses: + '200': + description: 'Life cycle state provided' + content: + application/json: + schema: + type: object + required: + - elasticsearch-client-interface-1-0:life-cycle-state + properties: + elasticsearch-client-interface-1-0:life-cycle-state: + type: string + enum: + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_EXPERIMENTAL' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OPERATIONAL' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_DEPRECATED' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_OBSOLETE' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_UNKNOWN' + - 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + example: 'elasticsearch-client-interface-1-0:LIFE_CYCLE_STATE_TYPE_NOT_YET_DEFINED' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-000$' + example: 'xy-15-3-2-http-c-or-1-0-1-000' + get: + operationId: getHttpClientApplicationName + summary: 'Returns name of application to be addressed' + tags: + - HttpClient + security: + - basicAuth: [] + responses: + '200': + description: 'Addressed application provided' + content: + application/json: + schema: + type: object + required: + - http-client-interface-1-0:application-name + properties: + http-client-interface-1-0:application-name: + type: string + example: 'OldRelease' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putHttpClientApplicationName + summary: 'Configures name of application to be addressed' + tags: + - HttpClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - http-client-interface-1-0:application-name + properties: + http-client-interface-1-0:application-name: + type: string + pattern: '^([A-Z][a-z0-9]+){2,}$' + example: 'NewApplication' + responses: + '204': + description: 'Name of addressed application configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-http-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-000$' + example: 'xy-15-3-2-http-c-or-1-0-1-000' + get: + operationId: getHttpClientReleaseNumber + summary: 'Returns release number of application to be addressed' + tags: + - HttpClient + security: + - basicAuth: [] + responses: + '200': + description: 'Release number provided' + content: + application/json: + schema: + type: object + required: + - http-client-interface-1-0:release-number + properties: + http-client-interface-1-0:release-number: + type: string + example: '34.2.3' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putHttpClientReleaseNumber + summary: 'Configures release number of application to be addressed' + tags: + - HttpClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - http-client-interface-1-0:release-number + properties: + http-client-interface-1-0:release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + example: '34.3.2' + responses: + '204': + description: 'Release number configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-000$' + example: 'xy-15-3-2-tcp-c-or-1-0-1-000' + get: + operationId: getTcpClientRemoteProtocol + summary: 'Returns protocol for addressing remote side' + tags: + - TcpClient + security: + - basicAuth: [] + responses: + '200': + description: 'Protocol for addressing remote side provided' + content: + application/json: + schema: + type: object + required: + - tcp-client-interface-1-0:remote-protocol + properties: + tcp-client-interface-1-0:remote-protocol: + type: string + enum: + - 'tcp-client-interface-1-0:PROTOCOL_TYPE_HTTP' + - 'tcp-client-interface-1-0:PROTOCOL_TYPE_HTTPS' + - 'tcp-client-interface-1-0:PROTOCOL_TYPE_NOT_YET_DEFINED' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpClientRemoteProtocol + summary: 'Configures protocol for addressing remote side' + tags: + - TcpClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-client-interface-1-0:remote-protocol + properties: + tcp-client-interface-1-0:remote-protocol: + type: string + enum: + - 'tcp-client-interface-1-0:PROTOCOL_TYPE_HTTP' + - 'tcp-client-interface-1-0:PROTOCOL_TYPE_HTTPS' + - 'tcp-client-interface-1-0:PROTOCOL_TYPE_NOT_YET_DEFINED' + responses: + '204': + description: 'Protocol for addressing remote side configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-000$' + example: 'xy-15-3-2-tcp-c-or-1-0-1-000' + get: + operationId: getTcpClientRemoteAddress + summary: 'Returns remote address' + tags: + - TcpClient + security: + - basicAuth: [] + responses: + '200': + description: 'Remote address provided' + content: + application/json: + schema: + type: object + required: + - tcp-client-interface-1-0:remote-address + properties: + tcp-client-interface-1-0:remote-address: + type: object + properties: + ip-address: + type: object + properties: + ipv-4-address: + type: string + domain-name: + type: string + example: + tcp-client-interface-1-0:remote-address: + ip-address: + ipv-4-address: '1.1.4.1' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpClientRemoteAddress + summary: 'Configures remote address' + tags: + - TcpClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-client-interface-1-0:remote-address + properties: + tcp-client-interface-1-0:remote-address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + example: + tcp-client-interface-1-0:remote-address: + ip-address: + ipv-4-address: '1.1.4.1' + responses: + '204': + description: 'Remote IPv4 address configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + /core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port: + parameters: + - in: path + name: uuid + required: true + schema: + type: string + pattern: '^([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-tcp-c-([a-z]{2,6})-([0-9]{1,2})-([0-9]{1,2})-([0-9]{1,2})-000$' + example: 'xy-15-3-2-tcp-c-or-1-0-1-000' + get: + operationId: getTcpClientRemotePort + summary: 'Returns target TCP port at server' + tags: + - TcpClient + security: + - basicAuth: [] + responses: + '200': + description: 'Remote port provided' + content: + application/json: + schema: + type: object + required: + - tcp-client-interface-1-0:remote-port + properties: + tcp-client-interface-1-0:remote-port: + type: integer + example: 1000 + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + put: + operationId: putTcpClientRemotePort + summary: 'Configures target TCP port at server' + tags: + - TcpClient + security: + - basicAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - tcp-client-interface-1-0:remote-port + properties: + tcp-client-interface-1-0:remote-port: + type: integer + minimum: 0 + maximum: 65535 + example: 1000 + responses: + '204': + description: 'Remote port configured' + '400': + $ref: '#/components/responses/responseForErroredOamRequests' + '401': + $ref: '#/components/responses/responseForErroredOamRequests' + '403': + $ref: '#/components/responses/responseForErroredOamRequests' + '404': + $ref: '#/components/responses/responseForErroredOamRequests' + '500': + $ref: '#/components/responses/responseForErroredOamRequests' + default: + $ref: '#/components/responses/responseForErroredOamRequests' + +######################################################################################################################## +# Common Components +######################################################################################################################## +components: + parameters: + user: + name: user + in: header + required: true + schema: + type: string + example: 'User Name' + description: 'User identifier from the system starting the service call' + originator: + name: originator + in: header + required: true + schema: + type: string + minLength: 3 + example: 'Resolver' + description: > + 'Identification for the system consuming the API, as defined in + [/core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + x-correlator: + name: x-correlator + in: header + required: true + schema: + type: string + pattern: '^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$' + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses' + trace-indicator: + name: trace-indicator + in: header + required: true + schema: + type: string + pattern: '^([0-9]+)(\.([0-9]+))*$' + example: '1.3.1' + description: 'Sequence of request numbers along the flow' + customer-journey: + name: customer-journey + in: header + required: true + schema: + type: string + example: 'Unknown value' + description: 'Holds information supporting customer’s journey to which the execution applies' + responses: + responseForErroredServiceRequests: + description: 'Response in case of errored service requests' + content: + application/json: + schema: + $ref: '#/components/schemas/errorDescription' + headers: + x-correlator: + schema: + type: string + pattern: '^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$' + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + responseForErroredOamRequests: + description: 'Response in case of errored OaM requests' + content: + application/json: + schema: + $ref: '#/components/schemas/errorDescription' + '429': + description: 'Response in case too many requests need to be executed in parallel or too many requests have been received within a time period. The maximum number of parallel requests is defined in an IntegerProfile with the service name as a prefix and MaxNumberOfParallelRequests as a suffix. Some time period to elapse for throttling incomming requests is defined in an IntegerProfile with the service name as a prefix and ThrottlingPeriod as a suffix' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 429 + maximum: 429 + format: int32 + message: + type: string + enum: + - 'Too many requests' + '460': + description: 'Response in case the mountName provided in the request is not found in the list of connected devices' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 460 + maximum: 460 + format: int32 + message: + type: string + enum: + - 'Not connected. Requested device is currently not in connected state at the controller' + '461': + description: 'Response in case the (parent) topology object provided in the request (body or path) is not found in the cache.' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 461 + maximum: 461 + format: int32 + message: + type: string + enum: + - 'Not available. The topology (parent) object is currently not found in the cache.' + '470': + description: 'Response in case the resource specified in the request does not exist within the connected device' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 470 + maximum: 470 + format: int32 + message: + type: string + enum: + - 'Resource not existing. Device informs about addressed resource unknown' + '471': + description: 'Response in case the (child) topology object specified in the request (body or path) does not exist within the cache.' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 471 + maximum: 471 + format: int32 + message: + type: string + enum: + - '(Child) topology object not existing. Cache informs about addressed resource unknown.' + '502': + description: 'Response in case the server is acting as a gateway or proxy and received an invalid response from the upstream server (device or application providing a consumed service)' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 502 + maximum: 502 + format: int32 + message: + type: string + enum: + - 'Bad Gateway' + '530': + description: 'Response in case the referenced resource exists (e.g. device connected and resource exists in internal datatree), but response data is either not available, lost during transmission, incomplete or corrupted' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 530 + maximum: 530 + format: int32 + message: + type: string + enum: + - 'Data invalid. Response data not available, incomplete or corrupted' + '531': + description: 'Response in case the server is acting as a gateway or proxy and was unable to authenticate at the upstream server (device or application providing a consumed service)' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 531 + maximum: 531 + format: int32 + message: + type: string + enum: + - 'Bad Gateway. Authentication at upstream server failed.' + '532': + description: 'Response in case the server is acting as a gateway or proxy and was unable to connect to the upstream server (device or application providing a consumed service)' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 532 + maximum: 532 + format: int32 + message: + type: string + enum: + - 'Bad Gateway. Upstream server not responding.' + '533': + description: 'Response in case the referenced resource for an connected device does not exist at the controller.' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 533 + maximum: 533 + format: int32 + message: + type: string + enum: + - 'Resource unknown. The resource for the connected device does not exist at the Controller.' + '550': + description: 'Response in case that the application wants to call a service specified by the requestor (e.g., to return data after a long taking data retrieval) during a service call to the application and the service information cannot be found.' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + minimum: 550 + maximum: 550 + format: int32 + message: + type: string + enum: + - 'Requestor information for callback execution not found.' + schemas: + errorDescription: + type: object + required: + - code + - message + properties: + code: + type: integer + format: int32 + message: + type: string + genericRepresentation: + type: object + required: + - response-value-list + - consequent-action-list + properties: + response-value-list: + type: array + items: + type: object + required: + - field-name + - value + - datatype + properties: + field-name: + type: string + description: > + 'Field name + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-response-p-*/response-profile-1-0:response-profile-pac/response-profile-capability/field-name]' + value: + type: string + description: > + 'Field value + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-response-p-*/response-profile-1-0:response-profile-pac/response-profile-configuration/value]' + datatype: + type: string + description: > + 'Field datatype + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-response-p-*/response-profile-1-0:response-profile-pac/response-profile-capability/datatype]' + consequent-action-list: + type: array + items: + type: object + required: + - label + - request + - display-in-new-browser-window + properties: + label: + type: string + description: > + 'Label that shall be presented on the button + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-action-p-*/action-profile-1-0:action-profile-pac/action-profile-capability/label]' + request: + type: string + description: > + 'Request that shall be called, when button gets pressed + from + [{/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-protocol}] + :// + [{/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address} + or + {/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/domain-name}] + : + [{/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-s-000/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port}] + [{/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-action-p-*/action-profile-1-0:action-profile-pac/action-profile-configuration/consequent-operation-reference}]' + input-value-list: + type: array + items: + type: object + required: + - field-name + properties: + field-name: + type: string + description: > + 'Name of an input value required for executing the Request + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-action-p-*/action-profile-1-0:action-profile-pac/action-profile-capability/input-value-list=*/name]' + unit: + type: string + description: > + 'Unit of an input value required for executing the Request + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-action-p-*/action-profile-1-0:action-profile-pac/action-profile-capability/input-value-list=*/unit]' + display-in-new-browser-window: + type: boolean + description: > + 'True in case Request shall be represented in a new browser window + from [/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-action-p-*/action-profile-1-0:action-profile-pac/action-profile-capability/display-in-new-browser-window]' + logicalTerminationPoint: + type: object + required: + - uuid + - ltp-direction + - client-ltp + - server-ltp + - layer-protocol + properties: + uuid: + type: string + ltp-direction: + type: string + client-ltp: + type: array + uniqueItems: true + items: + type: string + server-ltp: + type: array + uniqueItems: true + items: + type: string + layer-protocol: + type: array + minItems: 1 + maxItems: 1 + items: + oneOf: + - description: 'operation server' + type: object + required: + - local-id + - layer-protocol-name + - operation-server-interface-1-0:operation-server-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + operation-server-interface-1-0:operation-server-interface-pac: + type: object + required: + - operation-server-interface-capability + - operation-server-interface-configuration + properties: + operation-server-interface-capability: + type: object + required: + - operation-name + properties: + operation-name: + type: string + operation-server-interface-configuration: + type: object + required: + - life-cycle-state + properties: + life-cycle-state: + type: string + - description: 'http server' + type: object + required: + - local-id + - layer-protocol-name + - http-server-interface-1-0:http-server-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + http-server-interface-1-0:http-server-interface-pac: + type: object + required: + - http-server-interface-capability + properties: + http-server-interface-capability: + type: object + required: + - application-name + - release-number + - data-update-period + properties: + application-name: + type: string + release-number: + type: string + data-update-period: + type: string + - description: 'tcp server' + type: object + required: + - local-id + - layer-protocol-name + - tcp-server-interface-1-0:tcp-server-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + tcp-server-interface-1-0:tcp-server-interface-pac: + type: object + required: + - tcp-server-interface-configuration + properties: + tcp-server-interface-configuration: + type: object + required: + - description + - local-protocol + - local-address + - local-port + properties: + description: + type: string + local-protocol: + type: string + local-address: + type: object + properties: + ipv-4-address: + type: string + domain-name: + type: string + local-port: + type: integer + - description: 'operation client' + type: object + required: + - local-id + - layer-protocol-name + - operation-client-interface-1-0:operation-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + operation-client-interface-1-0:operation-client-interface-pac: + type: object + required: + - operation-client-interface-configuration + - operation-client-interface-status + properties: + operation-client-interface-configuration: + type: object + required: + - operation-name + properties: + operation-name: + type: string + operation-client-interface-status: + type: object + required: + - operational-state + - life-cycle-state + properties: + operational-state: + type: string + life-cycle-state: + type: string + - description: 'elasticsearch client' + type: object + required: + - local-id + - layer-protocol-name + - elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + elasticsearch-client-interface-1-0:elasticsearch-client-interface-pac: + type: object + required: + - elasticsearch-client-interface-configuration + - elasticsearch-client-interface-status + properties: + elasticsearch-client-interface-configuration: + type: object + required: + - index-alias + properties: + index-alias: + type: string + elasticsearch-client-interface-status: + type: object + required: + - operational-state + - life-cycle-state + properties: + operational-state: + type: string + life-cycle-state: + type: string + - description: 'http client' + type: object + required: + - local-id + - layer-protocol-name + - http-client-interface-1-0:http-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + http-client-interface-1-0:http-client-interface-pac: + type: object + required: + - http-client-interface-configuration + properties: + http-client-interface-configuration: + type: object + required: + - application-name + - release-number + properties: + application-name: + type: string + release-number: + type: string + - description: 'tcp client' + type: object + required: + - local-id + - layer-protocol-name + - tcp-client-interface-1-0:tcp-client-interface-pac + properties: + local-id: + type: string + layer-protocol-name: + type: string + tcp-client-interface-1-0:tcp-client-interface-pac: + type: object + required: + - tcp-client-interface-configuration + properties: + tcp-client-interface-configuration: + type: object + required: + - remote-protocol + - remote-address + - remote-port + properties: + remote-protocol: + type: string + remote-address: + type: object + properties: + ip-address: + type: object + properties: + ipv-4-address: + type: string + domain-name: + type: string + remote-port: + type: integer + forwardingDomain: + type: object + required: + - uuid + - forwarding-construct + properties: + uuid: + type: string + forwarding-construct: + type: array + items: + type: object + required: + - uuid + - name + - fc-port + properties: + uuid: + type: string + name: + type: array + items: + type: object + required: + - value-name + - value + properties: + value-name: + type: string + value: + type: string + fc-port: + type: array + items: + type: object + required: + - local-id + - port-direction + - logical-termination-point + properties: + local-id: + type: string + port-direction: + type: string + logical-termination-point: + type: string + securitySchemes: + apiKeyAuth: + type: apiKey + in: header + name: operation-key + basicAuth: + type: http + scheme: basic \ No newline at end of file diff --git a/spec/MediatorManager+forwardings.yaml b/spec/MediatorManager+forwardings.yaml index 712265b..9fabfbe 100644 --- a/spec/MediatorManager+forwardings.yaml +++ b/spec/MediatorManager+forwardings.yaml @@ -425,7 +425,7 @@ forwardings: - client-name: ApplicationLayerTopology://v1/delete-fc-port uuid: mm-1-0-0-op-c-bm-alt-2-1-2-005 - - forwarding-name: ProvideMediatorInstanceExportsListOfMediatorInstance + - forwarding-name: ProvideMediatorInstanceRetrievesListOfMediatorInstances uuid: mm-1-0-0-op-fc-is-001 forwarding-type: ProcessSnippet management-requests: @@ -465,11 +465,11 @@ forwardings: uuid: mm-1-0-0-op-s-is-003 consequent-requests: - client-name: MediatorInstanceManager://v1/provide-mediator-instance - uuid: mm-1-0-0-op-c-is-smim-1-0-0-001 + uuid: mm-1-0-0-op-c-im-smim-1-0-0-000 - client-name: MediatorInstanceManager://v1/provide-mediator-instance - uuid: mm-1-0-0-op-c-is-hmim-1-0-0-001 + uuid: mm-1-0-0-op-c-im-hmim-1-0-0-000 - client-name: MediatorInstanceManager://v1/provide-mediator-instance - uuid: mm-1-0-0-op-c-is-emim-1-0-0-001 + uuid: mm-1-0-0-op-c-im-emim-1-0-0-000 - forwarding-name: DismantleMediatorInstanceDeletesMediatorInstance uuid: mm-1-0-0-op-fc-is-003 @@ -488,13 +488,13 @@ forwardings: uuid: mm-1-0-0-op-s-is-003 consequent-requests: - client-name: MediatorInstanceManager://v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-c-is-smim-1-0-0-002 + uuid: mm-1-0-0-op-c-im-smim-1-0-0-001 - client-name: MediatorInstanceManager://v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-c-is-hmimxx-1-0-0-002 + uuid: mm-1-0-0-op-c-im-hmimxx-1-0-0-001 - client-name: MediatorInstanceManager://v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-c-is-emim-1-0-0-002 + uuid: mm-1-0-0-op-c-im-emim-1-0-0-001 - - forwarding-name: PromptForBequeathingRegardsMediatorVmToNewRelease + - forwarding-name: PromptForBequeathingRegardsMediatorInstanceManagerToNewRelease uuid: mm-1-0-0-op-fc-im-000 forwarding-type: InvariantProcessSnippet management-requests: diff --git a/spec/MediatorManager+services.yaml b/spec/MediatorManager+services.yaml index 0f0a71a..637787e 100644 --- a/spec/MediatorManager+services.yaml +++ b/spec/MediatorManager+services.yaml @@ -58,16 +58,22 @@ servers: uuid: mm-1-0-0-op-s-bs-005 operation-key: n.a. individual: - - operation-name: /v1/regard-mediator-instance-manager + - operation-name: /v1/create-mediator-vm-template uuid: mm-1-0-0-op-s-im-000 - - operation-name: /v1/disregard-mediator-instance-manager + - operation-name: /v1/delete-mediator-vm-template uuid: mm-1-0-0-op-s-im-001 - - operation-name: /v1/list-mediator-instance-managers + - operation-name: /v1/list-mediator-vm-templates uuid: mm-1-0-0-op-s-is-000 - - operation-name: /v1/provide-mediator-instance - uuid: mm-1-0-0-op-s-is-001 - - operation-name: /v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-s-is-002 + - operation-name: /v1/regard-mediator-instance-manager + uuid: mm-1-0-0-op-s-im-002 + - operation-name: /v1/disregard-mediator-instance-manager + uuid: mm-1-0-0-op-s-im-003 + - operation-name: /v1/list-mediator-instance-managers + uuid: mm-1-0-0-op-s-is-001 + - operation-name: /v1/create-mediator-instance + uuid: mm-1-0-0-op-s-is-002 + - operation-name: /v1/delete-mediator-instance + uuid: mm-1-0-0-op-s-is-003 http-server: own-application-name: MediatorManager @@ -121,7 +127,7 @@ clients: own-oam: basic: individual: - - operation-name: /v1/regard-mediator-vm + - operation-name: /v1/regard-mediator-instance-manager uuid: mm-1-0-0-op-c-im-nr-1-0-0-000 service: basic: @@ -258,9 +264,9 @@ clients: - operation-name: /v1/list-mediator-instances uuid: mm-1-0-0-op-c-is-emim-1-0-0-000 - operation-name: /v1/provide-mediator-instance - uuid: mm-1-0-0-op-c-is-emim-1-0-0-001 + uuid: mm-1-0-0-op-c-im-emim-1-0-0-000 - operation-name: /v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-c-is-emim-1-0-0-002 + uuid: mm-1-0-0-op-c-im-emim-1-0-0-001 - http-client: application-name: HuaweiMediatorInstanceManager @@ -281,9 +287,9 @@ clients: - operation-name: /v1/list-mediator-instances uuid: mm-1-0-0-op-c-is-hmim-1-0-0-000 - operation-name: /v1/provide-mediator-instance - uuid: mm-1-0-0-op-c-is-hmim-1-0-0-001 + uuid: mm-1-0-0-op-c-im-hmim-1-0-0-000 - operation-name: /v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-c-is-hmim-1-0-0-002 + uuid: mm-1-0-0-op-c-im-hmim-1-0-0-001 - http-client: application-name: SiaeMediatorInstanceManager @@ -304,6 +310,6 @@ clients: - operation-name: /v1/list-mediator-instances uuid: mm-1-0-0-op-c-is-smim-1-0-0-000 - operation-name: /v1/provide-mediator-instance - uuid: mm-1-0-0-op-c-is-smim-1-0-0-001 + uuid: mm-1-0-0-op-c-im-smim-1-0-0-000 - operation-name: /v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-c-is-smim-1-0-0-002 + uuid: mm-1-0-0-op-c-im-smim-1-0-0-001 diff --git a/spec/MediatorManager+servicesExt.yaml b/spec/MediatorManager+servicesExt.yaml deleted file mode 100644 index 036a1c4..0000000 --- a/spec/MediatorManager+servicesExt.yaml +++ /dev/null @@ -1,359 +0,0 @@ -servers: - - operation-servers: - own-oam: - basic: - - operation-name: /v1/register-yourself - uuid: mm-1-0-0-op-s-bm-000 - - operation-name: /v1/embed-yourself - uuid: mm-1-0-0-op-s-bm-001 - - operation-name: /v1/redirect-service-request-information - uuid: mm-1-0-0-op-s-bm-002 - - operation-name: /v1/redirect-oam-request-information - uuid: mm-1-0-0-op-s-bm-003 - - operation-name: /v1/end-subscription - uuid: mm-1-0-0-op-s-bm-004 - - operation-name: /v1/inquire-oam-request-approvals - uuid: mm-1-0-0-op-s-bm-005 - - operation-name: /v1/update-client - uuid: mm-1-0-0-op-s-bm-007 - - operation-name: /v1/list-ltps-and-fcs - uuid: mm-1-0-0-op-s-bm-008 - - operation-name: /v1/redirect-topology-change-information - uuid: mm-1-0-0-op-s-bm-009 - - operation-name: /v1/update-operation-key - uuid: mm-1-0-0-op-s-bm-010 - - operation-name: /v1/update-operation-client - uuid: mm-1-0-0-op-s-bm-011 - individual: - - operation-name: /v1/bequeath-your-data-and-die - uuid: mm-1-0-0-op-s-im-000 - service: - basic: - - operation-name: /v1/start-application-in-generic-representation - uuid: mm-1-0-0-op-s-bs-000 - - operation-name: /v1/inform-about-application - uuid: mm-1-0-0-op-s-bs-001 - - operation-name: /v1/inform-about-application-in-generic-representation - uuid: mm-1-0-0-op-s-bs-002 - - operation-name: /v1/inform-about-release-history - uuid: mm-1-0-0-op-s-bs-003 - - operation-name: /v1/inform-about-release-history-in-generic-representation - uuid: mm-1-0-0-op-s-bs-004 - - operation-name: /docs - uuid: mm-1-0-0-op-s-bs-005 - individual: - - operation-name: /v1/regard-mediator-instance-manager - uuid: mm-1-0-0-op-s-is-000 - input: - application-name # Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] + included to appData - release-number # release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number] - protocol # Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol] - address # ip-address/domain-name to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address] - port # Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port] - vendor-name # included to the appData - supported-device-kind # anyOf(MLTN,ML6600,ML6352,AGS20,AGS20L,ALCP2E,ALFO,RTN-950,RTN-905,RTN-380A) included to the appData - engineering-limits # included to the appData - output: - 204 : NoContent - 400 : BadRequest - 500 : InternalServerError - - operation-name: /v1/disregard-mediator-instance-manager - uuid: mm-1-0-0-op-s-is-001 - input: - application-name # Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, and delete [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and dependencies in the config + appData. - release-number # release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, and delete [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number] - output: - 204 : NoContent - 400 : BadRequest - 500 : InternalServerError - - operation-name: /v1/list-mediator-instance-managers - uuid: mm-1-0-0-op-s-is-002 - output: - 200 : OK - mediator-vm-name # Name of a MediatorInstanceManager application find in, but not at OldRelease or NewRelease [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] - mediator-release-number # release of a MediatorInstanceManager application find in, but not at OldRelease or NewRelease [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number] - protocol # Protocol to be used for addressing the MediatorInstanceManager find in [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol] - address # ip-address/domain-name to be used for addressing the MediatorInstanceManager find in [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address] - port # Protocol to be used for addressing the MediatorInstanceManager find in [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port] - vendor-name # from appData - supported-device-kind # anyOf(MLTN,ML6600,ML6352,AGS20,AGS20L,ALCP2E,ALFO,RTN-950,RTN-905,RTN-380A) from appData - engineering-limits # from appData - 400 : BadRequest - 500 : InternalServerError - - operation-name: /v1/provide-mediator-instance - uuid: mm-1-0-0-op-s-is-003 - input: - device-name - device-ip - vendor-name - device-model - output: - 200 : OK - mediator-instance-ip-address - mediator-instance-netconf-port - 507 : Insufficient Storage #[Query1]If engineering limits exceeds - 400 : BadRequest - 500 : InternalServerError - - operation-name: /v1/dismantle-mediator-instance - uuid: mm-1-0-0-op-s-is-004 - input: - mediator-instance-ip-address - device-name - output: - 204 : NoContent - 400 : BadRequest - 500 : InternalServerError - - http-server: - own-application-name: MediatorManager - own-release-number: 1.0.0 - uuid: mm-1-0-0-http-s-000 - tcp-server: - - description: Without TLS layer - local-protocol: http - own-ip-address: 1.1.4.6 - own-tcp-port: 4006 - uuid: mm-1-0-0-tcp-s-000 - - description: With TLS layer - local-protocol: https - own-ip-address: 1.2.4.6 - own-tcp-port: 4206 - uuid: mm-1-0-0-tcp-s-001 - - -clients: - - - http-client: - application-name: OldRelease - release-number: 1.0.0 - uuid: mm-1-0-0-http-c-or-1-0-0-000 - tcp-client: - remote-protocol: http - ip-address: - tcp-port: - uuid: mm-1-0-0-tcp-c-or-1-0-0-000 - operation-clients: - own-oam: - basic: - - operation-name: /v1/bequeath-your-data-and-die - uuid: mm-1-0-0-op-c-bm-or-1-0-0-000 - individual: - service: - basic: - individual: - - - http-client: - application-name: NewRelease - release-number: 1.0.0 - uuid: mm-1-0-0-http-c-nr-1-0-0-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.4.6 - tcp-port: 4006 - uuid: mm-1-0-0-tcp-c-nr-1-0-0-000 - operation-clients: - own-oam: - basic: - individual: - operation-name: /v1/create-mediator-kind - uuid: mm-1-0-0-op-s-is-000 - service: - basic: - individual: - - - http-client: - application-name: RegistryOffice - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-ro-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.8 - tcp-port: 3008 - uuid: mm-1-0-0-tcp-c-ro-2-0-1-000 - operation-clients: - own-oam: - basic: - - operation-name: /v1/register-application - uuid: mm-1-0-0-op-c-bm-ro-2-0-1-000 - - operation-name: /v1/relay-server-replacement - uuid: mm-1-0-0-op-c-bm-ro-2-0-1-001 - - operation-name: /v1/deregister-application - uuid: mm-1-0-0-op-c-bm-ro-2-0-1-002 - - operation-name: /v1/relay-operation-update - uuid: mm-1-0-0-op-c-bm-ro-2-0-1-003 - individual: - service: - basic: - individual: - - - http-client: - application-name: TypeApprovalRegister - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-tar-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.9 - tcp-port: 3009 - uuid: mm-1-0-0-tcp-c-tar-2-0-1-000 - operation-clients: - own-oam: - basic: - individual: - service: - basic: - individual: - - - http-client: - application-name: ExecutionAndTraceLog - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-eatl-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.10 - tcp-port: 3010 - uuid: mm-1-0-0-tcp-c-eatl-2-0-1-000 - operation-clients: - own-oam: - basic: - - operation-name: /v1/record-service-request - uuid: mm-1-0-0-op-c-bs-eatl-2-0-1-000 - individual: - service: - basic: - individual: - - - http-client: - application-name: OamLog - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-ol-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.11 - tcp-port: 3011 - uuid: mm-1-0-0-tcp-c-ol-2-0-1-000 - operation-clients: - own-oam: - basic: - - operation-name: /v1/record-oam-request - uuid: mm-1-0-0-op-c-bs-ol-2-0-1-000 - individual: - service: - basic: - individual: - - - http-client: - application-name: AdministratorAdministration - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-aa-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.12 - tcp-port: 3012 - uuid: mm-1-0-0-tcp-c-aa-2-0-1-000 - operation-clients: - own-oam: - basic: - - operation-name: /v1/approve-oam-request - uuid: mm-1-0-0-op-c-bs-aa-2-0-1-000 - individual: - service: - basic: - individual: - - - http-client: - application-name: ApplicationLayerTopology - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-alt-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.13 - tcp-port: 3013 - uuid: mm-1-0-0-tcp-c-alt-2-0-1-000 - operation-clients: - own-oam: - basic: - - operation-name: /v1/update-all-ltps-and-fcs - uuid: mm-1-0-0-op-c-bm-alt-2-0-1-000 - - operation-name: /v1/update-ltp - uuid: mm-1-0-0-op-c-bm-alt-2-0-1-001 - - operation-name: /v1/delete-ltp-and-dependents - uuid: mm-1-0-0-op-c-bm-alt-2-0-1-002 - - operation-name: /v1/update-fc - uuid: mm-1-0-0-op-c-bm-alt-2-0-1-003 - - operation-name: /v1/update-fc-port - uuid: mm-1-0-0-op-c-bm-alt-2-0-1-004 - - operation-name: /v1/delete-fc-port - uuid: mm-1-0-0-op-c-bm-alt-2-0-1-005 - individual: - service: - basic: - individual: - - - http-client: - application-name: OperationKeyManagement - release-number: 2.0.1 - uuid: mm-1-0-0-http-c-okm-2-0-1-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.3.14 - tcp-port: 3014 - uuid: mm-1-0-0-tcp-c-okm-2-0-1-000 - operation-clients: - own-oam: - basic: - individual: - service: - basic: - individual: - - - http-client: - application-name: EricssonMediatorInstanceManager - release-number: 1.0.0 - uuid: mm-1-0-0-http-c-emim-1-0-0-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.2.2 - tcp-port: 2002 - uuid: mm-1-0-0-tcp-c-emim-1-0-0-000 - operation-clients: - own-oam: - basic: - individual: - service: - basic: - individual: - - - http-client: - application-name: HuaweiMediatorInstanceManager - release-number: 1.0.0 - uuid: mm-1-0-0-http-c-hmim-1-0-0-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.2.3 - tcp-port: 2003 - uuid: mm-1-0-0-tcp-c-hmim-1-0-0-000 - operation-clients: - own-oam: - basic: - individual: - service: - basic: - individual: - - - http-client: - application-name: SiaeMediatorInstanceManager - release-number: 1.0.0 - uuid: mm-1-0-0-http-c-smim-1-0-0-000 - tcp-client: - remote-protocol: http - ip-address: 1.1.2.4 - tcp-port: 2004 - uuid: mm-1-0-0-tcp-c-smim-1-0-0-000 - operation-clients: - own-oam: - basic: - individual: - service: - basic: - individual: diff --git a/spec/MediatorManager.yaml b/spec/MediatorManager.yaml index cd331c2..a3a0a24 100644 --- a/spec/MediatorManager.yaml +++ b/spec/MediatorManager.yaml @@ -437,25 +437,16 @@ paths: default: $ref: '#/components/responses/responseForErroredServiceRequests' -# [Thorsten] Proposed additional service: /v1/create-mediator-vm-template -# requestBody -# required -# - mediator-vm-template-name -# - vendor-name -# - supported-device-kind-list -# - engineering-limit -# - provide-mediator-instance-operation-name -# - dismantle-mediator-instance-operation-name -# - list-mediator-instance-operation-name -# responses: 204 - -# [Thorsten] Proposed additional service: /v1/delete-mediator-vm-template -# [Thorsten] Proposed additional service: /v1/list-mediator-vm-templates - - /v1/regard-mediator-instance-manager: + /v1/create-mediator-vm-template: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' post: - operationId: regardMediatorInstanceManager - summary: 'Offers configuring the client side for MediatorInstanceManager and its paring defintion to APPData' + operationId: regardMediatorVmTemplate + summary: 'Offers creating and updating mediator vm templates' tags: - IndividualServices security: @@ -467,146 +458,53 @@ paths: schema: type: object required: - - application-name -# [Thorsten] Proposed renaming: mediator-instance-name - - - release-number -# [Thorsten] Proposed renaming: mediator-instance-release-number - -# [Thorsten] Propose to add mediator-vm-template-name - - - provide-mediator-instance-operation -# [Thorsten] Propose to take that from template - - - dismantle-mediator-instance-operation -# [Thorsten] Propose to take that from template - - - list-mediator-instance-operation -# [Thorsten] Propose to take that from template - - - protocol -# [Thorsten] Proposed renaming: mediator-instance-manager-protocol - - - address -# [Thorsten] Proposed renaming: mediator-instance-manager-ip-address - - - port -# [Thorsten] Proposed renaming: mediator-instance-manager-port - + - mediator-vm-template-name - vendor-name -# [Thorsten] Propose to take that from template - - supported-device-kind-list -# [Thorsten] Propose to take that from template - - - engineering-limits -# [Thorsten] Propose to take that from template - + - engineering-limit + - provide-mediator-instance-operation-name + - dismantle-mediator-instance-operation-name + - list-mediator-instance-operation-name properties: - application-name: - type: string - description: > - 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' - release-number: + mediator-vm-template-name: type: string - pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + minLength: 6 description: > - 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + 'Name of a mediator vm template that shall be created in the APPData.This attribute has the function of a key attribute.' + supported-device-kind-list: + description: 'Supported device kinds of the Mediator vm that shall be added to the {$mediator-vm-template-name} in APPdata' + type: array + items: + type: string + engineering-limit: + description: 'Number of instances supported by the Mediator vm that shall be added to the {$mediator-vm-template-name} in APPdata' + type: integer + # Forwarding shall be introduced to delete instances (random mountpoints shall be considered) provide-mediator-instance-operation: type: string minLength: 6 description: > - 'Operation to create a new mediator instance - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + 'Operation to create a new mediator instance that shall be added to the {$mediator-vm-template-name} in APPdata' dismantle-mediator-instance-operation: type: string minLength: 6 description: > - 'Operation to dismantle an existing mediator instance - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + 'Operation to dismantle an existing mediator instance that shall be added to the {$mediator-vm-template-name} in APPdata' list-mediator-instance-operation: type: string minLength: 6 description: > - 'operation to list the existing mediator instances - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - vendor-name: - description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' - type: string - enum: - - 'Ericsson' - - 'SIAE' - - 'Huawei' - supported-device-kind-list: - description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' - type: array - items: - type: string - enum: - - 'MLTN' - - 'ML6600' - - 'ML6352' - - 'AGS20' - - 'AGS20L' - - 'ALCP2E' - - 'ALFO' - - 'RTN-950' - - 'RTN-905' - - 'RTN-380A' - engineering-limits: - description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' - type: integer - protocol: - type: string - enum: - - 'HTTP' - - 'HTTPS' - description: > - 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' - address: - type: object - minProperties: 1 - maxProperties: 1 - additionalProperties: false - properties: - ip-address: - type: object - minProperties: 1 - additionalProperties: false - properties: - ipv-4-address: - type: string - pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' - description: > - 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' - domain-name: - type: string - pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' - description: > - 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' - port: - type: integer - minimum: 0 - maximum: 65535 - description: > - 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + 'operation to list the existing mediator instances that shall be added to the {$mediator-vm-template-name} in APPdata' example: - application-name: 'EricssonMediatorManager' - release-number: '1.0.1' - provide-mediator-operation: '/v1/provide-mediator-instance' - dismantle-mediator-operation: '/v1/dismantle-mediator-instance' - list-mediator-operation: '/v1/list-mediator-instances' - vendor-name: 'Ericsson' + mediator-vm-template-name: 'EricssonMLTemplate' supported-device-kind-list: ['MLTN','ML6600'] - protocol: 'HTTP' - address: - ip-address: - ipv-4-address: '1.1.3.1' - port: 3001 - engineering-limits: 3000 + engineering-limit: 3600 + provide-mediator-instance-operation-name: '/v1/provide-mediator-instance' + dismantle-mediator-instance-operation-name: '/v1/dismantle-mediator-instance' + list-mediator-instance-operation-name: '/v1/list-mediator-instances' responses: '204': - description: 'Mediator Instance Manager Information stored' + description: 'Mediator vm template stored' headers: x-correlator: schema: @@ -636,7 +534,7 @@ paths: example: 'EXPERIMENTAL' description: > 'Life cycle state of the consumed service - from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-im-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' '400': $ref: '#/components/responses/responseForErroredServiceRequests' '401': @@ -649,10 +547,16 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - /v1/disregard-mediator-instance-manager: + /v1/delete-mediator-vm-template: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' post: - operationId: disregardMediatorInstanceManager - summary: 'deletes the client side of the MediatorInstanceManager from CONFIGfile and its relavant information from APPData' + operationId: deleteMediatorVmTemplate + summary: 'Offers deleting a mediator vm template from APPData.' tags: - IndividualServices security: @@ -664,24 +568,19 @@ paths: schema: type: object required: - - application-name - - release-number + - mediator-vm-template-name properties: - application-name: - type: string - description: > - 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, and delete [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' - release-number: + mediator-vm-template-name: type: string - pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + minLength: 6 description: > - 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, and delete [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + 'Name of a mediator vm template that shall be find in the APPData. + If the template is in usage , then this request shall be rejected with 409 Conflict' example: - application-name: 'EricssonMediatorManager' - release-number: '1.0.1' + mediator-vm-template-name: 'EricssonMLTemplate' responses: '204': - description: 'Mediator Instance Manager Information deleted' + description: 'Mediator vm template deleted' headers: x-correlator: schema: @@ -711,7 +610,36 @@ paths: example: 'EXPERIMENTAL' description: > 'Life cycle state of the consumed service - from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-im-001/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '409': + description: 'Template is in usage' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + format: int32 + message: + type: string + enum: + - 'Conflict with the current state of the target resource' + headers: + x-correlator: + schema: + type: string + pattern: '^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$' + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' '400': $ref: '#/components/responses/responseForErroredServiceRequests' '401': @@ -724,10 +652,153 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - /v1/list-mediator-instance-managers: + /v1/list-mediator-vm-templates: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' post: - operationId: listMediatorInstanceManagers - summary: 'Lists the configured MediatorInstanceManagers and its paring defintion in APPData' + operationId: listsMediatorVmTemplates + summary: 'Offers listing the available mediator vm templates from the APPData' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + responses: + '200': + description: 'List of Mediator vm templates provided' + content: + application/json: + schema: + type: array + uniqueItems: true + items: + type: object + required: + - mediator-vm-template-name + - vendor-name + - supported-device-kind-list + - engineering-limit + - provide-mediator-instance-operation-name + - dismantle-mediator-instance-operation-name + - list-mediator-instance-operation-name + properties: + mediator-vm-template-name: + type: string + minLength: 6 + description: > + 'Name of a mediator vm template that shall be updated or created in the APPData.' + vendor-name: + description: 'Vendor name of the Mediator vm that shall be added to the {$mediator-vm-template-name} in APPdata' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + supported-device-kind-list: + description: 'Supported device kind of the Mediator vm that shall be added to the {$mediator-vm-template-name} in APPdata' + type: array + items: + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + engineering-limit: + description: 'Number of instances supported by the Mediator vm that shall be added to the {$mediator-vm-template-name} in APPdata' + type: integer + provide-mediator-instance-operation-name: + type: string + minLength: 6 + description: > + 'Operation to create a new mediator instance that shall be added to the {$mediator-vm-template-name} in APPdata' + dismantle-mediator-instance-operation-name: + type: string + minLength: 6 + description: > + 'Operation to dismantle an existing mediator instance that shall be added to the {$mediator-vm-template-name} in APPdata' + list-mediator-instance-operation-name: + type: string + minLength: 6 + description: > + 'operation to list the existing mediator instances that shall be added to the {$mediator-vm-template-name} in APPdata' + example: + - mediator-vm-template-name: 'EricssonMLTemplate' + vendor-name: 'Ericsson' + supported-device-kind-list: ['MLTN','ML6600'] + engineering-limit: 3600 + provide-mediator-instance-operation-name: '/v1/provide-mediator-instance' + dismantle-mediator-instance-operation-name: '/v1/dismantle-mediator-instance' + list-mediator-instance-operation-name: '/v1/list-mediator-instances' + - mediator-vm-template-name: 'SIAEAGSTemplate' + vendor-name: 'SIAE' + supported-device-kind-list: ['AGS20','AGS20L'] + engineering-limit: 3600 + provide-mediator-instance-operation-name: '/v1/provide-mediator-instance' + dismantle-mediator-instance-operation-name: '/v1/dismantle-mediator-instance' + list-mediator-instance-operation-name: '/v1/list-mediator-instances' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + + /v1/regard-mediator-instance-manager: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: regardMediatorInstanceManager + summary: 'Offers configuring the client side for MediatorInstanceManager and its paring defintion to APPData' tags: - IndividualServices security: @@ -739,79 +810,39 @@ paths: schema: type: object required: - - application-name - - release-number - - provide-mediator-instance-operation - - dismantle-mediator-instance-operation - - list-mediator-instance-operation - - protocol - - address - - port - - vendor-name - - supported-device-kind-list - - engineering-limits + - mediator-instance-name + - mediator-instance-release-number + - mediator-vm-template-name + - mediator-instance-manager-protocol + - mediator-instance-manager-ip-address + - mediator-instance-manager-port properties: - application-name: + mediator-instance-name: type: string + minLength: 6 + pattern: '^([A-Z][a-z0-9]+){2,}$' description: > - 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' - release-number: + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + mediator-instance-release-number: type: string pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' description: > 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' - provide-mediator-instance-operation: - type: string - minLength: 6 - description: > - 'Operation to create a new mediator instance - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - dismantle-mediator-instance-operation: - type: string - minLength: 6 - description: > - 'Operation to dismantle an existing mediator instance - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - list-mediator-instance-operation: + mediator-vm-template-name: type: string minLength: 6 description: > - 'operation to list the existing mediator instances - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - vendor-name: - description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' - type: string - enum: - - 'Ericsson' - - 'SIAE' - - 'Huawei' - supported-device-kind-list: - description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' - type: array - items: - type: string - enum: - - 'MLTN' - - 'ML6600' - - 'ML6352' - - 'AGS20' - - 'AGS20L' - - 'ALCP2E' - - 'ALFO' - - 'RTN-950' - - 'RTN-905' - - 'RTN-380A' - engineering-limits: - description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' - type: integer - protocol: + 'Name of a precreated mediator vm template find in the APPData. + Request shall be rejected with 400 BadRequest if the template is not available. + {$mediator-instance-name}' shall be mapped to the {$mediator-vm-template-name} in the APPData. + mediator-instance-manager-protocol: type: string enum: - 'HTTP' - 'HTTPS' description: > 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' - address: + mediator-instance-manager-ip-address: type: object minProperties: 1 maxProperties: 1 @@ -832,150 +863,24 @@ paths: pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' description: > 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' - port: + mediator-instance-manager-port: type: integer minimum: 0 maximum: 65535 description: > 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' example: - application-name: 'EricssonMediatorManager' - release-number: '1.0.1' - provide-mediator-operation: '/v1/provide-mediator-instance' - dismantle-mediator-operation: '/v1/dismantle-mediator-instance' - list-mediator-operation: '/v1/list-mediator-instances' - vendor-name: 'Ericsson' - supported-device-kind-list: ['MLTN','ML6600'] - protocol: 'HTTP' - address: + mediator-instance-name: 'EricssonMediatorManager' + mediator-instance-release-number: '1.0.1' + mediator-vm-template-name: + mediator-instance-manager-protocol: 'HTTP' + mediator-instance-manager-ip-address: ip-address: ipv-4-address: '1.1.3.1' - port: 3001 - engineering-limits: 3000 + mediator-instance-manager-port: 3001 responses: - '200': + '204': description: 'Mediator Instance Manager Information stored' - content: - application/json: - schema: - type: array - uniqueItems: true - items: - type: object - required: - - application-name - - release-number - - provide-mediator-instance-operation - - dismantle-mediator-instance-operation - - list-mediator-instance-operation - - protocol - - address - - port - - vendor-name - - supported-device-kind-list - - engineering-limits - properties: - application-name: - type: string - description: > - 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' - release-number: - type: string - pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' - description: > - 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' - provide-mediator-instance-operation: - type: string - minLength: 6 - description: > - 'Operation to create a new mediator instance - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - dismantle-mediator-instance-operation: - type: string - minLength: 6 - description: > - 'Operation to dismantle an existing mediator instance - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - list-mediator-instance-operation: - type: string - minLength: 6 - description: > - 'operation to list the existing mediator instances - update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' - vendor-name: - description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' - type: string - enum: - - 'Ericsson' - - 'SIAE' - - 'Huawei' - supported-device-kind-list: - description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' - type: array - items: - type: string - enum: - - 'MLTN' - - 'ML6600' - - 'ML6352' - - 'AGS20' - - 'AGS20L' - - 'ALCP2E' - - 'ALFO' - - 'RTN-950' - - 'RTN-905' - - 'RTN-380A' - engineering-limits: - description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' - type: integer - protocol: - type: string - enum: - - 'HTTP' - - 'HTTPS' - description: > - 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' - address: - type: object - minProperties: 1 - maxProperties: 1 - additionalProperties: false - properties: - ip-address: - type: object - minProperties: 1 - additionalProperties: false - properties: - ipv-4-address: - type: string - pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' - description: > - 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' - domain-name: - type: string - pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' - description: > - 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' - port: - type: integer - minimum: 0 - maximum: 65535 - description: > - 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' - example: - application-name: 'EricssonMediatorManager' - release-number: '1.0.1' - provide-mediator-operation: '/v1/provide-mediator-instance' - dismantle-mediator-operation: '/v1/dismantle-mediator-instance' - list-mediator-operation: '/v1/list-mediator-instances' - vendor-name: 'Ericsson' - supported-device-kind-list: ['MLTN','ML6600'] - protocol: 'HTTP' - address: - ip-address: - ipv-4-address: '1.1.3.1' - port: 3001 - engineering-limits: 3000 headers: x-correlator: schema: @@ -1005,7 +910,7 @@ paths: example: 'EXPERIMENTAL' description: > 'Life cycle state of the consumed service - from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-im-002/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' '400': $ref: '#/components/responses/responseForErroredServiceRequests' '401': @@ -1019,7 +924,7 @@ paths: default: $ref: '#/components/responses/responseForErroredServiceRequests' callbacks: - ProvideMediatorInstanceExportsListOfMediatorInstance: + ProvideMediatorInstanceRetrievesListOfMediatorInstances: url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] post: parameters: @@ -1110,7 +1015,7 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - ProvideMediatorInstanceCreatesMediatorInstance: + ProvideMediatorInstanceCreatesMediatorInstance: url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] post: parameters: @@ -1215,8 +1120,8 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - DismantleMediatorInstanceDeletesMediatorInstance: - url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + DismantleMediatorInstanceDeletesMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-001/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] post: parameters: - $ref: '#/components/parameters/user' @@ -1282,11 +1187,16 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - - /v1/provide-mediator-instance: + /v1/disregard-mediator-instance-manager: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' post: - operationId: provideMediatorInstance - summary: 'Creates a mediator instance' + operationId: disregardMediatorInstanceManager + summary: 'deletes the client side of the MediatorInstanceManager from CONFIGfile and its relavant information from APPData' tags: - IndividualServices security: @@ -1298,64 +1208,26 @@ paths: schema: type: object required: - - mount-name - - device-ip - - vendor-name - - device-model + - mediator-instance-name + - mediator-instance-release-number properties: - mount-name: - type: string - pattern: ^(?:\d{3}(?:25|27)\d{4}|\d{3}55\d{4}[AB])$ - description: 'Identifier of the device at the Controller' - device-ip: - type: string - pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' - description: 'ip-address of the device' - vendor-name: - description: 'Vendor name of the device' + mediator-instance-name: type: string - enum: - - 'Ericsson' - - 'SIAE' - - 'Huawei' - device-model: - description: 'model of the device' + minLength: 6 + pattern: '^([A-Z][a-z0-9]+){2,}$' + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name]' + mediator-instance-release-number: type: string - enum: - - 'MLTN' - - 'ML6600' - - 'ML6352' - - 'AGS20' - - 'AGS20L' - - 'ALCP2E' - - 'ALFO' - - 'RTN-950' - - 'RTN-905' - - 'RTN-380A' + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' example: - device-ip: '127.0.0.1' - vendor-name: 'Ericsson' - device-model: 'MLTN' + mediator-instance-name: 'EricssonMediatorManager' + mediator-instance-release-number: '1.0.1' responses: - '200': - description: 'Created new mediator instance' - content: - application/json: - schema: - type: object - required: - - mediator-instance-ip-address - - mediator-instance-netconf-port - properties: - mediator-instance-ip-address: - type: string - pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' - description: 'ip-address of the mediator instance' - mediator-instance-netconf-port: - description: 'port of the mediator instance' - type: integer - minimum: 0 - maximum: 65535 + '204': + description: 'Mediator Instance Manager Information deleted' headers: x-correlator: schema: @@ -1385,7 +1257,7 @@ paths: example: 'EXPERIMENTAL' description: > 'Life cycle state of the consumed service - from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-im-003/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' '400': $ref: '#/components/responses/responseForErroredServiceRequests' '401': @@ -1398,68 +1270,231 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' - callbacks: - ProvideMediatorInstanceChecksAllocationMethodType: - url: #/core-model-1-4:control-construct/profile-collection/profile=mm-1-0-0-string-p-000/string-profile-1-0:string-profile-pac/string-profile-capability/string-name - description: > - 'Internally the current allocationMethodType value will be checked. - If allocationMethodType == EQUAL_UTILIZATION then load should be shared accross the MediatorInstanceManager of the same kind - Else If allocationMethodType == NONE then MediatorInstanceManager shall be selected randomly until the EngineeringLimit exceeds' - ProvideMediatorInstanceFindsPairingDefinition: - url: #/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/operation-name - description: > - 'Internally finds the available list of MediatorInstanceManagers allocated for the #requestBody#devicemodel in the APPData' - ProvideMediatorInstanceExportsListOfMediatorInstance: - url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] - description: > - 'Correct MediatorInstanceManager application will be determined by - repeating this callback for all the MediatorInstanceManager instances from the {$ProvideMediatorInstanceFindsPairingDefinition} and - If {$ProvideMediatorInstanceFindsPairingDefinition#engineeringLimits > responses#array.length} consider that MediatorInstanceManager further. - If {$ProvideMediatorInstanceChecksAllocationMethodType#allocationMethodType} == EQUAL_UTILIZATION then the MediatorInstanceManager with least load should be consider - otherwise a random MediatorInstanceManager shall be choosed' - post: - summary: Retrieves the list of Mediator Instance - parameters: - - $ref: '#/components/parameters/user' - - $ref: '#/components/parameters/originator' - - $ref: '#/components/parameters/x-correlator' - - $ref: '#/components/parameters/trace-indicator' - - $ref: '#/components/parameters/customer-journey' - responses: - '200': - description: 'Mediators listed' - content: - application/json: - schema: - type: array - items: - type: object - required: - - device-name - - device-kind-name - - mediator-instance-ip-address - - mediator-instance-netconf-port - - device-ip-address - properties: - device-name: - type: string - description: > - 'Name of device, which is connected by this mediator instance' - device-kind-name: - type: string - description: > - 'Type of the device, which is connected by the mediator' - mediator-instance-ip-address: - type: string - description: > - 'IP address of the mediator, which has been created' - mediator-instance-netconf-port: - type: integer - description: > - 'Port of the mediator, which has been created' - device-ip-address: - type: string - description: > + /v1/list-mediator-instance-managers: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: listMediatorInstanceManagers + summary: 'Lists the configured MediatorInstanceManagers and its paring defintion in APPData' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + responses: + '200': + description: 'Mediator Instance Manager listed' + content: + application/json: + schema: + type: array + uniqueItems: true + items: + type: object + required: + - application-name + - release-number + - provide-mediator-instance-operation + - dismantle-mediator-instance-operation + - list-mediator-instance-operation + - protocol + - address + - port + - vendor-name + - supported-device-kind-list + - engineering-limits + properties: + application-name: + type: string + description: > + 'Name of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/application-name] and also included to APPData' + release-number: + type: string + pattern: '^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})$' + description: > + 'release of a MediatorInstanceManager application find, but not at OldRelease or NewRelease, or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-http-c-*/layer-protocol=0/http-client-interface-1-0:http-client-interface-pac/http-client-interface-configuration/release-number]' + provide-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to create a new mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + dismantle-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'Operation to dismantle an existing mediator instance + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + list-mediator-instance-operation: + type: string + minLength: 6 + description: > + 'operation to list the existing mediator instances + update [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name]' + vendor-name: + description: 'Vendor name of the Mediator instance Manager that shall be should to the APPdata' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + supported-device-kind-list: + description: 'Supported device kind of the Mediator instance Manager that should be included to the APPdata' + type: array + items: + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + engineering-limits: + description: 'Number of instances supported by the Mediator instance Manager that should be included to the APPdata' + type: integer + protocol: + type: string + enum: + - 'HTTP' + - 'HTTPS' + description: > + 'Protocol to be used for addressing the MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]' + address: + type: object + minProperties: 1 + maxProperties: 1 + additionalProperties: false + properties: + ip-address: + type: object + minProperties: 1 + additionalProperties: false + properties: + ipv-4-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: > + 'IPv4 address of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' + domain-name: + type: string + pattern: '^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$' + description: > + 'Domain name of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]' + port: + type: integer + minimum: 0 + maximum: 65535 + description: > + 'Port of MediatorInstanceManager update or create [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port]' + example: + application-name: 'EricssonMediatorManager' + release-number: '1.0.1' + provide-mediator-operation: '/v1/provide-mediator-instance' + dismantle-mediator-operation: '/v1/dismantle-mediator-instance' + list-mediator-operation: '/v1/list-mediator-instances' + vendor-name: 'Ericsson' + supported-device-kind-list: ['MLTN','ML6600'] + protocol: 'HTTP' + address: + ip-address: + ipv-4-address: '1.1.3.1' + port: 3001 + engineering-limits: 3000 + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + ProvideMediatorInstanceExportsListOfMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + responses: + '200': + description: 'Mediators listed' + content: + application/json: + schema: + type: array + items: + type: object + required: + - device-name + - device-kind-name + - mediator-instance-ip-address + - mediator-instance-netconf-port + - device-ip-address + properties: + device-name: + type: string + description: > + 'Name of device, which is connected by this mediator instance' + device-kind-name: + type: string + description: > + 'Type of the device, which is connected by the mediator' + mediator-instance-ip-address: + type: string + description: > + 'IP address of the mediator, which has been created' + mediator-instance-netconf-port: + type: integer + description: > + 'Port of the mediator, which has been created' + device-ip-address: + type: string + description: > 'IP address of the device, which has been connected by the mediator' example: device-name: '305251234' @@ -1509,10 +1544,6 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' ProvideMediatorInstanceCreatesMediatorInstance: url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] - description: > - 'Perform this callback on the MediatorInstanceManager application selected from the {$ProvideMediatorInstanceExportsListOfMediatorInstance} - If the request fails with response code != 200 , then repeat this callback with the next eligible MediatorInstanceManager - If the final request fails with the (response code 500: 'No Port available for this mediator instance' for SIAE) OR (response code 404: 'Netconf ports: No Port available' for Ericsson) then the response' post: parameters: - $ref: '#/components/parameters/user' @@ -1535,16 +1566,19 @@ paths: type: string minLength: 3 description: > - 'The name of the device that is addressed by this callback from {$request.body#mount-name}' + 'Name of device that will be connected by the mediator (mediator will get same name) + find or create [/core-model-1-4:control-construct/forwarding-domain=xmim-0-0-1-op-fd-0000/forwarding-construct=xmim-0-0-1-meth-fc-*/name=ForwardingName/name]' device-ip-address: type: string pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' description: > - 'The name of the device that is addressed by this callback from {$request.body#device-ip}' + 'IP address of the device, which is to be connected by the mediator + update or create [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-tcp-c-*/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]' device-kind-name: type: string description: > - 'The name of the device that is addressed by this callback from {$request.body#device-model}' + 'Type of the device, which is to be connected by the mediator (SNMP client has to be chosen accordingly) + update or create [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-prot-c-*/layer-protocol=0/protocol-client-interface-1-0:protocol-client-interface-pac/protocol-client-interface-configuration/protocol-server-name]' example: device-name: '305251234' device-ip-address: '10.118.133.1' @@ -1563,11 +1597,13 @@ paths: mediator-instance-ip-address: type: string description: > - 'IP address of the mediator, which has been created' + 'IP address of the mediator, which has been created + from [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-tcp-s-*/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-address/ipv-4-address]' mediator-instance-netconf-port: type: integer description: > - 'Port of the mediator, which has been created' + 'Port of the mediator, which has been created + from [/core-model-1-4:control-construct/logical-termination-point=xmim-0-0-1-tcp-s-*/layer-protocol=0/tcp-server-interface-1-0:tcp-server-interface-pac/tcp-server-interface-configuration/local-port]' example: mediator-instance-ip-address: '10.118.132.1' mediator-instance-netconf-port: 1 @@ -1611,7 +1647,214 @@ paths: $ref: '#/components/responses/responseForErroredServiceRequests' default: $ref: '#/components/responses/responseForErroredServiceRequests' + DismantleMediatorInstanceDeletesMediatorInstance: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + post: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - device-name + properties: + device-name: + type: string + minLength: 3 + description: > + 'Name of device (mediator, respectively FC has the same name) that has to be dismantled + find [/core-model-1-4:control-construct/forwarding-domain=xmim-0-0-1-op-fd-0000/forwarding-construct=xmim-0-0-1-meth-fc-*/name=ForwardingName/name]' + responses: + '204': + description: 'Mediator deleted' + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: 'Life cycle state of the consumed service' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + + /v1/provide-mediator-instance: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' + post: + operationId: provideMediatorInstance + summary: 'Creates a mediator instance' + tags: + - IndividualServices + security: + - apiKeyAuth: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - mount-name + - device-ip + - device-model + properties: + mount-name: + type: string + pattern: ^(?:\d{3}(?:25|27)\d{4}|\d{3}55\d{4}[AB])$ + description: 'Identifier of the device at the Controller' + device-ip: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: 'ip-address of the device' + vendor-name: + description: 'Vendor name of the device' + type: string + enum: + - 'Ericsson' + - 'SIAE' + - 'Huawei' + device-model: + description: 'model of the device' + type: string + enum: + - 'MLTN' + - 'ML6600' + - 'ML6352' + - 'AGS20' + - 'AGS20L' + - 'ALCP2E' + - 'ALFO' + - 'RTN-950' + - 'RTN-905' + - 'RTN-380A' + example: + device-ip: '127.0.0.1' + vendor-name: 'Ericsson' + device-model: 'MLTN' + responses: + '200': + description: 'Created new mediator instance' + content: + application/json: + schema: + type: object + required: + - mediator-instance-ip-address + - mediator-instance-netconf-port + properties: + mediator-instance-ip-address: + type: string + pattern: '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' + description: 'ip-address of the mediator instance' + mediator-instance-netconf-port: + description: 'port of the mediator instance' + type: integer + minimum: 0 + maximum: 65535 + headers: + x-correlator: + schema: + type: string + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' + backend-time: + schema: + type: integer + example: 850 + description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' + life-cycle-state: + schema: + type: string + enum: + - 'EXPERIMENTAL' + - 'OPERATIONAL' + - 'DEPRECATED' + - 'OBSOLETE' + - 'UNKNOWN' + - 'NOT_YET_DEFINED' + example: 'EXPERIMENTAL' + description: > + 'Life cycle state of the consumed service + from [/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/life-cycle-state]' + '400': + $ref: '#/components/responses/responseForErroredServiceRequests' + '401': + $ref: '#/components/responses/responseForErroredServiceRequests' + '403': + $ref: '#/components/responses/responseForErroredServiceRequests' + '404': + $ref: '#/components/responses/responseForErroredServiceRequests' + '500': + $ref: '#/components/responses/responseForErroredServiceRequests' + default: + $ref: '#/components/responses/responseForErroredServiceRequests' + callbacks: + RequestForProvidingMediatorInstanceForANonExistingInstanceCausesMediatorInstanceCreation: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-is-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'The steps that are specified in MountNameAndDeviceIPDoesnotExist.plantuml shall be executed.' + RequestForProvidingMediatorInstanceForAnExistingInstanceWithDifferentDeviceIpCausesMediatorInstanceCreation: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'The steps that are specified in MountNameExistWithDifferentIP.plantuml shall be executed.' + RequestForProvidingMediatorInstanceForAnExistingInstanceWithSameDeviceIpCausesMediatorInstanceCreation: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-000/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] + description: > + 'The steps that are specified in MountNameWithCorrectIPExistForSameDeviceKindName.plantuml shall be executed.' /v1/dismantle-mediator-instance: + parameters: + - $ref: '#/components/parameters/user' + - $ref: '#/components/parameters/originator' + - $ref: '#/components/parameters/x-correlator' + - $ref: '#/components/parameters/trace-indicator' + - $ref: '#/components/parameters/customer-journey' post: operationId: dismantleMediatorInstance summary: 'Deletes a mediator Instance' @@ -1686,76 +1929,11 @@ paths: default: $ref: '#/components/responses/responseForErroredServiceRequests' callbacks: - DeleteMediatorInstanceFirstLocatesMediatorInstanceManager: - url: #/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-s-is-000/layer-protocol=0/operation-server-interface-1-0:operation-server-interface-pac/operation-server-interface-configuration/operation-name + RequestForDeletingMediatorInstanceCausesMediatorInstanceDeletion: + url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] description: > - 'Internally retrieves the list of MediatorInstanceManager and finds the MediatorInstanceManager allocated for the #requestBody#mediator-instance-ip-address' - DismantleMediatorInstanceDeletesMediatorInstance: - url: #[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-protocol]://[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/domain-name or /core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-address/ip-address/ipv-4-address]:[/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-tcp-c-*-*-*-*-000/layer-protocol=0/tcp-client-interface-1-0:tcp-client-interface-pac/tcp-client-interface-configuration/remote-port][/core-model-1-4:control-construct/logical-termination-point=mm-1-0-0-op-c-im-*-*-*-*-001/layer-protocol=0/operation-client-interface-1-0:operation-client-interface-pac/operation-client-interface-configuration/operation-name] - post: - parameters: - - $ref: '#/components/parameters/user' - - $ref: '#/components/parameters/originator' - - $ref: '#/components/parameters/x-correlator' - - $ref: '#/components/parameters/trace-indicator' - - $ref: '#/components/parameters/customer-journey' - requestBody: - required: true - content: - application/json: - schema: - type: object - required: - - device-name - properties: - device-name: - type: string - pattern: ^(?:\d{3}(?:25|27)\d{4}|\d{3}55\d{4}[AB])$ - description: 'Identifier of the device at the Controller' - responses: - '204': - description: 'Mediator deleted' - headers: - x-correlator: - schema: - type: string - example: '550e8400-e29b-11d4-a716-446655440000' - description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' - exec-time: - schema: - type: integer - example: 1100 - description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' - backend-time: - schema: - type: integer - example: 850 - description: 'Value written by the service provider, reporting the elapsed time for data retrieval from the backend (service invocation, database access…). Expressed in milliseconds' - life-cycle-state: - schema: - type: string - enum: - - 'EXPERIMENTAL' - - 'OPERATIONAL' - - 'DEPRECATED' - - 'OBSOLETE' - - 'UNKNOWN' - - 'NOT_YET_DEFINED' - example: 'EXPERIMENTAL' - description: 'Life cycle state of the consumed service' - '400': - $ref: '#/components/responses/responseForErroredServiceRequests' - '401': - $ref: '#/components/responses/responseForErroredServiceRequests' - '403': - $ref: '#/components/responses/responseForErroredServiceRequests' - '404': - $ref: '#/components/responses/responseForErroredServiceRequests' - '500': - $ref: '#/components/responses/responseForErroredServiceRequests' - default: - $ref: '#/components/responses/responseForErroredServiceRequests' - + 'The steps that are specified in DeleteMediatorInstance.plantuml shall be executed.' + ######################################################################################################################## # Service Layer - Basic Part ######################################################################################################################## @@ -11803,4 +11981,4 @@ components: name: operation-key basicAuth: type: http - scheme: basic \ No newline at end of file + scheme: basic diff --git a/spec/diagrams/DeleteMediatorInstance.plantuml b/spec/diagrams/DeleteMediatorInstance.plantuml new file mode 100644 index 0000000..32c7e7c --- /dev/null +++ b/spec/diagrams/DeleteMediatorInstance.plantuml @@ -0,0 +1,92 @@ +@startuml DeleteMediatorInstance +skinparam responseMessageBelowArrow true + +title +MediatorManager /v1/delete-mediator-instance +end title + +participant "MountingOrchestrator" as MO +participant "MediatorManager://v1/delete-mediator-instance" as MM +database "MediatorManager:APPDataFile" as AppData +participant "Ericsson MediatorInstanceManager" as EMIM +collections "All Other MediatorInstanceManager " as AMIM + + +MO -> MM : +note right MO #PaleGreen + { + mount-name: '513250011', + device-ip: '1.2.3.4', + device-model: 'MLTN' + } +end note +activate MM #LightSteelBlue + +rnote over MM #LightSteelBlue + lists all the mediator instances +end note + +MM -> EMIM : /v1/list-mediator-instances + +MM -> AMIM : /v1/list-mediator-instances + +hnote over MM #Pink + mount-name exist +end note + +rnote over MM #OrangeRed + No +end note + +MM -> MO : 204 NoContent + +rnote over MM #GreenYellow + Yes +end note + +group mount-name already exist +MM -> Device : PING the existing device-ip +hnote over MM #Pink + If ping is successful for the existing device-ip? +end note +rnote over MM #OrangeRed + yes +end note +MM -> MO : 5xx (operational will block) + +rnote over MM #GreenYellow + No +end note + +rnote over MM #LightSteelBlue + Formulate the request /v1/delete-mediator-instance + for the mediator vm, where the instance already exist +end note + +MM -> EMIM : /v1/delete-mediator-instance +note right MM #LightGrey + { + "device-name": "513250011" +} +end note + +rnote over EMIM #Pink +problem in deleting the instance ? +end note +rnote over EMIM #OrangeRed + yes +end note +EMIM -> MM : 500 InternalServerError +MM -> MO : 5?? upstream error ?? + +rnote over EMIM #GreenYellow + No +end note +EMIM -> MM : 204 OK + + +MM -> MO : 204 OK +end +deactivate MM + +@enduml \ No newline at end of file diff --git a/spec/diagrams/DeleteMediatorInstance.png b/spec/diagrams/DeleteMediatorInstance.png new file mode 100644 index 0000000..641e4d7 Binary files /dev/null and b/spec/diagrams/DeleteMediatorInstance.png differ diff --git a/spec/diagrams/DeleteMediatorVMTemplate.plantuml b/spec/diagrams/DeleteMediatorVMTemplate.plantuml new file mode 100644 index 0000000..9c020e8 --- /dev/null +++ b/spec/diagrams/DeleteMediatorVMTemplate.plantuml @@ -0,0 +1,44 @@ +@startuml DeleteMediatorVmTemplate +skinparam responseMessageBelowArrow true + +title +MediatorManager /v1/delete-mediator-vm-template +end title + +participant "OperationsTeam" as OT +participant "MediatorManager://v1/delete-mediator-vm-template" as MM +database "MediatorManager:APPDataFile" as AppData + + +OT -> MM : +note right OT #PaleGreen + { mediator-vm-template-name : + "EricssonMLTemplate" + } +end note +activate MM #LightSteelBlue + + +AppData --\\o MM : Retrieve the "EricssonMLTemplate" +note right MM #LightSteelBlue + { + "mediator-vm-template-name" : "EricssonMLTemplate", + "vendor-name" : "Ericsson", + "supported-device-kind" : ["MLTN","ML6600"], + "engineering-limit" : 3600, + "paired-mediator-vm-list" : ["vmeric1"] + } +end note + +MM --> MM : +hnote over MM #LightSteelBlue + Check if the template is used by any mediator vm ? + In this example , + yes this template is used by the vm "vmeric1" + "paired-mediator-vm-list" : ["vmeric1"] +end note + +MM -> OT : 409 Conflict +deactivate MM + +@enduml \ No newline at end of file diff --git a/spec/diagrams/DeleteMediatorVmTemplate.png b/spec/diagrams/DeleteMediatorVmTemplate.png new file mode 100644 index 0000000..be86f5d Binary files /dev/null and b/spec/diagrams/DeleteMediatorVmTemplate.png differ diff --git a/spec/diagrams/MediatorManager.png b/spec/diagrams/MediatorManager.png deleted file mode 100644 index 7585c25..0000000 Binary files a/spec/diagrams/MediatorManager.png and /dev/null differ diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameAndDeviceIPDoesnotExist.plantuml b/spec/diagrams/ProvideMediatorInstance/MountNameAndDeviceIPDoesnotExist.plantuml new file mode 100644 index 0000000..1551c73 --- /dev/null +++ b/spec/diagrams/ProvideMediatorInstance/MountNameAndDeviceIPDoesnotExist.plantuml @@ -0,0 +1,184 @@ +@startuml MountNameAndDeviceIPDoesnotExist +skinparam responseMessageBelowArrow true + +title +MediatorManager /v1/provide-mediator-instance +MountName And DeviceIP does not exist already +end title + +participant "MountingOrchestrator" as MO +participant "MediatorManager://v1/provide-mediator-instance" as MM +database "MediatorManager:APPDataFile" as AppData +participant "Ericsson MediatorInstanceManager" as EMIM +collections "All Other MediatorInstanceManager " as AMIM + + +MO -> MM : +note right MO #PaleGreen + { + mount-name: '513250011', + device-ip: '1.2.3.4', + device-model: 'MLTN' + } +end note +activate MM #LightSteelBlue + +rnote over MM #LightSteelBlue + lists all the mediator instances +end note + +MM -> EMIM : /v1/list-mediator-instances + +MM -> AMIM : /v1/list-mediator-instances + +hnote over MM #Pink + If mount-name and device-ip does'nt exist +end note + +rnote over MM #GreenYellow + yes +end note + +group To find the available mediator VMs in MM for the provided device-kind-name + rnote over MM #LightSteelBlue + Retrieves the list of mediator vm template + end note + + AppData --\\o MM : Retrieve the List of instance + note right MM #LightGray + [ + { + "mediator-vm-template-name" : "EricssonMLTemplate", + "vendor-name" : "Ericsson", + "supported-device-kind" : ["MLTN","ML6600"], + "engineering-limit" : 3600, + "paired-mediator-vm-list" : ["vmeric1"] + }, + . . . + . . . + ] + end note + + rnote over MM #LightSteelBlue + Filter the "paired-mediator-vm-list" that supports the device-kind + end note + + hnote over MM #Pink + Any Mediator VM available ? + end note + + rnote over MM #OrangeRed + No + end note + + MM -> MO : 517 Insufficient Storage + + rnote over MM #GreenYellow + Yes + end note + +end + +group To check engineering limit (repeat for all the filtered Mediator vm) + rnote over MM #LightSteelBlue + Calculate the available list of mediator instance + from the initial "/v1/list-mediator-instances" + end note + + hnote over MM #Pink + availableInstances < EngineeringLimit + end note + + rnote over MM #OrangeRed + no + end note + + rnote over MM #LightSteelBlue + Ignore this Mediator vm for Instance creation + end note + + rnote over MM #GreenYellow + yes + end note + + rnote over MM #LightSteelBlue + Consider this Mediator vm for Instance creation + end note +end + +hnote over MM #Pink + any mediator instance available further +end note + +rnote over MM #OrangeRed + no +end note + +MM -> MO : 517 Insufficient Storage + +rnote over MM #GreenYellow + yes +end note + +group create mediator instance (If mediator instance creation fails, then repeat with the next available mediator vm) + rnote over MM #LightSteelBlue + If more than 1 mediator vm is available + then , + find the Mediator vm with the least number of instances + end note + + MM -x EMIM : /v1/provide-mediator-instance + EMIM -> MM : 404 NotFound + MM -> MO : 503? + + MM -> EMIM : /v1/provide-mediator-instance + activate EMIM #Grey + hnote over EMIM #pink + Authentication successful? + end note + rnote over EMIM #OrangeRed + No + end note + EMIM -> MM : 401 + MM -> MO : 531? + + rnote over EMIM #GreenYellow + Yes + end note + hnote over EMIM #pink + mediator instance created successfully ? + end note + rnote over EMIM #OrangeRed + NO + end note + EMIM -> MM : !=200 + MM -> MO : 532? + + rnote over EMIM #GreenYellow + Yes + end note + + EMIM -> MM : 200 + note right MM #LightGray + { + "device-name": '305251234' + "device-kind-name": 'AGS_20' + "mediator-instance-ip-address": '10.118.132.1' + "mediator-instance-netconf-port": 1 + "device-ip-address": '10.118.133.1' + } + end note + + deactivate EMIM + + MM -> MO : 200 + deactivate MM + note right MO #LightGray + { + "mediator-instance-ip-address": '10.118.132.1' + "mediator-instance-netconf-port": 1 + } + end note +end + +@enduml \ No newline at end of file diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameAndDeviceIPDoesnotExist.png b/spec/diagrams/ProvideMediatorInstance/MountNameAndDeviceIPDoesnotExist.png new file mode 100644 index 0000000..841b3a3 Binary files /dev/null and b/spec/diagrams/ProvideMediatorInstance/MountNameAndDeviceIPDoesnotExist.png differ diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameExistWithDifferentIP.plantuml b/spec/diagrams/ProvideMediatorInstance/MountNameExistWithDifferentIP.plantuml new file mode 100644 index 0000000..2bb684b --- /dev/null +++ b/spec/diagrams/ProvideMediatorInstance/MountNameExistWithDifferentIP.plantuml @@ -0,0 +1,76 @@ +@startuml MountNameExistWithDifferentIP +skinparam responseMessageBelowArrow true + +title +MediatorManager /v1/provide-mediator-instance +MountName already exist With a different device-iP +OR +device-ip already in use +end title + +participant "MountingOrchestrator" as MO +participant "MediatorManager://v1/provide-mediator-instance" as MM +database "MediatorManager:APPDataFile" as AppData +participant "Ericsson MediatorInstanceManager" as EMIM +collections "All Other MediatorInstanceManager " as AMIM + + +MO -> MM : +note right MO #PaleGreen + { + mount-name: '513250011', + device-ip: '1.2.3.4', + device-model: 'MLTN' + } +end note +activate MM #LightSteelBlue + +rnote over MM #LightSteelBlue + lists all the mediator instances +end note + +MM -> EMIM : /v1/list-mediator-instances + +MM -> AMIM : /v1/list-mediator-instances +group mount-name already exist with a different device-ip +hnote over MM #Pink + If mount-name already exist with a different device-ip +end note +rnote over MM #GreenYellow + yes +end note + +MM -> Device : PING the existing device-ip +hnote over MM #Pink + If ping is successful for the existing device-ip? +end note +rnote over MM #OrangeRed + yes +end note +MM -> MO : 409 conflict? +end +rnote over MM #GreenYellow + No +end note + +group device-ip already assigned to another mount-name +hnote over MM #Pink + If incoming device-ip already assigned to another mount-name? +end note +rnote over MM #OrangeRed + yes +end note +MM -> MO : 409 conflict? +end +rnote over MM #GreenYellow + No +end note + + +== Further steps to create mediator instance from the diagram MountNameAndDeviceIPDoesnotExist.png == +deactivate MM +MM -> MO +== == + + +@enduml \ No newline at end of file diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameExistWithDifferentIP.png b/spec/diagrams/ProvideMediatorInstance/MountNameExistWithDifferentIP.png new file mode 100644 index 0000000..0ae9b97 Binary files /dev/null and b/spec/diagrams/ProvideMediatorInstance/MountNameExistWithDifferentIP.png differ diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForDiffDeviceKindName.plantuml b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForDiffDeviceKindName.plantuml new file mode 100644 index 0000000..987c829 --- /dev/null +++ b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForDiffDeviceKindName.plantuml @@ -0,0 +1,11 @@ +@startuml MountNameWithCorrectIPExistForDiffDeviceKindName +skinparam responseMessageBelowArrow true + +title +MediatorManager /v1/provide-mediator-instance +MountName and device-iP combination already exist +But, the mediator vm is not as per the "device-kind-name and mediator vm pairing" in the APP data +end title + + +@enduml \ No newline at end of file diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForDiffDeviceKindName.png b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForDiffDeviceKindName.png new file mode 100644 index 0000000..6119945 Binary files /dev/null and b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForDiffDeviceKindName.png differ diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForSameDeviceKindName.plantuml b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForSameDeviceKindName.plantuml new file mode 100644 index 0000000..7ae0efd --- /dev/null +++ b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForSameDeviceKindName.plantuml @@ -0,0 +1,76 @@ +@startuml MountNameWithCorrectIPExistForSameDeviceKindName +skinparam responseMessageBelowArrow true + +title +MediatorManager /v1/provide-mediator-instance +MountName and device-iP combination already exist +end title + +participant "MountingOrchestrator" as MO +participant "MediatorManager://v1/provide-mediator-instance" as MM +database "MediatorManager:APPDataFile" as AppData +participant "Ericsson MediatorInstanceManager" as EMIM +collections "All Other MediatorInstanceManager " as AMIM + + +MO -> MM : +note right MO #PaleGreen + { + mount-name: '513250011', + device-ip: '1.2.3.4', + device-model: 'MLTN' + } +end note +activate MM #LightSteelBlue + +rnote over MM #LightSteelBlue + lists all the mediator instances +end note + +MM -> EMIM : /v1/list-mediator-instances + +MM -> AMIM : /v1/list-mediator-instances +group mount-name already exist with the incoming device-ip +hnote over MM #Pink + If mount-name already exist with the incoming device-ip +end note +rnote over MM #GreenYellow + yes +end note + +rnote over MM #LightSteelBlue + Formulate the request /v1/provide-mediator-instance + for the mediator vm where the instance already exist +end note + +MM -> EMIM : /v1/provide-mediator-instance +note right MM #LightGrey + { + "device-name": "513250011", + "device-ip-address": "1.2.3.4", + "device-kind-name": "MLTN" +} +end note + +EMIM -> MM : 200 OK +note right MM #LightGray + { + "mediator-instance-ip-address": '10.118.132.1' + "mediator-instance-netconf-port": 1 + } +end note + + +MM -> MO : 200 OK +note right MO #LightGray + { + "mediator-instance-ip-address": '10.118.132.1' + "mediator-instance-netconf-port": 1 + } +end note +== Shall we also need to cover scenarios where EMIM sends responseCode!=200? == +== == + +deactivate MM + +@enduml \ No newline at end of file diff --git a/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForSameDeviceKindName.png b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForSameDeviceKindName.png new file mode 100644 index 0000000..8afdadd Binary files /dev/null and b/spec/diagrams/ProvideMediatorInstance/MountNameWithCorrectIPExistForSameDeviceKindName.png differ diff --git a/spec/diagrams/provideMediatorInstance.plantuml b/spec/diagrams/provideMediatorInstance.plantuml deleted file mode 100644 index 61d7bfa..0000000 --- a/spec/diagrams/provideMediatorInstance.plantuml +++ /dev/null @@ -1,137 +0,0 @@ -@startuml MediatorManager -skinparam responseMessageBelowArrow true - -title -MediatorManager /v1/provide-mediator-instance -end title - -participant "MountingOrchestrator" as MO -participant "MediatorManager://v1/provide-mediator-instance" as MM -database "MediatorManager:ConfigFile" as Config -database "MediatorManager:APPDataFile" as AppData -participant "EricssonMediatorInstanceManagerA://v1/provide-mediator-instance" as MIMListA -participant "EricssonMediatorInstanceManagerA://v1/provide-mediator-instance" as MIMProvideA -participant "EricssonMediatorInstanceManagerB://v1/provide-mediator-instance" as MIMListB -participant "EricssonMediatorInstanceManagerB://v1/provide-mediator-instance" as MIMProvideB - -note over Config -Profile: allocationMethodType -('EQUAL_UTILIZATION', 'LATEST_RELEASE_FIRST', 'NONE') -end note - -note over AppData -1. mediator-vm-name -2. vendor-name -3. supported-device-kind (MLTN,ML6600,ML6352, -AGS20,AGS20L,ALCP2E,ALFO,RTN-950,RTN-905,RTN-380A) -4. engineering-limits -end note - -MO -> MM : -note right MO #PaleGreen - RequestBody : - { - device-ip : x.x.x.x, - vendor-name : Ericsson, - device-model : ML6352 - } - end note -activate MM - -Config --\\o MM : Read attributes from the configuration file -note right MM #LightSteelBlue -allocationMethodType from profile Instance -List of Mediator VM Instances from the LogicalTerminationPoint -end note - -AppData --\\o MM : Read attributes from the AppData file -note right MM #LightSteelBlue -mediator-vm-name -vendor-name -supported-device-kind -engineering-limits -end note - - -note over MM -Filter Mediator VMs that supports the vendor + device-model -end note -note over MM #orange -If allocationMethodType == NONE ? -end note - -MM -> MIMListA : get the list of mediator Instances from EricssonMediatorInstanceManagerA -MIMListA -> MM: 200 OK - note right MM - [ - { - "device-name": "MountName", - "device-kind-name": "ML_6352", - "mediator-instance-ip-address": "1.1.1.1", - "mediator-instance-netconf-port": 1, - "device-ip-address": "1.2.3.4" - } - ] - end note - note over MM #orange - If MediatorInstanceCount >= engineering-limits ? - end note - note over MM #orange - YES - end note - note over MM - Checks the next eligible mediator - end note - -MM -> MIMListB : get the list of mediator Instances from EricssonMediatorInstanceManagerB -MIMListB -> MM : 200 OK - note right MM - [ - { - "device-name": "MountName", - "device-kind-name": "ML_6352", - "mediator-instance-ip-address": "1.1.1.1", - "mediator-instance-netconf-port": 1, - "device-ip-address": "1.2.3.4" - } - ] - end note - note over MM #orange - If MediatorInstanceCount >= engineering-limits ? - end note - note over MM #orange - YES - end note - -MM -> MO : 507 Insufficient Storage - -note over MM #orange -Else -end note - -MM -> MIMProvideB : creates new mediator instance - note left MIMProvideB - { - "device-name": "305251234", - "device-ip-address": "10.118.133.1", - "device-kind-name": "AGS_20" - } - end note - -MIMProvideB -> MM : 200 OK - note right MM - { - "mediator-instance-ip-address": "10.118.132.1", - "mediator-instance-netconf-port": 1 - } - end note - -MM -> MO : 200 OK - note left MM - { - "mediator-instance-ip-address": "10.118.132.1", - "mediator-instance-netconf-port": 1 - } - end note - -@enduml \ No newline at end of file diff --git a/spec/diagrams/provideMediatorInstance.png b/spec/diagrams/provideMediatorInstance.png deleted file mode 100644 index 1bdb62a..0000000 Binary files a/spec/diagrams/provideMediatorInstance.png and /dev/null differ diff --git a/spec/temp b/spec/temp new file mode 100644 index 0000000..6867054 --- /dev/null +++ b/spec/temp @@ -0,0 +1,29 @@ +responseForErroredServiceRequests: + description: 'Response in case of errored service requests' + content: + application/json: + schema: + type: object + required: + - code + - message + properties: + code: + type: integer + format: int32 + message: + type: string + enum: + - 'Conflict with the current state of the target resource' + headers: + x-correlator: + schema: + type: string + pattern: '^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$' + example: '550e8400-e29b-11d4-a716-446655440000' + description: 'UUID for the service execution flow that allows to correlate requests and responses. Its value must be identical at the response compared with its corresponding request' + exec-time: + schema: + type: integer + example: 1100 + description: 'Value written by the service provider, reporting the total elapsed time for the execution, including all the additional processing needed to retrieve the data from the backend service. Expressed in milliseconds' \ No newline at end of file diff --git a/testing/2_functional/MediatorManager+test.functional.index.yaml b/testing/2_functional/MediatorManager+test.functional.index.yaml index defc134..76d9784 100644 --- a/testing/2_functional/MediatorManager+test.functional.index.yaml +++ b/testing/2_functional/MediatorManager+test.functional.index.yaml @@ -21,7 +21,7 @@ release-list: temporary-address: ipv-4-address: 127.0.0.1 tcp-port: 5000 #We need to follow port prescription ? - - simulator-file: './completeness/v1.0.0/simulators/SIAEMediatorInstanceManager/dockerfile + - simulator-file: './completeness/v1.0.0/simulators/SIAEMediatorInstanceManager/dockerfile' simulated-application: application-name: 'MIM' release-number: '1.0.0'