mirror of
https://github.com/jonbranan/globalscape.git
synced 2024-10-19 21:47:05 -05:00
788 lines
61 KiB
Plaintext
788 lines
61 KiB
Plaintext
<AMTASK>
|
|
<AMTASKHEAD>
|
|
<TASKINFO TASKVERSION="10.7.100.1" />
|
|
</AMTASKHEAD>
|
|
|
|
<AMTASKVARIABLES>
|
|
<AMTASKVARIABLE NAME="TaskPublisher" DESCRIPTION="The publisher associated with subscriber targeted by this task." />
|
|
<AMTASKVARIABLE NAME="TaskPublisherRoot" DESCRIPTION="The root part of the publisher." />
|
|
<AMTASKVARIABLE NAME="TaskPublisherPrefix" DESCRIPTION="The prefix of publisher." />
|
|
<AMTASKVARIABLE NAME="TaskMonitorRootFolder" DESCRIPTION="The root folder of the monitor file structure." />
|
|
<AMTASKVARIABLE NAME="TaskConfigFileRootFolder" DESCRIPTION="The root path where the new configuration XML files will be located." />
|
|
<AMTASKVARIABLE NAME="TaskLogFilePath" DESCRIPTION="The location of the logfile for this process." />
|
|
<AMTASKVARIABLE NAME="TaskDataFilePath" DESCRIPTION="The location of the logfile for this process." />
|
|
<AMTASKVARIABLE NAME="TaskPartner" DESCRIPTION="The partner of the XML being processed." />
|
|
<AMTASKVARIABLE NAME="TaskConnectionMethod" DESCRIPTION="The AML used to connect to endpoint or host." />
|
|
<AMTASKVARIABLE NAME="TaskEndpointType" DESCRIPTION="The type of endpoint or host." />
|
|
<AMTASKVARIABLE NAME="TaskAddress" DESCRIPTION="The address of the endpoint or host." />
|
|
<AMTASKVARIABLE NAME="TaskAccessKey" DESCRIPTION="The account/username to access endpoint or host." />
|
|
<AMTASKVARIABLE NAME="TaskSecretKey" DESCRIPTION="The secret key/password to access endpoint or host." />
|
|
<AMTASKVARIABLE NAME="TaskUrl" DESCRIPTION="The url of endpoint." />
|
|
<AMTASKVARIABLE NAME="TaskCertificate" DESCRIPTION="The location of the certificate to used to access endpoint or host." />
|
|
<AMTASKVARIABLE NAME="TaskCommandConnect" DESCRIPTION="The static connection details needed for command line calls." />
|
|
<AMTASKVARIABLE NAME="TaskResultConnection" DESCRIPTION="The result of the connection attempt." />
|
|
<AMTASKVARIABLE NAME="TaskDoListing" DESCRIPTION="Whether or not to do a listing of each destination listed in the XML(s)." />
|
|
<AMTASKVARIABLE NAME="TaskTargetDestinations" DESCRIPTION="The target destination at endpoint or host." TYPE="array" XSIZE="1" YSIZE="1" />
|
|
<AMTASKVARIABLE NAME="TaskPort" DESCRIPTION="The port used to make the connection." />
|
|
<AMTASKVARIABLE NAME="TaskConfigSshKeyFolder" DESCRIPTION="The folder that contains the SSH keys." />
|
|
<AMTASKVARIABLE NAME="TaskFtpSession" DESCRIPTION="The FTP session for the current XML." />
|
|
<AMTASKVARIABLE NAME="TaskSecretPassphrase" DESCRIPTION="The secret passphrase for the current XML." />
|
|
<AMTASKVARIABLE NAME="TaskProxy" DESCRIPTION="The proxy type for the current XML." />
|
|
<AMTASKVARIABLE NAME="TaskSshKey" DESCRIPTION="The SSH key for the current XML." />
|
|
<AMTASKVARIABLE NAME="TaskSpUsername" DESCRIPTION="The SharePoint username from environmental variables." />
|
|
<AMTASKVARIABLE NAME="TaskSpPassword" DESCRIPTION="The SharePoint password from environmental variables." />
|
|
<AMTASKVARIABLE NAME="TaskXmlConfigFilePath" DESCRIPTION="The folder that contains the XML config files." />
|
|
<AMTASKVARIABLE NAME="TaskXmlSession" DESCRIPTION="The session for reading the XML config file." />
|
|
<AMTASKVARIABLE NAME="TaskEnvProxyPort" DESCRIPTION="The proxy port from environmental variables." />
|
|
<AMTASKVARIABLE NAME="TaskEnvProxyHost" DESCRIPTION="The proxy host from environmental variables." />
|
|
<AMTASKVARIABLE NAME="TaskEnvProxyType" DESCRIPTION="The proxy type from environmental variables." />
|
|
<AMTASKVARIABLE NAME="HandlerSmtpPort" DESCRIPTION="The email server port from environmental variables." />
|
|
<AMTASKVARIABLE NAME="HandlerSmtpHost" DESCRIPTION="The email server host from environmental variables." />
|
|
<AMTASKVARIABLE NAME="HandlerSmtpUsername" DESCRIPTION="The email server username from environmental variables." />
|
|
<AMTASKVARIABLE NAME="HandlerSmtpPassword" DESCRIPTION="The email server password from environmental variables." />
|
|
<AMTASKVARIABLE NAME="TaskWorkingLogPath" DESCRIPTION="The path to the temporary working folder." />
|
|
<AMTASKVARIABLE NAME="TaskTempLogPath" DESCRIPTION="The path to the temporary working log folder." />
|
|
<AMTASKVARIABLE NAME="TaskEmailTable" DESCRIPTION="The HTML body for the table portion of the email." />
|
|
<AMTASKVARIABLE NAME="TaskEmailListing" DESCRIPTION="The HTML body for the file listing portion of the email." />
|
|
<AMTASKVARIABLE NAME="TaskEmailFiles" DESCRIPTION="The HTML body for the file portion of the email." />
|
|
<AMTASKVARIABLE NAME="TaskAdminPath" DESCRIPTION="The path to the administrative folder that contains the monitor and timer folders." />
|
|
<AMTASKVARIABLE NAME="TaskFromEmail" DESCRIPTION="The email address the result email will originate from, pulled from environmental variables." />
|
|
</AMTASKVARIABLES>
|
|
|
|
<AMFUNCTION NAME="Main" ACCESS="private" RETURNTYPE="variable">
|
|
<!-- AMREGION="Overview" LENGTH="1" COLLAPSE="no" -->
|
|
<!-- ----------------------------------------------------------------------------------
|
|
Current Version: 1.0.2
|
|
Last Updated : April 22nd, 2020
|
|
Author : Wendy Hartley
|
|
|
|
|
|
Change Log
|
|
1.0.0 [01/30/2020] Initial version
|
|
1.0.1 [01/31/2020] Added slash for S3 listing to show files
|
|
1.0.2 [04/22/2020] Added capability to test SFTP connectivity (JNHC)
|
|
---------------------------------------------------------------------------------- -->
|
|
<!-- Identify XMLs to check -->
|
|
<!-- SUB XMLs -->
|
|
<!-- SFTP -->
|
|
<!--
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="iLASR4_sub.xml" TYPE="text" ISPARAMETER="YES" />
|
|
--><!-- S3 -->
|
|
<!--
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="eESIS3_sub.xml" TYPE="text" ISPARAMETER="YES" />
|
|
--><!-- File System -->
|
|
<!--
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="iTESTWTC50_sub.xml" TYPE="text" ISPARAMETER="YES" />
|
|
--><!-- SharePoint -->
|
|
<!--
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="iQMRTSUB3_sub.xml" TYPE="text" ISPARAMETER="YES" />
|
|
--><!-- Blob -->
|
|
<!--
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="iSEISMIC2_sub.xml" TYPE="text" ISPARAMETER="YES" />
|
|
--><!-- PUB XMLs -->
|
|
<!--
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="iQMRT6_PUB.xml" TYPE="text" ISPARAMETER="YES" />
|
|
--><AMVARIABLE NAME="doListing" VALUE="YES" TYPE="text" ISPARAMETER="YES" />
|
|
<AMVARIABLE NAME="toEmailAddress" VALUE="" TYPE="text" ISPARAMETER="YES" />
|
|
<AMVARIABLE NAME="xmlConfigScope" VALUE="*.xml" TYPE="text" ISPARAMETER="YES" />
|
|
<AMVARIABLE NAME="csvFileName">CGMFT_Connectivity_Results-%EVENT_DATESTAMP%-%EVENT_TIMESTAMP%-%CreateGUID()%.csv</AMVARIABLE>
|
|
<AMVARIABLE NAME="logFileName">CGMFT_Connectivity-%EVENT_DATESTAMP%-%EVENT_TIMESTAMP%-%CreateGUID()%.log</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskDoListing">%doListing%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailTable" VALUE="<br/><table border="1"><tr><td colspan="5" align="center"><b><h3>Connection Test Results</h3></b></td></tr>" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailTable">%TaskEmailTable%<tr><td align="left"><b>XML Path</b></td><td align="left"><b>Partner</b></td><td align="left"><b>Endpoint Type</b></td><td align="left"><b>Address</b></td><td align="left"><b>Connection</b></td></tr></AMVARIABLE>
|
|
<AMVARIABLE NAME="eventName" TYPE="text">%EVENT_NAME%</AMVARIABLE>
|
|
<AMVARIABLE NAME="objectToList" VALUE="" TYPE="text" />
|
|
<AMVARIABLE NAME="xmlConfigFilePath" VALUE="N/A" />
|
|
<AMVARIABLE NAME="xmlType" VALUE="" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_ADMIN_PATH" RESULTVARIABLE="TaskAdminPath" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_WORKING_PATH" RESULTVARIABLE="TaskWorkingLogPath" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_LOG_FOLDER" RESULTVARIABLE="TaskTempLogPath" TYPE="user" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskDataFilePath">%TaskWorkingLogPath%\Logs\%csvFileName%</AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskDataFilePath%" DATA="XML Path,Partner,Endpoint Type,AML for Connection,Address,Url (optional),Certificate (optional),Connection" APPEND="no" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskLogFilePath">%TaskWorkingLogPath%\Logs\%logFileName%</AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%" DATA="Starting..." APPEND="no" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SSH_KEY_PATH" RESULTVARIABLE="TaskConfigSshKeyFolder" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_CONFIG_PATH" RESULTVARIABLE="TaskConfigFileRootFolder" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SP_USERNAME" RESULTVARIABLE="TaskSpUsername" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SP_PASSWORD" RESULTVARIABLE="TaskSpPassword" TYPE="user" />
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%GetProxyFromEnv(UCase(SITE_NAME))%" />
|
|
<AMVARIABLE AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="RUN_FROM_TEMP_FOLDER" NAME="filePath">%FS_PATH%</AMVARIABLE>
|
|
<AMIF EXPRESSION="%filePath% <> "Physical Path"">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%" DATA="XMLs provided via file dropoff" />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Path: %filePath%</AMFILESYSTEM>
|
|
<AMFILESYSTEM ACTIVITY="move" SOURCE="%filePath%" DEST="%TaskWorkingLogPath%\CGMFT_Connectivity_TEMP_%FS_FILE_NAME%" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="filePath">%TaskWorkingLogPath%\CGMFT_Connectivity_TEMP_%FS_FILE_NAME%</AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Moved file to working directory: %filePath%</AMFILESYSTEM>
|
|
<AMIF ACTIVITY="contains_text" TEXT="%eventName%" SUBSTRING="Folder Monitor">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailFiles">%TaskEmailFiles%<br/>%filePath%</AMVARIABLE>
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%TestXml(filePath)%" />
|
|
</AMIF>
|
|
<AMIF ACTIVITY="contains_text" TEXT="%eventName%" SUBSTRING="Verified Upload">
|
|
<AMVARIABLE NAME="listData" VALUE="" />
|
|
<AMVARIABLE NAME="fileLocation" VALUE="" />
|
|
<AMLOOP ACTIVITY="filecontents" FILE="%filePath%" RESULTVARIABLE="listData">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="fileLocation">%TaskConfigFileRootFolder%\%listData%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailFiles">%TaskEmailFiles%<br/>%listData%</AMVARIABLE>
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%TestXml(fileLocation)%" />
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<AMFILESYSTEM ACTIVITY="delete" AM_ONERROR="CONTINUE" SOURCE="%filePath%" />
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_CGMFT_CONNECTIVITY" />
|
|
</AMIF>
|
|
<AMLABEL LABELNAME="RUN_FROM_TEMP_FOLDER" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskConfigFileRootFolder">%TaskAdminPath%\Connectivity_Test_TM</AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">XMLs provided via folder %TaskConfigFileRootFolder%</AMFILESYSTEM>
|
|
<!-- Loop through Config directory for PUB/SUB XMLs requested and populate array -->
|
|
<AMLOOP ACTIVITY="folder" FOLDER="%TaskConfigFileRootFolder%/%xmlConfigScope%" RESULTVARIABLE="xmlConfigFilePath">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailFiles">%TaskEmailFiles%<br/>%xmlConfigFilePath%</AMVARIABLE>
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%TestXml(xmlConfigFilePath)%" />
|
|
</AMLOOP>
|
|
<AMLABEL LABELNAME="EXIT_CGMFT_CONNECTIVITY" />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%" DATA="Completed." />
|
|
<AMIF EXPRESSION="%toEmailAddress% <> """>
|
|
<AMTASK ACTIVITY="call_function" AM_ONERROR="CONTINUE" FUNCTIONNAME="%SendEmail(toEmailAddress)%" />
|
|
</AMIF>
|
|
<AMFILESYSTEM ACTIVITY="move" SOURCE="%TaskLogFilePath%" DEST="%TaskTempLogPath%\%logFileName%" />
|
|
<AMFILESYSTEM ACTIVITY="move" SOURCE="%TaskDataFilePath%" DEST="%TaskTempLogPath%\%csvFileName%" />
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="OnStepStart" ACCESS="private">
|
|
<AMPARAMETER NAME="FunctionName" DESCRIPTION="The function that is starting the step" SUBTYPE="text" />
|
|
<AMPARAMETER NAME="StepNumber" DESCRIPTION="The step number that is about to execute" SUBTYPE="number" />
|
|
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="OnStepEnd" ACCESS="private">
|
|
<AMPARAMETER NAME="FunctionName" DESCRIPTION="The function that is ending the step" SUBTYPE="text" />
|
|
<AMPARAMETER NAME="StepNumber" DESCRIPTION="The step number that is about to end" SUBTYPE="number" />
|
|
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="OnStepError" ACCESS="private">
|
|
<AMPARAMETER NAME="FunctionName" DESCRIPTION="The function with the error" SUBTYPE="text" />
|
|
<AMPARAMETER NAME="StepNumber" DESCRIPTION="The step number of the error" SUBTYPE="number" />
|
|
<AMPARAMETER NAME="ErrorText" DESCRIPTION="The text of the error" SUBTYPE="text" />
|
|
<AMPARAMETER NAME="ErrorCode" DESCRIPTION="The code of the error" SUBTYPE="number" />
|
|
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="OnTaskFailure" ACCESS="private">
|
|
<AMPARAMETER NAME="FunctionName" DESCRIPTION="The function causing the task failure" SUBTYPE="text" />
|
|
<AMPARAMETER NAME="StepNumber" DESCRIPTION="The step number causing the task failure" SUBTYPE="number" />
|
|
<AMPARAMETER NAME="ErrorText" DESCRIPTION="The text of the error" SUBTYPE="text" />
|
|
<AMPARAMETER NAME="ErrorCode" DESCRIPTION="The code of the error" SUBTYPE="number" />
|
|
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="OnTaskStart" ACCESS="private">
|
|
<AMPARAMETER NAME="Reason" DESCRIPTION="The reason the task is starting" SUBTYPE="text" />
|
|
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="OnTaskEnd" ACCESS="private">
|
|
<AMPARAMETER NAME="Reason" DESCRIPTION="The reason the task is ending" SUBTYPE="text" />
|
|
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="S3Command">
|
|
<AMPARAMETER NAME="commandType" DESCRIPTION="The type of command to be performed" />
|
|
<AMPARAMETER NAME="objectToList" REQUIRED="NO" />
|
|
|
|
<AMVARIABLE NAME="s3CommandLine" VALUE="" />
|
|
<AMVARIABLE NAME="s3ReturnCode" VALUE="0" TYPE="number" />
|
|
<AMVARIABLE NAME="s3Output" VALUE="" />
|
|
<AMVARIABLE NAME="s3DestinationFilePath" VALUE="" />
|
|
<AMVARIABLE NAME="errorId" VALUE="0" TYPE="number" />
|
|
<AMVARIABLE NAME="errorMessage" VALUE="" TYPE="text" />
|
|
<AMSELECTCASE EXPRESSION="%commandType%" AM_ONERROR="CONTINUE">
|
|
<AMCASE CONSTANT="Initialize">
|
|
<!-- Set Amazon CLI environment variables with access key & secret key. -->
|
|
<AMENVVARS ACTIVITY="set" AM_ONERROR="CONTINUE" NAME="AWS_ACCESS_KEY_ID" TYPE="process" VALUE="%TaskAccessKey%" />
|
|
<AMENVVARS ACTIVITY="set" AM_ONERROR="CONTINUE" NAME="AWS_SECRET_ACCESS_KEY" TYPE="process" VALUE="%TaskSecretKey%" />
|
|
<!-- Set connection details for delivery call -->
|
|
<!-- Add endpoint if required -->
|
|
<AMIF EXPRESSION="%TaskUrl% <> """>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskCommandConnect"> --endpoint-url=%TaskUrl%</AMVARIABLE>
|
|
</AMIF>
|
|
<!-- Add certificate if required -->
|
|
<AMIF EXPRESSION="%TaskCertificate% <> """>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskCommandConnect">%TaskCommandConnect% --ca-bundle %TaskCertificate%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="Listing">
|
|
<!-- Build aws S3 command line for file. -->
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="s3CommandLine">aws s3 ls "s3://%objectToList%/"%TaskCommandConnect%</AMVARIABLE>
|
|
<!-- Run aws S3 command line for file. -->
|
|
<AMRUN AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" AM_ONERROR="CONTINUE" FILE="%s3CommandLine%" DEFAULTFOLDER="C:\Program Files\Amazon\AWSCLI" WAITFOREND="YES" RESULTVARIABLE="s3ReturnCode" DOS="YES" OUTPUTVARIABLE="s3Output" />
|
|
<!-- Check s3ReturnCode -->
|
|
<AMIF EXPRESSION="%s3ReturnCode% <> 0 OR %errorId% <> 0">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="errorMessage">Error connecting to %objectToList%. Command: %s3CommandLine%. Error: %errorId% - %errorMessage%. S3 Return code: %s3ReturnCode%. S3 Output: %s3Output%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection">Failure</AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Command: %s3CommandLine & VbCrLf%S3 Output: %VbCrLf & s3Output%</AMFILESYSTEM>
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_S3_COMMAND" />
|
|
<AMELSE />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Command: %s3CommandLine & VbCrLf%S3 Output: %VbCrLf & s3Output%</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection">Successful</AMVARIABLE>
|
|
</AMIF>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/>%VbCrLf & s3Output%</AMVARIABLE>
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
<!-- EXIT -->
|
|
<AMLABEL LABELNAME="EXIT_S3_COMMAND" />
|
|
<AMIF EXPRESSION="%errorId% <> 0">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%objectToList%: %errorId% - %errorMessage%</AMFILESYSTEM>
|
|
</AMIF>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="BlobCommand">
|
|
<AMPARAMETER NAME="commandType" DESCRIPTION="The type of command to be performed" />
|
|
<AMPARAMETER NAME="objectToList" REQUIRED="NO" />
|
|
|
|
<AMVARIABLE NAME="blobOutput" VALUE="" />
|
|
<AMVARIABLE NAME="errorId" VALUE="0" TYPE="number" />
|
|
<AMVARIABLE NAME="errorMessage" VALUE="" TYPE="text" />
|
|
<AMSELECTCASE EXPRESSION="%commandType%" AM_ONERROR="CONTINUE">
|
|
<AMCASE CONSTANT="Listing">
|
|
<!-- Do listing -->
|
|
<AMAZURESTORAGE ACTIVITY="list_blobs" ACCOUNTNAME="%TaskAccessKey%" ACCESSKEY="%TaskSecretKey%" RESULTDATASET="myBlob" CONTAINER="%objectToList%" LISTING="All" AM_ONERROR="CONTINUE" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" />
|
|
<!-- Check if any errors -->
|
|
<AMIF EXPRESSION="%errorId% = 0">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="blobOutput">Endpoint: %objectToList & VbCrLf%Listing:</AMVARIABLE>
|
|
<!-- Check if a result set was returned -->
|
|
<AMIF EXPRESSION="%myBlob.TotalRows% > 0">
|
|
<AMLOOP ACTIVITY="dataset" DATASET="myBlob">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="blobOutput">%blobOutput & VbCrLf & myBlob.LastModifiedUTC% %myBlob.Length% %myBlob.Name%</AMVARIABLE>
|
|
</AMLOOP>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection">Successful</AMVARIABLE>
|
|
</AMIF>
|
|
<AMELSE />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection">Failure</AMVARIABLE>
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_BLOB_COMMAND" />
|
|
</AMIF>
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%blobOutput%</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/>%blobOutput%</AMVARIABLE>
|
|
<!-- EXIT -->
|
|
<AMLABEL LABELNAME="EXIT_BLOB_COMMAND" />
|
|
<AMIF EXPRESSION="%errorId% <> 0">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%objectToList%: %errorId% - %errorMessage%</AMFILESYSTEM>
|
|
</AMIF>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="SFTPCommand">
|
|
<AMPARAMETER NAME="commandType" />
|
|
<AMPARAMETER NAME="objectToList" REQUIRED="NO" />
|
|
|
|
<AMVARIABLE NAME="secretKey" VALUE="" />
|
|
<AMVARIABLE NAME="secretPassphrase" VALUE="" />
|
|
<AMVARIABLE NAME="sftpError" VALUE="None" />
|
|
<AMSELECTCASE EXPRESSION="%commandType%" AM_ONERROR="CONTINUE">
|
|
<AMCASE CONSTANT="Logon">
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="secretKey">%Decrypt64(TaskSecretKey, TaskPartner)%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="secretPassphrase">%Decrypt64(TaskSecretPassphrase, TaskPartner)%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="TaskFtpSession">FtpSession_%TaskXmlConfigFilePath%</AMVARIABLE>
|
|
<AMIF EXPRESSION="%TaskProxy% <> "site"">
|
|
<AMIF EXPRESSION="%TaskSshKey% <> """>
|
|
<!-- Initiate internal key authentication connection (logonIndex 8) -->
|
|
<AMFTP ACTIVITY="logon" AM_SETVAR="sftpError;"SFTP Logon Failure"" AM_ONERROR="CONTINUE" SERVER="%TaskAddress%" USERNAME="%TaskAccessKey%" PASSWORD="AM4UWlE2nWJ3rG7/zpSDeTSUCvFDmYyET9gaME" TYPE="sftp_public_key" PORT="%TaskPort%" PRIVATEKEYFILE="%TaskConfigSshKeyFolder%\%TaskSshKey%" PASSPHRASE="AM4aaugTz9HRgb+neXq1JFpz6QcMbaODqrJ8lHvcNEjMfg=aME" SESSION="%TaskFtpSession%" />
|
|
<AMELSE />
|
|
<!-- Initiate internal password authentication connection (logonIndex 4) -->
|
|
<AMFTP ACTIVITY="logon" AM_SETVAR="sftpError;"SFTP Logon Failure"" AM_ONERROR="CONTINUE" SERVER="%TaskAddress%" USERNAME="%TaskAccessKey%" PASSWORD="AM4oaeWPtHSqlHHaakGMRa8mV9UtSRmkgkRaME" TYPE="sftp" PORT="%TaskPort%" TIMEOUT="15" SFTPAUTHTYPE="Password" PROXYTYPE="socks5" PROXYSERVER="%TaskEnvProxyHost%" PROXYPORT="%TaskEnvProxyPort%" SESSION="%TaskFtpSession%" />
|
|
</AMIF>
|
|
<AMELSE />
|
|
<AMIF EXPRESSION="%TaskSshKey% <> """>
|
|
<!-- Initiate external key authentication connection (logonIndex 56) -->
|
|
<AMFTP ACTIVITY="logon" AM_SETVAR="sftpError;"SFTP Logon Failure"" AM_ONERROR="CONTINUE" SERVER="%TaskAddress%" USERNAME="%TaskAccessKey%" PASSWORD="AM4zve9pjfyfZwNSerwarzJnsEcK6cG7XpXaME" TYPE="sftp_public_key" PORT="%TaskPort%" TIMEOUT="15" PRIVATEKEYFILE="%TaskConfigSshKeyFolder%\%TaskSshKey%" PASSPHRASE="AM49rHmFI9mRPhSJ+alZPCKxgO9JAA2NbC51kvU/dH/3dg=aME" PROXYTYPE="socks5" PROXYSERVER="%TaskEnvProxyHost%" PROXYPORT="%TaskEnvProxyPort%" SESSION="%TaskFtpSession%" />
|
|
<AMELSE />
|
|
<!-- Initiate external password authentication connection -->
|
|
<AMFTP ACTIVITY="logon" AM_SETVAR="sftpError;"SFTP Logon Failure"" AM_ONERROR="CONTINUE" SERVER="%TaskAddress%" USERNAME="%TaskAccessKey%" PASSWORD="AM4c2U0fCWsg0UpOJFU6iMQ8mCObcqoUDRsaME" TYPE="sftp" PORT="%TaskPort%" TIMEOUT="15" SFTPAUTHTYPE="Password" PROXYTYPE="socks5" PROXYSERVER="%TaskEnvProxyHost%" PROXYPORT="%TaskEnvProxyPort%" SESSION="%TaskFtpSession%" />
|
|
</AMIF>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%sftpError% = "None"">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection" VALUE="Successful" />
|
|
<AMELSE />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection">%sftpError%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="Listing">
|
|
<AMVARIABLE NAME="longList" VALUE="" />
|
|
<AMFTP ACTIVITY="change_folder" AM_SETVAR="sftpError;"SFTP Change Folder Failure"" AM_ONERROR="CONTINUE" FOLDER="%objectToList%" SESSION="%TaskFtpSession%" />
|
|
<AMFTP ACTIVITY="advanced" AM_SETVAR="sftpError;"SFTP List Folder Failure"" AM_ONERROR="CONTINUE" FTPCOMMAND="long_list" RESULTVARIABLE="longList" FTPLONGLISTDATASET="longListDS" SESSION="%TaskFtpSession%" />
|
|
<AMIF EXPRESSION="%sftpError% <> "None"">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Error for directory %objectToList% : %sftpError%</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/>Error for directory %objectToList% : %sftpError%</AMVARIABLE>
|
|
<AMELSE />
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/>Listing files for %TaskAddress% %objectToList%</AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Listing files for %TaskAddress% %objectToList%</AMFILESYSTEM>
|
|
<AMLOOP ACTIVITY="dataset" DATASET="longListDS">
|
|
<AMFILESYSTEM ACTIVITY="write_file" AM_ONERROR="CONTINUE" FILE="%TaskLogFilePath%">%longListDS.FTPFileName% %longListDS.FTPFileSize% %longListDS.FTPFileDate%</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/>%longListDS.FTPFileName% %longListDS.FTPFileSize% %longListDS.FTPFileDate%</AMVARIABLE>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="sftpError" VALUE="None" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="Logoff">
|
|
<AMFTP ACTIVITY="logoff" AM_ONERROR="CONTINUE" SESSION="%TaskFtpSession%" />
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="ExtractPubXml">
|
|
<AMPARAMETER NAME="xmlConfigFilePath" />
|
|
|
|
<AMVARIABLE NAME="addOnKey" VALUE="" />
|
|
<AMVARIABLE NAME="addOnType" VALUE="" />
|
|
<AMVARIABLE NAME="rootFolder" VALUE="" />
|
|
<AMVARIABLE NAME="hostsNode" VALUE="" />
|
|
<AMVARIABLE NAME="sshKeyRootPath" VALUE="" />
|
|
<AMVARIABLE NAME="targetDestination" VALUE="" />
|
|
<AMVARIABLE NAME="errorId" VALUE="0" TYPE="number" />
|
|
<AMVARIABLE NAME="errorMessage" VALUE="" TYPE="text" />
|
|
<!-- Open XML File -->
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="TaskXmlSession">XmlSession_%xmlConfigFilePath%</AMVARIABLE>
|
|
<AMXML AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" FILE="%xmlConfigFilePath%" SESSION="%TaskXmlSession%" />
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/AddOns/AddOn" DATASETTYPE="xpath" RESULTDATASET="addOnDS" />
|
|
<AMIF EXPRESSION="errorId <> 0">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="errorMessage" VALUE="No delivery AddOn." />
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_EXTRACT_SUB_DATA" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%addOnDS.TotalRows% > 0">
|
|
<AMLOOP ACTIVITY="dataset" DATASET="addOnDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnDS.Value%" ATTRNAME="type" RESULTVARIABLE="addOnType" />
|
|
<AMIF EXPRESSION="%addOnType% = "pull"">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnDS.Value%" ATTRNAME="AML" RESULTVARIABLE="TaskConnectionMethod" />
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_delivery_file"" USECOMPLEXUI="YES">
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/AddOns/AddOn/Parameter" DATASETTYPE="xpath" RESULTDATASET="addOnTuplesDS" />
|
|
<AMVARIABLE NAME="keyValue" VALUE="" />
|
|
<AMLOOP ACTIVITY="dataset" DATASET="addOnTuplesDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnTuplesDS.Value%" ATTRNAME="Key" RESULTVARIABLE="keyValue" />
|
|
<AMIF EXPRESSION="%keyValue% = "root_folder"">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="FileSystem" />
|
|
<!-- Pull subscriber name here since FileSystem only reads this section -->
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnTuplesDS.Value%" ATTRNAME="Value" RESULTVARIABLE="rootFolder" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskAddress">%rootFolder%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
</AMIF>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_pull_sftp" OR %LCase(TaskConnectionMethod)% = "cgmft_pull_ftp"" USECOMPLEXUI="YES">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="SFTP" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/UserName" RESULTVARIABLE="TaskAccessKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/Password" RESULTVARIABLE="TaskSecretKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/SshPrivateKeyFile" RESULTVARIABLE="TaskSshKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/SshKeyPassphrase" RESULTVARIABLE="TaskSecretPassphrase" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/Proxy" ATTRNAME="type" RESULTVARIABLE="TaskProxy" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/Address" RESULTVARIABLE="TaskAddress" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/Host/Port" RESULTVARIABLE="TaskPort" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_pull_sharepoint"" USECOMPLEXUI="YES">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="SharePoint" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/SharePoint/Site" RESULTVARIABLE="TaskUrl" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Hosts/SharePoint/DocLibrary" RESULTVARIABLE="TaskAddress" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_pull_object_storage" OR %LCase(TaskConnectionMethod)% = "cgmft_pull_s3_cli"" USECOMPLEXUI="YES">
|
|
<!-- Extract Partner name -->
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<!-- Extract endpoint details to make connection -->
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Endpoints/Endpoint" ATTRNAME="Type" RESULTVARIABLE="TaskEndpointType" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Endpoints/Endpoint/Address" RESULTVARIABLE="TaskAddress" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Endpoints/Endpoint/AccessKey" RESULTVARIABLE="TaskAccessKey" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Publisher/Endpoints/Endpoint/SecretKey" RESULTVARIABLE="TaskSecretKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Endpoints/Endpoint/Url" RESULTVARIABLE="TaskUrl" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/Endpoints/Endpoint/Certificate" RESULTVARIABLE="TaskCertificate" />
|
|
<AMIF EXPRESSION="%TaskCertificate% <> """>
|
|
<AMIF ACTIVITY="contains_text" TEXT="%TaskCertificate%" SUBSTRING="\" ACTION="not_contain">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskCertificate">%TaskConfigSshKeyFolder%\%TaskCertificate%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMIF>
|
|
<!-- Decrypt the encrypted secret key/password -->
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskSecretKey">%Decrypt64(TaskSecretKey, TaskPartner)%</AMVARIABLE>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%TaskDoListing% = "YES"">
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Publisher/AddOns/AddOn/Parameter" DATASETTYPE="xpath" RESULTDATASET="addOnDS" />
|
|
<AMIF EXPRESSION="errorID <> 0">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="errorMessage" VALUE="No delivery AddOn." />
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_EXTRACT_DATA" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%addOnDS.TotalRows% > 0">
|
|
<AMARRAY ACTIVITY="redim" NAME="TaskTargetDestinations" SIZE="%addOnDS.TotalRows%" />
|
|
<AMVARIABLE NAME="index" VALUE="1" />
|
|
<AMLOOP ACTIVITY="dataset" DATASET="addOnDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnDS.Value%" ATTRNAME="Key" RESULTVARIABLE="addOnKey" />
|
|
<AMIF EXPRESSION="%addOnKey% = "outbound_folder"">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnDS.Value%" ATTRNAME="Value" RESULTVARIABLE="targetDestination" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskTargetDestinations(1, index)">%targetDestination%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="increment" RESULTVARIABLE="index" />
|
|
</AMIF>
|
|
</AMLOOP>
|
|
<AMVARIABLE ACTIVITY="decrement" RESULTVARIABLE="index" />
|
|
<AMARRAY ACTIVITY="redim" NAME="TaskTargetDestinations" SIZE="%index%" />
|
|
</AMIF>
|
|
</AMIF>
|
|
<!-- EXIT -->
|
|
<AMLABEL LABELNAME="EXIT_EXTRACT_SUB_DATA" />
|
|
<!-- If an XML session was established, close it. -->
|
|
<AMIF EXPRESSION="%TaskXmlSession% <> """>
|
|
<AMXML ACTIVITY="end_session" SESSION="%TaskXmlSession%" AM_ONERROR="CONTINUE" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%errorId% <> 0">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%xmlConfigFilePath%: %errorId% - %errorMessage%</AMFILESYSTEM>
|
|
</AMIF>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="FileSystemCommand">
|
|
<AMPARAMETER NAME="commandType" />
|
|
<AMPARAMETER NAME="objectToList" />
|
|
|
|
<AMVARIABLE NAME="fileSystemError" VALUE="None" />
|
|
<AMSELECTCASE EXPRESSION="%commandType%" AM_ONERROR="CONTINUE">
|
|
<AMCASE CONSTANT="Listing">
|
|
<AMFILESYSTEM ACTIVITY="get" AM_SETVAR="fileSystemError;"Error retrieving file information."" AM_ONERROR="CONTINUE" MODE="both" SOURCE="%objectToList%" RESULTDATASET="testDS" FILEPROPERTY="parent" />
|
|
<AMIF EXPRESSION="%fileSystemError% <> "None"">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Error for directory %objectToList% : %fileSystemError%</AMFILESYSTEM>
|
|
<AMELSE />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Listing files for %objectToList%</AMFILESYSTEM>
|
|
<AMIF EXPRESSION="%testDS.TotalRows% > 0">
|
|
<AMLOOP ACTIVITY="dataset" DATASET="testDS">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%testDS.LastWriteTime% %testDS.Size% %testDS.FileName%</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/>%testDS.LastWriteTime% %testDS.Size% %testDS.FileName%</AMVARIABLE>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection" VALUE="Successful" />
|
|
</AMIF>
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
<!-- EXIT -->
|
|
<AMLABEL LABELNAME="EXIT_FILE_SYSTEM_COMMAND" />
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="SharePointCommand">
|
|
<AMPARAMETER NAME="commandType" />
|
|
<AMPARAMETER NAME="objectToList" />
|
|
|
|
<AMVARIABLE NAME="spError" VALUE="" />
|
|
<AMVARIABLE NAME="spPassword" VALUE="" />
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="spPassword">%Decrypt64(TaskSpPassword, TaskSpUsername)%</AMVARIABLE>
|
|
<AMSELECTCASE EXPRESSION="%commandType%" AM_ONERROR="CONTINUE">
|
|
<AMCASE CONSTANT="Logon">
|
|
<AMSHAREPOINT ACTIVITY="create_session" AM_SETVAR="TaskResultConnection;"Failed SharePoint connection"" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="SHAREPOINT_EXIT_LABEL" SITE="%TaskUrl%" AUTHTYPE="basic" USERNAME="%TaskSpUsername%" PASSWORD="AM4mkLm17gWh0ix3shqqmdX9qfJCFmUxO5waME" DOMAIN="CGUSER" TIMEOUT="15" SESSION="SharePointSession_%TaskPartner%" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection" VALUE="Successful" />
|
|
<AMSHAREPOINT ACTIVITY="get_sites" AM_SETVAR="TaskResultConnection;%AMError.ErrorDesc%" AM_ONERROR="CONTINUE" SESSION="SharePointSession_%TaskPartner%" RESULTDATASET="SharePointFolderSet" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="Listing">
|
|
<AMSHAREPOINT ACTIVITY="get_folders" AM_SETVAR="TaskResultConnection;"Failed Connection"" AM_ERRORS="30004,30008,30013" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" SESSION="SharePointSession_%TaskPartner%" LIBRARY="%objectToList%" RESULTDATASET="SharePointFolderSet" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailListing">%TaskEmailListing%<br/</AMVARIABLE>
|
|
<AMLABEL LABELNAME="SHAREPOINT_EXIT_LABEL" />
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="ExtractSubXml">
|
|
<AMPARAMETER NAME="xmlConfigFilePath" />
|
|
|
|
<AMVARIABLE NAME="addOnType" VALUE="" />
|
|
<AMVARIABLE NAME="rootFolder" VALUE="" />
|
|
<AMVARIABLE NAME="hostsNode" VALUE="" />
|
|
<AMVARIABLE NAME="sshKeyRootPath" VALUE="" />
|
|
<AMVARIABLE NAME="targetDestination" VALUE="" />
|
|
<AMVARIABLE NAME="errorId" VALUE="0" TYPE="number" />
|
|
<AMVARIABLE NAME="errorMessage" VALUE="" TYPE="text" />
|
|
<!-- Open XML File -->
|
|
<AMVARIABLE ACTIVITY="set" AM_ONERROR="CONTINUE" VARIABLENAME="TaskXmlSession">XmlSession_%xmlConfigFilePath%</AMVARIABLE>
|
|
<AMXML AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" FILE="%xmlConfigFilePath%" SESSION="%TaskXmlSession%" />
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/AddOns/AddOn" DATASETTYPE="xpath" RESULTDATASET="addOnDS" />
|
|
<AMIF EXPRESSION="errorId <> 0">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="errorMessage" VALUE="No delivery AddOn." />
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_SUB_EXTRACT_DATA" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%addOnDS.TotalRows% > 0">
|
|
<AMLOOP ACTIVITY="dataset" DATASET="addOnDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnDS.Value%" ATTRNAME="Type" RESULTVARIABLE="addOnType" />
|
|
<AMIF EXPRESSION="%addOnType% = "delivery"">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnDS.Value%" ATTRNAME="AML" RESULTVARIABLE="TaskConnectionMethod" />
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_delivery_file"" USECOMPLEXUI="YES">
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/AddOns/AddOn/Parameter" DATASETTYPE="xpath" RESULTDATASET="addOnTuplesDS" />
|
|
<AMVARIABLE NAME="keyValue" VALUE="" />
|
|
<AMLOOP ACTIVITY="dataset" DATASET="addOnTuplesDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnTuplesDS.Value%" ATTRNAME="Key" RESULTVARIABLE="keyValue" />
|
|
<AMIF EXPRESSION="%keyValue% = "root_folder"">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="FileSystem" />
|
|
<!-- Pull subscriber name here since FileSystem only reads this section -->
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnTuplesDS.Value%" ATTRNAME="Value" RESULTVARIABLE="rootFolder" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskAddress">%rootFolder%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<!--
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_delivery_s3_cli"" USECOMPLEXUI="YES">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="S3" />
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/AddOns/AddOn/Parameter" DATASETTYPE="xpath" RESULTDATASET="addOnTuplesDS" />
|
|
<AMVARIABLE NAME="keyValue" VALUE="" />
|
|
<AMLOOP ACTIVITY="dataset" DATASET="addOnTuplesDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%addOnTuplesDS.Value%" ATTRNAME="Key" RESULTVARIABLE="keyValue" />
|
|
</AMLOOP>
|
|
</AMIF>
|
|
--> </AMIF>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_delivery_sftp" OR %LCase(TaskConnectionMethod)% = "cgmft_delivery_ftp"" USECOMPLEXUI="YES">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="SFTP" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/UserName" RESULTVARIABLE="TaskAccessKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/Password" RESULTVARIABLE="TaskSecretKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/SshPrivateKeyFile" RESULTVARIABLE="TaskSshKey" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/SshKeyPassphrase" RESULTVARIABLE="TaskSecretPassphrase" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/Proxy" ATTRNAME="type" RESULTVARIABLE="TaskProxy" />
|
|
<AMVARIABLE NAME="proxySite" VALUE="" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/Proxy" ATTRNAME="site" RESULTVARIABLE="proxySite" />
|
|
<AMIF EXPRESSION="proxySite <> """>
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%GetProxyFromEnv(proxySite)%" />
|
|
</AMIF>
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/Address" RESULTVARIABLE="TaskAddress" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/Host/Port" RESULTVARIABLE="TaskPort" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_delivery_sharepoint"" USECOMPLEXUI="YES">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" VALUE="SharePoint" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/SharePoint/Site" RESULTVARIABLE="TaskUrl" />
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Hosts/SharePoint/DocLibrary" RESULTVARIABLE="TaskAddress" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%LCase(TaskConnectionMethod)% = "cgmft_delivery_object_storage"" USECOMPLEXUI="YES">
|
|
<!-- Extract Partner name -->
|
|
<AMXML ACTIVITY="read_node" SESSION="%TaskXmlSession%" XPATH="/Subscriber" ATTRNAME="Name" RESULTVARIABLE="TaskPartner" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" />
|
|
<!-- Extract endpoint details to make connection -->
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Endpoints/Endpoint" ATTRNAME="Type" RESULTVARIABLE="TaskEndpointType" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Endpoints/Endpoint/Address" RESULTVARIABLE="TaskAddress" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Endpoints/Endpoint/AccessKey" RESULTVARIABLE="TaskAccessKey" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="errorId;%AMError.ErrorNumber%;errorMessage;%AMError.ErrorDesc%" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Endpoints/Endpoint/SecretKey" RESULTVARIABLE="TaskSecretKey" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" />
|
|
<AMXML ACTIVITY="read_node" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Endpoints/Endpoint/Url" RESULTVARIABLE="TaskUrl" AM_ONERROR="CONTINUE" />
|
|
<AMXML ACTIVITY="read_node" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Endpoints/Endpoint/Certificate" RESULTVARIABLE="TaskCertificate" AM_ONERROR="CONTINUE" />
|
|
<AMIF EXPRESSION="%TaskCertificate% <> """>
|
|
<AMIF ACTIVITY="contains_text" TEXT="%TaskCertificate%" SUBSTRING="\" ACTION="not_contain">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskCertificate">%TaskConfigSshKeyFolder%\%TaskCertificate%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMIF>
|
|
<!-- Decrypt the encrypted secret key/password -->
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskSecretKey">%Decrypt64(TaskSecretKey, TaskPartner)%</AMVARIABLE>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%TaskDoListing% = "YES"">
|
|
<AMXML ACTIVITY="node_to_dataset" AM_SETVAR="errorId;%AMError.ErrorNumber%" AM_ONERROR="CONTINUE" SESSION="%TaskXmlSession%" XPATH="/Subscriber/Destinations/Destination" DATASETTYPE="xpath" RESULTDATASET="destinationDS" />
|
|
<AMIF EXPRESSION="errorID <> 0">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="errorMessage" VALUE="No delivery destinations." />
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_EXTRACT_DATA" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%destinationDS.TotalRows% > 0">
|
|
<AMARRAY ACTIVITY="redim" NAME="TaskTargetDestinations" SIZE="%destinationDS.TotalRows%" />
|
|
<AMVARIABLE NAME="index" VALUE="1" />
|
|
<AMLOOP ACTIVITY="dataset" DATASET="destinationDS">
|
|
<AMXML ACTIVITY="read_node" AM_ONERROR="GOTOLABEL" AM_GOTOLABEL="EXIT_EXTRACT_SUB_DATA" SESSION="%TaskXmlSession%" XPATH="%destinationDS.Value%" ATTRNAME="Target" RESULTVARIABLE="targetDestination" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskTargetDestinations(1, index)">%targetDestination%</AMVARIABLE>
|
|
<AMVARIABLE ACTIVITY="increment" RESULTVARIABLE="index" />
|
|
</AMLOOP>
|
|
</AMIF>
|
|
</AMIF>
|
|
<!--
|
|
</AMCASE>
|
|
--><!-- EXIT -->
|
|
<AMLABEL LABELNAME="EXIT_EXTRACT_SUB_DATA" />
|
|
<!-- If an XML session was established, close it. -->
|
|
<AMIF EXPRESSION="%TaskXmlSession% <> """>
|
|
<AMXML ACTIVITY="end_session" SESSION="%TaskXmlSession%" AM_ONERROR="CONTINUE" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%errorId% <> 0">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%xmlConfigFilePath%: %errorId% - %errorMessage%</AMFILESYSTEM>
|
|
</AMIF>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="ResetVariables">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskAddress" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskAccessKey" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskCertificate" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskConnectionMethod" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEndpointType" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskPartner" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskPort" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskProxy" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskPublisher" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection" VALUE="Unsupported" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskSecretKey" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskSecretPassphrase" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskSshKey" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskUrl" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskXmlConfigFilePath" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskXmlSession" />
|
|
<AMARRAY ACTIVITY="redim" NAME="TaskTargetDestinations" SIZE="1" />
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="GetProxyFromEnv">
|
|
<AMPARAMETER NAME="targetSite" />
|
|
|
|
<AMVARIABLE NAME="targetNode" VALUE="" />
|
|
<AMIF EXPRESSION="targetSite = """>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="targetSite" VALUE="TRUSTED" />
|
|
</AMIF>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Getting proxy for site %targetSite%</AMFILESYSTEM>
|
|
<AMVARIABLE NAME="xmlSourceForProxies" VALUE="" />
|
|
<AMVARIABLE NAME="xPathQuery" VALUE="" />
|
|
<AMTEXT ACTIVITY="replace" TEXT="%targetSite%" FIND=" " REPLACE="_" RESULTVARIABLE="targetSite" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="targetNode" AM_ONERROR="CONTINUE">%UCase(GetComputerName())%</AMVARIABLE>
|
|
<AMENVVARS NAME="CGMFT_PROXY" RESULTVARIABLE="xmlSourceForProxies" TYPE="user" AM_ONERROR="CONTINUE" />
|
|
<AMIF EXPRESSION="%xmlSourceForProxies% = """>
|
|
<AMLABEL ACTIVITY="goto" LABELNAME="EXIT_GETPROXYFROMENV" />
|
|
</AMIF>
|
|
<AMXML XMLDOCUMENTFROM="text" XMLTEXT="%xmlSourceForProxies%" SESSION="SourceForProxiesSession" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEnvProxyHost" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEnvProxyPort" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEnvProxyType" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="xPathQuery">//Proxy/%targetNode%/%targetSite%</AMVARIABLE>
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="TaskErrorNumber;%AMError.ErrorNumber%;TaskErrorDesc;%AMError.ErrorDesc%;TaskErrorId;55290" SESSION="SourceForProxiesSession" XPATH="%xPathQuery%" ATTRNAME="port" RESULTVARIABLE="TaskEnvProxyPort" AM_ERRORS="28020" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="TaskErrorNumber;%AMError.ErrorNumber%;TaskErrorDesc;%AMError.ErrorDesc%;TaskErrorId;55291" SESSION="SourceForProxiesSession" XPATH="%xPathQuery%" ATTRNAME="type" RESULTVARIABLE="TaskEnvProxyType" AM_ERRORS="28020" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" />
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="TaskErrorNumber;%AMError.ErrorNumber%;TaskErrorDesc;%AMError.ErrorDesc%;TaskErrorId;55292" SESSION="SourceForProxiesSession" XPATH="%xPathQuery%" ATTRNAME="proxy" RESULTVARIABLE="TaskEnvProxyHost" AM_ERRORS="28020" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="xPathQuery">//Proxy/%targetNode%</AMVARIABLE>
|
|
<AMIF EXPRESSION="%TaskEnvProxyPort% = """>
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="TaskErrorNumber;%AMError.ErrorNumber%;TaskErrorDesc;%AMError.ErrorDesc%;TaskErrorId;55293" SESSION="SourceForProxiesSession" XPATH="%xPathQuery%" ATTRNAME="port" RESULTVARIABLE="TaskEnvProxyPort" AM_ERRORS="28020" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%TaskEnvProxyType% = """>
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="TaskErrorNumber;%AMError.ErrorNumber%;TaskErrorDesc;%AMError.ErrorDesc%;TaskErrorId;55294" SESSION="SourceForProxiesSession" XPATH="%xPathQuery%" ATTRNAME="type" RESULTVARIABLE="TaskEnvProxyType" AM_ERRORS="28020" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" />
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%TaskEnvProxyHost% = """>
|
|
<AMXML ACTIVITY="read_node" AM_SETVAR="TaskErrorNumber;%AMError.ErrorNumber%;TaskErrorDesc;%AMError.ErrorDesc%;TaskErrorId;55295" SESSION="SourceForProxiesSession" XPATH="%xPathQuery%" ATTRNAME="proxy" RESULTVARIABLE="TaskEnvProxyHost" AM_ERRORS="28020" AM_ERROREXCLUDE="YES" AM_ONERROR="CONTINUE" />
|
|
</AMIF>
|
|
<AMXML ACTIVITY="end_session" SESSION="SourceForProxiesSession" />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Proxy Host [%TaskEnvProxyHost%] Port [%TaskEnvProxyPort%] Type [%TaskEnvProxyType%]</AMFILESYSTEM>
|
|
<AMLABEL LABELNAME="EXIT_GETPROXYFROMENV" />
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="TestXml">
|
|
<AMPARAMETER NAME="xmlConfigFilePath" />
|
|
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%ResetVariables()%" />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%xmlConfigFilePath%</AMFILESYSTEM>
|
|
<AMVARIABLE NAME="objectToList" VALUE="" TYPE="text" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskXmlConfigFilePath">%xmlConfigFilePath%</AMVARIABLE>
|
|
<AMIF ACTIVITY="contains_text" TEXT="%xmlConfigFilePath%" SUBSTRING=".*sub.xml$" USERE="YES">
|
|
<!-- Extract Subscriber Details -->
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%ExtractSubXml(xmlConfigFilePath)%" />
|
|
<AMELSE />
|
|
<AMIF ACTIVITY="contains_text" TEXT="%xmlConfigFilePath%" SUBSTRING=".*pub.xml$" USERE="YES">
|
|
<!-- Extract Publisher Details -->
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%ExtractPubXml(xmlConfigFilePath)%" />
|
|
<!--
|
|
<AMBREAK />
|
|
--> <AMELSE />
|
|
<!-- Invalid XML File -->
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%xmlConfigFilePath% - not a valid XML file.</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskResultConnection" VALUE="Invalid XML" />
|
|
<!--
|
|
<AMBREAK />
|
|
--> </AMIF>
|
|
</AMIF>
|
|
<!-- Attempt connection depending upon delivery method -->
|
|
<AMSELECTCASE EXPRESSION="%TaskEndpointType%">
|
|
<AMCASE CONSTANT="SFTP">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%SFTPCommand("Logon", TaskAddress)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="SharePoint">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%SharePointCommand("Logon", TaskAddress)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="FileSystem">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%FileSystemCommand("Listing", TaskAddress)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="S3">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%S3Command("Initialize")%" />
|
|
<!-- Specify to list TaskAddress -->
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%S3Command("Listing",TaskAddress)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="Blob">
|
|
<!-- Specify to list TaskAddress -->
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%BlobCommand("Listing",TaskAddress)%" />
|
|
</AMCASE>
|
|
<AMCASE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">%xmlConfigFilePath% - Invalid endpoint type or endpoint type not working yet for this process.</AMFILESYSTEM>
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
<!-- Loop through destination folders for file listings -->
|
|
<AMIF EXPRESSION="%TaskResultConnection% = "Successful" AND %TaskDoListing% = "YES"">
|
|
<!--
|
|
<AMVARIABLE NAME="objectToList" VALUE="" TYPE="text" />
|
|
--> <AMLOOP ACTIVITY="array" ARRAY="TaskTargetDestinations" RESULTVARIABLE="objectToList">
|
|
<AMIF EXPRESSION="TaskEndpointType <> "SFTP"">
|
|
<AMIF EXPRESSION="TaskEndpointType <> "SharePoint"">
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="objectToList">%TaskAddress & objectToList%</AMVARIABLE>
|
|
</AMIF>
|
|
</AMIF>
|
|
<AMSELECTCASE EXPRESSION="%TaskEndpointType%">
|
|
<AMCASE CONSTANT="SFTP">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%SFTPCommand("Listing",objectToList)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="SharePoint">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%SharePointCommand("Listing", objectToList)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="FileSystem">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%FileSystemCommand("Listing", objectToList)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="S3">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%S3Command("Listing",objectToList)%" />
|
|
</AMCASE>
|
|
<AMCASE CONSTANT="Blob">
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%BlobCommand("Listing",objectToList)%" />
|
|
</AMCASE>
|
|
</AMSELECTCASE>
|
|
</AMLOOP>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%TaskEndpointType% = "SFTP"">
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskDataFilePath%">%xmlConfigFilePath%,%TaskPartner%,%TaskEndpointType%,%TaskConnectionMethod%,%TaskAddress%,%TaskUrl%,%TaskCertificate%,%TaskResultConnection%</AMFILESYSTEM>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailTable">%TaskEmailTable%<tr><td align="left">%xmlConfigFilePath%</td><td align="left">%TaskPartner%</td><td align="left">%TaskEndpointType%</td><td align="left">%TaskAddress%</td><td align="left">%TaskResultConnection%</td></tr></AMVARIABLE>
|
|
<AMTASK ACTIVITY="call_function" AM_ONERROR="CONTINUE" FUNCTIONNAME="%SFTPCommand("Logoff")%" />
|
|
<AMTASK ACTIVITY="call_function" FUNCTIONNAME="%GetProxyFromEnv(UCase(SITE_NAME))%" />
|
|
<AMELSE />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailTable">%TaskEmailTable%<tr><td align="left">%xmlConfigFilePath%</td><td align="left">%TaskPartner%</td><td align="left">%TaskEndpointType%</td><td align="left">%TaskAddress%</td><td align="left">%TaskResultConnection%</td></tr></AMVARIABLE>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskDataFilePath%">%xmlConfigFilePath%,%TaskPartner%,%TaskEndpointType%,%TaskConnectionMethod%,%TaskAddress%,%TaskUrl%,%TaskCertificate%,%TaskResultConnection%</AMFILESYSTEM>
|
|
</AMIF>
|
|
</AMFUNCTION>
|
|
|
|
<AMFUNCTION NAME="SendEmail">
|
|
<AMPARAMETER NAME="toEmailAddress" />
|
|
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_EMAIL_FROM_ADDRESS" RESULTVARIABLE="TaskFromEmail" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SMTP_HOST" RESULTVARIABLE="HandlerSmtpHost" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SMTP_PORT" RESULTVARIABLE="HandlerSmtpPort" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SMTP_USERNAME" RESULTVARIABLE="HandlerSmtpUserName" TYPE="user" />
|
|
<AMENVVARS AM_ONERROR="CONTINUE" NAME="CGMFT_SMTP_PASSWORD" RESULTVARIABLE="HandlerSmtpPassword" TYPE="user" />
|
|
<AMVARIABLE NAME="emailError" VALUE="" />
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="TaskEmailTable">%TaskEmailTable%</table><br/></AMVARIABLE>
|
|
<!-- Decrypt SMTP host password -->
|
|
<AMIF EXPRESSION="%HandlerSmtpPassword% <> """>
|
|
<AMVARIABLE ACTIVITY="set" VARIABLENAME="HandlerSmtpPassword">%Decrypt64(HandlerSmtpPassword, HandlerSmtpUserName)%</AMVARIABLE>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="%HandlerSmtpUserName% = """>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Sending email to %toEmailAddress% via system</AMFILESYSTEM>
|
|
<AMEMAIL ACTIVITY="send" AM_SETVAR="emailError;%AMError.ErrorDesc%" AM_ONERROR="CONTINUE" FROM="%TaskFromEmail%" TO="%toEmailAddress%" SUBJECT="Connectivity Test Result" HTML="YES">%TaskEmailTable%<br/>
|
|
File Listing:
|
|
%TaskEmailListing%<br/><br/>
|
|
XMLs Requested:
|
|
%TaskEmailFiles%<br/></AMEMAIL>
|
|
<AMELSE />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Sending email to %toEmailAddress% via env smtp</AMFILESYSTEM>
|
|
<AMEMAIL ACTIVITY="send" AM_SETVAR="emailError;%AMError.ErrorDesc%" AM_ONERROR="CONTINUE" SERVER="%HandlerSmtpHost%" PORT="%HandlerSmtpPort%" USERNAME="%HandlerSmtpUserName%" PASSWORD="AM4ILuzxn6si3Q5nMbKntFUYTatSO9HX8tvCpDczyjCnno=aME" SECURITY="explicit" IGNOREINVALIDCERTIFICATE="YES" FROM="%TaskFromEmail%" TO="%toEmailAddress%" SUBJECT="Connectivity Test Result" HTML="YES">%TaskEmailTable%<br/>
|
|
File Listing:
|
|
%TaskEmailListing%<br/><br/>
|
|
XMLs Requested:
|
|
%TaskEmailFiles%<br/></AMEMAIL>
|
|
</AMIF>
|
|
<AMIF EXPRESSION="emailError <> """>
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%">Error sending email: %emailError%</AMFILESYSTEM>
|
|
<AMELSE />
|
|
<AMFILESYSTEM ACTIVITY="write_file" FILE="%TaskLogFilePath%" DATA="Email successfully sent" />
|
|
</AMIF>
|
|
</AMFUNCTION>
|
|
|
|
</AMTASK>
|