Class NoOpIntegrationExecutor

  • All Implemented Interfaces:
    sailpoint.integration.IntegrationExecutor, sailpoint.integration.IntegrationInterface

    public class NoOpIntegrationExecutor
    extends AbstractCommonIntegrationExecutor
    Implements a no-op integration executor, suitable for detached apps.

    The integration will accept any inputs and return success. The result will contain the existing Link with the given changes applied, which makes it suitable for optimistic provisioning.

    Note that you could specify this integration executor only for specific operations on the configuration or allow it to be used for any.

    You can optionally choose to run the Application’s before and after provisioning rules, which by default are not invoked by integration executors.

    TODO ensure that the Customization rule is invoked on the returning ResourceObject

    • Field Summary

      • Fields inherited from class sailpoint.integration.AbstractIntegrationExecutor

        _config, _context, _proxy, HTTP_PROXYHOST, HTTP_PROXYPASSWORD, HTTP_PROXYPORT, HTTP_PROXYUSER, HTTPS_PROXYHOST, HTTPS_PROXYPASSWORD, HTTPS_PROXYPORT, HTTPS_PROXYUSER, RETRYABLE_ERRORS
    • Constructor Summary

      Constructors 
      Constructor Description
      NoOpIntegrationExecutor()
      Constructs a new NoOpIntegrationExecutor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      sailpoint.object.ProvisioningResult checkStatus​(String requestId)
      Always return committed from checkStatus
      void configure​(sailpoint.api.SailPointContext context, sailpoint.object.IntegrationConfig config)  
      protected sailpoint.object.Link findExistingLink​(sailpoint.object.ProvisioningPlan plan, sailpoint.object.ProvisioningPlan.AccountRequest acctReq)
      Finds the existing Link in IIQ based on the account request and (if that doesn’t work) the provisioning plan.
      protected sailpoint.object.ResourceObject generateResourceObject​(sailpoint.object.Link existingLink, sailpoint.object.ProvisioningPlan.AccountRequest acctReq)
      Generates the ResourceObject from the existing link and the account request.
      sailpoint.object.ProvisioningResult provision​(sailpoint.object.ProvisioningPlan plan)
      Fakes invocation of the provisioning operations for each of the account requests in the given plan.
      • Methods inherited from class sailpoint.integration.AbstractIntegrationExecutor

        addRole, configure, deleteRole, finishRoleDefinition, getConnector, getContext, getRequestStatus, getString, getTargetCollector, inheritCredentials, listRoles, ping, provision, provision, setProxy, shouldRetry
    • Method Detail

      • checkStatus

        public sailpoint.object.ProvisioningResult checkStatus​(String requestId)
                                                        throws Exception
        Always return committed from checkStatus
        Specified by:
        checkStatus in interface sailpoint.integration.IntegrationExecutor
        Overrides:
        checkStatus in class sailpoint.integration.AbstractIntegrationExecutor
        Parameters:
        requestId - Unclear
        Returns:
        A committed result
        Throws:
        Exception - on failures
      • configure

        public void configure​(sailpoint.api.SailPointContext context,
                              sailpoint.object.IntegrationConfig config)
                       throws Exception
        Specified by:
        configure in interface sailpoint.integration.IntegrationExecutor
        Overrides:
        configure in class sailpoint.integration.AbstractIntegrationExecutor
        Throws:
        Exception
      • findExistingLink

        protected sailpoint.object.Link findExistingLink​(sailpoint.object.ProvisioningPlan plan,
                                                         sailpoint.object.ProvisioningPlan.AccountRequest acctReq)
                                                  throws sailpoint.tools.GeneralException
        Finds the existing Link in IIQ based on the account request and (if that doesn’t work) the provisioning plan.

        The Link will be located by application and native ID first, and then by Link + Identity if needed.

        Parameters:
        plan - The provisioning plan
        acctReq - The account request being provisioned
        Returns:
        The Link, if any, otherwise null
        Throws:
        sailpoint.tools.GeneralException - if the AccountRequest matches more than one Link
      • generateResourceObject

        protected sailpoint.object.ResourceObject generateResourceObject​(sailpoint.object.Link existingLink,
                                                                         sailpoint.object.ProvisioningPlan.AccountRequest acctReq)
                                                                  throws sailpoint.tools.GeneralException
        Generates the ResourceObject from the existing link and the account request.

        This will be returned back through the connector like most of the “real” connectors.

        Parameters:
        existingLink - The existing Link, if one exists, or null
        acctReq - The account request that was just provisioned
        Returns:
        The resulting ResourceObject with the current state of the account
        Throws:
        sailpoint.tools.GeneralException - if any failures occur
      • provision

        public sailpoint.object.ProvisioningResult provision​(sailpoint.object.ProvisioningPlan plan)
                                                      throws sailpoint.tools.GeneralException
        Fakes invocation of the provisioning operations for each of the account requests in the given plan.

        The before and after provisioning rules may optionally be invoked.

        Specified by:
        provision in interface sailpoint.integration.IntegrationExecutor
        Overrides:
        provision in class sailpoint.integration.AbstractIntegrationExecutor
        Parameters:
        plan - The plan being provisioned
        Returns:
        the provisioning result
        Throws:
        sailpoint.tools.GeneralException - on failures