Interface ProvisioningGovernanceContext

All Superinterfaces:
GovernanceContext
All Known Implementing Classes:
GovernanceActionContext

public interface ProvisioningGovernanceContext extends GovernanceContext
ProvisioningGovernanceContext provides access to the details of the provisioning request along with basic access to the metadata store. A provisioning service is typically using the requestSourceElements to provision new resources at the actionTargetElements. It may also create the lineage to cover its provisioning work. The methods provided to create the lineage are simple. They include an optional templateGUID to copy the structure of a more complex element if needed. Alternatively, the provisioning service can specify a guard on completion to initiate a remediation service to fill out the lineage metadata in more detail.
  • Method Details

    • createAsset

      String createAsset(String assetTypeName, String qualifiedName, String name, String description) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create an asset such as a data file, database, API or server.
      Parameters:
      assetTypeName - the type name of the asset. This is the name of an open metadata type that inherits from "Asset".
      qualifiedName - the unique name of the new asset
      name - the technical display name of the resource
      description - the description of the resource
      Returns:
      unique identifier of the new asset
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create an asset
      PropertyServerException - there is a problem connecting to the metadata store
    • createAsset

      String createAsset(String assetTypeName, String qualifiedName, String name, String versionIdentifier, String description, ElementProperties extendedProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create an asset such as a data file, database, API or server.
      Parameters:
      assetTypeName - the type name of the asset. This is the name of an open metadata type that inherits from "Asset".
      qualifiedName - the unique name of the new asset
      name - the technical display name of the resource
      versionIdentifier - version of the resource
      description - the description of the resource
      extendedProperties - attributes introduced by subtypes of Asset
      Returns:
      unique identifier of the new asset
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create an asset
      PropertyServerException - there is a problem connecting to the metadata store
    • createAssetFromTemplate

      String createAssetFromTemplate(String templateGUID, String qualifiedName, String name, String description) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create an asset such as a data file, database, API or server. This is used if the provisioning governance action service has created a new asset as part of the provisioning process. This interface includes an optional templateGUID to copy the structure of an existing asset of the same type.
      Parameters:
      templateGUID - the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema, connection etc)
      qualifiedName - the unique name of the new asset
      name - the technical display name of the asset
      description - the description of the asset
      Returns:
      unique identifier of the new asset
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create an asset
      PropertyServerException - there is a problem connecting to the metadata store
    • createAssetFromTemplate

      String createAssetFromTemplate(String assetTypeName, String templateGUID, String qualifiedName, String name, String versionIdentifier, String description, ElementProperties extendedProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create an asset such as a data file, database, API or server. This is used if the provisioning governance action service has created a new asset as part of the provisioning process. This interface includes an optional templateGUID to copy the structure of an existing asset of the same type.
      Parameters:
      assetTypeName - the type name of the asset. This is the name of an open metadata type that inherits from "Asset".
      templateGUID - the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema, connection etc)
      qualifiedName - the unique name of the new asset
      name - the technical display name of the asset
      versionIdentifier - version of the resource
      description - the description of the asset
      extendedProperties - attributes introduced by subtypes of Asset
      Returns:
      unique identifier of the new asset
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create an asset
      PropertyServerException - there is a problem connecting to the metadata store
    • createProcess

      String createProcess(String processTypeName, ElementStatus initialStatus, String qualifiedName, String name, String description) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new process to represent the processing of this governance action process.
      Parameters:
      processTypeName - the type name of the process. This is the name of an open metadata type that inherits from "Process".
      initialStatus - status value of the process
      qualifiedName - the unique name of the new process
      name - the technical display name of the process
      description - the description of the process
      Returns:
      unique identifier of the new process
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create a process
      PropertyServerException - there is a problem connecting to the metadata store
    • createProcess

      String createProcess(String processTypeName, ElementStatus initialStatus, String qualifiedName, String name, String versionIdentifier, String description, String formula, ElementProperties extendedProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new process to represent the processing of this governance action process.
      Parameters:
      processTypeName - the type name of the process. This is the name of an open metadata type that inherits from "Process".
      initialStatus - status value of the process
      qualifiedName - the unique name of the new process
      name - the technical display name of the process
      versionIdentifier - version of the resource
      description - the description of the process
      formula - expression that describes the behaviour of the process
      extendedProperties - attributes introduced by subtypes of Process
      Returns:
      unique identifier of the new process
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create a process
      PropertyServerException - there is a problem connecting to the metadata store
    • createProcessFromTemplate

      String createProcessFromTemplate(String templateGUID, ElementStatus initialStatus, String qualifiedName, String name, String description) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new process to represent the processing of this governance action process.
      Parameters:
      templateGUID - the unique identifier of the existing process to copy (this will copy all the attachments such as ports, nested content, schema, connection etc)
      initialStatus - status value of the process
      qualifiedName - the unique name of the new process
      name - the technical display name of the process
      description - the description of the process
      Returns:
      unique identifier of the new process
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create a process
      PropertyServerException - there is a problem connecting to the metadata store
    • createProcessFromTemplate

      String createProcessFromTemplate(String templateGUID, ElementStatus initialStatus, String qualifiedName, String name, String versionIdentifier, String description, String formula, ElementProperties extendedProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new process to represent the processing of this governance action process.
      Parameters:
      templateGUID - the unique identifier of the existing process to copy (this will copy all the attachments such as ports, nested content, schema, connection etc)
      initialStatus - status value of the process
      qualifiedName - the unique name of the new process
      name - the technical display name of the process
      versionIdentifier - version of the resource
      description - the description of the process
      formula - expression that describes the behaviour of the process
      extendedProperties - attributes introduced by subtypes of Process
      Returns:
      unique identifier of the new process
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create a process
      PropertyServerException - there is a problem connecting to the metadata store
    • createChildProcess

      String createChildProcess(String processTypeName, ElementStatus initialStatus, String qualifiedName, String name, String description, String parentGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a process that represents the processing instance of this governance action.
      Parameters:
      processTypeName - the type name of the process. This is the name of an open metadata type that inherits from "Process".
      initialStatus - status value of the process
      qualifiedName - the unique name of the new process
      name - the technical display name of the process
      description - the description of the process
      parentGUID - the unique identifier of the existing process to copy (this will copy all the attachments such as ports, nested content, schema, connection etc)
      Returns:
      unique identifier of the new process
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create a process
      PropertyServerException - there is a problem connecting to the metadata store
    • createChildProcess

      String createChildProcess(String processTypeName, ElementStatus initialStatus, String qualifiedName, String name, String versionIdentifier, String description, String formula, ElementProperties extendedProperties, String parentGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a process that represents the processing instance of this governance action.
      Parameters:
      processTypeName - the type name of the process. This is the name of an open metadata type that inherits from "Process".
      initialStatus - status value of the process
      qualifiedName - the unique name of the new process
      name - the technical display name of the process
      versionIdentifier - version of the resource
      description - the description of the process
      formula - expression that describes the behaviour of the process
      extendedProperties - attributes introduced by subtypes of Process
      parentGUID - the unique identifier of the existing process to copy (this will copy all the attachments such as ports, nested content, schema, connection etc)
      Returns:
      unique identifier of the new process
      Throws:
      InvalidParameterException - the type name or qualified name is null or invalid
      UserNotAuthorizedException - this governance action service is not authorized to create a process
      PropertyServerException - there is a problem connecting to the metadata store
    • createPort

      String createPort(String processGUID, String qualifiedName, String displayName, PortType portType) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add a port to a process.
      Parameters:
      processGUID - unique identifier of the process
      qualifiedName - unique name for the port
      displayName - display name for the port
      portType - type of port (direction of data flow)
      Returns:
      unique identifier of the new port
      Throws:
      InvalidParameterException - the processGUID or qualified name is null or is invalid
      UserNotAuthorizedException - the governance action service is not authorized to create this type of element
      PropertyServerException - there is a problem with the metadata store
    • createLineageRelationship

      String createLineageRelationship(String sourceElementGUID, String targetElementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a LineageMapping relationship between a source and target element. This could be between two assets, two process ports or two schema elements.
      Parameters:
      sourceElementGUID - unique identifier of the element that describes the source of the data.
      targetElementGUID - unique identifier of the element that describes the destination of the data.
      Returns:
      unique identifier of the relationship
      Throws:
      InvalidParameterException - one of the GUIDs is null or is invalid
      UserNotAuthorizedException - the governance action service is not authorized to create this type of relationship
      PropertyServerException - there is a problem with the metadata store
    • createLineageRelationship

      String createLineageRelationship(String relationshipName, String sourceElementGUID, String qualifiedName, String description, String formula, String targetElementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a lineage relationship between a source and target element. This could be between two assets, two process ports or two schema elements.
      Parameters:
      relationshipName - either LineageMapping, ProcessCall, DataFlow, ControlFlow.
      sourceElementGUID - unique identifier of the element that describes the source of the data.
      qualifiedName - qualifiedName of the information supply chain
      description - description of the lineage activity
      formula - expression summa
      targetElementGUID - unique identifier of the element that describes the destination of the data.
      Returns:
      unique identifier of the relationship
      Throws:
      InvalidParameterException - one of the GUIDs is null or is invalid
      UserNotAuthorizedException - the governance action service is not authorized to create this type of relationship
      PropertyServerException - there is a problem with the metadata store