.. This work is a derivative of https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts-2026349199 .. This work is licensed under a Creative Commons Attribution 4.0 .. International License. http://creativecommons.org/licenses/by/4.0 .. Copyright (C) 2020 Deutsche Telekom AG. .. _external_system: External Systems support ------------------------ Interaction with **external systems** is made **dynamic** and **plug-able** removing development cycle to support new endpoint. In order to share the external system information, TOSCA provides a way to create macros using **dsl_definitions**: Link to TOSCA spec: `info 1 `_, `info 2 `_. Use cases: * Resource resolution using **REST** (see tab Node Type) or **SQL** (see tab Node Type) external systems * **gRPC** is supported for remote execution * Any REST endpoint can be dynamically injected as part of the scripting framework. Here are some examples on how to populate the system information within the package: .. list-table:: :widths: 100 :header-rows: 1 * - token-auth * - .. code-block:: json { "dsl_definitions": { "ipam-1": { "type": "token-auth", "url": "http://netbox-nginx.netprog:8080", "token": "Token 0123456789abcdef0123456789abcdef01234567" } } .. list-table:: :widths: 100 :header-rows: 1 * - basic-auth * - .. code-block:: json { "dsl_definitions": { "ipam-1": { "type": "basic-auth", "url": "http://localhost:8080", "username": "bob", "password": "marley" } } } .. list-table:: :widths: 100 :header-rows: 1 * - ssl-basic-auth * - .. code-block:: json { "dsl_definitions": { "ipam-1": { "type": "ssl-basic-auth", "url": "http://localhost:32778", "keyStoreInstance": "JKS or PKCS12", "sslTrust": "trusture", "sslTrustPassword": "trustore password", "sslKey": "keystore", "sslKeyPassword": "keystore password" } } } .. list-table:: :widths: 100 :header-rows: 1 * - grpc-executor * - .. code-block:: json { "dsl_definitions": { "remote-executor": { "type": "token-auth", "host": "cds-command-executor.netprog", "port": "50051", "token": "Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==" } } } .. list-table:: :header-rows: 1 * - maria-db * - .. code-block:: json { "dsl_definitions": { "netprog-db": { "type": "maria-db", "url": "jdbc:mysql://10.195.196.123:32050/netprog", "username": "netprog", "password": "netprog" } } }