Class ServerAuthorViewRESTServices

java.lang.Object
org.odpi.openmetadata.viewservices.serverauthor.services.ServerAuthorViewRESTServices

public class ServerAuthorViewRESTServices extends Object
The ServerAuthorViewRESTServices provides the org.odpi.openmetadata.viewservices.serverauthor.services implementation of the Server Author Open Metadata View Service (OMVS). This interface provides view interfaces for IT Infrastructure Administrators.
  • Field Details

  • Constructor Details

    • ServerAuthorViewRESTServices

      public ServerAuthorViewRESTServices()
      Default constructor
  • Method Details

    • getResourceEndpointList

      public ServerAuthorResourceEndpointListResponse getResourceEndpointList(String serverName, String userId)
      Retrieve the known platforms
      Parameters:
      serverName - name of the local view server.
      userId - userId under which the request is performed
      Returns:
      response the list of resource endpoints configured for the view service
    • setInMemLocalRepository

      public FFDCResponseBase setInMemLocalRepository(String userId, String serverName, String serverToBeConfiguredName)
      Set up an in memory local repository. This repository uses hashmaps to store content. It is useful for demos, testing and POCs.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • setGraphLocalRepository

      public FFDCResponseBase setGraphLocalRepository(String userId, String serverName, String serverToBeConfiguredName, Map<String,Object> storageProperties)
      Set up a graph store as the local repository.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      storageProperties - properties used to configure the back end storage for the graph
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • setReadOnlyLocalRepository

      public FFDCResponseBase setReadOnlyLocalRepository(String userId, String serverName, String serverToBeConfiguredName)
      Set up a read only local repository.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • setPluginRepositoryConnection

      public FFDCResponseBase setPluginRepositoryConnection(String userId, String serverName, String serverToBeConfiguredName, Connection connection)
      Provide the connection to the local repository - used when the local repository mode is set to plugin repository.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      connection - connection to the OMRS repository connector.
      Returns:
      FFDCResponseBase VoidResponse or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or repositoryProxyConnection parameter or OMAGConfigurationErrorException the local repository mode has not been set
    • getStoredConfiguration

      public ServerAuthorConfigurationResponse getStoredConfiguration(String userId, String serverName, String serverToBeRetrievedName)
      Return the stored configuration document for the server.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      serverToBeRetrievedName - name of the server to be retrieved for configuration.
      Returns:
      OMAGServerConfig properties or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName parameter.
    • deployOMAGServerConfig

      public ServerAuthorConfigurationResponse deployOMAGServerConfig(String userId, String serverName, String destinationPlatformName, String serverToBeConfiguredName)
      Push the configuration for the server to another OMAG Server Platform.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      destinationPlatformName - Name of the platform where the config is to be deployed to
      serverToBeConfiguredName - name of the server to be configured.
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException there is a problem using the supplied configuration or OMAGInvalidParameterException invalid serverName or destinationPlatform parameter.
    • setOMAGServerConfig

      public ServerAuthorConfigurationResponse setOMAGServerConfig(String userId, String serverName, String serverToBeConfiguredName, OMAGServerConfig omagServerConfig)
      Set up the configuration properties for an OMAG Server in a single command.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      serverToBeConfiguredName - name of the server to be configured.
      omagServerConfig - configuration for the server
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or OMAGServerConfig parameter.
    • configureAccessService

      public ServerAuthorConfigurationResponse configureAccessService(String userId, String serverName, String serverToBeConfiguredName, String serviceURLMarker, Map<String,Object> accessServiceOptions)
      Enable a single access service.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      accessServiceOptions - property name/value pairs used to configure the access services
      serviceURLMarker - string indicating which access service it is configuring
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • disableAccessService

      public ServerAuthorConfigurationResponse disableAccessService(String userId, String serverName, String serverToBeConfiguredName, String serviceURLMarker)
      Disable a single access service.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      serviceURLMarker - string indicating which access service it is configuring
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • configureAllAccessServices

      public ServerAuthorConfigurationResponse configureAllAccessServices(String userId, String serverName, String serverToBeConfiguredName, Map<String,Object> accessServiceOptions)
      Enable all access services that are registered with this server platform. The access services are set up to use the default event bus.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      accessServiceOptions - property name/value pairs used to configure the access services
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • configureViewService

      public ServerAuthorConfigurationResponse configureViewService(String userId, String serverName, String serverToBeConfiguredName, String serviceURLMarker, Map<String,Object> viewServiceOptions)
      Enable a single view service.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      viewServiceOptions - property name/value pairs used to configure the view services
      serviceURLMarker - string indicating which view service it is configuring
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • disableViewService

      public ServerAuthorConfigurationResponse disableViewService(String userId, String serverName, String serverToBeConfiguredName, String serviceURLMarker)
      Disable a single view service.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      serviceURLMarker - string indicating which view service it is configuring
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • configureEngineService

      public ServerAuthorConfigurationResponse configureEngineService(String userId, String serverName, String serverToBeConfiguredName, String serviceURLMarker, EngineServiceRequestBody requestBody)
      Enable a single engine service.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      serviceURLMarker - string indicating which engine service it is configuring
      requestBody - request body
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • disableEngineService

      public ServerAuthorConfigurationResponse disableEngineService(String userId, String serverName, String serverToBeConfiguredName, String serviceURLMarker)
      Disable a single engine service.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      serviceURLMarker - string indicating which engine service it is configuring
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException the event bus has not been configured or OMAGInvalidParameterException invalid serverName parameter.
    • setEnterpriseAccessConfig

      public ServerAuthorConfigurationResponse setEnterpriseAccessConfig(String userId, String serverName, String serverToBeConfiguredName, EnterpriseAccessConfig enterpriseAccessConfig)
      Set up the configuration that controls the enterprise repository services. These services are part of the Open Metadata Repository Services (OMRS). They provide federated queries and federated event notifications that cover metadata from the local repository plus any repositories connected via open metadata repository cohorts.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      serverToBeConfiguredName - server to be configured name
      enterpriseAccessConfig - enterprise repository services configuration properties.
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or enterpriseAccessConfig parameter or OMAGConfigurationErrorException unusual state in the admin server.
    • setEventBus

      public ServerAuthorConfigurationResponse setEventBus(String userId, String serverName, String serverToBeConfiguredName, String connectorProvider, String topicURLRoot, Map<String,Object> configurationProperties)
      Set up the default event bus for embedding in event-driven connector. The resulting connector will be used for example, in the OMRS Topic Connector for each cohort, the in and out topics for each Access Service and possibly the local repository's event mapper.

      When the event bus is configured, it is used only on future configuration. It does not effect existing configuration.

      Parameters:
      userId - user that is issuing the request.
      serverName - server name to be configured.
      serverToBeConfiguredName - server to be configured name
      connectorProvider - connector provider for the event bus (if it is null then Kafka is assumed).
      topicURLRoot - the common root of the topics used by the open metadata server.
      configurationProperties - property name/value pairs used to configure the connection to the event bus connector
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGConfigurationErrorException it is too late to configure the event bus - other configuration already exists or OMAGInvalidParameterException invalid serverName or serviceMode parameter.
    • setDefaultAuditLog

      public ServerAuthorConfigurationResponse setDefaultAuditLog(String userId, String serverName, String serverToBeConfiguredName)
      Set up the default audit log for the server. This adds the console audit log destination.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • addConsoleAuditLogDestination

      public ServerAuthorConfigurationResponse addConsoleAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, List<String> supportedSeverities)
      Set up the console audit log for the server. This writes selected parts of the audit log record to stdout.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      supportedSeverities - list of severities that should be logged to this destination (empty list means all)
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • addSLF4JAuditLogDestination

      public ServerAuthorConfigurationResponse addSLF4JAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, List<String> supportedSeverities)
      Add an audit log destination that creates slf4j records.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      supportedSeverities - list of severities that should be logged to this destination (empty list means all)
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • addFileAuditLogDestination

      public ServerAuthorConfigurationResponse addFileAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, List<String> supportedSeverities)
      Add an audit log destination that creates log records as JSON files in a shared directory.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      supportedSeverities - list of severities that should be logged to this destination (empty list means all)
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • addEventTopicAuditLogDestination

      public ServerAuthorConfigurationResponse addEventTopicAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, List<String> supportedSeverities)
      Add an audit log destination that sends each log record as an event on the supplied event topic.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      supportedSeverities - list of severities that should be logged to this destination (empty list means all)
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • addAuditLogDestination

      public ServerAuthorConfigurationResponse addAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, Connection connection)
      Add an audit log destination that is defined by the supplied connection object.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      connection - connection object that defines the audit log destination
      Returns:
      the current stored configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName or localRepositoryMode parameter.
    • updateAuditLogDestination

      public ServerAuthorConfigurationResponse updateAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, String auditLogDestinationName, Connection auditLogDestination)
      Update an audit log destination that is identified with the supplied destination name with the supplied connection object.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      auditLogDestinationName - name of the audit log destination to be updated
      auditLogDestination - connection object that defines the audit log destination
      Returns:
      void response or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName parameter.
    • deleteAuditLogDestination

      public ServerAuthorConfigurationResponse deleteAuditLogDestination(String userId, String serverName, String serverToBeConfiguredName, String auditLogDestinationName)
      Delete an audit log destination that is identified with the supplied destination name
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      auditLogDestinationName - name of the audit log destination to be deleted
      Returns:
      void response or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName.
    • activateWithStoredConfig

      public ServerAuthorConfigurationResponse activateWithStoredConfig(String userId, String serverName, String destinationPlatformName, String serverToBeActivatedName)
      Activate the Open Metadata and Governance (OMAG) server using the configuration document stored for this server.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      destinationPlatformName - Name of the platform where the server lives
      serverToBeActivatedName - name of the server to be activated
      Returns:
      the current active configuration or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException the server name is invalid or OMAGConfigurationErrorException there is a problem using the supplied configuration.
    • deactivateTemporarily

      public ServerAuthorConfigurationResponse deactivateTemporarily(String userId, String serverName, String destinationPlatformName, String serverToBeDeactivatedName)
      Temporarily deactivate open metadata and governance server.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      destinationPlatformName - Name of the platform where the server lives
      serverToBeDeactivatedName - name of the server to be deactivated
      Returns:
      the current stored configuration that has been deactivated or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException the serverName is invalid.
    • deactivatePermanently

      public SuccessMessageResponse deactivatePermanently(String userId, String serverName, String destinationPlatformName, String serverToBeDeactivatedName)
      Permanently deactivate any open metadata and governance services and unregister from any cohorts.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      destinationPlatformName - Name of the platform where the server lives
      serverToBeDeactivatedName - name of the server to be deactivated permanently
      Returns:
      Success Message response or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException the serverName is invalid.
    • getActiveConfiguration

      public ServerAuthorConfigurationResponse getActiveConfiguration(String userId, String serverName, String destinationPlatformName, String serverToBeConfiguredName)
      Return the configuration used for the current active instance of the server. Null is returned if the server instance is not running.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      destinationPlatformName - Name of the platform where the server lives
      serverToBeConfiguredName - server to be configured name
      Returns:
      configuration properties used to initialize the server or null if not running or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException the server name is invalid or OMAGConfigurationErrorException there is a problem using the supplied configuration.
    • getKnownPlatforms

      public ServerAuthorPlatformsResponse getKnownPlatforms(String userId, String serverName)
      Get the server configurations associated with the platforms that this view service knows about.
      Parameters:
      userId - user that is issuing the request
      serverName - local server name
      Returns:
      the known platforms, which if active will include he servers that are configured or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException the server name is invalid or ServerAuthorViewServiceException The Server Author has detected an error.
    • getAuditLogDestinationSupportedSeverities

      public SupportedAuditLogSeveritiesResponse getAuditLogDestinationSupportedSeverities(String userId, String serverName, String serverToBeConfiguredName)
      Get the audit log supported severities for the server being configured
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      Returns:
      a list of supported audit log severities OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName parameter.
    • clearAuditLogDestinations

      public VoidResponse clearAuditLogDestinations(String userId, String serverName, String serverToBeConfiguredName)
      Clear the audit log destinations associated with the server being configured
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of the server to be configured.
      Returns:
      a list of supported audit log severities OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName parameter.
    • addCohortRegistration

      public VoidResponse addCohortRegistration(String userId, String serverName, String serverToBeConfiguredName, String cohortName)
      Enable registration of server to an open metadata repository cohort using the default topic structure (DEDICATED_TOPICS). A cohort is a group of open metadata repositories that are sharing metadata. An OMAG server can connect to zero, one or more cohorts. Each cohort needs a unique name. The members of the cohort use a shared topic to exchange registration information and events related to changes in their supported metadata types and instances. They are also able to query each other's metadata directly through REST calls.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - server to be configured
      cohortName - name of the cohort.
      Returns:
      VoidResponse or ServerAuthorException if the supplied userId is not authorized to issue this command or invalid serverName, cohortName or serviceMode parameter or or the cohort registration failed
    • removeCohortRegistration

      public VoidResponse removeCohortRegistration(String userId, String serverName, String serverToBeConfiguredName, String cohortName)
      Unregister this server from an open metadata repository cohort.
      Parameters:
      userId - user that is issuing the request.
      serverName - local server name.
      serverToBeConfiguredName - name of server to pass the request to
      cohortName - name of the cohort.
      Returns:
      VoidResponse or OMAGNotAuthorizedException the supplied userId is not authorized to issue this command or OMAGInvalidParameterException invalid serverName, cohortName or serviceMode parameter.