Class DatabaseManagerResource


  • @RestController
    @RequestMapping("/servers/{serverName}/open-metadata/access-services/data-manager/users/{userId}")
    public class DatabaseManagerResource
    extends Object
    DatabaseManagerRESTServices is the server-side implementation of the Data Manager OMAS's support for relational databases. It matches the DatabaseManagerClient.
    • Constructor Detail

      • DatabaseManagerResource

        public DatabaseManagerResource()
        Default constructor
    • Method Detail

      • createDatabase

        @PostMapping(path="/databases")
        public GUIDResponse createDatabase​(@PathVariable
                                           String serverName,
                                           @PathVariable
                                           String userId,
                                           @RequestBody
                                           ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - properties to store
        Returns:
        unique identifier of the new metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseFromTemplate

        @PostMapping(path="/databases/from-template/{templateGUID}")
        public GUIDResponse createDatabaseFromTemplate​(@PathVariable
                                                       String serverName,
                                                       @PathVariable
                                                       String userId,
                                                       @PathVariable
                                                       String templateGUID,
                                                       @RequestBody
                                                       TemplateRequestBody requestBody)
        Create a new metadata element to represent a database using an existing metadata element as a template.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        templateGUID - unique identifier of the metadata element to copy
        requestBody - properties that override the template
        Returns:
        unique identifier of the new metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • updateDatabase

        @PostMapping(path="/databases/{databaseGUID}")
        public VoidResponse updateDatabase​(@PathVariable
                                           String serverName,
                                           @PathVariable
                                           String userId,
                                           @PathVariable
                                           String databaseGUID,
                                           @RequestParam(required=false)
                                           boolean isMergeUpdate,
                                           @RequestBody
                                           ReferenceableRequestBody requestBody)
        Update the metadata element representing a database.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseGUID - unique identifier of the metadata element to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        requestBody - new properties for this element
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • publishDatabase

        @PostMapping(path="/databases/{databaseGUID}/publish")
        public VoidResponse publishDatabase​(@PathVariable
                                            String serverName,
                                            @PathVariable
                                            String userId,
                                            @PathVariable
                                            String databaseGUID,
                                            @RequestBody(required=false)
                                            ClassificationRequestBody requestBody)
        Update the zones for the database asset so that it becomes visible to consumers. (The zones are set to the list of zones in the publishedZones option configured for each instance of the Data Manager OMAS).
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseGUID - unique identifier of the metadata element to publish
        requestBody - classification request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • withdrawDatabase

        @PostMapping(path="/databases/{databaseGUID}/withdraw")
        public VoidResponse withdrawDatabase​(@PathVariable
                                             String serverName,
                                             @PathVariable
                                             String userId,
                                             @PathVariable
                                             String databaseGUID,
                                             @RequestBody(required=false)
                                             ClassificationRequestBody requestBody)
        Update the zones for the database asset so that it is no longer visible to consumers. (The zones are set to the list of zones in the defaultZones option configured for each instance of the Data Manager OMAS. This is the setting when the database is first created).
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseGUID - unique identifier of the metadata element to withdraw
        requestBody - classification request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removeDatabase

        @PostMapping(path="/databases/{databaseGUID}/delete")
        public VoidResponse removeDatabase​(@PathVariable
                                           String serverName,
                                           @PathVariable
                                           String userId,
                                           @PathVariable
                                           String databaseGUID,
                                           @RequestBody(required=false)
                                           ExternalSourceRequestBody requestBody)
        Remove the metadata element representing a database.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseGUID - unique identifier of the metadata element to remove
        requestBody - empty request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • findDatabases

        @PostMapping(path="/databases/by-search-string")
        public DatabasesResponse findDatabases​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @RequestBody
                                               SearchStringRequestBody requestBody,
                                               @RequestParam
                                               int startFrom,
                                               @RequestParam
                                               int pageSize)
        Retrieve the list of database metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabasesByName

        @PostMapping(path="/databases/by-name")
        public DatabasesResponse getDatabasesByName​(@PathVariable
                                                    String serverName,
                                                    @PathVariable
                                                    String userId,
                                                    @RequestBody
                                                    NameRequestBody requestBody,
                                                    @RequestParam
                                                    int startFrom,
                                                    @RequestParam
                                                    int pageSize)
        Retrieve the list of database metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabasesForDatabaseManager

        @GetMapping(path="/database-managers/{databaseManagerGUID}/{databaseManagerName}/databases")
        public DatabasesResponse getDatabasesForDatabaseManager​(@PathVariable
                                                                String serverName,
                                                                @PathVariable
                                                                String userId,
                                                                @PathVariable
                                                                String databaseManagerGUID,
                                                                @PathVariable
                                                                String databaseManagerName,
                                                                @RequestParam
                                                                int startFrom,
                                                                @RequestParam
                                                                int pageSize)
        Retrieve the list of databases created by this database manager.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseManagerGUID - unique identifier of software server capability representing the owning DBMS
        databaseManagerName - unique name of software server capability representing the owning DBMS
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseByGUID

        @GetMapping(path="/databases/{guid}")
        public DatabaseResponse getDatabaseByGUID​(@PathVariable
                                                  String serverName,
                                                  @PathVariable
                                                  String userId,
                                                  @PathVariable
                                                  String guid)
        Retrieve the database metadata element with the supplied unique identifier.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        guid - unique identifier of the requested metadata element
        Returns:
        matching metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseSchema

        @PostMapping(path="/databases/schemas")
        public GUIDResponse createDatabaseSchema​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @RequestBody
                                                 ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database schema.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - properties about the database schema
        Returns:
        unique identifier of the new database schema or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseSchemaFromTemplate

        @PostMapping(path="/databases/schemas/from-template/{templateGUID}")
        public GUIDResponse createDatabaseSchemaFromTemplate​(@PathVariable
                                                             String serverName,
                                                             @PathVariable
                                                             String userId,
                                                             @PathVariable
                                                             String templateGUID,
                                                             @RequestBody
                                                             TemplateRequestBody requestBody)
        Create a new metadata element to represent a database schema using an existing metadata element as a template.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        templateGUID - unique identifier of the metadata element to copy
        requestBody - properties that override the template
        Returns:
        unique identifier of the new database schema or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • updateDatabaseSchema

        @PostMapping(path="/databases/schemas/{databaseSchemaGUID}")
        public VoidResponse updateDatabaseSchema​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @PathVariable
                                                 String databaseSchemaGUID,
                                                 @RequestParam(required=false)
                                                 boolean isMergeUpdate,
                                                 @RequestBody
                                                 ReferenceableRequestBody requestBody)
        Update the metadata element representing a database schema.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseSchemaGUID - unique identifier of the metadata element to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        requestBody - new properties for the metadata element
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • publishDatabaseSchema

        @PostMapping(path="/databases/schemas/{databaseSchemaGUID}/publish")
        public VoidResponse publishDatabaseSchema​(@PathVariable
                                                  String serverName,
                                                  @PathVariable
                                                  String userId,
                                                  @PathVariable
                                                  String databaseSchemaGUID,
                                                  @RequestBody(required=false)
                                                  ClassificationRequestBody requestBody)
        Update the zones for the database asset so that it becomes visible to consumers. (The zones are set to the list of zones in the publishedZones option configured for each instance of the Data Manager OMAS).
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseSchemaGUID - unique identifier of the metadata element to publish
        requestBody - classification request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • withdrawDatabaseSchema

        @PostMapping(path="/databases/schemas/{databaseSchemaGUID}/withdraw")
        public VoidResponse withdrawDatabaseSchema​(@PathVariable
                                                   String serverName,
                                                   @PathVariable
                                                   String userId,
                                                   @PathVariable
                                                   String databaseSchemaGUID,
                                                   @RequestBody(required=false)
                                                   ClassificationRequestBody requestBody)
        Update the zones for the database asset so that it is no longer visible to consumers. (The zones are set to the list of zones in the defaultZones option configured for each instance of the Data Manager OMAS. This is the setting when the database is first created).
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseSchemaGUID - unique identifier of the metadata element to withdraw
        requestBody - classification request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removeDatabaseSchema

        @PostMapping(path="/databases/schemas/{databaseSchemaGUID}/delete")
        public VoidResponse removeDatabaseSchema​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @PathVariable
                                                 String databaseSchemaGUID,
                                                 @RequestBody(required=false)
                                                 ExternalSourceRequestBody requestBody)
        Remove the metadata element representing a database schema.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseSchemaGUID - unique identifier of the metadata element to remove
        requestBody - external source request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • findDatabaseSchemas

        @PostMapping(path="/databases/schemas/by-search-string")
        public DatabaseSchemasResponse findDatabaseSchemas​(@PathVariable
                                                           String serverName,
                                                           @PathVariable
                                                           String userId,
                                                           @RequestBody
                                                           SearchStringRequestBody requestBody,
                                                           @RequestParam
                                                           int startFrom,
                                                           @RequestParam
                                                           int pageSize)
        Retrieve the list of database schema metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getSchemasForDatabase

        @GetMapping(path="/databases/{databaseGUID}/schemas")
        public DatabaseSchemasResponse getSchemasForDatabase​(@PathVariable
                                                             String serverName,
                                                             @PathVariable
                                                             String userId,
                                                             @PathVariable
                                                             String databaseGUID,
                                                             @RequestParam
                                                             int startFrom,
                                                             @RequestParam
                                                             int pageSize)
        Return the list of schemas associated with a database.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseGUID - unique identifier of the database to query
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of metadata elements describing the schemas associated with the requested database or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseSchemasByName

        @PostMapping(path="/databases/schemas/by-name")
        public DatabaseSchemasResponse getDatabaseSchemasByName​(@PathVariable
                                                                String serverName,
                                                                @PathVariable
                                                                String userId,
                                                                @RequestBody
                                                                NameRequestBody requestBody,
                                                                @RequestParam
                                                                int startFrom,
                                                                @RequestParam
                                                                int pageSize)
        Retrieve the list of database schema metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseSchemaByGUID

        @GetMapping(path="/databases/schemas/{guid}")
        public DatabaseSchemaResponse getDatabaseSchemaByGUID​(@PathVariable
                                                              String serverName,
                                                              @PathVariable
                                                              String userId,
                                                              @PathVariable
                                                              String guid)
        Retrieve the database schema metadata element with the supplied unique identifier.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        guid - unique identifier of the requested metadata element
        Returns:
        requested metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseSchemaType

        @PostMapping(path="/databases/schema-type")
        public GUIDResponse createDatabaseSchemaType​(@PathVariable
                                                     String serverName,
                                                     @PathVariable
                                                     String userId,
                                                     @RequestBody
                                                     ReferenceableRequestBody requestBody)
        Create a database top-level schema type used to attach tables and views to the database/database schema.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - qualified name of the schema type - suggest "SchemaOf:" + asset's qualified name
        Returns:
        unique identifier of the database schema type or InvalidParameterException the bean properties are invalid UserNotAuthorizedException user not authorized to issue this request PropertyServerException problem accessing the property server
      • attachSchemaTypeToDatabaseAsset

        @PostMapping(path="/databases/{databaseAssetGUID}/schema-type/{schemaTypeGUID}")
        public VoidResponse attachSchemaTypeToDatabaseAsset​(@PathVariable
                                                            String serverName,
                                                            @PathVariable
                                                            String userId,
                                                            @PathVariable
                                                            String databaseAssetGUID,
                                                            @PathVariable
                                                            String schemaTypeGUID,
                                                            @RequestBody(required=false)
                                                            RelationshipRequestBody requestBody)
        Link the schema type and asset. This is called from outside the AssetHandler. The databaseAssetGUID is checked to ensure the asset exists and updates are allowed. If there is already a schema attached, it is deleted.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseAssetGUID - unique identifier of the asset to connect the schema to
        schemaTypeGUID - identifier for schema Type object
        requestBody - null request body
        Returns:
        void or InvalidParameterException the bean properties are invalid UserNotAuthorizedException user not authorized to issue this request PropertyServerException problem accessing the property server
      • createDatabaseTable

        @PostMapping(path="/databases/tables")
        public GUIDResponse createDatabaseTable​(@PathVariable
                                                String serverName,
                                                @PathVariable
                                                String userId,
                                                @RequestBody
                                                ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database table.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - properties for the database table
        Returns:
        unique identifier of the new metadata element for the database table or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseTableFromTemplate

        @PostMapping(path="/databases/tables/from-template/{templateGUID}")
        public GUIDResponse createDatabaseTableFromTemplate​(@PathVariable
                                                            String serverName,
                                                            @PathVariable
                                                            String userId,
                                                            @PathVariable
                                                            String templateGUID,
                                                            @RequestBody
                                                            TemplateRequestBody requestBody)
        Create a new metadata element to represent a database table using an existing metadata element as a template.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        templateGUID - unique identifier of the metadata element to copy
        requestBody - properties that override the template
        Returns:
        unique identifier of the new database table or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseTableForSchemaType

        @PostMapping(path="/databases/schema-type/tables")
        public GUIDResponse createDatabaseTableForSchemaType​(@PathVariable
                                                             String serverName,
                                                             @PathVariable
                                                             String userId,
                                                             @RequestBody
                                                             ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database table.
        Parameters:
        serverName - name of the service to route the request to
        userId - calling user
        requestBody - properties for the database table
        Returns:
        unique identifier of the new metadata element for the database table or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
      • updateDatabaseTable

        @PostMapping(path="/databases/tables/{databaseTableGUID}")
        public VoidResponse updateDatabaseTable​(@PathVariable
                                                String serverName,
                                                @PathVariable
                                                String userId,
                                                @PathVariable
                                                String databaseTableGUID,
                                                @RequestParam(required=false)
                                                boolean isMergeUpdate,
                                                @RequestBody
                                                ReferenceableRequestBody requestBody)
        Update the metadata element representing a database table.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseTableGUID - unique identifier of the database table to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        requestBody - new properties for the database table
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removeDatabaseTable

        @PostMapping(path="/databases/tables/{databaseTableGUID}/delete")
        public VoidResponse removeDatabaseTable​(@PathVariable
                                                String serverName,
                                                @PathVariable
                                                String userId,
                                                @PathVariable
                                                String databaseTableGUID,
                                                @RequestBody(required=false)
                                                ExternalSourceRequestBody requestBody)
        Remove the metadata element representing a database table.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseTableGUID - unique identifier of the metadata element to remove
        requestBody - empty request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • findDatabaseTables

        @PostMapping(path="/databases/tables/by-search-string")
        public DatabaseTablesResponse findDatabaseTables​(@PathVariable
                                                         String serverName,
                                                         @PathVariable
                                                         String userId,
                                                         @RequestBody
                                                         SearchStringRequestBody requestBody,
                                                         @RequestParam
                                                         int startFrom,
                                                         @RequestParam
                                                         int pageSize)
        Retrieve the list of database table metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getTablesForDatabaseAsset

        @GetMapping(path="/databases/{databaseAssetGUID}/tables")
        public DatabaseTablesResponse getTablesForDatabaseAsset​(@PathVariable
                                                                String serverName,
                                                                @PathVariable
                                                                String userId,
                                                                @PathVariable
                                                                String databaseAssetGUID,
                                                                @RequestParam
                                                                int startFrom,
                                                                @RequestParam
                                                                int pageSize)
        Retrieve the list of database tables associated with a database or database schema.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseAssetGUID - unique identifier of the database or database schema of interest
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of associated metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseTablesByName

        @PostMapping(path="/databases/tables/by-name")
        public DatabaseTablesResponse getDatabaseTablesByName​(@PathVariable
                                                              String serverName,
                                                              @PathVariable
                                                              String userId,
                                                              @RequestBody
                                                              NameRequestBody requestBody,
                                                              @RequestParam
                                                              int startFrom,
                                                              @RequestParam
                                                              int pageSize)
        Retrieve the list of database table metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseTableByGUID

        @GetMapping(path="/databases/tables/{guid}")
        public DatabaseTableResponse getDatabaseTableByGUID​(@PathVariable
                                                            String serverName,
                                                            @PathVariable
                                                            String userId,
                                                            @PathVariable
                                                            String guid)
        Retrieve the database table metadata element with the supplied unique identifier.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        guid - unique identifier of the requested metadata element
        Returns:
        matching metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseView

        @PostMapping(path="/databases/tables/views")
        public GUIDResponse createDatabaseView​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @RequestBody
                                               ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database view.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - properties for the new view
        Returns:
        unique identifier of the new metadata element for the database view or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseViewFromTemplate

        @PostMapping(path="/databases/tables/views/from-template/{templateGUID}")
        public GUIDResponse createDatabaseViewFromTemplate​(@PathVariable
                                                           String serverName,
                                                           @PathVariable
                                                           String userId,
                                                           @PathVariable
                                                           String templateGUID,
                                                           @RequestBody
                                                           TemplateRequestBody requestBody)
        Create a new metadata element to represent a database view using an existing metadata element as a template.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        templateGUID - unique identifier of the metadata element to copy
        requestBody - properties that override the template
        Returns:
        unique identifier of the new metadata element for the database view or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseViewForSchemaType

        @PostMapping(path="/databases/schema-type/tables/views")
        public GUIDResponse createDatabaseViewForSchemaType​(@PathVariable
                                                            String serverName,
                                                            @PathVariable
                                                            String userId,
                                                            @RequestBody
                                                            ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database view.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - properties for the new view
        Returns:
        unique identifier of the new metadata element for the database view or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
      • updateDatabaseView

        @PostMapping(path="/databases/tables/views/{databaseViewGUID}")
        public VoidResponse updateDatabaseView​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @PathVariable
                                               String databaseViewGUID,
                                               @RequestParam(required=false)
                                               boolean isMergeUpdate,
                                               @RequestBody
                                               ReferenceableRequestBody requestBody)
        Update the metadata element representing a database table.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseViewGUID - unique identifier of the database view to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        requestBody - properties for the new database view
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removeDatabaseView

        @PostMapping(path="/databases/tables/views/{databaseViewGUID}/delete")
        public VoidResponse removeDatabaseView​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @PathVariable
                                               String databaseViewGUID,
                                               @RequestBody(required=false)
                                               ExternalSourceRequestBody requestBody)
        Remove the metadata element representing a database table.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseViewGUID - unique identifier of the metadata element to remove
        requestBody - external source request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • findDatabaseViews

        @PostMapping(path="/databases/tables/views/by-search-string")
        public DatabaseViewsResponse findDatabaseViews​(@PathVariable
                                                       String serverName,
                                                       @PathVariable
                                                       String userId,
                                                       @RequestBody
                                                       SearchStringRequestBody requestBody,
                                                       @RequestParam
                                                       int startFrom,
                                                       @RequestParam
                                                       int pageSize)
        Retrieve the list of database view metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getViewsForDatabaseAsset

        @GetMapping(path="/databases/{databaseAssetGUID}/tables/views")
        public DatabaseViewsResponse getViewsForDatabaseAsset​(@PathVariable
                                                              String serverName,
                                                              @PathVariable
                                                              String userId,
                                                              @PathVariable
                                                              String databaseAssetGUID,
                                                              @RequestParam
                                                              int startFrom,
                                                              @RequestParam
                                                              int pageSize)
        Retrieve the list of database views associated with a database or database schema.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseAssetGUID - unique identifier of the database or database schema of interest
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of associated metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseViewsByName

        @PostMapping(path="/databases/tables/views/by-name")
        public DatabaseViewsResponse getDatabaseViewsByName​(@PathVariable
                                                            String serverName,
                                                            @PathVariable
                                                            String userId,
                                                            @RequestBody
                                                            NameRequestBody requestBody,
                                                            @RequestParam
                                                            int startFrom,
                                                            @RequestParam
                                                            int pageSize)
        Retrieve the list of database view metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseViewByGUID

        @GetMapping(path="/databases/tables/views/{guid}")
        public DatabaseViewResponse getDatabaseViewByGUID​(@PathVariable
                                                          String serverName,
                                                          @PathVariable
                                                          String userId,
                                                          @PathVariable
                                                          String guid)
        Retrieve the database view metadata element with the supplied unique identifier.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        guid - unique identifier of the requested metadata element
        Returns:
        matching metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseColumn

        @PostMapping(path="/databases/tables/columns")
        public GUIDResponse createDatabaseColumn​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @RequestBody
                                                 ReferenceableRequestBody requestBody)
        Create a new metadata element to represent a database column.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - properties for the new column
        Returns:
        unique identifier of the new metadata element for the database column or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • createDatabaseColumnFromTemplate

        @PostMapping(path="/databases/tables/columns/from-template/{templateGUID}")
        public GUIDResponse createDatabaseColumnFromTemplate​(@PathVariable
                                                             String serverName,
                                                             @PathVariable
                                                             String userId,
                                                             @PathVariable
                                                             String templateGUID,
                                                             @RequestBody
                                                             TemplateRequestBody requestBody)
        Create a new metadata element to represent a database column using an existing metadata element as a template.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        templateGUID - unique identifier of the metadata element to copy
        requestBody - properties that override the template
        Returns:
        unique identifier of the new metadata element for the database column InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • updateDatabaseColumn

        @PostMapping(path="/databases/tables/columns/{databaseColumnGUID}")
        public VoidResponse updateDatabaseColumn​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @PathVariable
                                                 String databaseColumnGUID,
                                                 @RequestParam(required=false)
                                                 boolean isMergeUpdate,
                                                 @RequestBody
                                                 ReferenceableRequestBody requestBody)
        Update the metadata element representing a database column.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseColumnGUID - unique identifier of the metadata element to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        requestBody - new properties for the metadata element
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removeDatabaseColumn

        @PostMapping(path="/databases/tables/columns/{databaseColumnGUID}/delete")
        public VoidResponse removeDatabaseColumn​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @PathVariable
                                                 String databaseColumnGUID,
                                                 @RequestBody(required=false)
                                                 ExternalSourceRequestBody requestBody)
        Remove the metadata element representing a database column.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseColumnGUID - unique identifier of the metadata element to remove
        requestBody - external source request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • findDatabaseColumns

        @PostMapping(path="/databases/tables/columns/by-search-string")
        public DatabaseColumnsResponse findDatabaseColumns​(@PathVariable
                                                           String serverName,
                                                           @PathVariable
                                                           String userId,
                                                           @RequestBody
                                                           SearchStringRequestBody requestBody,
                                                           @RequestParam
                                                           int startFrom,
                                                           @RequestParam
                                                           int pageSize)
        Retrieve the list of database column metadata elements that contain the search string. The search string is treated as a regular expression.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - string to find in the properties
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getColumnsForDatabaseTable

        @GetMapping(path="/databases/tables/{databaseTableGUID}/columns")
        public DatabaseColumnsResponse getColumnsForDatabaseTable​(@PathVariable
                                                                  String serverName,
                                                                  @PathVariable
                                                                  String userId,
                                                                  @PathVariable
                                                                  String databaseTableGUID,
                                                                  @RequestParam
                                                                  int startFrom,
                                                                  @RequestParam
                                                                  int pageSize)
        Retrieve the list of column for a database table (or view)
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseTableGUID - unique identifier of the database table of interest
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseColumnsByName

        @PostMapping(path="/databases/tables/columns/by-name")
        public DatabaseColumnsResponse getDatabaseColumnsByName​(@PathVariable
                                                                String serverName,
                                                                @PathVariable
                                                                String userId,
                                                                @RequestBody
                                                                NameRequestBody requestBody,
                                                                @RequestParam
                                                                int startFrom,
                                                                @RequestParam
                                                                int pageSize)
        Retrieve the list of database column metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        requestBody - name to search for
        startFrom - paging start point
        pageSize - maximum results that can be returned
        Returns:
        list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • getDatabaseColumnByGUID

        @GetMapping(path="/databases/tables/columns/{guid}")
        public DatabaseColumnResponse getDatabaseColumnByGUID​(@PathVariable
                                                              String serverName,
                                                              @PathVariable
                                                              String userId,
                                                              @PathVariable
                                                              String guid)
        Retrieve the database column metadata element with the supplied unique identifier.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        guid - unique identifier of the requested metadata element
        Returns:
        matching metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • setPrimaryKeyOnColumn

        @PostMapping(path="/databases/tables/columns/{databaseColumnGUID}/primary-key")
        public VoidResponse setPrimaryKeyOnColumn​(@PathVariable
                                                  String serverName,
                                                  @PathVariable
                                                  String userId,
                                                  @PathVariable
                                                  String databaseColumnGUID,
                                                  @RequestBody
                                                  ClassificationRequestBody requestBody)
        Classify a column in a database table as the primary key. This means each row has a different value in this column, and it can be used to uniquely identify the column.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseColumnGUID - unique identifier if the primary key column
        requestBody - properties to store
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removePrimaryKeyFromColumn

        @PostMapping(path="/databases/tables/columns/{databaseColumnGUID}/primary-key/delete")
        public VoidResponse removePrimaryKeyFromColumn​(@PathVariable
                                                       String serverName,
                                                       @PathVariable
                                                       String userId,
                                                       @PathVariable
                                                       String databaseColumnGUID,
                                                       @RequestBody(required=false)
                                                       ExternalSourceRequestBody requestBody)
        Remove the classification that this column is a primary key.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        databaseColumnGUID - unique identifier if the primary key column
        requestBody - external source request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • addForeignKeyRelationship

        @PostMapping(path="/databases/tables/columns/{foreignKeyColumnGUID}/foreign-key/{primaryKeyColumnGUID}")
        public VoidResponse addForeignKeyRelationship​(@PathVariable
                                                      String serverName,
                                                      @PathVariable
                                                      String userId,
                                                      @PathVariable
                                                      String primaryKeyColumnGUID,
                                                      @PathVariable
                                                      String foreignKeyColumnGUID,
                                                      @RequestBody
                                                      RelationshipRequestBody requestBody)
        Create a foreign relationship between two columns. One of the columns holds the primary key of the other to form a link.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        primaryKeyColumnGUID - unique identifier of the column containing the primary key
        foreignKeyColumnGUID - unique identifier of the column containing the primary key from the other table
        requestBody - properties about the foreign key relationship
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
      • removeForeignKeyRelationship

        @PostMapping(path="/databases/tables/columns/{foreignKeyColumnGUID}/foreign-key/{primaryKeyColumnGUID}/delete")
        public VoidResponse removeForeignKeyRelationship​(@PathVariable
                                                         String serverName,
                                                         @PathVariable
                                                         String userId,
                                                         @PathVariable
                                                         String primaryKeyColumnGUID,
                                                         @PathVariable
                                                         String foreignKeyColumnGUID,
                                                         @RequestBody(required=false)
                                                         ExternalSourceRequestBody requestBody)
        Remove the foreign key relationship for the requested columns.
        Parameters:
        serverName - name of the service to route the request to.
        userId - calling user
        primaryKeyColumnGUID - unique identifier of the column that is the linked primary key
        foreignKeyColumnGUID - unique identifier of the column the contains the primary key from another table
        requestBody - external source request body
        Returns:
        void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)