Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents

Disclaimer

Your use of this download is governed by Stonebranch’s Terms of Use, which are available at https://www.stonebranch.com/integration-hub/Terms-and-Privacy/Terms-of-Use/

Overview

AWS Mainframe Modernization allows migrating and modernizing on-premises mainframe workloads to a managed runtime environment on AWS. This Universal Extension provides customers that are migrating or modernizing their mainframe applications to AWS Cloud the ability to automate and schedule their tasks in Micro Focus and Blu Age environments.

...

Version Information

Template NameExtension NameExtension Version
AWS Mainframe Modernizationue-aws-mainframe-modernization1.
3
4.
7
0

Refer to Changelog for version history information.

Software Requirements

This integration requires a Universal Agent and a Python runtime to execute the Universal Task.

Software Requirements for Universal Template and Universal Task

Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.

Software Requirements for Universal Agent

Both Windows and Linux agents are supported:

  • Universal Agent for Windows x64 Version 7.0.0 and later with python options installed.
  • Universal Agent for Linux Version 7.0.0 and later with python options installed.

Software Requirements for Universal Controller

Universal Controller Version 7.0.0.0 and later.

Network and Connectivity Requirements

The extension's Universal Agent host should be able to establish a connection with:

  • AWS Mainframe Modernization endpoints (The provided AWS Credentials should have sufficient permissions on AWS to execute required actions).

Key Features

This Universal Extension provides the following main features:

  • The ability to schedule, automate and execute mainframe batch jobs running in AWS Mainframe Modernization Service via Stonebranch Universal Controller
  • Support for Micro Focus and Blu Age Jobs
  • Monitor Application’s batch processes from the Stonebranch Universal Controller
  • Start/Restart/Rerun/Cancel batch processes automatically or manually from the Stonebranch Universal Controller
  • Synchronous and asynchronous batch execution from Stonebranch Universal Controller
  • Retrieve the results of the AWS Mainframe Modernization Batch processes
  • Capture the AWS Cloudwatch logs of the executed jobs in Stonebranch Universal Controller.

Import Universal Template

To use the Universal Template, you first must perform the following steps.

  1. This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.

  2. To import the Universal Template into your Controller, follow the instructions here.

  3. When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.

Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.

Configure Universal Task

For a new Universal Task, create a new task, and enter the required input fields.

Input Fields

The input fields for this Universal Extension are described below.

List Batch Jobs
FieldInput typeDefault valueTypeDescription
ActionRequiredList EnvironmentsChoiceAction performed upon the task execution. Available actions are as follows.
  • List Environments
  • List Applications
    • Start Application
    • Start Batch
    • Fetch Logs
    • Cancel Batch Execution
    • Stop Application
    RegionOptional-Text

    Region for the Amazon Web Service.

    AWS CredentialsOptional-Credentials

    The Credentials definition should be as follows.

    • AWS Access Key ID as "Runtime User".
    • AWS Secret Access Key as "Runtime Password".
    End PointOptional-TextOptional field. If not provided the endpoint will be generated using the Region filed value. 
    ApplicationOptional-Dynamic Choice

    The application name on which the action will be performed.

    The user can dynamically fetch the application name from AWS.

    Visible only when Action is:

    • Start Application
    • Start Batch
    • Fetch Logs
    • Cancel Batch Execution
    • Stop Application
    • List Batch Jobs

    Required when visible

    Force StopOptionalfalseBoolean

    Initiate a force-stop action toward an application.

    Visible only when Action is:

    • Stop Application
    Execution IdOptional-Text

    Batch execution Id to be canceled. 

    Visible only when Action is:

    • Cancel Batch Execution

    Required when visible

    Filter PatternOptional-Text

    A pattern that will be used as a filter during logs fetching.

    Visible only when Action is:

    • Fetch Logs
    Log Stream NameOptional"*"Text

    Log stream name to be fetched.

    Visible only when Action is:

    • Fetch Logs
    Fetch Log FormatOptional"Text"ChoiceFormat of log to be fetched.
    • JSON
    • Text

    Visible only when Action is:

    • Fetch Logs
    JCL File NameOptional-Text

    Name of the JCI File to be executed.

    Visible only when Action is:

    • Start Batch
    CL File Name (Temp)

    and JCL File Variable is selected

    JCL FileOptional-
    Text
    Dynamic Choice
    Name of the

    JCI File to be executed.

    This field value will overwrite the value of "JCL File Name" for the current execution (used in case of re-run)

    Dynamic Choice field can only be used with Micro Focus applications. Will not work for Blu Age applications.

    Visible only when Action

    is

     is:

    • Start Batch
    Wait for Success or Failure

    and JCL File Variable is not selected

    JCL File VariableOptional
    true
    falseBoolean

    If selected, the

    task will continue running until Job reaches the "SUCCEDED" or "FAILED" state.

    Visible only when Action is:

    • Start Application
    • Start Batch
    • Cancel Batch Execution
    • Stop Application
    Polling IntervalOptional10Integer

    The polling interval in seconds between checking for the Job status.

    Visible only when "Wait for Success or Failure" is True

    Fetch Execution LogsOptionaltrueBoolean

    Fetch logs from cloud-watch when the task is completed.

    Visible only when "Wait for Success or Failure" is True

    Log FormatOptional"Text"Choice

    Format of fetched logs.

    Visible only when "Fetch Execution Logs" is True

    Re-run Step NameOptional-Text

    Step name to re-run batch job.

    Visible only when Action is:

    • Start Batch

    Not supported in the current version

    Re-run Proc Step NameOptional-Text

    Procedure step name to re-run batch job.

    Visible only when Action is:

    • Start Batch

    Not supported in the current version

    Templib

    Templib to be used on batch re-run.

    Visible only when Action is:

    • Start Batch

    Not supported in the current version

    Task Examples

    Start Batch Job

    Image Removed

    ...

    JCL File Name field will be visible to enable entering the JCL file name in a text format. This allows using variables in the JCL File Name.

    JCL File Name (Temp)Optional-Text

    Name of the JCI File to be executed. This field value will overwrite the value of "JCL File Name" for the current execution (used in case of re-run).

    Visible only when Action is:

    • Start Batch
    Wait for Success or FailureOptionaltrueBoolean

    If selected, the task will continue running until Job reaches the "SUCCEDED" or "FAILED" state.

    Visible only when Action is:

    • Start Application
    • Start Batch
    • Cancel Batch Execution
    • Stop Application
    Polling IntervalOptional10Integer

    The polling interval in seconds between checking for the Job status.

    Visible only when "Wait for Success or Failure" is True

    Fetch Execution LogsOptionaltrueBoolean

    Fetch logs from cloud-watch when the task is completed.

    Visible only when "Wait for Success or Failure" is True

    Log FormatOptional"Text"Choice

    Format of fetched logs.

    Visible only when "Fetch Execution Logs" is True

    Task Examples

    Start Batch Job

    JCL File Variable

    Image Added

    Task Instance with JCL File from the dropdown

    Image Added

    Starting Blu Age Batch

    Image Added


    Start Batch Job Result Example:

    Code Block
    languagebash
    STDERR:
    20222023-1002-1113 1609:0957:2306,131542 - 06692140416623965760 MainThread          - extension.py[222214] DEBUGINFO: extension_startExtension fields: {'execution_id': '', 'fetch_logs': True, 'log_format': ['json'], 'log_stream_name': '', 'credentials.password': '****', 'force_stop': False, 'jcl_file_name': 'JOB1.jcl', 'credentials.keyLocation': '', 'jcl_file_name_temp': '', 'interval': 10, 'procstep_name': '', 'credentials.user': 'TESTCREDENTIALS', 'action': ['start-batch'], 'credentials.pasphrase': '', 'region': 'us-east-1', 'fetch_log_format': [''], 'application': [' SBDemoApplication (w33xu53d4vbjjhdtw6lrbsnb5a)'], 'wait': True, 'step_name': '', 'end_point': 'https://m2.us-east-1.amazonaws.com', 'credentials.token': '', 'filter_pattern': '', 'templib': ''}
    2022-10-11 16:09:23,137 - 06692Information: ue-aws-mainframe-modernization-1.4.0
    2023-02-13 09:57:06,546 - 140416623965760 MainThread          - extension.py[217] INFO: System Information: Python Version: 3.7.6 (default, Mar 12 2021, 11:32:08) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)], system: Linux, release: 5.10.144-127.601.amzn2.x86_64, version: #1 SMP Thu Sep 29 01:11:59 UTC 2022, machine type: x86_64
    2023-02-13 09:57:06,547 - 140416623965760 MainThread          - extension.py[223] INFO: FIELDS: {'application': 'SBDemoApplication_ver2 (6ya6xx4435fhxh6zavfkh4rb3m)', 'credentials': {'user': 'AKIAU4EJJ6FOCWLX454T', 'password': '****'}}
    2023-02-13 09:57:06,629 - 140416623965760 MainThread          - extension.py[226204] INFO: Extension Information: aws-m2-1.3.8
    2022-10-11 16:09:23,139 - 06692 MainThread      Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job with header {'Content-Type': 'application/json'} and data {"batchJob": {"jclFileName": "M2JOB01.jcl"}}
    2023-02-13 09:57:06,838 - 140416623965760 MainThread          - extension.py[229204] INFO: SystemSigned Information:request Pythonfor Version: 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)], system: Windows, release: 10, version: 10.0.17763, machine type: AMD64
    2022-10-11 16:09:23,141 - 06692 MainThread          - extension.py[235] INFO: FIELDS: {'application': ' SBDemoApplication (w33xu53d4vbjjhdtw6lrbsnb5a)', 'credentials': {'user': 'TESTCREDENTIALS', 'password': '****'}}
    2022-10-11 16:09:23,158 - 06692https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
    2023-02-13 09:57:14,985 - 140416623965760 MainThread          - extension.py[204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
    2023-02-13 09:57:20,054 - 140416623965760 MainThread          - extension.py[432204] DEBUGINFO: application_idSigned =request w33xu53d4vbjjhdtw6lrbsnb5a
    2022-10-11 16:09:23,159 - 06692 MainThread          - extension.py[442] DEBUG: Payload is {'batchJob': {'jclFileName': 'JOB1.jcl'}}
    2022-10-11 16:09:23,161 - 06692for https://m2.us-east-1.amazonaws.com/applications/6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
    2023-02-13 09:57:25,114 - 140416623965760 MainThread          - extension.py[211204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/w33xu53d4vbjjhdtw6lrbsnb5a6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/qyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1'} and data {"batchJob": {"jclFileName": "JOB1.jcl"}}
    2022-10-11 16:09:23,339 - 06692, 'Accept': 'application/json'} and data None
    2023-02-13 09:57:30,186 - 140416623965760 MainThread          - extension.py[449204] DEBUGINFO: ResponseSigned request = {"executionId":"esk3stwrnze5voziq6nduay35y"}
    2022-10-11 16:09:23,341 - 06692 MainThread          - extension.py[211] INFO: Signed request for https:/for https://m2.us-east-1.amazonaws.com/applications/w33xu53d4vbjjhdtw6lrbsnb5a6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/esk3stwrnze5voziq6nduay35yqyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
    20222023-1002-1113 1609:0957:3335,408250 - 06692140416623965760 MainThread          - extension.py[211204] INFO: Signed request for https://m2.us-east-1.amazonaws.com/applications/w33xu53d4vbjjhdtw6lrbsnb5a6ya6xx4435fhxh6zavfkh4rb3m/batch-job-executions/esk3stwrnze5voziq6nduay35yqyjn5hra6jdzxcktfz7k22f6ty with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json'} and data None
    20222023-1002-1113 1609:0957:3335,477305 - 06692140416623965760 MainThread          - extension.py[211474] INFO: Signed request for https://logs.us-east-1.amazonaws.com/ with header {'Content-Type': 'application/x-amz-json-1.1', 'Accept': 'application/json', 'X-Amz-Target': 'Logs_20140328.FilterLogEvents'} and data {"logGroupName": " Fetching log events starting from 1676300226629
    2023-02-13 09:57:35,305 - 140416623965760 MainThread          - extension.py[482] INFO: Log group name = /aws/vendedlogs/m2/w33xu53d4vbjjhdtw6lrbsnb5a6ya6xx4435fhxh6zavfkh4rb3m/ConsoleLog", "logStreamName": "*", "filterPattern": "esk3stwrnze5voziq6nduay35y"}
    2022-10-11 16:09:33,901 - 06692
    2023-02-13 09:57:50,954 - 140416623965760 MainThread          - extension.py[58599] DEBUGINFO: Responseextension_start function ended with rc = {"events":[],"nextToken":"Bxkq6kVGFtq2y_MoigeqscPOdhXVbhiVtLoAmXb5jCqYTdzkmNEVSoQKc4X3bPn4pUE3AI-JOdP_U-XHRDMtOsx-q4juLXKgxPk0z6YBa4AUt6eMSPRQN8HfmvfgVeJk9lHlRhVNR1ng67hn8I6YW5PXlelzYroTS0N2XbbjtFTY22JcstlEkhfq6Klm5FDDsWJA7jobotyqquLVuCkiLvy-wLu6s4Zu26Kp2E-ff6SVM7vORAVhW5K98FvomBG7e5SssM7yPq-J5l_J0hMz8A","searchStatistics":{"approximateTotalLogStreamCount":1,"completedLogStreamCount":0},"searchedLogStreams":[]}
    2022-10-11 16:09:33,903 - 06692 MainThread          - extension.py[587] INFO: Log format = json
    2022-10-11 16:09:33,907 - 06692 MainThread          - extension.py[111] INFO: extension_start function ended with rc = 0
    
    STDOUT
    
    {
        "events": [],
        "nextToken": "Bxkq6kVGFtq2y_MoigeqscPOdhXVbhiVtLoAmXb5jCqYTdzkmNEVSoQKc4X3bPn4pUE3AI-JOdP_U-XHRDMtOsx-q4juLXKgxPk0z6YBa4AUt6eMSPRQN8HfmvfgVeJk9lHlRhVNR1ng67hn8I6YW5PXlelzYroTS0N2XbbjtFTY22JcstlEkhfq6Klm5FDDsWJA7jobotyqquLVuCkiLvy-wLu6s4Zu26Kp2E-ff6SVM7vORAVhW5K98FvomBG7e5SssM7yPq-J5l_J0hMz8A",
        "searchStatistics": {
            "approximateTotalLogStreamCount": 1,
            "completedLogStreamCount": 0
        },
        "searchedLogStreams": []
    }
    
     0
    
    
    STDOUT
    
    230213 14573346       6310 6YA6XX44 JCLCM0187I J0001286 M2JOB1   JOB  SUBMITTED (JOBNAME=M2JOB1,JOBNUM=0001286) 14:57:33
    230213 14573355       6310 6YA6XX44 JCLCM0180I J0001286 M2JOB1   Job ready for execution. 14:57:33
    230213 14573373       6261 6YA6XX44 JES000004I J0001286 M2JOB1   JOB  DISPATCHED 14:57:33
    230213 14573390       6290 6YA6XX44 JCLCM0188I J0001286 M2JOB1   JOB  STARTED 14:57:33
    230213 14573397       6290 6YA6XX44 JCLCM0182I J0001286 M2JOB1   JOB  ENDED   - COND CODE 0000 14:57:33
    
    EXTENSION
    
    Task completed successfully.
    
    

    List Applications

    Image Removed

    List Batch Jobs

    Image Removed


    Start the Application and wait for the execution

    ...

    Image Added

    Cancel Batch Execution

    ...

    Image Added

    Fetch logs

    ...

    Image Added

    Task Output

    Output Only Fields

    The output fields for this Universal Extension are described below.

    FieldTypeDescription
    Application IdTextThe application Id resulted after starting an application.
    Batch Execution IdTextThe batch execution Id resulted after starting a batch job.
    Batch Job IdText

    ...

    The batch job id resulted after starting a batch job.

    Exit Codes 

    The exit codes are described below.

    Exit CodeStatus Classification CodeStatus Classification DescriptionStatus Description
    0SUCCESSSuccessful Execution
    Task completed
    0SUCCESSSuccessful ExecutionApplication successfully started.
    0SUCCESSSuccessful ExecutionApplication successfully stopped.
    0SUCCESSSuccessful ExecutionBatch execution successfully cancelled.
    <successful execution message>

    1FAILEDFailed ExecutionFAILED: <Error Message>
    103FAILEDTask Cancelled or
    stopped
    Stopped


    Task

    failed

    because

    of

    the

    status

    of

    the

    AWS

    Batch

    Job

    Status

    104FAILEDTask Failed

    Task

    failed

    because

    of

    the

    status

    of

    the

    AWS

    Batch

    Job

    Status

    STDOUT and STDERR

    STDERR provides the

    ...

    integration's execution log.

    STDOUT provides the AWS API response

    ...

    EXTENSION Output

    ...

    , which might be changed in future versions of this API.

    Integration Modifications

    Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.

    • Python code modifications should not be done.
    • Template Modifications
      • General Section
        • "Name", "Extension", "Variable Prefix", "Icon" should not be changed.
      • Universal Template Details Section
        • "Template Type", "Agent Type", "Send Extension Variables", "Always Cancel on Force Finish" should not be changed.
      • Result Processing Defaults Section
        • Success and Failure Exit codes should not be changed.
        • Success and Failure Output processing should not be changed.
      • Fields Restriction Section
        • Default configured values should not be changed.

    Users and customers are encouraged to report defects or feature requests at Stonebranch Support Desk.

    Document References

    This document references the following documents

    ...

    .

    Document LinkDescription
    Universal TemplatesUser documentation for creating, working with and understanding Universal Templates and Integrations.
    Universal TasksUser documentation for creating Universal Tasks in the Universal Controller user interface.
    AWS Mainframe ModernizationUser guide for AWS Step Functions.


    Changelog

    ue-aws-mainframe-modernization-1.4.0 (2023-02-14)

    Enhancements

    • Added: JCL Files can be selected dynamically from UI.

    • Added: Support was added for Blu Age Batch jobs

    • Added: Engine Type (Micro Focus / Blu Age) is added to application names in order to provide visibility on their type

    Fixes

    • Fixed: Log Retrieval for Micro Focus Jobs

    ue-aws-mainframe-modernization-1.3.7 (2022-10-17)

    This is the first official version approved by AWS.