From f37adca04ed39e638cfca5e6c3ce4970be5e8c8c Mon Sep 17 00:00:00 2001 From: Dan Wolfson Date: Wed, 24 Jan 2024 11:35:44 +0000 Subject: [PATCH] Added support for HTTP Requests Signed-off-by: Dan Wolfson --- .gitignore | 1 + ...geria-open-metadata-conformance-suite.http | 128 +++ .../omag-server-platform/build.gradle | 45 +- .../docs/http-client-collections/README.md | 66 ++ .../http-client.env.json | 76 ++ .../http-client.private.env.json | 9 + .../Egeria-asset-consumer-omas.http | 325 ++++++ .../Egeria-asset-manager-omas.http | 859 ++++++++++++++ .../asset-owner/Egeria-asset-owner-omas.http | 160 +++ .../Egeria-data-manager-omas.http | 186 +++ .../Egeria-digital-architecture-omas.http | 34 + .../Egeria-discovery-engine-omas.http | 28 + .../Egeria-governance-engine-omas.http | 145 +++ .../Egeria-it-infrastructure-omas.http | 87 ++ .../Egeria-subject-area-omas.http | 43 + ...admin-services-platform-configuration.http | 31 + ...a-admin-services-server-configuration.http | 1010 +++++++++++++++++ .../Egeria-open-metadata-store.http | 153 +++ .../Egeria-connected-asset-services.http | 133 +++ .../Egeria-open-integration-service.http | 66 ++ .../Egeria-platform-services.http | 187 +++ .../Egeria-repository-services-audit-log.http | 11 + ...-repository-services-local-repository.http | 58 + ...-repository-services-metadata-highway.http | 33 + .../Egeria.postman_environment.json | 115 -- .../postman-rest-samples/README.md | 98 -- ...epositoryWorkbench.postman_collection.json | 334 ------ ...InMemoryRepository.postman_collection.json | 259 ----- 28 files changed, 3872 insertions(+), 808 deletions(-) create mode 100644 open-metadata-conformance-suite/Egeria-open-metadata-conformance-suite.http create mode 100644 open-metadata-distribution/omag-server-platform/docs/http-client-collections/README.md create mode 100755 open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.env.json create mode 100644 open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.private.env.json create mode 100644 open-metadata-implementation/access-services/asset-consumer/Egeria-asset-consumer-omas.http create mode 100644 open-metadata-implementation/access-services/asset-manager/Egeria-asset-manager-omas.http create mode 100644 open-metadata-implementation/access-services/asset-owner/Egeria-asset-owner-omas.http create mode 100644 open-metadata-implementation/access-services/data-manager/Egeria-data-manager-omas.http create mode 100644 open-metadata-implementation/access-services/digital-architecture/Egeria-digital-architecture-omas.http create mode 100644 open-metadata-implementation/access-services/discovery-engine/Egeria-discovery-engine-omas.http create mode 100644 open-metadata-implementation/access-services/governance-engine/Egeria-governance-engine-omas.http create mode 100644 open-metadata-implementation/access-services/it-infrastructure/Egeria-it-infrastructure-omas.http create mode 100644 open-metadata-implementation/access-services/subject-area/Egeria-subject-area-omas.http create mode 100644 open-metadata-implementation/admin-services/Egeria-admin-services-platform-configuration.http create mode 100644 open-metadata-implementation/admin-services/Egeria-admin-services-server-configuration.http create mode 100644 open-metadata-implementation/framework-services/gaf-metadata-management/Egeria-open-metadata-store.http create mode 100644 open-metadata-implementation/framework-services/ocf-metadata-management/Egeria-connected-asset-services.http create mode 100644 open-metadata-implementation/framework-services/oif-metadata-management/Egeria-open-integration-service.http create mode 100644 open-metadata-implementation/platform-services/Egeria-platform-services.http create mode 100644 open-metadata-implementation/repository-services/Egeria-repository-services-audit-log.http create mode 100644 open-metadata-implementation/repository-services/Egeria-repository-services-local-repository.http create mode 100644 open-metadata-implementation/repository-services/Egeria-repository-services-metadata-highway.http delete mode 100644 open-metadata-resources/open-metadata-samples/postman-rest-samples/Egeria.postman_environment.json delete mode 100644 open-metadata-resources/open-metadata-samples/postman-rest-samples/README.md delete mode 100644 open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-CTS-RepositoryWorkbench.postman_collection.json delete mode 100644 open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-InMemoryRepository.postman_collection.json diff --git a/.gitignore b/.gitignore index bc751fb17c8..2f61b1acc73 100644 --- a/.gitignore +++ b/.gitignore @@ -171,3 +171,4 @@ THIRD_PARTY*.txt build/ *.gz *.tmp +/.run/ diff --git a/open-metadata-conformance-suite/Egeria-open-metadata-conformance-suite.http b/open-metadata-conformance-suite/Egeria-open-metadata-conformance-suite.http new file mode 100644 index 00000000000..c6dcae7a203 --- /dev/null +++ b/open-metadata-conformance-suite/Egeria-open-metadata-conformance-suite.http @@ -0,0 +1,128 @@ +# Egeria-open-metadata-conformance-suite + +### +# group: Configuration +# @name Query cSuite server's configuration +# Query the current configuration of the conformance suite server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/configuration + +### +# group: Configuration +# @name Set cSuite server's user Id +# Set up the user Id that this server should use on open metadata requests. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-user-id? + id={{user}} + +### +# group: Configuration +# @name Set cSuite server's password +# Set up the password that the conformance suite server should use on open metadata requests. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-user-password? + password={{password}} + +### +# group: Configuration +# @name Set up event bus to connect to cohort topics +# Set up the common properties needed to call your event bus. These properties are passed in the request body. +# This request just sets up the defaults that will be incorporated into any future configuration that includes an event bus topic. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/event-bus +Content-Type: application/json + +{ + "producer": { + "bootstrap.servers": "{{kafkaep}}" + }, + "consumer":{ + "bootstrap.servers": "{{kafkaep}}" + } +} + +### +# group: Configuration +# @name Enable access to the cohort +# Request registration to a cohort. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}} + +### +# group: Configuration +# @name Disable access to the cohort +# Unregister from a cohort. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}} + +### +# group: Configuration +# @name Configure the test of an open metadata repository +# Activate the repository workbench tests to validate the behaviour of a specific repository. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/conformance-suite-workbenches/repository-workbench/repositories/{{tutServer}} + +### +# group: Configuration +# @name Configure the test of an open metadata server platform +# Activate the repository workbench tests to validate the behaviour of a specific server platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/conformance-suite-workbenches/platform-workbench/platforms/{{tutPlatformURLroot}} + +### +# group: Configuration +# @name Delete the repository workbench configuration +# Remove all of the configuration for the open metadata conformance suite. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/conformance-suite-workbenches/repository-workbench + +### +# group: Configuration +# @name Delete the platform workbench configuration +# Remove the configuration for the platform workbench of the open metadata conformance suite. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/conformance-suite-workbenches/platform-workbench + +### +# group: Configuration +# @name Delete the conformance suite configuration +# Remove all of the configuration for the open metadata conformance suite. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/conformance-suite-workbenches + +### +# group: Starting/Stopping CTS server +# @name Activate conformance suite using config +# Activate open metadata conformance suite services. +POST {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance + +### +# group: Starting/Stopping CTS server +# @name Deactivate conformance suite server +# Deactivate open metadata conformance suite services for this server. +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance + +### +# group: Getting Results +# @name Retrieve platform workbench results +# Retrieve the results from the platform workbench tests. +GET {{baseURL}}/servers/{{server}}/open-metadata/conformance-suite/users/{{adminUserId}}/report/workbenches/platform-workbench + +### +# group: Getting Results +# @name Retrieve repository workbench results +# Retrieve the results from the repository workbench tests. +GET {{baseURL}}/servers/{{server}}/open-metadata/conformance-suite/users/{{adminUserId}}/report/workbenches/repository-workbench + +### +# group: Getting Results +# @name Retrieve full report of results +# Retrieve all of the results of the conformance suite testing. +GET {{baseURL}}/servers/{{server}}/open-metadata/conformance-suite/users/{{adminUserId}}/report + +### +# group: Getting Results +# @name Retrieve summary report of results +# Retrieve all of the results of the conformance suite testing. +GET {{baseURL}}/servers/{{server}}/open-metadata/conformance-suite/users/{{adminUserId}}/report/summary + +### +# group: Getting Results +# @name Retrieve report of failed test cases +# Retrieve the results of all failed test cases. +GET {{baseURL}}/servers/{{server}}/open-metadata/conformance-suite/users/{{adminUserId}}/report/test-cases/failed + +### +# group: Getting Results +# @name Retrieve report of a specific test case +# Retrieve the results of all failed test cases. +GET {{baseURL}}/servers/{{server}}/open-metadata/conformance-suite/users/{{adminUserId}}/report/test-cases/repository-metadata-collection \ No newline at end of file diff --git a/open-metadata-distribution/omag-server-platform/build.gradle b/open-metadata-distribution/omag-server-platform/build.gradle index 5030b5afb2c..b0145d8b24d 100644 --- a/open-metadata-distribution/omag-server-platform/build.gradle +++ b/open-metadata-distribution/omag-server-platform/build.gradle @@ -332,6 +332,11 @@ distributions { from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/postman-collections" } fileMode = 0755 } + into('assembly/opt/http-client-collections') { + // Describe the sample-clients layout + from { "$rootProject.projectDir/open-metadata-distribution/omag-server-platform/docs/http-client-collections" } + fileMode = 0755 + } into('assembly/opt/postman-collections') { from { "$rootProject.projectDir/open-metadata-resources/open-metadata-samples/postman-rest-samples" } { @@ -346,6 +351,20 @@ distributions { } fileMode = 0755 } + into('assembly/opt/http-client-collections') { + from { "$rootProject.projectDir/open-metadata-resources/open-metadata-samples/postman-rest-samples" } + { + include 'Egeria*.http' + } + from { "$rootProject.projectDir/open-metadata-implementation" } + { + include 'admin-services/Egeria*.http' + include 'repository-services/Egeria*.http' + include 'platform-services/Egeria*.http' + include 'access-services/*/Egeria*.http' + } + fileMode = 0755 + } into('assembly/opt/postman-collections/framework-services') { from { "$rootProject.projectDir/open-metadata-implementation/framework-services/ocf-metadata-management" } { @@ -361,13 +380,35 @@ distributions { } fileMode = 0755 } - into('assembly/opt/postman-collections/sample-configs') { - from { "$rootProject.projectDir/open-metadata-resources/open-metadata-deployment" } + into('assembly/opt/http-client-collections/framework-services') { + from { "$rootProject.projectDir/open-metadata-implementation/framework-services/ocf-metadata-management" } + { + include 'Egeria*.http' + } + from { "$rootProject.projectDir/open-metadata-implementation/framework-services/oif-metadata-management" } + { + include 'Egeria*.http' + } + from { "$rootProject.projectDir/open-metadata-implementation/framework-services/gaf-metadata-management" } + { + include 'Egeria*.http' + } + fileMode = 0755 + } + into('assembly/opt/postman-collections/conformance-suite') { + from { "$rootProject.projectDir/open-metadata-conformance-suite" } { include 'Egeria*.json' } fileMode = 0755 } + into('assembly/opt/http-client-collections/conformance-suite') { + from { "$rootProject.projectDir/open-metadata-conformance-suite" } + { + include 'Egeria*.http' + } + fileMode = 0755 + } } } } diff --git a/open-metadata-distribution/omag-server-platform/docs/http-client-collections/README.md b/open-metadata-distribution/omag-server-platform/docs/http-client-collections/README.md new file mode 100644 index 00000000000..d062e315611 --- /dev/null +++ b/open-metadata-distribution/omag-server-platform/docs/http-client-collections/README.md @@ -0,0 +1,66 @@ + + + +# Sample JetBrains HTTP Scripts + +The JetBrains HTTP Client is a useful utility for testing REST APIs that is both integrated into the JetBrains tooling +and freely available to be run standalone. Further information can be found at +[JetBrains HTTP Client](https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html). +Information about the freely downloadable client can be found at +[Download HTTP Client CLI: CI-friendly way of executing .http files](https://www.jetbrains.com/ijhttp/download/#section=zip-archive). + + +It captures, stores and executes specific REST API calls, so you do not have to keep typing the URL and parameters +each time you want to issue a request. You can also sequence and script REST calls into scenarios for testing or +demonstration. + + +## Sample Collections + +Collections help to group related REST API calls together. Collections are stored in files with a `.http` suffix. +In the Egeria source you can see collections for many of the Egeria modules. When Egeria is built, these collections are +assembled into the Egeria distribution and can be found at `egeria-distribution-root/opt/http-client/collections`. +You can, of course, create your own collections using the contents of the these samples as starting points. + +In order to run these, you should have a set of environment variables configured as detailed in the [next section](#environment-variables). + + + +## Environment variables + +The HTTP Client supports the definition of variables like hostname, kafka queue, userId, etc. These can then be used in +specific HTTP Client commands. This makes it easier for them to be used by multiple users, or with different +configurations. Environment variables are stored in a file named either `http-client.env.json` or +`http-client.private.env.json`. The first is meant to be shared across all users and the second meant for private +customizations. + +A superset of potential variables that we use in our samples (along with default values) are provided in: +`open-metadata-resources/open-metadata-deployment/http-client-rest-samples/http-client.env.json`. This file contains +several JSON structures that +group environment variables for different purposes - the Egeria grouping has generally used variables while, for +instance an Atlas grouping has variables specialized for Atlas. This file can be copied, into your own private environment +file and adapted to your own environment and requirements. The default private environment file is called +`http-client-private.env.json`. + +You will most likely want to override some of these values (such as `baseURL` or `kafkaep`) depending on your +own environment's configuration - updating the `http-client-private.env.json` file with your own customizations make it +easy to preserve the defaults but select the configuration you need. A given environment file can have many configuration +sets within it, each created to support a different use case. Selection of the environment to use can be done +at execution time or when editing the requests file. You can, for example, set up different environments for development, +test, and production. + +Note that many of the variables are optional, depending on your particular configuration. The most commonly used +variables are the following: + +- `baseURL`: the base URL of your Egeria OMAG Server Platform, including the 'https://' prefix +- `user`: the user name of the user carrying out operations within the Egeria OMAG Server Platform +- `server`: the name of the server within the Platform in which to carry out operations +- `cohort`: the name of the cohort with which the server should interact +- `kafkaep`: the Apache Kafka endpoint (hostname:port) to use for Egeria's event bus + +[Learn more about the HTTP Client](https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html#composing-http-requests). + + +---- +License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), +Copyright Contributors to the Egeria project. \ No newline at end of file diff --git a/open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.env.json b/open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.env.json new file mode 100755 index 00000000000..25760115b30 --- /dev/null +++ b/open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.env.json @@ -0,0 +1,76 @@ +{ + "Egeria": { + "access_service": "stewardship-action", + "adminUserId": "garygeeke", + "assetGUID": "an asset guid", + "assetType": "an asset type", + "baseURL": "https://localhost:9443", + "cohort": "myCohort", + "connectionName": "aConnection", + "connectionProfileClassName": "aConnectionProfileClassName", + "guid": "a guid", + "intDaemon": "an integration daemon", + "kafkaep": "localhost:9092", + "max_page_size": "100", + "mc_name": "myMetadataCollection", + "mdrServer": "a metadata repository server", + "name": "a name", + "organization_name": "myOrg", + "password": "a password", + "user": "erinoverview", + "search-criteria": "some search criteria", + "server": "myserver", + "server-user": "myserverUserId", + "server-password": "myserverPassword", + "igc_host": "ibm-infosvr", + "igc_port": "9445", + "igc_user": "isadmin", + "igc_password": "isadmin", + "igc_kafka": "ibm-infosvr:59092", + "callerId": "aCaller", + "classificationName": "aClassification", + "databaseGUID": "a-databaseGUID", + "databaseSchemaGUID": "a-databaseSchemaGUID", + "databaseTableGUID": "a-databaseTableGUID", + "elementGUID": "an-element GUID", + "externalSourceGUID": "an external source guid", + "externalSourceName": "an external source name", + "glossaryCategoryGUID": "a glossary category GUID", + "glossaryGUID": "a glossary guid", + "glossaryTermGUID": "a term guid", + "glossaryTermRevisionLogGUID": "a revision guid", + "limit": "a limit", + "parentElementGUID": "a parent element guid", + "parentElementTypeName": "a parent element type", + "reportGUID": "a report guid", + "relationshipType": "a relationship type", + "schemaTypeGUID": "a schema type guid", + "serviceURLName": "a service URL Name", + "templateGUID": "a template guid", + "tutPlatformURLroot": "URL root for test platform", + "tutServer": "server for test", + "type": "a type", + "typeName": "name of type", + "useExternalSourceProvenance": "use External", + "validValueSetGUID": "a valid value set guid", + "validValueGUID": "a valid value guid" + }, + "atlasConfig": { + "atlasGlossary": "a-glossary", + "atlasHost": "https://localhost", + "atlasKafka": "localhost:9026", + "atlasPassword": "admin", + "atlasPort": "21000", + "atlas_sub_category": "an atlas sub-category", + "atlas_term": "an atlas term", + "atlas_top_category": "an atlas top category", + "atlasUser": "admin" + }, + "glossaryEnv": { + "baseURL": "https://localhost:9443", + "mdrServer": "a metadata repository server", + "server": "myserver", + "viewServer": "a view server", + "user": "erinoverview" + } +} \ No newline at end of file diff --git a/open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.private.env.json b/open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.private.env.json new file mode 100644 index 00000000000..f266822afd3 --- /dev/null +++ b/open-metadata-distribution/omag-server-platform/docs/http-client-collections/http-client.private.env.json @@ -0,0 +1,9 @@ +{ + "my-private-config": { + "adminUserId": "garygeeke", + "assetGUID": "an asset guid", + "assetType": "an asset type", + "baseURL": "https://localhost:9443", + "cohort": "myCohort" + } +} \ No newline at end of file diff --git a/open-metadata-implementation/access-services/asset-consumer/Egeria-asset-consumer-omas.http b/open-metadata-implementation/access-services/asset-consumer/Egeria-asset-consumer-omas.http new file mode 100644 index 00000000000..819f3f9f5c3 --- /dev/null +++ b/open-metadata-implementation/access-services/asset-consumer/Egeria-asset-consumer-omas.http @@ -0,0 +1,325 @@ +# Egeria-asset-consumer-omas + +### +# @name getConnectionByGUID +# Return the requested connection. +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-consumer/connected-asset/users/{{user}}/connections/{{guid}} + +### +# @name getOutTopicConnection +# Return the connection object for connecting to the Asset Consumer's OMAS's out topic. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}//topics/out-topic-connection/{{callerId}} + +### +# @name getConnectionByName +# Return the requested connection. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/connections/by-name/{{connectionName}} + +### +# @name getAssetForConnectionGUID +# Return the Asset linked to the identified connection. +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-consumer/connected-asset/users/{{user}}/assets/by-connection/{{guid}} + +### +# @name getAssetForConnectionName +# Return the Asset linked to the identified connection. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/by-connection-name/{{connectionName}} + +### +# @name getConnectionForAssetGUID +# Return the Connection attached to the Asset identified by the GUID. +# An exception occurs if there are more than one connections attached to the asset that the user is able to access. +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-consumer/connected-asset/users/{{user}}/assets/{{assetGUID}}/connection + +### +# @name getConnectedAssetSummary +# Return the Asset identified by the GUID and the attached Connection GUID +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-consumer/connected-asset/users/{{user}}/assets/{{assetGUID}}/via-connection/{{guid}} + +### +# @name getAssetByGUID +# Return the Asset identified by the GUID. +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-consumer/connected-asset/users/{{user}}/assets/{{assetGUID}} + +### +# @name getAssetsByMeaning +# Return the Asset linked to the identified connection. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/by-meaning/{{guid}} + +### +# @name getAssetsByTag +# Return the Asset linked to the identified connection. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/by-tag/{{guid}} + +### +# @name getAssetsByName +# Return the Asset identified by the GUID and the attached Connection GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/by-name? + startFrom=0& + pageSize=50 +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "DropFoot" +} + +### +# @name findAssets +# Return the Asset identified by the GUID and the attached Connection GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/by-search-string? + startFrom=0& + pageSize=50 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*." +} + +### +# @name addCommentToAsset +# Adds a comment directly to an asset +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/comments +Content-Type: application/json + +{ + "class" : "CommentRequestBody", + "isPublic" : "true", + "commentType" : "STANDARD_COMMENT", + "commentText" : "This is the comment on the asset" +} + +### +# @name updateCommentOnAsset +# Adds a comment directly to an asset +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/comments/{{guid}}/update +Content-Type: application/json + +{ + "class" : "CommentRequestBody", + "isPublic" : "true", + "commentType" : "STANDARD_COMMENT", + "commentText" : "This is the comment on the asset" +} + +### +# @name removeCommentFromAsset +# Adds a comment directly to an asset +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/comments/{{guid}}/delete +Content-Type: application/json + +### +# @name addCommentReply +# Adds a reply to a comment +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/comments/{{guid}}/replies +Content-Type: application/json + +{ + "class" : "CommentRequestBody", + "isPublic" : "true", + "commentType" : "ANSWER", + "commentText" : "This is the response to your comment" +} + +### +# @name addRatingToAsset +# Adds a rating and optional review to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/ratings +Content-Type: application/json + +{ + "class" : "RatingRequestBody", + "isPublic" : "true", + "starRating" : "ONE_STAR", + "review" : "This is the optional review text." +} + +### +# @name removeRatingFromAsset +# Adds a rating and optional review to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/ratings/delete +Content-Type: application/json + +### +# @name addLikeToAsset +# Adds a "like" to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/likes +Content-Type: application/json + +{ + "class" : "FeedbackRequestBody", + "isPublic" : "true" +} + +### +# @name removeLikeFromAsset +# Adds a "like" to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/likes/delete +Content-Type: application/json + +### +# @name addTagToAsset +# Links a tag to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/tags/{{guid}} +Content-Type: application/json + +{ + "class" : "FeedbackRequestBody", + "isPublic" : "true" +} + +### +# @name removeTagFromAsset +# Links a tag to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/tags/{{guid}}/delete +Content-Type: application/json + +### +# @name addTagToElement +# Links a tag to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/elements/{{elementGUID}}/tags/{{guid}} +Content-Type: application/json + +{ + "class" : "FeedbackRequestBody", + "isPublic" : "true" +} + +### +# @name removeTagFromElement +# Links a tag to an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/elements/{{elementGUID}}/tags/{{guid}}/delete +Content-Type: application/json + +### +# @name createTag +# Creates a new informal tag and returns the unique identifier for it. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags +Content-Type: application/json + +{ + "class" : "TagRequestBody", + "isPrivateTag" : "true", + "name" : "clinical-measurements", + "description" : "Data collected from patients, medical staff and equipment that measure an aspect of the treatment." +} + +### +# @name updateTag +# Updates the description of an existing tag (either private or public). +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/{{guid}}/update +Content-Type: application/json + +{ + "class" : "InformalTagProperties", + "tagDescription" : "Data collected from patients, medical staff and equipment that measure an aspect of the treatment and its potential effects." +} + +### +# @name deleteTag +# Removes a tag an all of its links to assets and other items. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/{{guid}}/delete +Content-Type: application/json + +{ + "class" : "NullRequestBody" +} + +### +# @name getTag +# Return the tag for the supplied unique identifier (guid). +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/{{guid}} +Content-Type: application/json + +### +# @name getTagsByName +# Return the list of tags matching the supplied name. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/by-name? + startFrom=0& + pageSize=50 +Content-Type: application/json + +clinical-measurements + +### +# @name getMyTagsByName +# Return the list of tags matching the supplied name. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/private/by-name? + startFrom=0& + pageSize=50 +Content-Type: application/json + +clinical-measurements + +### +# @name findTags +# Return the Asset identified by the GUID and the attached Connection GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/by-search-string? + startFrom=0& + pageSize=50 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*." +} + +### +# @name findMyTags +# Return the Asset identified by the GUID and the attached Connection GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/tags/private/by-search-string? + startFrom=0& + pageSize=50 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*." +} + +### +# @name getMeaningByGUID +# Return the Asset identified by the GUID. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumerusers/{{user}}/meanings/{{guid}} + +### +# @name getMeaningByName +# Return the Asset identified by the GUID and the attached Connection GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/meanings/by-name? + startFrom=0& + pageSize=50 +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "DropFoot" +} + +### +# @name findMeanings +# Return the Asset identified by the GUID and the attached Connection GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/meanings/by-search-string? + startFrom=0& + pageSize=50 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*." +} + +### +# @name addAuditLogMessageForAsset +# Adds an audit log message about an asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/{{assetGUID}}/log-records +Content-Type: application/json + +{ + "class" : "LogRecordRequestBody", + "connectorInstanceId" : "iiiiii", + "connectionName" : "nnnnn", + "connectorType" : "ttttt", + "contextId" : "cccccc", + "message" : "This is the log message text." +} \ No newline at end of file diff --git a/open-metadata-implementation/access-services/asset-manager/Egeria-asset-manager-omas.http b/open-metadata-implementation/access-services/asset-manager/Egeria-asset-manager-omas.http new file mode 100644 index 00000000000..4e32cbccdfe --- /dev/null +++ b/open-metadata-implementation/access-services/asset-manager/Egeria-asset-manager-omas.http @@ -0,0 +1,859 @@ +# Egeria-asset-manager-omas + +### +# group: Asset Managers +# @name Create an element to describe the Asset Manager +# Create a SoftwareServerCapability entity to represent the Asset Manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/asset-managers +Content-Type: application/json + +{ + "class" : "AssetManagerProperties", + "qualifiedName" : "{{externalSourceName}}" +} + +### +# group: Asset Managers +# @name Retrieve the GUID for the Asset Manager based on its name +# This call retrieves the asset manager's GUID. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/asset-managers/by-name/{{externalSourceName}} + +### +# group: External Identifiers +# @name Add an external identifier to an element +# Create an association between an existing open metadata element and an external identifier that comes from a specific asset manager +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/asset-managers/elements/{{typeName}}/{{guid}}/external-identifiers/add +Content-Type: application/json + +{ + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } +} + +### +# group: External Identifiers +# @name Update an external identifier attached to an element +# Update the properties for an external identifier that comes from a specific asset manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/asset-managers/elements/{{typeName}}/{{guid}}/external-identifiers/update +Content-Type: application/json + +{ + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } +} + +### +# group: External Identifiers +# @name Remove an external identifier attached to an element +# Remove an external identifier that comes from a specific asset manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/asset-managers/elements/{{typeName}}/{{guid}}/external-identifiers/remove +Content-Type: application/json + +{ + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } +} + +### +# group: External Identifiers +# @name Get metadata elements linked to an external identifier +# Retrieve all of the metadata elements associated with an external identifier that comes from a specific asset manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/asset-managers/external-identifiers/open-metadata-elements? + startFrom=0& + pageSize=100 +Content-Type: application/json + +{ + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "externalIdentifier" : "Unique key for element from external asset manager" +} + +### +# group: Data Assets +# @name Create a Data Set +# Create a data asset. This could be a data set (such as a database schema or information view) or an API. +# Save the guid returned into the dataAssetGUID variable. +# Link to asset types: [https://egeria-project.org/concepts/asset/#open-metadata-types](https://egeria-project.org/concepts/asset/#open-metadata-types) +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/data-assets? + assetManagerIsHome=false +Content-Type: application/json + +{ + "class" : "DataAssetRequestBody", + "elementProperties" : + { + "class" : "DataAssetProperties", + "typeName" : "DataSet", + "qualifiedName" : "unique name of the asset from an open metadata perspective - required field", + "technicalName" : "name used by technology", + "technicalDescription" : "description extracted from technology", + "displayName" : "display name for business users", + "summary" : "short description for business users", + "description" : "full description for business users", + "abbreviation" : "abbreviation used by the business", + "usage" : "use of this asset by the org", + "isReferenceAsset" : false, + "additionalProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + } + } +} + +### +# group: Data Assets +# @name Create an External Data Asset +# Create a data asset. This could be a data set (such as a database schema or information view) or an API. There is an additional variation for data stores that allows a number of additional properties. +# If assetManagerIsHome is true, the assetManagerGUID must be set in the request body. +# Link to asset types: [https://egeria-project.org/concepts/asset/#open-metadata-types](https://egeria-project.org/concepts/asset/#open-metadata-types) +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/data-assets? + assetManagerIsHome={{useExternalSourceProvenance}} +Content-Type: application/json + +{ + "class" : "DataAssetRequestBody", + "metadataCorrelationProperties" : { + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } + }, + "elementProperties" : + { + "class" : "DataAssetProperties", + "typeName" : "asset type name goes here - (default is Asset)", + "qualifiedName" : "unique name of the asset from an open metadata perspective - required field", + "technicalName" : "name used by technology", + "technicalDescription" : "description extracted from technology", + "displayName" : "display name for business users", + "summary" : "short description for business users", + "description" : "full description for business users", + "abbreviation" : "abbreviation used by the business", + "usage" : "use of this asset by the org", + "isReferenceAsset" : false, + "additionalProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + } + } +} + +### +# group: Data Assets +# @name Create an external Data Store +# Create a data store asset. This is a specialization of the data asset and includes some additional properties about the physical storage it uses. +# If assetManagerIsHome is true, the assetManagerGUID must be set in the request body. +# Link to asset types: https://egeria-project.org/concepts/asset/#open-metadata-types +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/data-assets? + assetManagerIsHome={{useExternalSourceProvenance}} +Content-Type: application/json + +{ + "class" : "DataAssetRequestBody", + "metadataCorrelationProperties" : { + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } + }, + "elementProperties" : + { + "class" : "DataStoreProperties", + "typeName" : "asset type name goes here - (default is Asset)", + "qualifiedName" : "unique name of the asset from an open metadata perspective - required field", + "technicalName" : "name used by technology", + "technicalDescription" : "description extracted from technology", + "displayName" : "display name for business users", + "summary" : "short description for business users", + "description" : "full description for business users", + "abbreviation" : "abbreviation used by the business", + "usage" : "use of this asset by the org", + "isReferenceAsset" : false, + "pathName" : "path to store", + "createTime" : "date/time", + "modifiedTime" : "date/time", + "encodingType" : "Details of encoding used in store", + "encodingLanguage" : "Natural language used for text strings", + "encodingDescription" : "Description of anything a user needs to know about the encoding", + "encodingProperties" : { + "encodingProperty1" : "propertyValue1", + "encodingProperty2" : "propertyValue2" + }, + "additionalProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + } + } +} + +### +# group: Schema +# @name Create a Schema Type +# Create a schema type. This is typically the root of the schema that is attached to an Data Asset, Port or Process. +# The typeName for this root schema type should be compatible to the type of asset it belongs to. +# If assetManagerIsHome is true, the assetManagerGUID must be set in the request body. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/schema-types? + assetManagerIsHome={{useExternalSourceProvenance}} +Content-Type: application/json + +{ + "class" : "SchemaTypeRequestBody", + "metadataCorrelationProperties" : { + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } + }, + "elementProperties" : + { + "class" : "SchemaTypeProperties", + "typeName" : "schema type name goes here - (default is SchemaType)", + "qualifiedName" : "unique name of the schema type from an open metadata perspective - required field", + "technicalName" : "name used by technology", + "technicalDescription" : "description extracted from technology", + "displayName" : "display name for business users", + "summary" : "short description for business users", + "description" : "full description for business users", + "abbreviation" : "abbreviation used by the business", + "usage" : "use of this asset by the org", + "isDeprecated" : false, + "versionNumber" : "name of the version eg 3.1", + "author" : "name", + "encodingStandard" : "special encoding used for the data structured by this schema element", + "namespace" : "namespace name", + "formula" : "formula if derived", + "queries" : [{ + "class" : "QueryTargetProperties", + "queryId" : "identifier used in the formula", + "query" : "query to retrieve values from source", + "queryTargetGUID" : "unique identifier of the asset called by for the query" + }], + "additionalProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + } + } +} + +### +# group: Schema +# @name Link Schema Type to Data Asset, Port or Process +# Link a schema type to an Data Asset, Port or Process. +# The typeName for this root schema type should be compatible to the type of asset it belongs to. +# If assetManagerIsHome is true, the assetManagerGUID must be set in the request body. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/parents/{{parentElementGUID}}/{{parentElementTypeName}}/schema-types/{{guid}}? + assetManagerIsHome={{useExternalSourceProvenance}} +Content-Type: application/json + +{ + "class" : "AssetManagerIdentifiersRequestBody", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}" +} + +### +# group: Schema +# @name Remove Schema Type from Data Asset, Port or Process +# Link a schema type to an Data Asset, Port or Process. +# The typeName for this root schema type should be compatible to the type of asset it belongs to. +# If assetManagerIsHome is true, the assetManagerGUID must be set in the request body. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/parents/{{parentElementGUID}}/{{parentElementTypeName}}/schema-types/{{guid}}/remove? + assetManagerIsHome={{useExternalSourceProvenance}} +Content-Type: application/json + +{ + "class" : "AssetManagerIdentifiersRequestBody", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}" +} + +### +# group: Schema +# @name Create a Schema Attribute +# Create a schema attribute and link it to a parent schema element. This is typically the root of the schema that is attached to a Data Asset, Port or Process or a parent schema attribute. +# If assetManagerIsHome is true, the assetManagerGUID must be set in the request body. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/schema-elements/{{parentSchemaElementGUID}}/schema-attributes? + assetManagerIsHome={{useExternalSourceProvenance}} +Content-Type: application/json + +{ + "class" : "SchemaAttributeRequestBody", + "metadataCorrelationProperties" : { + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}", + "synchronizationDirection" : "BOTH_DIRECTIONS", + "synchronizationDescription" : "Description of ", + "externalIdentifier" : "Unique key for element from external asset manager", + "externalIdentifierName" : "Name used to describe the unique key in external asset manager", + "externalIdentifierUsage" : "How should the external identifier be used?", + "externalIdentifierSource" : "{{externalSourceName}}", + "keyPattern" : "LOCAL_KEY", + "mappingProperties" : { + "mappingPropertyName1" : "propertyValue1", + "mappingPropertyName2" : "propertyValue2" + } + }, + "elementProperties" : + { + "class" : "SchemaAttributeProperties", + "typeName" : "schema attribute name goes here - (default is SchemaType)", + "qualifiedName" : "unique name of the schema attribute from an open metadata perspective - required field", + "technicalName" : "name used by technology", + "technicalDescription" : "description extracted from technology", + "displayName" : "display name for business users", + "summary" : "short description for business users", + "description" : "full description for business users", + "abbreviation" : "abbreviation used by the business", + "usage" : "use of this asset by the org", + "isDeprecated" : false, + "elementPosition" : 0, + "minCardinality" : 0, + "maxCardinality" : 0, + "allowsDuplicateValues" : false, + "orderedValues" : false, + "defaultValueOverride" : "", + "sortOrder" : "UNSORTED", + "minimumLength" : 0, + "length" : 0, + "precision" : 0, + "isNullable" : false, + "nativeJavaClass" : "classname", + "aliases" : [ "alias1" , "alias2"], + "schemaType" : { + "class" : "SchemaTypeProperties", + "typeName" : "schema type name goes here - (default is SchemaType)", + "qualifiedName" : "unique name of the schema type from an open metadata perspective - required field", + "technicalName" : "name used by technology", + "technicalDescription" : "description extracted from technology", + "displayName" : "display name for business users", + "summary" : "short description for business users", + "description" : "full description for business users", + "abbreviation" : "abbreviation used by the business", + "usage" : "use of this asset by the org", + "isDeprecated" : false, + "versionNumber" : "name of the version eg 3.1", + "author" : "name", + "encodingStandard" : "special encoding used for the data structured by this schema element", + "namespace" : "namespace name", + "dataType" : "data type used in the data source", + "defaultValue" : "default value of the data", + "formula" : "formula if derived", + "queries" : [{ + "class" : "QueryTargetProperties", + "queryId" : "identifier used in the formula", + "query" : "query to retrieve values from source", + "queryTargetGUID" : "unique identifier of the asset called by for the query" + }], + "additionalProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + }}, + "additionalProperties" : { + "propertyName1" : "propertyValue1", + "propertyName2" : "propertyValue2" + } + } +} + +### +# group: Linking Data Assets to Glossary Terms +# @name Link a data asset to a glossary term +# This links the term to the data asset. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/elements/{{assetGUID}}/semantic-assignment/terms/{{glossaryTermGUID}} +Content-Type: application/json + +{ + "class" : "RelationshipRequestBody", + "properties" : { + "class" : "SemanticAssignmentProperties", + "status" : "VALIDATED" + } +} + +### +# group: Linking Data Assets to Glossary Terms +# @name Retrieve the data assets associated with a glossary term +# This retrieves all of the data assets linked to the glossary term. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-consumer/users/{{user}}/assets/by-meaning/{{glossaryTermGUID}}? + startFrom=0& + pageSize=0 + +### +# group: Glossaries +# @name Create a glossary +# Create a SoftwareServerCapability entity to represent the Asset Manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries +Content-Type: application/json + +{ + "class" : "ReferenceableRequestBody", + "elementProperties" : + { + "class" : "GlossaryProperties", + "qualifiedName" : "MyGlossary", + "displayName" : "My Glossary", + "description" : "This is an example glossary" + } +} + +### +# group: Glossaries +# @name Retrieve a glossary by GUID +# This call retrieves the asset manager's GUID. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/retrieve +Content-Type: application/json + +{ + "class" : "AssetManagerIdentifiersRequestBody", + "assetManagerGUID" : "{{externalSourceGUID}}", + "assetManagerName" : "{{externalSourceName}}" +} + +### +# group: Glossaries +# @name Retrieve a glossary By Name +# This call retrieves the details of the Abu Dhabi glossary and checks the adGlossaryGUID is set up properly. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/by-name +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "Glossary: Abu Dhabi Glossary" +} + +### +# group: Glossaries +# @name Find all glossaries +# This call retrieves the details of the Abu Dhabi glossary and checks the adGlossaryGUID is set up properly. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/by-search-string? + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*" +} + +### +# group: Glossaries +# @name Delete a glossary +# Remove a glossary from the repository. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/remove +Content-Type: application/json + +{ + "class" : "MetadataCorrelationProperties", + "assetManagerGUID" : "{{assetManagerGUID}}", + "assetManagerName" : "{{assetManagerName}}", + "externalIdentifier" : "extGlossary", + "keyPattern" : "LOCAL_KEY" +} + +### +# group: Glossaries +# @name Create a category +# Save the returned guid in the domain1GUID variable. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/categories +Content-Type: application/json + +{ + "class" : "ReferenceableRequestBody", + "elementProperties" : + { + "class" : "GlossaryCategoryProperties", + "qualifiedName" : "GlossaryCategory: myCategory1", + "displayName" : "MyCategory 1", + "description" : "This is category 1 for my glossary." + } +} + +### +# group: Glossaries +# @name Retrieve ALL the categories for my glossary +# This call retrieves the details of the Abu Dhabi glossary and checks the adGlossaryGUID is set up properly. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/categories/retrieve? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Create a controlled glossary term in a glossary +# Add the returned guid as orgGlossaryTerm1GUID variable. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/terms/new-controlled +Content-Type: application/json + +{ + "class" : "ReferenceableRequestBody", + "elementProperties" : + { + "class" : "GlossaryTermProperties", + "qualifiedName" : "GlossaryTerm: term name : {{$isoTimestamp}}", + "displayName" : "term name", + "summary" : "This is the short description.", + "description" : "This is the long description of the term.", + "abbreviation" : "GT", + "examples" : "Add examples and descriptions here.", + "usage" : "This is how the concept described by the glossary term is used.", + "publishVersionIdentifier" : "V1.0", + "additionalProperties" : + { + "propertyName1" : "xxxx", + "propertyName2" : "xxxx" + } + }, + "initialStatus" : "DRAFT" +} + +### +# group: Glossaries +# @name Create a copy of a glossary term +# Add the returned guid as adGlossaryTerm1GUID variable. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/terms/from-template/{{glossaryTermGUID}} +Content-Type: application/json + +{ + "class" : "GlossaryTemplateRequestBody", + "elementProperties" : + { + "class" : "TemplateProperties", + "qualifiedName" : "GlossaryTerm: term name : {{$isoTimestamp}}", + "displayName" : "term name", + "versionIdentifier" : "V1.0" + }, + "glossaryTermStatus" : "PROPOSED" +} + +### +# group: Glossaries +# @name Add the data field values classification to the glossary term +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/is-data-field +Content-Type: application/json + +{ + "class" : "ClassificationRequestBody", + "properties" : + { + "class" : "DataFieldValuesProperties", + "defaultValue" : "Add default value here", + "sampleValues" : [ "Sample Value 1", "Sample Value 2"], + "dataPattern" : ["add data pattern here"], + "namePattern" : ["add column pattern here"] + } +} + +### +# group: Glossaries +# @name Add the confidentiality classification to the glossary term +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/elements/{{glossaryTermGUID}}/confidentiality +Content-Type: application/json + +{ + "class" : "ClassificationRequestBody", + "properties" : + { + "class" : "GovernanceClassificationProperties", + "levelIdentifier" : 1 + } +} + +### +# group: Glossaries +# @name Add the subject area classification to the glossary term +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/elements/{{glossaryTermGUID}}/subject-area-member +Content-Type: application/json + +{ + "class" : "ClassificationRequestBody", + "properties" : + { + "class" : "SubjectAreaMemberProperties", + "subjectAreaName" : "Healthcare" + } +} + +### +# group: Glossaries +# @name Update a glossary term in a glossary +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/update? + isMergeUpdate=true +Content-Type: application/json + +{ + "class" : "ReferenceableRequestBody", + "elementProperties" : + { + "class" : "GlossaryTermProperties", + "description" : "This is the long description of the term. And this is some more text." + }, + "updateDescription" : "Final updates based on in-house review comments." +} + +### +# group: Glossaries +# @name Update a glossary term's version identfier +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/update? + isMergeUpdate=true +Content-Type: application/json + +{ + "class" : "ReferenceableRequestBody", + "elementProperties" : + { + "class" : "GlossaryTermProperties", + "publishVersionIdentifier" : "V1.1" + } +} + +### +# group: Glossaries +# @name Add a glossary term to a cateogry +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/categories/{{glossaryCategoryGUID}}/terms/{{glossaryTermGUID}} +Content-Type: application/json + +{ + "class" : "RelationshipRequestBody", + "properties" : { + "class" : "GlossaryTermCategorization" + } +} + +### +# group: Glossaries +# @name Remove a glossary term from a category +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/categories/{{glossaryCategoryGUID}}/terms/{{glossaryTermGUID}}/remove +Content-Type: application/json + +### +# group: Glossaries +# @name Change the status of a glossary term in a glossary +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/status +Content-Type: application/json + +{ + "class" : "GlossaryTermStatusRequestBody", + "glossaryTermStatus" : "ACTIVE" +} + +### +# group: Glossaries +# @name Undo an update to the glossary term +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/undo +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve ALL the glossary terms in a glossary +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/{{glossaryGUID}}/terms/retrieve? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve ALL the glossary terms in a category +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/categories/{{glossaryCategoryGUID}}/terms/retrieve? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve a glossary term 's relationships +# This call retrieves details of the glossary terms linked to this glossary term. Notice the original org 1 glossary term is linked via the "SourcedFrom" relationship.. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/related-terms? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve the DRAFT glossary terms from a glossary +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/by-search-string? + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class" : "GlossarySearchStringRequestBody", + "searchString" : ".*", + "glossaryGUID" : "{{glossaryGUID}}", + "limitResultsByStatus" : ["DRAFT"] +} + +### +# group: Glossaries +# @name Retrieve the ACTIVE and PREPARED glossary terms from a glossary +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/by-search-string? + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class" : "GlossarySearchStringRequestBody", + "searchString" : ".*", + "glossaryGUID" : "{{glossaryGUID}}", + "limitResultsByStatus" : ["ACTIVE", "PREPARED"] +} + +### +# group: Glossaries +# @name Retrieve a glossary term by GUID +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/retrieve +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve the versions of the glossary term +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/history? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve the revision log for a glossary term +# Add the returned guid as orgGlossaryTerm1_RevisionLogGUID variable. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/elements/{{glossaryTermGUID}}/note-logs/retrieve? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Retrieve the revision history for a glossary term +# This revision history is created automatically. The text is supplied on the update request. If no text is supplied, the value "None" is show. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/note-logs/{{glossaryTermRevisionLogGUID}}/notes/retrieve? + startFrom=0& + pageSize=0 +Content-Type: application/json + +### +# group: Glossaries +# @name Search for term by version identifier +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/asset-manager/open-metadata-store/users/{{user}}/metadata-elements/by-search-specification? + startFrom=0& + pageSize=0& + forLineage=false& + forDuplicateProcessing=false& + effectiveTime=0 +Content-Type: application/json + +{ + "class" : "FindRequestBody", + "metadataElementTypeName" : "GlossaryTerm", + "searchProperties" : { + "class" : "SearchProperties", + "conditions" : [{ + "class" : "PropertyCondition", + "property" : "publishVersionIdentifier", + "operator" : "EQ", + "value" : { + "class" : "PrimitiveTypePropertyValue", + "primitiveTypeCategory" : "OM_PRIMITIVE_TYPE_STRING", + "primitiveValue" : "V1.0", + "typeName" : "string" + } + }], + "matchCriteria" : "ALL" + } +} + +### +# group: Glossaries +# @name Delete a. glossary term +# This call retrieves the details of the Abu Dhabi glossary and checks the adGlossaryGUID is set up properly. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/glossaries/terms/{{glossaryTermGUID}}/remove +Content-Type: application/json + +### +# group: Processes +# @name Create Process +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-manager/users/{{user}}/processes? + assetManagerIsHome={{useExternalSourceProvenance}}& + initialStatus=ACTIVE +Content-Type: application/json + +{ + "class" : "ProcessRequestBody", + "elementProperties" : + { + "class" : "ProcessProperties", + "qualifiedName" : "fred" + } +} + +### +# group: Connector Types +# @name Update a connector type +GET \ No newline at end of file diff --git a/open-metadata-implementation/access-services/asset-owner/Egeria-asset-owner-omas.http b/open-metadata-implementation/access-services/asset-owner/Egeria-asset-owner-omas.http new file mode 100644 index 00000000000..15689d700c8 --- /dev/null +++ b/open-metadata-implementation/access-services/asset-owner/Egeria-asset-owner-omas.http @@ -0,0 +1,160 @@ +# Egeria-asset-owner-omas + +### +# @name Get names of the subtypes of Asset +# Asset is the top level type definition for an asset. The type system also defines many more specialized types for Asset. This requests lists the names of all of these specialized types found in the open metadata ecosystem that this instance of the Asset Owner OMAS is connected to. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/sub-types + +### +# @name Get details of the subtypes of Asset +# Asset is the top level type definition for an asset. The type system also defines many more specialized types for Asset. This requests lists the details of all of these specialized types found in the open metadata ecosystem that this instance of the Asset Owner OMAS is connected to. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/sub-types/descriptions + +### +# @name Create a CSV Asset without schema +# Add an asset definition for a CSV file +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/data-files/csv +Content-Type: application/json + +{ + "class" : "NewCSVFileAssetRequestBody", + "displayName" : "My CSV File", + "description" : "This is a test CSV file description added with Postman.", + "fullPath" : "home/my-file.csv" +} + +### +# @name Get Assets by name +# Return a list of assets with the requested name. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/by-name? + startFrom=0& + pageSize=10 +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "DropFoot" +} + +### +# @name Find Assets +# Return a list of assets with the requested search string in their name, qualified name or description. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/by-search-string? + startFrom=0& + pageSize=10 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*." +} + +### +# @name Create a CSV file with schema +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/data-files/csv +Content-Type: application/json + +{ + "class": "NewCSVFileAssetRequestBody", + "displayName" : "AIS data for January 2015 zone 1", + "description": "TBA .", + "fullPath": "file://Users/davidradley/testplatforms/usaf/files/AIS_2015_01_Zone06.csv", + "columnHeaders": ["MMSI", "BaseDateTime", "LAT", "LON", "SOG", "COG", "Heading", "VesselName", "IMO", "CallSign", "VesselType", "Status", "Length", "Width", "Draft", "Cargo"] +} + +### +# @name Get Asset Summary +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/{{assetGUID}} + +### +# @name Get Asset's Connection +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-owner/connected-asset/users/{{user}}/assets/{{assetGUID}}/connection + +### +# @name Get Schema Attributes +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-owner/connected-asset/users/{{user}}/assets/schemas/{{guid}}/schema-attributes? + elementStart=0& + maxElements=100 + +### +# @name Create Database Asset +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/Database +Content-Type: application/json + +{ +"class":"AssetProperties", +"qualifiedName": "EIN124", +"displayName": "Employee 1", +"description": "To Create First Employee Asset", +"extendedProperties": { +"type":"Oracle", +"deployedImplementationType":"On-Prem", +"databaseVersion":"19c" +} +} + +### +# @name Add Database SchemaType +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/{{assetGUID}}/schemas +Content-Type: application/json + +{ +"class" :"SchemaTypeProperties", +"versionNumber" : "v1.0", +"author":"Employee Dept", +"usage" : "Employee DB Schema", +"encodingStandard":"utf8", +"namespace" : "Employee Repository", +"displayName" : "Schema for Employee DB", +"description" : "Employee Repository Employee Details ", +"qualifiedName" :"E_EmployeeSchema", +"typeName":"RelationalDBSchemaType" +} + +### +# @name Add Simple SchemaType +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/{{assetGUID}}/schemas +Content-Type: application/json + +{ + "class" :"PrimitiveSchemaTypeProperties", + "displayName" : "Schema for Simple Table", + "description" : "Employee Details ", + "qualifiedName" :"ListOfValues", + "typeName":"PrimitiveSchemaType" +} + +### +# @name Add SchemaAttribute +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/{{assetGUID}}/schemas/{{schemaTypeGUID}}/schema-attributes +Content-Type: application/json + +{ + "class":"SchemaAttributeProperties", + "allowsDuplicateValues":"false", + "orderedValues":"false", + "sortOrder": "ASCENDING", + "minimumLength": "5", + "length":"20", + "isNullable":"false", + "displayName":"Employee ID", + "description":"Unique ID Assigned to each Employee", + "qualifiedName":"EMP_DTLSx", + "typeName":"RelationalTable", + "additionalProperties": { + "encodingStandard":"base64", + "dataType":"string", + "type":"RelationalDBSchemaType" + }, + "attributeType": { + "class":"SchemaTypeProperties", + "usage" : "Table in DB Schema", + "displayName":"Employee Table", + "qualifiedName":"EMP_DTLSx", + "typeName":"RelationalTableType", + "additionalProperties": { + + "usedInSchemas":"1" + } + } +} \ No newline at end of file diff --git a/open-metadata-implementation/access-services/data-manager/Egeria-data-manager-omas.http b/open-metadata-implementation/access-services/data-manager/Egeria-data-manager-omas.http new file mode 100644 index 00000000000..8c545845fe6 --- /dev/null +++ b/open-metadata-implementation/access-services/data-manager/Egeria-data-manager-omas.http @@ -0,0 +1,186 @@ +# Egeria-data-manager-omas + +### +# @name Create a data file +# Create a SoftwareServerCapability entity to represent the Asset Manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/filesystems/data-files +Content-Type: application/json + +{ + "class" : "DataFileRequestBody", + "qualifiedName" : "/Users/mandy-chessell/CloudStation/Drive/Code/JavaTest/ruey.csv", + "displayName" : "freddy.csv" +} + +### +# @name Create a data file using a template +# Create a SoftwareServerCapability entity to represent the Asset Manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/filesystems/data-files/from-template/{{templateGUID}} +Content-Type: application/json + +{ + "class" : "TemplateRequestBody", + "qualifiedName" : "/Users/mandy-chessell/CloudStation/Drive/Code/JavaTest/copyCat23.csv", + "displayName" : "copyCat2.csv" +} + +### +# @name Create a database manager +# Create a SoftwareServerCapability entity to represent the Asset Manager. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/metadata-sources/database-managers +Content-Type: application/json + +{ + "class" : "DatabaseManagerRequestBody", + "qualifiedName" : "MyDBMS", + "displayName" : "MyDBMS" +} + +### +# @name Create a database +# Create an Asset entity to represent the Database. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/database-managers/{{externalSourceGUID}}/{{externalSourceName}}/databases +Content-Type: application/json + +{ + "class" : "DatabaseProperties", + "qualifiedName" : "MyDBMS.MyDB", + "displayName" : "MyDB", + "databaseImportedFrom" : "ImportSource" +} + +### +# @name Create a Topic +# Create an Asset entity to represent the Database. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/topics? + eventBrokerIsHome=false +Content-Type: application/json + +{ + "class" : "TopicRequestBody", + "qualifiedName" : "Test.MyTopic", + "displayName" : "MyTopic", + "description" : "This is a test topic" +} + +### +# @name Create an Event Type for a Topic +# Create an Asset entity to represent the Database. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/topics/c3a5ae62-4b79-49ee-bec2-8887c58d6dc6/event-types? + eventBrokerIsHome=false +Content-Type: application/json + +{ + "class" : "EventTypeRequestBody", + "qualifiedName" : "Test.MyTopic.EventType1", + "displayName" : "EventType1", + "description" : "This is a test event type for a topic" +} + +### +# @name Create a database schema +# Create a Schema Attribute entity to represent the Database Table. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/database-managers/{{externalSourceGUID}}/{{externalSourceName}}/databases/{{databaseGUID}}/schemas +Content-Type: application/json + +{ + "class" : "DatabaseSchemaProperties", + "qualifiedName" : "MyDBMS.MyDB.Schema1a", + "displayName" : "MyDB.Schema1", + "zoneMembership" : [ "quarantine" ], + "owner" : "dba", + "ownerCategory" : "USER_ID" +} + +### +# @name Create a database table +# Create a Schema Attribute entity to represent the Database Table. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/database-managers/{{externalSourceGUID}}/{{externalSourceName}}/databases/schemas/{{databaseSchemaGUID}}/tables +Content-Type: application/json + +{ + "class" : "DatabaseTableProperties", + "qualifiedName" : "MyDBMS.MyDB.Schema1.TableB", + "displayName" : "MyDB.Schema1.TableB" +} + +### +# @name Create a database column +# Create a Schema Attribute entity to represent the Database Table. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/database-managers/{{externalSourceGUID}}/{{externalSourceName}}/databases/schemas/tables/{{databaseTableGUID}}/columns +Content-Type: application/json + +{ + "class" : "DatabaseColumnProperties", + "qualifiedName" : "MyDBMS.MyDB.Schema1.TableA.Column2", + "displayName" : "MyDB.Schema1.TableA.Column2", + "dataType" : "string" +} + +### +# @name Get topics for event broker +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/event-brokers/db5ff6c5-476b-4aec-a373-0a63c6adea13/TopicMonitor/topics? + startFrom=0& + pageSize=1 + +### +# @name Find topics +GET {{baseURL}}/servers/cocoMDSx/open-metadata/access-services/data-manager/users/erinoverview/topics/by-search-string/.*.? + startFrom=0& + pageSize=100 + +### +# @name Find endpoints +POST {{baseURL}}/servers/{{mdrServer}}/open-metadata/access-services/data-manager/users/{{user}}/endpoints/by-search-string? + startFrom=0& + pageSize=100 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : ".*." +} + +### +# @name GetDatabaseByName +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/databases/by-name/MyDBMS.MyDB? + startFrom=0& + pageSize=1 + +### +# @name Get Event Type By Name +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/topics/event-types/by-name? + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "Test.MyTopic.EventType1" +} + +### +# @name Find Event Type +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/topics/event-types/by-search-string? + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class" : "SearchStringRequestBody", + "searchString" : "Test.MyTopic.EventType1" +} + +### +# @name GetDatabaseByGUID +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/databases/{{databaseGUID}} + +### +# @name GetDatabaseSchemaByGUID +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-manager/users/{{user}}/databases/schemas/{{databaseSchemaGUID}} + +### +# @name Get Nested Schema Attribute +GET {{baseURL}}/servers/cocoMDS2/open-metadata/access-services/data-manager/users/erinoverview/schema-elements/{{guid}}/nested-attributes? + startFrom=0& + pageSizee=0 \ No newline at end of file diff --git a/open-metadata-implementation/access-services/digital-architecture/Egeria-digital-architecture-omas.http b/open-metadata-implementation/access-services/digital-architecture/Egeria-digital-architecture-omas.http new file mode 100644 index 00000000000..38230aee3fd --- /dev/null +++ b/open-metadata-implementation/access-services/digital-architecture/Egeria-digital-architecture-omas.http @@ -0,0 +1,34 @@ +# Egeria-digital-architecture-omas + +### +# @name Create a valid value set +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/digital-architecture/users/{{user}}/valid-values/sets +Content-Type: application/json + +{ + "class" : "ValidValueProperties", + "qualifiedName" : "Coco.WorkLocationCodes", + "displayName" : "Work Location Codes" +} + +### +# @name Create a valid value definition +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/digital-architecture/users/{{user}}/valid-values/sets/{{validValueSetGUID}} +Content-Type: application/json + +{ + "class" : "ValidValueProperties", + "qualifiedName" : "Coco.WorkLocationCodes.LondonLocation", + "displayName" : "London Location Code" +} + +### +# @name Update a valid value definition or set +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/digital-architecture/users/{{user}}/valid-values/{{validValueGUID}}/update +Content-Type: application/json + +{ + "class" : "ValidValueProperties", + "qualifiedName" : "Coco.WorkLocationCodes.AmsterdamLocation", + "displayName" : "London Location Code" +} \ No newline at end of file diff --git a/open-metadata-implementation/access-services/discovery-engine/Egeria-discovery-engine-omas.http b/open-metadata-implementation/access-services/discovery-engine/Egeria-discovery-engine-omas.http new file mode 100644 index 00000000000..18943ad31ff --- /dev/null +++ b/open-metadata-implementation/access-services/discovery-engine/Egeria-discovery-engine-omas.http @@ -0,0 +1,28 @@ +# Egeria-discovery-engine-omas + +### +# @name Get Assets by Name +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/discovery-engine/users/{{user}}/assets/by-name? + startFrom=0& + pageSize=10 +Content-Type: text/plain + +"/Users/mandy-chessell/CloudStation/Drive/Code/ODPi/egeria-code/egeria/data/landing-area/hospitals/oak-dene/clinical-trials/drop-foot/week1.csv" + +### +# @name Get Assets by qualifiedName +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/discovery-engine/users/{{user}}/assets/by-qualified-name? + startFrom=0& + pageSize=10 +Content-Type: text/plain + +/Users/mandy-chessell/CloudStation/Drive/Code/ODPi/egeria-code/egeria/data/landing-area/hospitals/oak-dene/clinical-trials/drop-foot/week1.csv + +### +# @name Find Assets +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/discovery-engine/users/{{user}}/assets/by-search-string? + startFrom=0& + pageSize=10 +Content-Type: text/plain + +.*week5.* \ No newline at end of file diff --git a/open-metadata-implementation/access-services/governance-engine/Egeria-governance-engine-omas.http b/open-metadata-implementation/access-services/governance-engine/Egeria-governance-engine-omas.http new file mode 100644 index 00000000000..0a0fa58bd38 --- /dev/null +++ b/open-metadata-implementation/access-services/governance-engine/Egeria-governance-engine-omas.http @@ -0,0 +1,145 @@ +# Egeria-governance-engine-omas + +### +# @name Get Governance Action +# Asset is the top level type definition for an asset. The type system also defines many more specialized types for Asset. This requests lists the names of all of these specialized types found in the open metadata ecosystem that this instance of the Asset Owner OMAS is connected to. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-actions/{{guid}} + +### +# @name Get All Governance Actions +# Asset is the top level type definition for an asset. The type system also defines many more specialized types for Asset. This requests lists the names of all of these specialized types found in the open metadata ecosystem that this instance of the Asset Owner OMAS is connected to. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-actions? + startFrom=0& + pageSize=0 + +### +# @name Get Active Governance Actions +# Asset is the top level type definition for an asset. The type system also defines many more specialized types for Asset. This requests lists the names of all of these specialized types found in the open metadata ecosystem that this instance of the Asset Owner OMAS is connected to. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-actions/active? + startFrom=0& + pageSize=0 + +### +# @name Get Out Topic Connection +# Asset is the top level type definition for an asset. The type system also defines many more specialized types for Asset. This requests lists the details of all of these specialized types found in the open metadata ecosystem that this instance of the Asset Owner OMAS is connected to. +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/topics/out-topic-connection/1111 + +### +# @name Create a Governance Action Process +# Add an asset definition for a CSV file +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-action-processes/new +Content-Type: application/json + +{ + "class" : "NewGovernanceActionProcessRequestBody", + "processStatus" : "ACTIVE", + "properties" : { + "class" : "GovernanceActionProcessProperties", + "qualifiedName" : "Process1", + "displayName" : "Process1", + "description" : "description", + "technicalName" : "technicalName", + "technicalDescription" : "technicalDescription", + "owner" : "{{user}}", + "ownerCategory" : "USER_ID" + } +} + +### +# @name Get Governance Action Processes by name +# Return a list of assets with the requested name. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-action-processes/by-name? + startFrom=0& + pageSize=10 +Content-Type: application/json + +{ + "class": "NameRequestBody", + "name": "Process1" +} + +### +# @name Get Governance Action Processes by search string +# Return a list of assets with the requested search string in their name, qualified name or description. +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-action-processes/by-search-string? + startFrom=0& + pageSize=10 +Content-Type: application/json + +{ + "class": "SearchStringRequestBody", + "searchString": ".*P.*" +} + +### +# @name Get Governance Action Process By GUID +GET {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-action-processes/{{guid}} + +### +# @name Create a Governance Action Type +# Add an asset definition for a CSV file +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/governance-engine/users/{{user}}/governance-action-types/new +Content-Type: application/json + +{ + "class" : "GovernanceActionTypeProperties", + "qualifiedName" : "Step-1", + "displayName" : "Step-1", + "description" : "description", + "owner" : "{{user}}", + "ownerCategory" : "USER_ID" +} + +### +# @name Create a CSV file with schema +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/asset-owner/users/{{user}}/assets/data-files/csv +Content-Type: application/json + +{ + "class": "NewCSVFileAssetRequestBody", + "displayName": "AIS data for January 2015 zone 1", + "description": "TBA .", + "fullPath": "file://Users/davidradley/testplatforms/usaf/files/AIS_2015_01_Zone06.csv", + "columnHeaders": [ + "MMSI", + "BaseDateTime", + "LAT", + "LON", + "SOG", + "COG", + "Heading", + "VesselName", + "IMO", + "CallSign", + "VesselType", + "Status", + "Length", + "Width", + "Draft", + "Cargo" + ] +} + +### +# @name Get Schema Attributes +GET {{baseURL}}/servers/{{server}}/open-metadata/common-services/asset-owner/connected-asset/users/{{user}}/assets/schemas/{{guid}}/schema-attributes? + elementStart=0& + maxElements=100 + +### +# @name Link duplicates +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/data-engine/users/{{user}}/open-metadata-store/related-elements/link-as-peer-duplicate +Authorization: Basic demo demo +Content-Type: application/json + +{ + "class" : "DuplicatesRequestBody", + "metadataElement1GUID" : "{{guid1}}", + "metadataElement2GUID" : "{{guid2}}", + "statusIdentifier" : 1, + "steward" : "steward", + "stewardTypeName" : "stewardTypeName", + "stewardPropertyName" : "stewardPropertyName", + "source" : "source", + "notes" : "notes" +} \ No newline at end of file diff --git a/open-metadata-implementation/access-services/it-infrastructure/Egeria-it-infrastructure-omas.http b/open-metadata-implementation/access-services/it-infrastructure/Egeria-it-infrastructure-omas.http new file mode 100644 index 00000000000..f27da2aee5d --- /dev/null +++ b/open-metadata-implementation/access-services/it-infrastructure/Egeria-it-infrastructure-omas.http @@ -0,0 +1,87 @@ +# Egeria-it-infrastructure-omas + +### +# @name Create Software Server Capability +POST {{baseURL}}/servers/cocoMDS2/open-metadata/access-services/it-infrastructure/users/{{user}}/software-server-capabilities? + infrastructureManagerIsHome=false +Content-Type: application/json + +{ + "class" : "SoftwareServerCapabilityRequestBody", + "externalSourceGUID" : null, + "externalSourceName" : null, + "typeName" : null, + "classificationName" : null, + "qualifiedName" : "EngineHost2", + "effectiveFrom" : null, + "effectiveTo" : null, + "displayName" : "", + "description" : "", + "typeDescription" : null, + "version" : null, + "patchLevel" : null, + "source" : "postman", + "additionalProperties" : null, + "vendorProperties" : null, + "extendedProperties" : null +} + +### +# @name Create Software Server Capability From Template +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/it-infrastructure/users/{{user}}/software-server-capabilities/from-template/{{guid}}? + infrastructureManagerIsHome=false +Content-Type: application/json + +{ + "class" : "TemplateRequestBody", + "externalSourceGUID" : null, + "externalSourceName" : null, + "typeName" : "", + "classificationName" : null, + "qualifiedName" : "", + "displayName" : "", + "description" : "", + "networkAddress" : null +} + +### +# @name Create Server Asset Use +POST {{baseURL}}/servers/cocoMDS2/open-metadata/access-services/it-infrastructure/users/{{user}}/server-asset-uses/software-server-capabilities/4e0db25f-1997-442c-b85c-a16b53767f58/assets/4ce19d15-86cf-42b0-a0ef-15a15553947c? + infrastructureManagerIsHome=false +Content-Type: application/json + +{ + "class" : "ServerAssetUseRequestBody", + "externalSourceGUID" : null, + "externalSourceName" : null, + "properties" : + { + "class" : "ServerAssetUseProperties", + "useType" : "GOVERNS", + "description" : "Governer" + }, + "classificationName" : null, + "qualifiedName" : "", + "effectiveFrom" : null, + "effectiveTo" : null, + "displayName" : "", + "description" : "", + "typeDescription" : null, + "version" : null, + "patchLevel" : null, + "source" : "postman", + "additionalProperties" : null, + "vendorProperties" : null, + "extendedProperties" : null +} + +### +# @name Get Capabilities for Asset +POST {{baseURL}}/servers/cocoMDS2/open-metadata/access-services/it-infrastructure/users/{{user}}/server-asset-uses/assets/d606772c-197a-47a3-a533-56cd5ebfc63c? + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class" : "UseTypeRequestBody" +} \ No newline at end of file diff --git a/open-metadata-implementation/access-services/subject-area/Egeria-subject-area-omas.http b/open-metadata-implementation/access-services/subject-area/Egeria-subject-area-omas.http new file mode 100644 index 00000000000..799a7b1b928 --- /dev/null +++ b/open-metadata-implementation/access-services/subject-area/Egeria-subject-area-omas.http @@ -0,0 +1,43 @@ +# Egeria-subject-area-omas + +### +# @name Create Glossary +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/subject-area/users/{{user}}/glossaries +Content-Type: application/json + +{ + "class" : "Glossary", + "qualifiedName" : "glossaryTime", + "name" : "XY", + "effectiveFromTime" : 77777777, + "effectiveToTime" : 88888888 +} + +### +# @name Update Glossary +PUT {{baseURL}}/servers/{{server}}/open-metadata/access-services/subject-area/users/{{user}}/glossaries/{{glossaryGUID}} +Content-Type: application/json + +{ + "class" : "Glossary", + "qualifiedName" : "glossaryTime", + "name" : "XY", + "effectiveFromTime" : 77777777, + "effectiveToTime" : 9999999999 +} + +### +# @name Create Term +POST {{baseURL}}/servers/{{server}}/open-metadata/access-services/subject-area/users/{{user}}/terms +Content-Type: application/json + +{ + "class" : "Term", + "qualifiedName" : "termXXXX2", + "name" : "X", + "glossary" : + { + "class" : "GlossarySummary", + "guid" : "01723297-dfc0-4ca6-a81b-29e6e385252e" + } +} \ No newline at end of file diff --git a/open-metadata-implementation/admin-services/Egeria-admin-services-platform-configuration.http b/open-metadata-implementation/admin-services/Egeria-admin-services-platform-configuration.http new file mode 100644 index 00000000000..2f14b61836e --- /dev/null +++ b/open-metadata-implementation/admin-services/Egeria-admin-services-platform-configuration.http @@ -0,0 +1,31 @@ +# Egeria-admin-services-platform-configuration + +### +# @name Get Configuration Document Store Connection +# Query the Connection object used to create the connector to the configuration document. If the result is null it means that the server is using the default connector that stores the configuration document as a file. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/stores/connection + +### +# @name Set Configuration Document Store Connection +# Overrides the default connector that stores the configuration documents in a plain text file. +# The request body is a Connection object that is used to create and configure the connector. +# This call is preconfigured to switch the store to using the encrypted configuration document store. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/stores/connection +Content-Type: application/json + +{ + "class": "Connection", + "connectorType": { + "class": "ConnectorType", + "connectorProviderClassName": "org.odpi.openmetadata.adapters.adminservices.configurationstore.file.FileBasedServerConfigStoreProvider" + }, + "endpoint": { + "class": "Endpoint", + "address": "data/servers/{0}/config/{0}.config" + } +} + +### +# @name Delete Configuration Document Store Connection +# Remove the currently configured Configuration Document Store Connection. The default Configuration Document Store will be used for future configuration. This stores the configuration in a file in plain text. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/stores/connection \ No newline at end of file diff --git a/open-metadata-implementation/admin-services/Egeria-admin-services-server-configuration.http b/open-metadata-implementation/admin-services/Egeria-admin-services-server-configuration.http new file mode 100644 index 00000000000..31e44299ec4 --- /dev/null +++ b/open-metadata-implementation/admin-services/Egeria-admin-services-server-configuration.http @@ -0,0 +1,1010 @@ +# Egeria-admin-services-server-configuration + +### +# group: Working with a server's complete configuration document +# @name Get server configuration document +# Retrieve the configuration document for the named server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/configuration + +### +# group: Working with a server's complete configuration document +# @name Get server type classification +# Retrieve the classification that describes, based on the configuration values in the configuration document, what type of OMAG Server this is. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-type-classification + +### +# group: Working with a server's complete configuration document +# @name Set server configuration document +# Set the configuration document passed in the request body for the named server. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/configuration +Content-Type: application/json + +{ + "class": "OMAGServerConfigResponse", + "relatedHTTPCode": 200, + "omagserverConfig": { + "class": "OMAGServerConfig", + "versionId": "V2.0", + "localServerId": "1083dba3-bbf8-44f0-a16f-ff842a9a03f0", + "localServerName": "{{server}}", + "localServerType": "Open Metadata and Governance Server", + "localServerURL": "https://localhost:9443", + "localServerUserId": "OMAGServer", + "maxPageSize": 1000 + } +} + +### +# group: Working with a server's complete configuration document +# @name Delete server configuration document +# Removes the configuration document for the named server. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/configuration + +### +# group: Working with a server's complete configuration document +# @name Deploy server configuration document +# Send the configuration document for the named server to the named OMAG Server Platform. This is used to push the server configuraiton to the platform where it will run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/configuration/deploy +Content-Type: application/json + +{ + "class": "URLRequestBody", + "urlRoot": "{{baseURL}}" +} + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set local server type name +# Set up a descriptive type name for your server. This is used in messages and events - you can choose any value you like. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-type? + typeName=OMAG Server + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set organization name +# Set up the name of the organization that owns this server. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/organization-name? + name={{organization_name}} + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set local server user Id +# Set up the user Id that this server should use on open metadata requests when it is processing events (and consequently there is no end user id to use). +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-user-id? + id={{server-user}} + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set local server user password +# Set up the password that this server should use on open metadata requests when it is processing events (and consequently there is no end user id to use). +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-user-password? + password={{server-password}} + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set max page size +# Set up the maximum number of results that can be returned on an open metadata request. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/max-page-size? + limit={{max_page_size}} + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Get Server Security Connection +# Retrieve the Connection object used to create the connector that verifies the authorization of users calling the platform and admin services. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/security/connection + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set Server Security Connection +# Set up the connection for the server security connector. This connector verifies the authorization of any user calling the server's services. This call is preconfigured to set up the sample server security connector. This allows only the Coco Pharmaceuticals employees to issue calls to the server. +# Once you have set up this security connector in your OMAG Server, the default user `me` in the `Egeria` environment will no longer be authorized to issue REST calls to the server (try some of the requests that were "working" earlier to verify this). To switch the user to one that the OMAG Server will accept, click on the eye symbol (top right), then click on `edit` and change the current value of `user` to `erinoverview`. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/security/connection +Content-Type: application/json + +{ + "class": "Connection", + "connectorType": { + "class": "ConnectorType", + "connectorProviderClassName": "org.odpi.openmetadata.metadatasecurity.samples.CocoPharmaServerSecurityProvider" + } +} + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Delete Server Security Connection +# Remove the currently configured Server Security Connection. This means that no security checks will be performed by the OMAG Server when it is processing inbound REST API calls. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/security/connection + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Get configured audit log destinations +# Retrieve the list of audit log destinations configured for a server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set default audit log destination +# Set up the server so that it is using the default audit log setting which is to output to the console only. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations/default + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Add file audit log destination +# Add the file audit log destination to the server's configuration document. The list of severities that are sent to this destination are passed on the request body. An empty list means all severities. +# The server may have multiple audit log destinations configured. Typically each destination has a different subset of the severities configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations/files +Content-Type: application/json + +[] + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Add file audit log destination (for Error and Exception) +# Add the file audit log destination to the server's configuration document. The list of severities that are sent to this destination are passed on the request body. An empty list means all severities. +# The server may have multiple audit log destinations configured. Typically each destination has a different subset of the severities configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/atlas-exchange/audit-log-destinations/files +Content-Type: application/json + +["Error", "Exception"] + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Add topic audit log destination +# Add the event topic audit log destination to the server's configuration document. The list of severities that are sent to this destination are passed on the request body. An empty list means all severities. +# The server may have multiple audit log destinations configured. Typically each destination has a different subset of the severities configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations/event-topic +Content-Type: application/json + +[] + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Add SLF4J audit log destination +# Add the event topic audit log destination to the server's configuration document. The list of severities that are sent to this destination are passed on the request body. An empty list means all severities. +# The server may have multiple audit log destinations configured. Typically each destination has a different subset of the severities configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations/event-topic +Content-Type: application/json + +[] + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Add console audit log destination +# Add the console audit log destination to the server's configuration document. The list of severities that are sent to this destination are passed on the request body. An empty list means all severities. +# The server may have multiple audit log destinations configured. Typically each destination has a different subset of the severities configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations/console +Content-Type: application/json + +[] + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Add audit log destination connection +# Add a connection for an audit log destination to the server's configuration document. This connection typically creates an audit log destination connector written by a thrid party. +# The server may have multiple audit log destinations configured. Typically each destination has a different subset of the severities configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations/connection + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Delete configured audit log destinations +# Delete the list of audit log destinations configured for a server. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/audit-log-destinations + +### +# group: Configuring OMAG Servers / Basic configuration for all types of OMAG Servers +# @name Set up event bus to send/receive events to other technologies Copy +# Set up the common properties needed to call your event bus. The eventBusParams variable support the setting of the topic root and connector provider class name (if not using Kafka). Additional properties are passed in the request body. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/event-bus +Content-Type: application/json + +{ +"producer": +{ +"bootstrap.servers":"{{kafkaep}}" +}, +"consumer": +{ +"bootstrap.servers":"{{kafkaep}}" +} +} + +### +# group: Configuring OMAG Servers / Configuring defaults for the Event Bus +# @name Get event bus defaults +# Retrieve the common properties needed to call your event bus. +# These defaults will be incorporated into any future configuration that includes an event bus topic. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/event-bus +Content-Type: application/json + +{ + "producer": { + "bootstrap.servers": "{{kafkaep}}" + }, + "consumer":{ + "bootstrap.servers": "{{kafkaep}}" + } +} + +### +# group: Configuring OMAG Servers / Configuring defaults for the Event Bus +# @name Set up event bus defaults +# Set up the common properties needed to call your event bus. These properties are passed in the request body. +# This request just sets up the defaults that will be incorporated into any future configuration that includes an event bus topic. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/event-bus +Content-Type: application/json + +{ + "producer": { + "bootstrap.servers": "{{kafkaep}}" + }, + "consumer":{ + "bootstrap.servers": "{{kafkaep}}" + } +} + +### +# group: Configuring OMAG Servers / Configuring defaults for the Event Bus +# @name Delete event bus defaults +# Remove the event bus details from the server's configuration document. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/event-bus +Content-Type: application/json + +{ + "producer": { + "bootstrap.servers": "{{kafkaep}}" + }, + "consumer":{ + "bootstrap.servers": "{{kafkaep}}" + } +} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuring defaults for the Cohort Members +# @name Set local server URL root +# Update the URL root that other servers that are also members any open metadata repository cohort that the server belongs to should use to make calls to this local server. This value is sent when the server registers with the cohort. If the server is not going to join a cohort then this value is not needed. +# This value should be set to the URL of the OMAG Server Platform where the server will run. If the server is deployed to many servers in an HA cluster configuration, it should be set to a DNS name that will disperse requests across the server cluster. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/server-url-root-for-caller +Content-Type: application/json + +{ + "class": "URLRequestBody", + "urlRoot": "{{baseURL}}" +} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Enable the in-memory repository +# Set up the local reposiotry to use the in-memory implementation. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/mode/in-memory-repository + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Enable the read-only repository +# Set up the local reposiotry to use the in-memory implementation. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/mode/read-only-repository + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Enable the graph repository +# Set the local reposiotry to use the JanusGraph implementation. It will store your repository in a file under the home of your OMAG Server Platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/mode/local-graph-repository + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Enable the graph repository with hbase and elastic search +# Set the local reposiotry to use the JanusGraph implementation. It will store your repository in a file under the home of your OMAG Server Platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/mode/local-graph-repository +Content-Type: application/json + +{ + "storage.backend" : "hbase", + "storage.hostname" : "wolfsonnet.me", + "storage.port" : "2181", + "storage.hbase.table" : "DMPSERVER1", + "index.search.backend" : "elasticsearch", + "index.search.hostname" : "wolfsonnet.me", + "index.search.elasticsearch.client-only" : "true", + "cache.db-cache" : "true", + "cache.db-cache-clean-wait" : "20", + "cache.db-cache-time" : "180000", + "cache.db-cache-size" : "0.5" +} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Get local metadata collection id +# Return the unique identifer for the collection of metadata that originates from this metadata server. This identifier is automatically generated when the metadata server is first configured. Its value should not change over the lifetime of the server event if the configuration is rebuilt. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/metadata-collection-id + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Set local metadata collection name +# Set up a human friendly name for the collection of metadata that originates from this metadata server. This name is used in events and messages to help people diagnose problems in the cohort. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/metadata-collection-name/{{mc_name}} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Set local metadata collection id +# Set up a human friendly name for the collection of metadata that originates from this metadata server. This name is used in events and messages to help people diagnose problems in the cohort. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/metadata-collection-id +Content-Type: text/plain + +New metadata collection id + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Remove local repository +# Remove all configuration for the local repository. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Reset Remote Cohort URL +# This request is used to change the URL broadcast to other members of the cohort. This URL is used by these other members to call this server as part of a federated query. +# This call is used when: +# - moving the server to a different platform +# +# - correcting the URL when it has been incorrectly configured. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/configuration/remote-repository-connector-url +Content-Type: application/json + +{ + "class": "URLRequestBody", + "urlRoot": "{{baseURL}}/servers/{{server}}" +} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Add open metadata archive to server start +# Add the file name for an open Metadata Archive that should be loaded each time the server starts. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/open-metadata-archives/file +Content-Type: text/plain + +content-packs/OpenConnectorsArchive.omarchive + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points / Configuration for Metadata Servers +# @name Remove open metadata archive start up list +# Add the file name for an open Metadata Archive that should be loaded each time the server starts. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/open-metadata-archives + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Get names of configured access services +# This call is used return the list of Open Metadata Access Services that are configured for this server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Get the configuration for all of the access services +# Retrieve the configuration information for all of the Open Metadata Access Services (OMASs) configured for this server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/configuration + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Get the configuration for a specific access service +# Retrieve the configuration information for a specific Open Metadata Access Services (OMAS) configured for this server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/{{accessService}} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Enable all of the access services +# Turn on all of the registered Open Metadata Access Services (OMAS) +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Enable all of the access services with no topics +# Turn on all of the registered Open Metadata Access Services (OMAS) +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/no-topics + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Set up the access services using the supplied configuration +# Turn on all of the registered Open Metadata Access Services (OMAS) +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/configuration + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Set access service In Topic name +# Set up the name of the topic that the requested access service should use for listening to inbound events. +# The topic name is specified in the request body. Click on the request body tab to change it. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/{{accessService}}/topic-names/in-topic +Content-Type: text/plain + +cp.stewardshipaction.intopic + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Set access service Out Topic name +# Set up the name of the topic that the requested access service should use for sending outbound events. +# The topic name is specified in the request body. Click on the request body tab to change it. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/{{accessService}}/topic-names/out-topic +Content-Type: text/plain + +cp.stewardshipaction.outtopic + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Get all configured access services topics +# Return the list of configured access services for this server and for each entry, list the names of the topics configured for the specific access service (if any). +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/topic-names + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Get configured topics for a specific access service +# Return the list of topics configured for an access service. If there are no topics configured then no list is returned. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/{{accessService}}/topic-names + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Remove all of the access services +# Remove all of the Open Metadata Access Services from this server's configuration. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Metadata Access Points +# @name Remove a specific access service +# Remove the requested Open Metadata Access Service from this server's configuration. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/access-services/{{accessService}} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Repository Proxies +# @name Set repository proxy's local repository connection +# Query Current Configuration +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/mode/repository-proxy/details? + connectorProvider=org.odpi.openmetadata.adapters.igc.repositoryconnector.IGCOMRSRepositoryConnectorProvider + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Repository Proxies +# @name Set repository event mapper +# Set the event mapper for the local repository. This translates proprietary events onto OMRS calls. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository/event-mapper-details? + connectorProvider=org.odpi.openmetadata.adapters.igc.eventmapper.IGCEventMapperProvider& + eventSource=infosphereEvent + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members / Configuration for Repository Proxies +# @name Remove repository proxy's repository configuration +# Remove all configuration for the proxy repository. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/local-repository + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Add cohort configuration +# Request registration to an Open Metadata Repository Cohort. Make sure you have set up the event bus configuration defaults before making this request. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Add cohort configuration with topic structure +# Request registration to an Open Metadata Repository Cohort. Make sure you have set up the event bus configuration defaults before making this request. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/topic-structure/DEDICATED_TOPICS + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Get cohort configuration +# Retrieve the configuration used to connect to an Open Metadata Repository Cohort. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}} + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Override single cohort topic name +# Set up the name of the topic that the server sould use to connect to the name Open Metadata Repository Cohort. Obviously this value needs to be the same in all members of the cohort in order for them to be able to communicate. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/topic-name-override +Content-Type: text/plain + +cp.cohort.cocoCohort + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Override registration cohort topic name +# Set up the name of the topic that the server sould use to connect to the name Open Metadata Repository Cohort. Obviously this value needs to be the same in all members of the cohort in order for them to be able to communicate. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/topic-name-override/registration +Content-Type: text/plain + +cp.cohort.{{cohort}}.registration + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Override types cohort topic name +# Set up the name of the topic that the server sould use to connect to the name Open Metadata Repository Cohort. Obviously this value needs to be the same in all members of the cohort in order for them to be able to communicate. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/topic-name-override/types +Content-Type: text/plain + +cp.cohort.{{cohort}}.types + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Override instances cohort topic name +# Set up the name of the topic that the server sould use to connect to the name Open Metadata Repository Cohort. Obviously this value needs to be the same in all members of the cohort in order for them to be able to communicate. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/topic-name-override/instances +Content-Type: text/plain + +cp.cohort.{{cohort}}.instances + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Get single cohort topic name +# Return the name of the topic used by the requested cohort. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/topic-name + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Get dedicated cohort topic names +# Return the name of the topic used by the requested cohort. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}}/dedicated-topic-names + +### +# group: Configuring OMAG Servers / Configuration for Cohort Members +# @name Disable access to a cohort +# Unregister server from an Opern Metadata Repository Cohort. +DELETE {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/cohorts/{{cohort}} + +### +# group: Configuring OMAG Servers / Configuration for Engine Host Servers +# @name Get names of configured engine services +# This call is used return the list of Open Metadata Engine Services that are configured for this server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/engine-services + +### +# group: Configuring OMAG Servers / Configuration for Engine Host Servers +# @name Get configuration of configured engine services +# This call is used return the configuration values of the Open Metadata Engine Services configured for the server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/engine-services + +### +# group: Configuring OMAG Servers / Configuration for Engine Host Servers +# @name Get configuration of specific configured engine service +# This call is used return the configuration values of the specific Open Metadata Engine Service configured for the server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/engine-services/asset-analysis/configuration + +### +# group: Configuring OMAG Servers / Configuration for Engine Host Servers +# @name Configure engine host server with engine service +# Add details of the metadata server to call and the engines to run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/engine-services/asset-analysis +Content-Type: application/json + +{ + "class": "EngineServiceRequestBody", + "omagserverPlatformRootURL": "{{baseURL}}", + "omagserverName" : "myMetadataServer", + "engines" : [ { "engineName " : "engine1", "engineUserId" : "engine1UserId"}, + { "engineName " : "engine2", "engineUserId" : "engine2UserId"}] +} + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Get names of configured integration services +# This call is used return the list of Open Metadata Integration Services that are configured for this server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Get configuration of configured integration services +# This call is used return the configuration values of the Open Metadata Integration Services configured for the server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Get configuration of specific configured integration service +# This call is used return the configuration values of the specific Open Metadata Integration Service configured for the server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/engine-services/asset-analysis/configuration + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Configure the Topic integration service +# Add details of the metadata server to call and the connectors to run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services/topic-integrator +Content-Type: application/json + +{ + "class": "IntegrationServiceRequestBody", + "omagserverPlatformRootURL": "{{baseURL}}", + "omagserverName" : "{{mdrServerName}}", + "integrationConnectorConfigs" : [ + { + "class": "IntegrationConnectorConfig", + "connectorName" : "TopicMonitor", + "connectorUserId" : "monitorDL01npa", + "connection" : + { + "class" : "Connection", + "qualifiedName" : "TopicMonitorConnection", + "connectorType" : + { + "class" : "ConnectorType", + "connectorProviderClassName" : "org.odpi.openmetadata.adapters.connectors.integration.kafka.KafkaMonitorIntegrationProvider" + }, + "endpoint" : + { + "class" : "Endpoint", + "address" : "{{kafkaep}}" + } + }, + "metadataSourceQualifiedName" : "cocoKafkaBroker", + "refreshTimeInterval" : "60", + "usesBlockingCalls" : "false", + "permittedSynchronization" : "FROM_THIRD_PARTY" + } ] +} + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Configure the API integration service +# Add details of the metadata server to call and the connectors to run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services/api-integrator +Content-Type: application/json + +{ + "class": "IntegrationServiceRequestBody", + "omagserverPlatformRootURL": "{{baseURL}}", + "omagserverName" : "cocoMDSx", + "integrationConnectorConfigs" : [ + { + "class": "IntegrationConnectorConfig", + "connectorName" : "APIMonitor", + "connectorUserId" : "monitorDL01npa", + "connection" : + { + "class" : "Connection", + "qualifiedName" : "APIMonitorConnection", + "connectorType" : + { + "class" : "ConnectorType", + "connectorProviderClassName" : "org.odpi.openmetadata.adapters.connectors.integration.openapis.OpenAPIMonitorIntegrationProvider" + }, + "endpoint" : + { + "class" : "Endpoint", + "address" : "{{baseURL}}" + } + }, + "metadataSourceQualifiedName" : "cocoOMAGServerPlatform", + "refreshTimeInterval" : "60", + "usesBlockingCalls" : "false", + "permittedSynchronization" : "FROM_THIRD_PARTY" + } ] +} + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Configure the Files integration service +# Add details of the metadata server to call and the connectors to run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services/files-integrator +Content-Type: application/json + +{ + "class": "IntegrationServiceRequestBody", + "omagserverPlatformRootURL": "{{baseURL}}", + "omagserverName" : "cocoMDSx", + "integrationConnectorConfigs" : [ + { + "class": "IntegrationConnectorConfig", + "connectorName" : "FilesMonitor", + "connectorUserId" : "erinoverview", + "connection" : + { + "class" : "Connection", + "qualifiedName" : "FilesMonitorConnection", + "connectorType" : + { + "class" : "ConnectorType", + "connectorProviderClassName" : "org.odpi.openmetadata.adapters.connectors.integration.basicfiles.DataFilesMonitorIntegrationProvider" + }, + "endpoint" : + { + "class" : "Endpoint", + "address" : "sample-data" + } + }, + "metadataSourceQualifiedName" : "cocoDataLake", + "refreshTimeInterval" : "60", + "usesBlockingCalls" : "false", + "permittedSynchronization" : "FROM_THIRD_PARTY" + } ] +} + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Configure the Database integration service +# Add details of the metadata server to call and the connectors to run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services/database-integrator +Content-Type: application/json + +{ + "class": "IntegrationServiceRequestBody", + "omagserverPlatformRootURL": "{{baseURL}}", + "omagserverName" : "myMetadataServer", + "integrationConnectorConfigs" : [ + { + "class": "IntegrationConnectorConfig", + "connectorName" : "dbIntegrator", + "connectorUserId" : "dbIntegratornpa", + "connection" : + { + "class" : "Connection", + "connectorType" : + { + "class" : "ConnectorType", + "connectorProviderClassName" : "connector provider class name" + } + }, + "metadataSourceQualifiedName" : "myDBServer", + "refreshTimeInterval" : "60", + "usesBlockingCalls" : "false", + "permittedSynchronization" : "FROM_THIRD_PARTY" + } ] +} + +### +# group: Configuring OMAG Servers / Configuration for Integration Daemons +# @name Configure the Catalog integration service +# Add details of the metadata server to call and the connectors to run. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/integration-services/catalog-integrator +Content-Type: application/json + +{ + "class": "IntegrationServiceRequestBody", + "omagserverPlatformRootURL": "{{baseURL}}", + "omagserverName" : "{{mdrServerName}}", + "integrationConnectorConfigs" : [ + { + "class": "IntegrationConnectorConfig", + "connectorName" : "AtlasIntegrator", + "connectorUserId" : "atlasIntegratornpa", + "connection" : + { + "class" : "Connection", + "connectorType" : + { + "class" : "ConnectorType", + "connectorProviderClassName" : "org.odpi.openmetadata.adapters.connectors.integration.apacheatlas.ApacheAtlasIntegrationProvider" + }, + "endpoint" : + { + "class" : "Endpoint", + "address" : "{{atlas_host}}:{{atlas_port}}" + } + }, + "metadataSourceQualifiedName" : "ApacheAtlasDL01", + "refreshTimeInterval" : "5", + "usesBlockingCalls" : "false", + "permittedSynchronization" : "BOTH_DIRECTIONS" + } ] +} + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Configure the REX View Services +# Requests information about the author of the server platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/simpleview/view-services/rex +Content-Type: application/json + +{ + "class":"IntegrationViewServiceConfig", + "viewServiceAdminClass":"org.odpi.openmetadata.viewservices.rex.admin.RexViewAdmin", + "viewServiceFullName":"RepositoryExplorer", + "viewServiceOperationalStatus":"ENABLED", + "resourceEndpoints" : [ + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "Platform9443", + "platformRootURL" : "https://localhost:9443", + "description" : "Platform for event, data and API catalogs" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "Platform9444", + "platformRootURL" : "https://localhost:9444", + "description" : "Platform for governance catalog and view server" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "eventcatalog", + "serverName" : "eventcatalog", + "platformName" : "Platform9443", + "description" : "Simple Event Catalog" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "apicatalog", + "serverName" : "apicatalog", + "platformName" : "Platform9443", + "description" : "Simple API Catalog" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "datacatalog", + "serverName" : "datacatalog", + "platformName" : "Platform9443", + "description" : "Simple Data Catalog" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "governancecatalog", + "serverName" : "governancecatalog", + "platformName" : "Platform9444", + "description" : "Simple Governance Catalog" + } + ] +} + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Configure the TEX View Services +# Requests information about the author of the server platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/simpleview/view-services/tex +Content-Type: application/json + +{ + "class":"IntegrationViewServiceConfig", + "viewServiceAdminClass":"org.odpi.openmetadata.viewservices.rex.admin.TexViewAdmin", + "viewServiceFullName":"TypeExplorer", + "viewServiceOperationalStatus":"ENABLED", + "resourceEndpoints" : [ + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "Platform9443", + "platformRootURL" : "https://localhost:9443", + "description" : "Platform for event, data and API catalogs" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "Platform9444", + "platformRootURL" : "https://localhost:9444", + "description" : "Platform for governance catalog and view server" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "eventcatalog", + "serverName" : "eventcatalog", + "platformName" : "Platform9443", + "description" : "Simple Event Catalog" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "apicatalog", + "serverName" : "apicatalog", + "platformName" : "Platform9443", + "description" : "Simple API Catalog" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "datacatalog", + "serverName" : "datacatalog", + "platformName" : "Platform9443", + "description" : "Simple Data Catalog" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "governancecatalog", + "serverName" : "governancecatalog", + "platformName" : "Platform9444", + "description" : "Simple Governance Catalog" + } + ] +} + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Configure the Dino View Services +# Requests information about the author of the server platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/view-services/dino +Content-Type: application/json + +{ + "class":"IntegrationViewServiceConfig", + "viewServiceAdminClass":"org.odpi.openmetadata.viewservices.dino.admin.DinoViewAdmin", + "viewServiceFullName":"Dino", + "viewServiceOperationalStatus":"ENABLED", + "resourceEndpoints" : [ + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "myOMAGPlatform1", + "platformRootURL" : "myPlatformRootURL1", + "description" : "myOMAGPlatform1 description" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "myOMAGPlatform2", + "platformRootURL" : "myPlatformRootURL2", + "description" : "myOMAGPlatform2 description" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "myServerInstanceName1", + "serverName" : "myServerName1", + "platformName" : "myOMAGPlatform1", + "description" : "myServerName1 description " + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "myServerInstanceName2", + "serverName" : "myServerName2", + "platformName" : "myOMAGPlatform1", + "description" : "myServerName2 description " + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Server", + "serverInstanceName" : "myServerInstanceName3", + "serverName" : "myServerName3", + "platformName" : "myOMAGPlatform2", + "description" : "myServerName3 description " + } + ] +} + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Configure the Server Author View Services +# Requests information about the author of the server platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/view-services/server-author +Content-Type: application/json + +{ + "class":"IntegrationViewServiceConfig", + "viewServiceAdminClass":"org.odpi.openmetadata.viewservices.serverauthor.admin.ServerAuthorViewAdmin", + "viewFullServiceName":"ServerAuthor", + "viewServiceOperationalStatus":"ENABLED", + "omagserverPlatformRootURL":"myPlatformRootURL1", + "resourceEndpoints" : [ + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "myOMAGPlatform1", + "platformRootURL" : "myPlatformRootURL1", + "description" : "myOMAGPlatform1 description" + }, + { + "class" : "ResourceEndpointConfig", + "resourceCategory" : "Platform", + "platformName" : "myOMAGPlatform2", + "platformRootURL" : "myPlatformRootURL2", + "description" : "myOMAGPlatform2 description" + } + ] +} + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Configure the Glossary Author View services +# Requests information about the author of the server platform. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/view-services/glossary-author +Content-Type: application/json + + { + "class":"ViewServiceConfig", + "omagserverName":"myMetadataAccessPoint", + "omagserverPlatformRootURL":"myPlatformRootURL1" + } + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Get registered view services +# This call is used return a list of registered Open Metadata View Services for the platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/view-services + +### +# group: Configuring OMAG Servers / Configuring View Servers +# @name Get names of configured view services +# This call is used return the list of Open Metadata View Services that are configured for this server. +GET {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/servers/{{server}}/view-services \ No newline at end of file diff --git a/open-metadata-implementation/framework-services/gaf-metadata-management/Egeria-open-metadata-store.http b/open-metadata-implementation/framework-services/gaf-metadata-management/Egeria-open-metadata-store.http new file mode 100644 index 00000000000..bd74209cc27 --- /dev/null +++ b/open-metadata-implementation/framework-services/gaf-metadata-management/Egeria-open-metadata-store.http @@ -0,0 +1,153 @@ +# Egeria-open-metadata-store + +### +# group: Valid Metadata Values +# @name setUpValidMetadataValue +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/setup-value/projectType? + typeName=ProjectCharter +Content-Type: application/json + +{ + "class": "ValidMetadataValue", + "displayName": "Clinical Trial", + "description": "A controlled validation of the efficacy of a particular treatment with selected patients.", + "usage": "For projects that validate new treatment", + "scope": "Coco Pharmaceuticals research", + "preferredValue": "clinical-trial", + "isDeprecated": "false" +} + +### +# group: Valid Metadata Values +# @name clearValidMetadataValue +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/clear-value/projectType? + typeName=ProjectCharter +Content-Type: application/json + +{ + "class": "NullRequestBody" +} + +### +# group: Valid Metadata Values +# @name validateMetadataValue +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/validate-value/projectType? + actualValue=clinical-trial& + typeName=ProjectCharter + +### +# group: Valid Metadata Values +# @name getValidMetadataValue +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/get-value/projectType? + preferredValue=clinical-trial& + typeName=ProjectCharter + +### +# group: Valid Metadata Values +# @name setUpValidMetadataMapName +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/setup-map-name/additionalProperties? + typeName=ProjectCharter +Content-Type: application/json + +{ + "class": "ValidMetadataValue", + "displayName": "Expected Duration", + "description": "An estimate of the duration of the project.", + "usage": "Used to estimate the relative sizes of projects.", + "scope": "Coco Pharmaceuticals", + "preferredValue": "expectedDuration", + "isDeprecated": "false" +} + +### +# group: Valid Metadata Values +# @name clearValidMetadataMapName +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/clear-map-name/additionalProperties? + typeName=ProjectCharter +Content-Type: application/json + +{ + "class": "NullRequestBody" +} + +### +# group: Valid Metadata Values +# @name validateMetadataMapName +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/validate-map-name/additionalProperties? + actualValue=expectedDuration& + typeName=ProjectCharter + +### +# group: Valid Metadata Values +# @name getValidMetadataMapName +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/get-map-name/additionalProperties? + preferredValue=expectedDuration& + typeName=ProjectCharter + +### +# group: Valid Metadata Values +# @name setUpValidMetadataMapValue +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/setup-map-value/additionalProperties/expectedDuration? + typeName=ProjectCharter +Content-Type: application/json + +{ + "class": "ValidMetadataValue", + "displayName": "One month project", + "description": "A project that is expected to take about a month.", + "usage": "Used to estimate the relative sizes of projects.", + "scope": "Coco Pharmaceuticals", + "preferredValue": "1 month", + "isDeprecated": "false" +} + +### +# group: Valid Metadata Values +# @name clearValidMetadataMapValue +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/clear-map-value/additionalProperties/expectedDuration? + typeName=ProjectCharter +Content-Type: application/json + +{ + "class": "NullRequestBody" +} + +### +# group: Valid Metadata Values +# @name validateMetadataMapValue +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/validate-map-value/additionalProperties/expectedDuration? + actualValue=1 month& + typeName=ProjectCharter + +### +# group: Valid Metadata Values +# @name getValidMetadataMapValue +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/get-map-value/additionalProperties/expectedDuration? + preferredValue=1 month& + typeName=ProjectCharter + +### +# group: Valid Metadata Values +# @name getValidMetadataValues +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/valid-metadata-values/get-valid-metadata-values/projectType? + typeName=ProjectCharter& + startFrom=0& + pageSize=0 +Content-Type: application/json + +{ + "class": "ValidMetadataValue", + "displayName": "Clinical Trial", + "description": "A controlled validation of the efficacy of a particular treatment with selected patients.", + "usage": "For projects that validate new treatment", + "scope": "Coco Pharmaceuticals research", + "preferredValue": "clinical-trial", + "isDeprecated": "false" +} + +### +# @name getMetadataElement +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/open-metadata-store/users/{{user}}/metadata-elements/{{guid}}? + forLineage=false& + forDuplicateProcessing=false& + effectiveTime=0 \ No newline at end of file diff --git a/open-metadata-implementation/framework-services/ocf-metadata-management/Egeria-connected-asset-services.http b/open-metadata-implementation/framework-services/ocf-metadata-management/Egeria-connected-asset-services.http new file mode 100644 index 00000000000..3977333b7ff --- /dev/null +++ b/open-metadata-implementation/framework-services/ocf-metadata-management/Egeria-connected-asset-services.http @@ -0,0 +1,133 @@ +# Egeria-connected-asset-services + +### +# @name Get Connection By GUID +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/connections/{{guid}} + +### +# @name Get Connection By Name +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/connections/by-name/myConnection + +### +# @name Get Connection for Asset +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/connection + +### +# @name Get Asset for Connection +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/by-connection/{{guid}} + +### +# @name Get Connected Asset Summary +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/via-connection/{{guid}} + +### +# @name Get Asset Summary +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}} + +### +# @name Get Asset Certifications +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/certifications? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Comments +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/comments? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Comment Replies +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/comments/{{guid}}/replies? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Connections +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/connections? + elementStart=0& + maxElements=100 + +### +# @name Get Asset External Identifiers +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/external-identifiers? + elementStart=0& + maxElements=100 + +### +# @name Get Asset External References +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/external-references? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Informal Tags +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/informal-tags? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Licenses +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/licenses? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Likes +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/likes? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Known Locations +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/known-locations? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Note Logs +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/note-logs? + elementStart=0& + maxElements=100 + +### +# @name Get NoteLog Notes +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/note-logs/{{guid}}/notes? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Ratings +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/ratings? + elementStart=0& + maxElements=100 + +### +# @name Get Related Assets +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/related-assets? + elementStart=0& + maxElements=100 + +### +# @name Get Element More Information +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/referenceables/{{guid}}/more-information? + elementStart=0& + maxElements=100 + +### +# @name Get Asset Related Media References +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/{{assetGUID}}/related-media-references? + elementStart=0& + maxElements=100 + +### +# @name Get Schema Attributes +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/schemas/{{guid}}/schema-attributes? + elementStart=0& + maxElements=100 + +### +# @name Get API Operations +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{serviceURLName}}/connected-asset/users/{{user}}/assets/schemas/apis/{{guid}}/api-operations? + elementStart=0& + maxElements=100 \ No newline at end of file diff --git a/open-metadata-implementation/framework-services/oif-metadata-management/Egeria-open-integration-service.http b/open-metadata-implementation/framework-services/oif-metadata-management/Egeria-open-integration-service.http new file mode 100644 index 00000000000..994603bcf46 --- /dev/null +++ b/open-metadata-implementation/framework-services/oif-metadata-management/Egeria-open-integration-service.http @@ -0,0 +1,66 @@ +# Egeria-open-integration-service + +### +# @name getMetadataSourceGUID +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/metadata-sources/by-name +Content-Type: application/json + +{ + "class" : "NameRequestBody", + "name" : "{{metadataSourceQualifiedName}}" +} + +### +# @name createMetadataSource +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/metadata-sources/new +Content-Type: application/json + +{ + "class" : "MetadataSourceRequestBody", + "typeName" : "{{typeName}}", + "classificationName" : "{{classificationName}}", + "qualifiedName" : "{{metadataSourceQualifiedName}}" +} + +### +# @name publishIntegrationReport +POST {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/integration-reports/{{guid}}/new +Content-Type: application/json + +{ + "class" : "IntegrationReportProperties", + "serverName" : "{{server}}", + "connectorId" : "{{connectorId}}", + "connectorName" : "{{connectorName}}", + "refreshStartDate" : "{{$isoTimestamp}}", + "refreshCompletionDate" : "{{$isoTimestamp}}", + "createdElements" : ["guid1", "guid2", "guid3"], + "updatedElements" : ["guid4", "guid5"], + "deletedElements" : ["guid6"], + "additionalProperties" : { + "prop1" : "value 1", + "prop2" : "value 2" + } +} + +### +# @name getIntegrationReport +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/integration-reports/{{reportGUID}} + +### +# @name getIntegrationReportForElement +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/integration-reports/for-element/{{guid}}? + startingFrom=0& + maximumResults=0 + +### +# @name getIntegrationReports +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/integration-reports? + startingFrom=0& + maximumResults=0 + +### +# @name getCatalogTargets +GET {{baseURL}}/servers/{{server}}/open-metadata/framework-services/{{access_service}}/open-integration/users/{{user}}/integration-connectors/{{guid}}/catalog-targets? + startingFrom=0& + maximumResults=0 \ No newline at end of file diff --git a/open-metadata-implementation/platform-services/Egeria-platform-services.http b/open-metadata-implementation/platform-services/Egeria-platform-services.http new file mode 100644 index 00000000000..14a43fc0c87 --- /dev/null +++ b/open-metadata-implementation/platform-services/Egeria-platform-services.http @@ -0,0 +1,187 @@ +# Egeria-platform-services + +### +# @name Get OMAG Server Platform Origin +# Query the originator and version of this server platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/origin + +### +# @name Get Platform Security Connection +# Retrieve the Connection object used to create the connector that verifies the authorization of users calling the platform and admin services. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/platform/security/connection + +### +# @name Set Platform Security Connection +# Set up the connection for the platform security connector. This connector verifies the authorization of any user calling the platform or admin services. This call is preconfigured to set up the sample platform security connector. This allows only the Coco Pharmaceuticals IT administrator, `garygeeke`, to issue platform calls. +# Once you have set up this security connector in your OMAG Server Platform, the default user `me` in the `Egeria` environment will no longer be authorized to issue REST calls to the server (try some of the requests that were "working" earlier to verify this). To switch the user to one that the OMAG Server Platform will accept, click on the eye symbol (top right), then click on `edit` and change the current value of `user` to `garygeeke`. +POST {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/platform/security/connection +Content-Type: application/json + +{ + "class": "PlatformSecurityRequestBody", + "urlRoot": "{{baseURL}}", + "platformSecurityConnection" : { + "class": "Connection", + "connectorType": { + "class": "ConnectorType", + "connectorProviderClassName": "org.odpi.openmetadata.metadatasecurity.samples.CocoPharmaPlatformSecurityProvider" + } + } +} + +### +# @name Delete Platform Security Connection +# Remove the currently configured Platform Security Connection. This means that no security checks will be performed by the OMAG Server Platform. +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/platform/security/connection + +### +# @name Get registered access services +# Retrieve the list of Open Metadata Access Services (OMASs) that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/access-services + +### +# @name Get registered view services +# Retrieve the list of Open Metadata View Services (OMVSs) that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/view-services + +### +# @name Get registered integration services +# Retrieve the list of Open Metadata View Services (OMVSs) that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/integration-services + +### +# @name Get registered engine services +# Retrieve the list of Open Metadata View Services (OMVSs) that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/engine-services + +### +# @name Get governance services +# Retrieve the list of governance services that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/governance-services + +### +# @name Get common services +# Retrieve the list of common services that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services/common-services + +### +# @name Get all services +# Retrieve the list of services that are supported by this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/registered-services + +### +# @name Get all known servers +# Retrieve the list of servers that have run, are are still running on this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers + +### +# @name Query if a specific server is known +# Retrieve a boolean that indicates whether a specific servers is known to this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/is-known + +### +# @name Get all active servers +# Retrieve the list of servers that are are running on this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/active + +### +# @name Query the status of a specific server +# Retrieve the status of a specific server for this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/status + +### +# @name Start server - using stored configuration +# Activate a server on the OMAG Server Platform. Use the configuration document found in the configuration document store. +POST {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance + +### +# @name Start server - using supplied configuration +# Activate a server on the OMAG Server Platform. Use the configuration document passed on the request. This configuration document is saved to the configuration document store and then the server is started. +POST {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance +Content-Type: application/json + +{ + "class": "OMAGServerConfigResponse", + "relatedHTTPCode": 200, + "omagserverConfig": { + "class": "OMAGServerConfig", + "versionId": "V2.0", + "localServerId": "863ae16f-46eb-4f9a-a619-76917e8fa950", + "localServerName": "myserver", + "localServerType": "Open Metadata and Governance Server", + "localServerURL": "https://localhost:9443", + "localServerUserId": "OMAGServer", + "maxPageSize": 1000 + } +} + +### +# @name Get active server instance status +# Retrieve the configuration document used to start the named server. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance/status + +### +# @name Query the active services of a specific server +# Retrieve the list of services that have been requested inside of a specific server running on this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/services + +### +# @name Get active server configuration +# Retrieve the configuration document used to start the named server. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance/configuration + +### +# @name Load open metadata archive file +# Load a file that contains open metadata types and instances. +POST {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance/open-metadata-archives/file +Content-Type: text/plain + +content-packs/CocoComboArchive.json + +### +# @name Load open metadata archive connection +# Load a file that contains open metadata types and instances. +POST {{baseURL}}/open-metadata/admin-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance/open-metadata-archives/connection +Content-Type: text/plain + +{ + "class": "Connection", + "connectorType": { + "class": "ConnectorType", + "connectorProviderClassName": "class name of connector provider here" + }, + "endpoint" : { + "class" : "Endpoint", + "address" : "Add location of the archive here" + } +} + +### +# @name Query a connector +# Retrieve the list of services that have been requested inside of a specific server running on this OMAG Server Platform. +GET {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/connector-types/org.odpi.openmetadata.metadatasecurity.samples.CocoPharmaPlatformSecurityProvider + +### +# @name Shutdown server +# Stop the server running on the OMAG Server Platform. +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}}/instance + +### +# @name Shutdown and unregister server from cohorts +# Unregister server and remove its configuration +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/{{server}} + +### +# @name Shutdown all active servers +# Stop the server running on the OMAG Server Platform. +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers/instance + +### +# @name Shutdown and unregister all active servers +# Stop the server running on the OMAG Server Platform. +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/servers + +### +# @name Shutdown server platform +# Stop the server running on the OMAG Server Platform. +DELETE {{baseURL}}/open-metadata/platform-services/users/{{adminUserId}}/server-platform/instance \ No newline at end of file diff --git a/open-metadata-implementation/repository-services/Egeria-repository-services-audit-log.http b/open-metadata-implementation/repository-services/Egeria-repository-services-audit-log.http new file mode 100644 index 00000000000..77adf475829 --- /dev/null +++ b/open-metadata-implementation/repository-services/Egeria-repository-services-audit-log.http @@ -0,0 +1,11 @@ +# Egeria-repository-services-audit-log + +### +# @name Get supported audit log severities +# Return a list of the severities that are supported in this server. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/audit-log/severity-definitions + +### +# @name Get audit log report +# Return the status of the audit log service. This include dettails of the components and how much they are logging. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/audit-log/report \ No newline at end of file diff --git a/open-metadata-implementation/repository-services/Egeria-repository-services-local-repository.http b/open-metadata-implementation/repository-services/Egeria-repository-services-local-repository.http new file mode 100644 index 00000000000..c98e34261ac --- /dev/null +++ b/open-metadata-implementation/repository-services/Egeria-repository-services-local-repository.http @@ -0,0 +1,58 @@ +# Egeria-repository-services-local-repository + +### +# @name get metadata collection Id +GET http://localhost:8080/servers/cocoMDS1/open-metadata/repository-services/users/{{adminUserId}}/metadata-collection-id + +### +# @name Get types +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/types/all + +### +# @name Get Entity Detail +# The getEntityDetails requests returns a repository services instance of category **entity**. An entity describes a node in the graph of metadata. An asset is stored in the repository as an entity. This query is set up to retrieve one of the assets created in the main exercise. Notice that the entity includes information about the type of entity and the audit header information that shows the home repository. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/instances/entity/{{guid}} + +### +# @name Get Entity Detail (federated query) +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/enterprise/instances/entity/{{guid}} + +<> ./Get Entity.200.json +// http://localhost:8080/open-metadata/repository-services/users/julesk/instances/entity/fd7d41e7-70f5-42ec-86d3-88683e599494 + +### +# @name Get Relationship +# The getEntityDetails requests returns a repository services instance of category **entity**. An entity describes a node in the graph of metadata. An asset is stored in the repository as an entity. This query is set up to retrieve one of the assets created in the main exercise. Notice that the entity includes information about the type of entity and the audit header information that shows the home repository. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/instances/relationship/{{guid}} + +### +# @name Get Relationships For Entity (federated query) +# The getEntityDetails requests returns a repository services instance of category **entity**. An entity describes a node in the graph of metadata. An asset is stored in the repository as an entity. This query is set up to retrieve one of the assets created in the main exercise. Notice that the entity includes information about the type of entity and the audit header information that shows the home repository. +POST {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/enterprise/instances/entity/{{guid}}/relationships +Content-Type: application/json + +{ + "class" : "TypeLimitedFindRequest", + "offset" : 0, + "pageSize" : 0 +} + +### +# @name Get TypeDef By Name +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/types/typedef/name/Asset + +### +# @name Get AttributeTypeDef By Name +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/types/attribute-typedef/name/GovernanceActionStatus + +### +# @name Find Entities By Property Value +POST {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{user}}/instances/entities/by-property-value? + searchCriteria=.*cust.* +Content-Type: application/json + +{ + "class" : "EntityPropertyFindRequest", + "offset" : 0, + "pageSize" : 100 +} \ No newline at end of file diff --git a/open-metadata-implementation/repository-services/Egeria-repository-services-metadata-highway.http b/open-metadata-implementation/repository-services/Egeria-repository-services-metadata-highway.http new file mode 100644 index 00000000000..ad09e24d8b3 --- /dev/null +++ b/open-metadata-implementation/repository-services/Egeria-repository-services-metadata-highway.http @@ -0,0 +1,33 @@ +# Egeria-repository-services-metadata-highway + +### +# @name Get cohort details +# Get the details of cohorts that this server is connecting to. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/cohort-descriptions + +### +# @name Get local registration +# Get the details of the registration information that this server is sending to the cohorts it is registering with. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/local-registration + +### +# @name Get local registration with a specific cohort +# Get the details of the registration information that this server sent out to a specific cohort including the time stamp for this registration. This determines how long this server has been exchanging metadata with this cohort. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/cohorts/{{cohort}}/local-registration + +### +# @name Get remote registrations +# Get the details of the registration information that this server has received from remote members of a cohort. This determines the size of the cohort. +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/cohorts/{{cohort}}/remote-members + +### +# @name Connect to cohort +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/cohorts/{{cohort}}/connect + +### +# @name Disconnect From Cohort +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/cohorts/{{cohort}}/disconnect + +### +# @name Unregister from cohort +GET {{baseURL}}/servers/{{server}}/open-metadata/repository-services/users/{{adminUserId}}/metadata-highway/cohorts/{{cohort}}/unregister \ No newline at end of file diff --git a/open-metadata-resources/open-metadata-samples/postman-rest-samples/Egeria.postman_environment.json b/open-metadata-resources/open-metadata-samples/postman-rest-samples/Egeria.postman_environment.json deleted file mode 100644 index cfbf10c46bd..00000000000 --- a/open-metadata-resources/open-metadata-samples/postman-rest-samples/Egeria.postman_environment.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "id": "dd3b4324-25e8-4ae5-8118-b631147d4589", - "name": "Egeria", - "values": [ - { - "key": "baseURL", - "value": "https://localhost:9443", - "description": "The base URL of your Egeria OMAG Server Platform, including the 'https://' prefix", - "enabled": true - }, - { - "key": "user", - "value": "me", - "enabled": true - }, - { - "key": "server", - "value": "myserver", - "enabled": true - }, - { - "key": "server-user", - "value": "myserverUserId", - "enabled": true - }, - { - "key": "server-password", - "value": "myserverPassword", - "enabled": true - }, - { - "key": "cohort", - "value": "myCohort", - "enabled": true - }, - { - "key": "kafkaep", - "value": "localhost:9092", - "enabled": true - }, - { - "key": "igc_host", - "value": "ibm-infosvr", - "enabled": true - }, - { - "key": "igc_port", - "value": "9445", - "enabled": true - }, - { - "key": "igc_user", - "value": "isadmin", - "enabled": true - }, - { - "key": "igc_password", - "value": "isadmin", - "enabled": true - }, - { - "key": "igc_kafka", - "value": "ibm-infosvr:59092", - "enabled": true - }, - { - "key": "atlas_host", - "value": "apache-atlas", - "enabled": true - }, - { - "key": "atlas_port", - "value": "21000", - "enabled": true - }, - { - "key": "atlas_user", - "value": "admin", - "enabled": true - }, - { - "key": "atlas_password", - "value": "admin", - "enabled": true - }, - { - "key": "atlas_kafka", - "value": "localhost:9026", - "enabled": true - }, - { - "key": "max_page_size", - "value": "100", - "enabled": true - }, - { - "key": "access_service", - "value": "stewardship-action", - "enabled": true - }, - { - "key": "organization_name", - "value": "myOrg", - "enabled": true - }, - { - "key": "mc_name", - "value": "myMetadataCollection", - "enabled": true - } - ], - "_postman_variable_scope": "environment", - "_postman_exported_at": "2020-05-25T22:27:25.589Z", - "_postman_exported_using": "Postman/7.24.0" -} diff --git a/open-metadata-resources/open-metadata-samples/postman-rest-samples/README.md b/open-metadata-resources/open-metadata-samples/postman-rest-samples/README.md deleted file mode 100644 index b93f8094025..00000000000 --- a/open-metadata-resources/open-metadata-samples/postman-rest-samples/README.md +++ /dev/null @@ -1,98 +0,0 @@ - - - -# Sample Postman Scripts - -Postman is a useful tool for testing REST APIs. See [https://www.getpostman.com/](https://www.getpostman.com/) for more -information about Postman. - -It captures, stores and executes specific REST API calls so you do not have to keep typing the URL and parameters -each time you want to issue a request. - -## Sample Collections - -Collections help to group related REST API calls together. - -In order to run these, you should have a set of environment variables configured as detailed in the next section -("Environment variables"). - -Egeria by default uses https:// requests with a self-signed certificate. Any PostMan users therefore will need to -go into settings->general and turn off 'SSL certificate verification' or requests will fail. - -If interested, you can also [learn more about Postman Collections](https://learning.getpostman.com/docs/postman/collections/intro-to-collections/) -in general. - -### Egeria Core - -- [In-memory repository configuration and startup](https://raw.githubusercontent.com/odpi/egeria/main/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-InMemoryRepository.postman_collection.json) - -### [Egeria IBM Information Server Connectors](https://github.com/odpi/egeria-connector-ibm-information-server) - -#### Egeria IBM Information Governance Catalog Connector - -1. [Connector configuration and startup](https://raw.githubusercontent.com/odpi/egeria-connector-ibm-information-server/main/samples/Egeria-IBM-IGC-config.postman_collection.json) -1. [Sample read operations](https://raw.githubusercontent.com/odpi/egeria-connector-ibm-information-server/main/samples/Egeria-IBM-IGC-read.postman_collection.json) -1. Sample write operations - -To use the sample read operations, you will first need to load the -[Coco Pharmaceuticals](../../open-metadata-deployment/sample-data/coco-pharmaceuticals) -samples to your IBM Information Governance Catalog environment. - -#### Egeria IBM DataStage Connector - -- [Connector configuration and startup](https://raw.githubusercontent.com/odpi/egeria-connector-ibm-information-server/main/samples/Egeria-IBM-DataStage-config.postman_collection.json) - -The connector should automatically pickup and process any jobs already in your environment; however, -you can also load the -[Coco Pharmaceuticals](../../open-metadata-deployment/sample-data/coco-pharmaceuticals) -samples if you have an empty environment. - -### [Egeria Apache Atlas Connector](https://github.com/odpi/egeria-connector-apache-atlas) - -1. [Connector configuration and startup](https://raw.githubusercontent.com/odpi/egeria-connector-apache-atlas/main/samples/Egeria-Apache-Atlas-config.postman_collection.json) -1. [Sample read operations](https://raw.githubusercontent.com/odpi/egeria-connector-apache-atlas/main/samples/Egeria-Apache-Atlas-read.postman_collection.json) -1. Sample write operations - -To use the sample read operations, you will first need to load the -[Hortonworks Sandbox](https://www.cloudera.com/downloads/hortonworks-sandbox.html) -samples to your Apache Atlas environment. - ------ - -## Environment variables - -Postman supports the definition of variables like hostname, kafka queue, userId, etc. These can then be used in -specific Postman commands. This makes it easier for them to be used by multiple users, or with different -configurations. - -A superset of all the potential variables that we use in our samples (along with default values) are provided in: -[Egeria.postman_environment.json](Egeria.postman_environment.json). - -You can either download the linked file and import it into Postman, or always import the latest version by importing -from the following link from within Postman: -[https://raw.githubusercontent.com/odpi/egeria/main/open-metadata-resources/open-metadata-samples/postman-rest-samples/Egeria.postman_environment.json](https://raw.githubusercontent.com/odpi/egeria/main/open-metadata-resources/open-metadata-samples/postman-rest-samples/Egeria.postman_environment.json) - -You will most likely want to override some of these values (such as `baseURL` or `kafkaep`) depending on your -own environment's configuration; or you may even want to make several copies of this with different settings in each -one to be able to quickly change between different environments you have running at the same time. - -Note that many of the variables are optional, depending on your particular configuration. The mandatory variables are -the following: - -- `baseURL`: the base URL of your Egeria OMAG Server Platform, including the 'https://' prefix -- `user`: the user name of the user carrying out operations within the Egeria OMAG Server Platform -- `server`: the name of the server within the Platform in which to carry out operations -- `cohort`: the name of the cohort with which the server should interact -- `kafkaep`: the Apache Kafka endpoint (hostname:port) to use for Egeria's event bus - -[Learn more about Postman Environments](https://learning.getpostman.com/docs/postman/environments-and-globals/intro-to-environments-and-globals/). - - ----- -* Return to [open-metadata-samples](..). -* Return to [Site Map](../../../Content-Organization.md) -* Return to [Home Page](../../../index.md) - ----- -License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), -Copyright Contributors to the ODPi Egeria project. diff --git a/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-CTS-RepositoryWorkbench.postman_collection.json b/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-CTS-RepositoryWorkbench.postman_collection.json deleted file mode 100644 index 6fe8aa3e9a0..00000000000 --- a/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-CTS-RepositoryWorkbench.postman_collection.json +++ /dev/null @@ -1,334 +0,0 @@ -{ - "info": { - "_postman_id": "a475fda0-6bdb-4b8d-8cda-7aac6cce1815", - "name": "Egeria-CTS-RepositoryWorkbench", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Configure server type", - "event": [ - { - "listen": "test", - "script": { - "id": "7008e39f-c266-454f-8e83-a25a7abb8d8f", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/cts/server-type?typeName=Conformance", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "cts", - "server-type" - ], - "query": [ - { - "key": "typeName", - "value": "Conformance" - } - ] - } - }, - "response": [] - }, - { - "name": "Configure event bus", - "event": [ - { - "listen": "test", - "script": { - "id": "7008e39f-c266-454f-8e83-a25a7abb8d8f", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"producer\": {\n\t\t\"bootstrap.servers\":\"{{kafkaep}}\"\n\t},\n\t\"consumer\": {\n \t\t\"bootstrap.servers\":\"{{kafkaep}}\"\n\t}\n}" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/cts/event-bus?connectorProvider=org.odpi.openmetadata.adapters.eventbus.topic.kafka.KafkaOpenMetadataTopicProvider&topicURLRoot=OMRSTopic", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "cts", - "event-bus" - ], - "query": [ - { - "key": "connectorProvider", - "value": "org.odpi.openmetadata.adapters.eventbus.topic.kafka.KafkaOpenMetadataTopicProvider" - }, - { - "key": "topicURLRoot", - "value": "OMRSTopic" - } - ] - } - }, - "response": [] - }, - { - "name": "Cohort configuration", - "event": [ - { - "listen": "test", - "script": { - "id": "7008e39f-c266-454f-8e83-a25a7abb8d8f", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/cts/cohorts/{{cohort}}", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "cts", - "cohorts", - "{{cohort}}" - ] - } - }, - "response": [] - }, - { - "name": "Enable repository workbench", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"class\": \"RepositoryConformanceWorkbenchConfig\",\n\t\"tutRepositoryServerName\": \"{{server}}\",\n\t\"maxSearchResults\": 2\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/cts/conformance-suite-workbenches/repository-workbench/repositories", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "cts", - "conformance-suite-workbenches", - "repository-workbench", - "repositories" - ] - } - }, - "response": [] - }, - { - "name": "Query configuration", - "event": [ - { - "listen": "test", - "script": { - "id": "cd4e2e25-7bf9-4cbb-9da5-1955f579d834", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test(\"CTS endpoint configured\", function () {", - " var jsonData = pm.response.json();", - " pm.expect(jsonData.omagserverConfig.repositoryServicesConfig.localRepositoryConfig.localRepositoryLocalConnection.qualifiedName).to.equal(\"Local connection to In-memory repository@cts\");", - "});" - ], - "type": "text/javascript" - } - } - ], - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "admin", - "type": "string" - }, - { - "key": "username", - "value": "admin", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/cts/configuration/", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "cts", - "configuration", - "" - ] - }, - "description": "Query Current Configuration" - }, - "response": [] - }, - { - "name": "Start conformance test", - "event": [ - { - "listen": "test", - "script": { - "id": "bdfce345-26b1-4f34-a5fb-511b245ef3d9", - "exec": [ - "pm.test(\"Status code is 200\", function () {", - " pm.response.to.have.status(200);", - "});" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/cts/instance", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "cts", - "instance" - ] - }, - "description": "Query Current Configuration" - }, - "response": [] - }, - { - "name": "Get full report", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "{{baseURL}}/servers/cts/open-metadata/conformance-suite/users/{{user}}/report", - "host": [ - "{{baseURL}}" - ], - "path": [ - "servers", - "cts", - "open-metadata", - "conformance-suite", - "users", - "{{user}}", - "report" - ] - } - }, - "response": [] - } - ] -} diff --git a/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-InMemoryRepository.postman_collection.json b/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-InMemoryRepository.postman_collection.json deleted file mode 100644 index 08965cfe9db..00000000000 --- a/open-metadata-resources/open-metadata-samples/postman-rest-samples/collection/Egeria-InMemoryRepository.postman_collection.json +++ /dev/null @@ -1,259 +0,0 @@ -{ - "info": { - "_postman_id": "0471f6ff-8e9e-4d08-aaba-e2d283896ae5", - "name": "Egeria-InMemoryRepository", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "configure event bus", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "admin", - "type": "string" - }, - { - "key": "username", - "value": "admin", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "X-XSRF-HEADER", - "value": "valid" - }, - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\"producer\":\n{\n\"bootstrap.servers\":\"{{kafkaep}}\",\n\"acks\":\"all\",\n\"retries\":\"0\",\n\"batch.size\":\"16384\",\n\"linger.ms\":\"1\",\n\"buffer.memory\":\"33554432\",\n\"max.request.size\":\"10485760\",\n\"key.serializer\":\"org.apache.kafka.common.serialization.StringSerializer\",\n\"value.serializer\":\"org.apache.kafka.common.serialization.StringSerializer\",\n\"kafka.omrs.topic.id\":\"{{cohort}}\"\n},\n\"consumer\":\n{\n\"bootstrap.servers\":\"{{kafkaep}}\",\n\"zookeeper.session.timeout.ms\":\"400\",\n\"zookeeper.sync.time.ms\":\"200\",\n\"fetch.message.max.bytes\":\"10485760\",\n\"max.partition.fetch.bytes\":\"10485760\",\n\"key.deserializer\":\"org.apache.kafka.common.serialization.StringDeserializer\",\n\"value.deserializer\":\"org.apache.kafka.common.serialization.StringDeserializer\",\n\"kafka.omrs.topic.id\":\"{{cohort}}\"\n}\n}\n\n" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/{{server}}/event-bus", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "{{server}}", - "event-bus" - ] - } - }, - "response": [] - }, - { - "name": "Enable the access services", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/{{server}}/access-services?serviceMode=ENABLED", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "{{server}}", - "access-services" - ], - "query": [ - { - "key": "serviceMode", - "value": "ENABLED" - } - ] - }, - "description": "Query Current Configuration" - }, - "response": [] - }, - { - "name": "Cohort configuration", - "request": { - "method": "POST", - "header": [ - { - "key": "User-Agent", - "value": "Mozzzzz" - }, - { - "key": "Authorization", - "value": "Basic YWRtaW46YWRtaW4=" - }, - { - "key": "Content-Type", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\"producer\":\n{\n\"bootstrap.servers\":\"{{kafkaep}}\",\n\"acks\":\"all\",\n\"retries\":\"0\",\n\"batch.size\":\"16384\",\n\"linger.ms\":\"1\",\n\"buffer.memory\":\"33554432\",\n\"max.request.size\":\"10485760\",\n\"key.serializer\":\"org.apache.kafka.common.serialization.StringSerializer\",\n\"value.serializer\":\"org.apache.kafka.common.serialization.StringSerializer\",\n\"kafka.omrs.topic.id\":\"{{cohort}}\"\n},\n\"consumer\":\n{\n\"bootstrap.servers\":\"{{kafkaep}}\",\n\"zookeeper.session.timeout.ms\":\"400\",\n\"zookeeper.sync.time.ms\":\"200\",\n\"fetch.message.max.bytes\":\"10485760\",\n\"max.partition.fetch.bytes\":\"10485760\",\n\"key.deserializer\":\"org.apache.kafka.common.serialization.StringDeserializer\",\n\"value.deserializer\":\"org.apache.kafka.common.serialization.StringDeserializer\",\n\"kafka.omrs.topic.id\":\"{{cohort}}\"\n}\n}\n\n" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/{{server}}/cohorts/{{cohort}}", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "{{server}}", - "cohorts", - "{{cohort}}" - ] - } - }, - "response": [] - }, - { - "name": "Set local server mode - inmemory", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/{{server}}/local-repository/mode/in-memory-repository", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "{{server}}", - "local-repository", - "mode", - "in-memory-repository" - ] - }, - "description": "Query Current Configuration" - }, - "response": [] - }, - { - "name": "Start Server using config", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/{{server}}/instance", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "{{server}}", - "instance" - ] - }, - "description": "Query Current Configuration" - }, - "response": [] - }, - { - "name": "Query Configuration", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "admin", - "type": "string" - }, - { - "key": "username", - "value": "admin", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{baseURL}}/open-metadata/admin-services/users/{{user}}/servers/{{server}}/configuration/", - "host": [ - "{{baseURL}}" - ], - "path": [ - "open-metadata", - "admin-services", - "users", - "{{user}}", - "servers", - "{{server}}", - "configuration", - "" - ] - }, - "description": "Query Current Configuration" - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "3b3ed754-e08e-426a-b8ba-2a88bb9e90f3", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "8df309be-9568-4090-ba84-8ef9b9f038bd", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ] -} \ No newline at end of file