All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.odpi.openmetadata.accessservices.itinfrastructure.api.RelationalDatabaseInfrastructureInterface Maven / Gradle / Ivy

There is a newer version: 5.1
Show newest version
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright Contributors to the ODPi Egeria project. */
package org.odpi.openmetadata.accessservices.itinfrastructure.api;

import org.odpi.openmetadata.accessservices.itinfrastructure.properties.DatabaseManagerProperties;
import org.odpi.openmetadata.accessservices.itinfrastructure.properties.DatabaseServerProperties;
import org.odpi.openmetadata.accessservices.itinfrastructure.properties.EndpointProperties;
import org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException;
import org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException;

import java.util.List;
import java.util.Map;

/**
 * RelationalDatabaseInfrastructureInterface defines the client side interface for the Data Platform OMAS that is
 * relevant for relational database infrastructure.   It provides the ability to
 * define and maintain the metadata about a database server.
 *
 *
 */
public interface RelationalDatabaseInfrastructureInterface
{
    /*
     * Relational databases are managed by a relational database management system (DBMS).  This is
     * hosted in a "Database Server".  The DBMS is represented by the Database Platform.
     */


    String addDatabaseServer(String userId,
                             String integrationDaemonGUID,
                             DatabaseServerProperties databaseServerProperties) throws InvalidParameterException,
                                                                                       UserNotAuthorizedException,
                                                                                       PropertyServerException;

    String addDatabaseManager(String userId,
                              String integrationDaemonGUID,
                              DatabaseManagerProperties databaseManagerProperties) throws InvalidParameterException,
                                                                                          UserNotAuthorizedException,
                                                                                          PropertyServerException;

    void linkDatabaseManagerToServer(String userId,
                                     String integrationDaemonGUID,
                                     String databasePlatformGUID,
                                     String databaseServerGUID) throws InvalidParameterException,
                                                                       UserNotAuthorizedException,
                                                                       PropertyServerException;


    String  addDatabaseEndpoint(String             userId,
                                String             integrationDaemonGUID,
                                String             databaseServerGUID,
                                EndpointProperties endpointProperties) throws InvalidParameterException,
                                                                              UserNotAuthorizedException,
                                                                              PropertyServerException;


    void linkDatabaseEndpointToServer(String userId,
                                      String integrationDaemonGUID,
                                      String databaseEndpointGUID,
                                      String databaseServerGUID) throws InvalidParameterException,
                                                                        UserNotAuthorizedException,
                                                                        PropertyServerException;



    DatabaseServerProperties getDatabaseServerByGUID(String userId,
                                                     String databaseServerGUID);

    DatabaseServerProperties getDatabaseServerByName(String userId,
                                                     String databaseServerName);

    List   findDatabaseServersByHost(String userId,
                                                               String hostName);

    void  updateDatabaseServerProperties(String userId,
                                         String databaseServerGUID,
                                         Map updatedProperties);

    void  updateDatabaseServerVendorProperties(String userId,
                                               String databaseServerGUID,
                                               Map updatedProperties);

    void  removeDatabaseServer(String userId,
                               String databaseServerGUID);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy