

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS Mainframe Modernization 应用程序定义参考
<a name="applications-m2-definition"></a>

在中 AWS Mainframe Modernization，您可以在应用程序定义 JSON 文件中配置迁移的大型机应用程序，该文件特定于您选择的运行时引擎。应用程序定义既包含一般信息，也包含特定于引擎的信息。本主题描述了大型机 AWS 转换和 Rocket Software（前身为 Micro Focus）应用程序的定义，并确定了所有必需元素和可选元素。

**Contents**
+ [一般头部区段](#applications-m2-definition-general)
+ [定义区段概述](#applications-m2-definition-overview)
+ [AWS 大型机应用程序的转换定义示例](#applications-m2-definition-ba)
+ [AWS 针对大型机定义的详细信息进行转换](#applications-m2-definition-ba-details)
  + [侦听器 – 必需](#applications-m2-definition-ba-details-listener)
  + [AWS 为大型机应用程序进行转型-必需](#applications-m2-definition-ba-details-application)
  + [Blusam-可选](#applications-m2-definition-ba-details-blusam)
  + [AWS 针对大型机消息队列进行转换-可选](#applications-m2-definition-ba-message-queues)
  + [AWS 针对大型机应用程序存储 EFS 配置进行转换-可选](#applications-m2-definitions-ba--details-efs)
+ [火箭软件（前身为 Micro Focus）应用程序定义](#applications-m2-definition-mf)
+ [火箭软件定义详情](#applications-m2-definition-mf-details)
  + [侦听器 – 必需](#applications-m2-definition-mf-details-listeners)
  + [数据集位置 – 必需](#applications-m2-definition-mf-details-datasets)
  + [Amazon Cognito 身份验证和授权处理程序 – 可选](#applications-m2-definition-mf-details-cognito)
  + [LDAP 和 Active Directory 处理程序 - 可选](#applications-m2-definition-mf-details-ldap-ad)
  + [批处理设置 – 必需](#applications-m2-definition-mf-details-batch)
  + [CICS 设置 – 必需](#applications-m2-definition-mf-details-cics)
  + [打印机 - 可选](#applications-m2-definition-mf-details-printers)
  + [XA 资源 - 可选](#applications-m2-definition-mf-details-xa)
  + [运行时设置 - 可选](#applications-m2-definition-mf-details-runtime-settings)

## 一般头部区段
<a name="applications-m2-definition-general"></a>

每个应用程序定义都首先指定有关模板版本和源位置的一般信息。应用程序定义的当前版本为 2.0。

使用以下结构来指定模板版本和源位置。

```
"template-version": "2.0",
    "source-locations": [
        {
            "source-id": "s3-source",
            "source-type": "s3",
            "properties": {
                "s3-bucket": "mainframe-deployment-bucket",
                "s3-key-prefix": "v1"
            }
        }
    ]
```

**注意**  
如果要将 S3 ARN 作为 s3 存储桶输入，则可以使用以下语法：  

```
"template-version": "2.0",
  "source-locations": [
      {
          "source-id": "s3-source",
          "source-type": "s3",
          "properties": {
              "s3-bucket": "arn:aws:s3:::mainframe-deployment-bucket",
              "s3-key-prefix": "v1"
          }
      }
  ]
```

**template-version**  
（必需）指定应用程序定义文件的版本。请勿更改此值。目前唯一支持的值为 2.0。使用字符串指定 `template-version`。

**source-locations**  
指定应用程序在运行时所需的文件和其他资源的位置。

**source-id**  
指定位置的名称。此名称用于根据需要在应用程序定义 JSON 中引用源位置。

**source-type**  
指定源类型。目前唯一支持的值为 s3。

**properties**  
提供源位置的详细信息。每个属性均使用字符串指定。  
+ `s3-bucket` – 必需。存储文件的 Amazon S3 存储桶名称。
+ `s3-key-prefix` – 必需。指定存储文件的 Amazon S3 存储桶的文件夹的名称。

## 定义区段概述
<a name="applications-m2-definition-overview"></a>

指定应用程序运行所需的服务、设置、数据和其他典型资源的资源定义。更新应用程序定义时， AWS Mainframe Modernization 会通过比较应用程序定义 JSON 文件的先前版本和当前版本中的 `source-locations` 和 `definition` 列表来检测是否发生更改。

定义区段是特定于引擎的，可能会发生变化。以下各节针对两个引擎显示了特定于引擎的应用程序定义示例。

## AWS 大型机应用程序的转换定义示例
<a name="applications-m2-definition-ba"></a>

```
{
 "template-version": "2.0",
 "source-locations": [
        {
            "source-id": "s3-source",
            "source-type": "s3",
            "properties": {
                "s3-bucket": "mainframe-deployment-bucket-aaa",
                "s3-key-prefix": "v1"
            }
        }
    ],
    "definition" : {
        "listeners": [{
            "port": 8194,
            "type": "http"
        }],
        "ba-application": {
            "app-location": "${s3-source}/murachs-v6/"
        },
        "blusam": {
            "db": {
                "nb-threads": 8,
                "batch-size": 10000,
                "name": "blusam",
                "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:blusam-FfmXLG"
            },
            "redis": {
                "hostname": "blusam.c3geul.ng.0001.usw2.cache.amazonaws.com",
                "port": 6379,
                "useSsl": true,
                "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:bluesamredis-nioefm"
            }
        }
    }
}
```

## AWS 针对大型机定义的详细信息进行转换
<a name="applications-m2-definition-ba-details"></a>

### 侦听器 – 必需
<a name="applications-m2-definition-ba-details-listener"></a>

指定用于通过 AWS Mainframe Modernization创建的 Elastic Load Balancing 访问应用程序的端口。请使用以下结构：

```
"listeners": [{
            "port": 8194,
            "type": "http"
}],
```

**端口**  
（必需）除了公认端口 0 到 1023 之外，您可以使用任何可用端口。我们建议使用的端口范围为 8192 至 8199。请确保没有其他侦听器或应用程序使用此端口。

**类型**  
（必需）目前仅支持 `http`。

### AWS 为大型机应用程序进行转型-必需
<a name="applications-m2-definition-ba-details-application"></a>

使用以下结构指定引擎获取应用程序映像文件的位置。

```
"ba-application": {
            "app-location": "${s3-source}/murachs-v6/",
            "files-directory": "/m2/mount/myfolder", 
            "enable-jics": <true|false>,
            "enable-batch-restart": <true|false>,
            "shared-app-location": "${s3-source}/shared/"
},
```

**app-location**  
Amazon S3 中存储应用程序映像文件的特定位置。

**files-directory**  
（可选）批处理 input/output 文件的位置。必须是环境级别的 Amazon EFS 或 Amazon FSx 挂载点设置的子文件夹。子文件夹必须归合适的用户所有，以便在其中运行**的大型机应用程序的 AWS Tran** sform 使用。 AWS Mainframe Modernization为此，在将驱动器连接到 Linux Amazon EC2 实例时，必须创建一个 ID 为 `101` 的群组和一个 ID 为 `3001` 的用户，并且所需的文件夹必须归该用户所有。*例如，通过这种方式，适用于**大型机 AWS Mainframe Modernization 托管的 AWS Transform** 即可使用该`testclient`文件夹。*  

```
groupadd -g 101 mygroup
useradd -M -g mygroup -p mypassword -u 3001 myuser
mkdir testclient
chown myuser:mygroup testclient
```

**enable-jics**  
（可选）指定是否启用 JICS。默认值为 true。将其设置为 false 可防止生成 JICS 数据库。

**enable-batch-restart**  
（可选）指定是否为批处理作业启用重启功能。默认值为 false。有关批量重启配置的更多信息，请参阅使用 Tr AWS ansform for 大型机引擎的[托管应用程序的配置属性`jcl.checkpoint`中以大型机引擎属性为前缀的 Tr AWS an](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2-ba-config-props.html#gapwalk-app-props) sform。

** shared-app-location **  
（可选）Amazon S3 中存储共享应用程序元素的进一步位置，其中可以包含与 app-location 中相同的应用程序结构。

### Blusam-可选
<a name="applications-m2-definition-ba-details-blusam"></a>

使用以下结构指定Blusam数据库和 Redis 缓存。

```
"blusam": {
            "db": {
                "nb-threads": 8,
                "batch-size": 10000,
                "name": "blusam",
                "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:blusam-FfmXLG"
            },
            "redis": {
                "hostname": "blusam.c3geul.ng.0001.usw2.cache.amazonaws.com",
                "port": 6379,
                "useSsl": true,
                "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:bluesamredis-nioefm"
            }
}
```

**db**  
指定与应用程序搭配使用的数据库的属性。该数据库必须为 Aurora PostgreSQL 数据库。您可以指定以下属性：  
+ `nb-threads`-（可选）指定Blusam引擎所依赖的写入机制使用多少专用线程。默认值为 8。
+ `batch-size`：（可选）指定回写机制用于启动批量存储操作的阈值。该阈值表示已修改记录的数量，这些记录将启动批量存储操作，以确保修改后的记录得以保存。触发器本身基于所耗时间（一秒钟）和批量大小（以先达到者为准）的组合。默认值为 10000。
+ `name`：（可选）指定数据库的名称。
+ `secret-manager-arn` – 指定包含数据库凭证的密钥的 Amazon 资源名称 (ARN)。有关更多信息，请参阅 [步骤 4：创建和配置 AWS Secrets Manager 数据库密钥](tutorial-runtime-mf.md#tutorial-runtime-mf-secret)。

**Redis**  
指定 Redis 缓存的属性，应用程序使用该缓存将临时数据存储在中央位置以提高性能。我们建议您同时对 Redis 缓存进行加密和实施密码保护。  
+ `hostname`：指定 Redis 缓存的位置。
+ `port`：指定 Redis 缓存发送和接收数据的通信端口，通常为 6379。
+ `useSsl`：指定 Redis 缓存是否已加密。如果缓存未加密，则将 `useSsl` 设置为 false。
+ `secret-manager-arn`：指定包含 Redis 缓存密码的密钥的 Amazon 资源名称（ARN）。如果 Redis 缓存没有密码保护，请勿指定 `secret-manager-arn`。有关更多信息，请参阅 [步骤 4：创建和配置 AWS Secrets Manager 数据库密钥](tutorial-runtime-mf.md#tutorial-runtime-mf-secret)。

### AWS 针对大型机消息队列进行转换-可选
<a name="applications-m2-definition-ba-message-queues"></a>

为大型机 AWS 转换应用程序指定 JMS-MQ 连接详细信息。

```
"message-queues": [ 
  {
      "product-type": "JMS-MQ",
      "queue-manager": "QMgr1",
      "channel": "mqChannel1",
      "hostname": "mqserver-host1",
      "port": 1414,
      "user-id": "app-user1",
      "ssl-cipher": "*TLS12ORHIGHER",
      "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:sample/mq/test-279PTa"
  },
  {
      "product-type": "JMS-MQ",
      "queue-manager": "QMgr2",
      "channel": "mqChannel2",
      "hostname": "mqserver-host2",
      "port": 1412,
      "user-id": "app-user2",
      "ssl-cipher": "*TLS12ORHIGHER",
      "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:sample/mq/test-279PTa"
  }
]
```

**product-type**  
（必需）指定产品类型。目前，这只能是 “JMS-MQ”，用于大型机应用程序的 Tr AWS ansform。

**queue-manager**  
（必需）指定队列管理器的名称。

**渠道**  
（必需）指定服务器连接通道的名称。

**hostname **  
（必需）指定消息队列服务器的主机名。

**端口**  
（必需）指定服务器正在监听的侦听器端口号。

**user-id**  
（可选）指定支持在指定通道上执行消息队列操作的用户账户 ID。

**ssl-cipher**  
（可选）指定连接的 SSL 密码规范。

**secret-manager-arn**  
（可选）指定 Secrets Manager 的 Amazon 资源名称（ARN），Secrets Manager 提供指定用户的密码。

### AWS 针对大型机应用程序存储 EFS 配置进行转换-可选
<a name="applications-m2-definitions-ba--details-efs"></a>

使用以下结构指定应用程序存储 EFS 接入点详细信息。

```
"ba-application": {
            "file-permission-mask": "UMASK002"
},
"efs-configs": [
           {
            "file-system-id": "fs-01376dfsvfvrsvsr",
            "mount-point": "/m2/mount/efs-ap2", 
            "access-point-id": fsap-0eaesefvrefrewgv8"
           }
]
```

**file-system-id**  
（必需）应用接入点的 EFS 文件系统的 ID。模式：“fs-([0-9a-f]\$18,40\$1)\$11,128\$1\$1”

**mount-point**  
（必需）应用程序级文件系统的挂载点。必须不同于环境级存储挂载点。

**access-point-id**  
（必需）接入点 ID，由 Amazon EFS 分配。模式：“^fsap-([0-9a-f]\$18,40\$1)\$11,128\$1\$1”

** file-permission-mask **  
（可选）为应用程序进程创建的文件定义文件创建掩码。例如，当该值设置为 `UMASK006` 时，所有文件都将具有 660 权限。这意味着只有文件所有者和文件组才具有读写权限，而其他用户则没有任何权限。  
只有在使用应用程序级 EFS 存储时，才会考虑为此字段设置的值。

**注意**  
如果提供了 efs 配置，则必须在应用程序定义部分中指定文件目录。该目录必须是在应用程序级设置的 Amazon EFS 挂载点的子目录。

## 火箭软件（前身为 Micro Focus）应用程序定义
<a name="applications-m2-definition-mf"></a>

以下示例定义部分适用于 Rocket Software 运行时引擎，包含必需元素和可选元素。

```
{
 "template-version": "2.0",
 "source-locations": [
        {
            "source-id": "s3-source",
            "source-type": "s3",
            "properties": {
                "s3-bucket": "mainframe-deployment-bucket-aaa",
                "s3-key-prefix": "v1"
            }
        }
    ],
    "definition" : {
        "listeners": [{
            "port": 5101,
            "type": "tn3270"
        }],
        "dataset-location": {
            "db-locations": [{
                "name": "Database1",
                "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456"
            }]
        },
        "cognito-auth-handler": {
            "user-pool-id": "cognito-idp.us-west-2.amazonaws.com/us-west-2_rvYFnQIxL",
            "client-id": "58k05jb8grukjjsudm5hhn1v87",
            "identity-pool-id": "us-west-2:64464b12-0bfb-4dea-ab35-5c22c6c245f6"
        },
        "ldap-ad-auth-handler": {
            "ldap-ad-connection-secrets": [LIST OF AD-SECRETS]
        },
        "batch-settings": {
            "initiators": [{
                "classes": ["A", "B"],
                "description": "initiator...."
            }],
            "jcl-file-location": "${s3-source}/batch/jcl",
            "program-path": "/m2/mount/libs/loadlib:$EFS_MOUNT/emergency/loadlib",
            "system-procedure-libraries":"SYS1.PROCLIB;SYS2.PROCLIB",
            "aliases": [
               {"alias": "FDSSORT", "program": "SORT"},
               {"alias": "MFADRDSU", "program": "ADRDSSU"}
            ]
        },
        "cics-settings": {
            "binary-file-location": "${s3-source}/cics/binaries",
            "csd-file-location": "${s3-source}/cics/def",
            "system-initialization-table": "BNKCICV"
        },
        "jes-printers": [
           {
             "name": "printerName",
              "classes": [
                 "A",
                 "B"
             ],
             "description": "printer desc....",
             "exit-module": {
                 "name": "lrsprte6"
                }
             } 
         ],
        "xa-resources" : [{
            "name": "XASQL",
            "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456",
            "xa-connection-type": "postgres",
            "module": "${s3-source}/xa/ESPGSQLXA64.so"
        }],
        "runtime-settings": {
          "base-configuration-location": "${s3-source}/exported.json",
          "environment-variables": {
            "ES_JES_RESTART": "N",
            "EFS_MOUNT": "/m2/mount/efs",
            "LRSQ_ADDRESS": "<lrsq-address>"
          } 
        }
    }
}
```

## 火箭软件定义详情
<a name="applications-m2-definition-mf-details"></a>

Rocket Software 应用程序定义文件定义部分的内容会有所不同，具体取决于迁移的大型机应用程序在运行时所需的资源。

### 侦听器 – 必需
<a name="applications-m2-definition-mf-details-listeners"></a>

使用以下结构指定侦听器：

```
"listeners": [{
    "port": 5101,
    "type": "tn3270"
}],
```

**端口**  
对于 tn3270，默认值为 5101。对于其他类型的服务侦听器，端口会有所不同。除了公认端口 0 到 1023 之外，您可以使用任何可用端口。每个侦听器都应使用一个独有的端口。侦听器不应共享端口。有关更多信息，请参阅 *Micro Focus Enterprise Server* 文档中的 [Listener Control](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/GUID-63F6D8B0-024F-48D1-956A-1E079E4BD891.html)。

**类型**  
指定服务侦听器的类型。有关更多信息，请参阅 *Micro Focus Enterprise Server* 文档中的[侦听器](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HTPHMDSAL100.html)。

### 数据集位置 – 必需
<a name="applications-m2-definition-mf-details-datasets"></a>

使用以下结构指定数据集的位置。

```
"dataset-location": {
            "db-locations": [{
                "name": "Database1",
                "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456"
            }],
 }
```

**db-locations**  
指定迁移的应用程序创建的数据集的位置。当前，仅 AWS Mainframe Modernization 支持来自单个 VSAM 数据库的数据集。  
+ `name` – 指定包含已迁移应用程序创建的数据集的数据库实例的名称。
+ `secret-manager-arn` – 指定包含数据库凭证的密钥的 Amazon 资源名称（ARN）。

### Amazon Cognito 身份验证和授权处理程序 – 可选
<a name="applications-m2-definition-mf-details-cognito"></a>

AWS Mainframe Modernization 使用 Amazon Cognito 对迁移的应用程序进行身份验证和授权。使用以下结构指定 Amazon Cognito 身份验证处理程序。

```
"cognito-auth-handler": {
            "user-pool-id": "cognito-idp.Region.amazonaws.com/Region_rvYFnQIxL",
            "client-id": "58k05jb8grukjjsudm5hhn1v87",
            "identity-pool-id": "Region:64464b12-0bfb-4dea-ab35-5c22c6c245f6"
}
```

**user-pool-id**  
指定用于对迁移应用程序的用户进行身份验证的 AWS Mainframe Modernization Amazon Cognito 用户池。用户池 AWS 区域 的应与 AWS Mainframe Modernization 应用程序 AWS 区域 的相匹配。

**client-id**  
指定经过身份验证的用户可访问的已迁移应用程序。

**identity-pool-id**  
指定 Amazon Cognito 身份池，经过身份验证的用户可以在该池中交换用户池令牌，获取支持用户访问 AWS Mainframe Modernization的凭证。身份池 AWS 区域 的应与 AWS Mainframe Modernization 应用程序 AWS 区域 的相匹配。

### LDAP 和 Active Directory 处理程序 - 可选
<a name="applications-m2-definition-mf-details-ldap-ad"></a>

您可以将您的应用程序与 Active Directory（AD）或任何类型的 LDAP 服务器集证进行授权和身份验证。

**将应用程序与 AD 集成**

1. 按照 Micro Focus Enterprise Server 文档中[为 Enterprise Server 安全配置 Active Directory](https://www.microfocus.com/documentation/server-cobol/51/chessa64.htm) 中描述的步骤进行操作。

1. 为要用于 AWS Secrets Manager 应用程序的每台 AD/LDAP 服务器创建一个包含您的 AD/LDAP 详细信息的密钥。有关如何创建密钥的信息，请参阅 AWS Secrets Manager 用户指南中的[创建 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/)。对于密钥类型，请选择**其他类型的密钥**，并包括以下键值对。

   ```
   {
       "connectionPath"       : "<HOST-ADDRESS>:<PORT>",
       "authorizedId"         : "<USER-FULL-DN>",
       "password"             : "<PASSWORD>",
       "baseDn"               : "<BASE-FULL-DN>",
       "userClassDn"          : "<USER-TYPE>",
       "userContainerDn"      : "<USER-CONTAINER-DN>",
       "groupContainerDn"     : "<GROUP-CONTAINER-DN>",
       "resourceContainerDn"  : "<RESOURCE-CONTAINER-DN>"
   }
   ```
**安全建议**  
对于`connectionPath`， AWS Mainframe Modernization 支持 LDAP 和基于 SSL 的 LDAP (LDAPS) 协议。建议您使用 LDAPS，因为它更安全，并且可以防止凭证出现在网络传输中。
对于 `authorizedId` 和 `password`，建议您依据以下原则为用户指定凭证：权限不超过应用程序运行所需的最严格的只读和验证权限。
我们建议定期轮换 AD/LDAP 证书。
不要使用用户名 `awsuser` 或 `mfuser` 创建 AD 用户。这两个用户名保留供 AWS 使用。

   示例如下：

   ```
   {
       "connectionPath" : "ldaps://msad4.m2.example.people.aws.dev:636",
       "authorizedId" : "CN=LDAPUser,OU=Users,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev",
       "password" : "ADPassword",
       "userContainerDn" : "CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev",
       "groupContainerDn" : "CN=Enterprise Server Groups,CN=Micro Focus,CN=Program Data,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev",
       "resourceContainerDn" : "CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev"
   }
   ```

   使用客户托管的 KMS 密钥创建密钥。您必须向 AWS Mainframe Modernization 授予密钥的 `GetSecretValue` 和 `DescribeSecret` 权限，以及 KMS 密钥的 `Decrypt` 和 `DescribeKey` 权限。有关更多信息，请参阅《 AWS Secrets Manager 用户指南[》中的 KMS 密钥权限](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-authz)。

1. 将以下内容添加到您的应用程序定义中。

   ```
   "ldap-ad-auth-handler": {
       "ldap-ad-connection-secrets": [LIST OF AD/LDAP SECRETS]
   }
   ```

   示例如下：

   ```
   "ldap-ad-auth-handler": {
       "ldap-ad-connection-secrets": ["arn:aws:secrets:1234:us-east-1:secret:123456"]
   }
   ```

如果应用程序已与 LDAP 集成并已启动，则必须提供凭证才能执行支持的授权列表中提到的至少一项与应用程序相关的操作。

 LDAP/AD 身份验证处理程序适用于 Micro Focus (Rocket) 8.0.11 及更高版本。

**注意**  
目前，LDAP 管理员必须在“OPERCMDS”企业服务器资源的 LDAP 目录中提供对 `casstart` 实用程序的“alter”权限。必须为所有必需的默认用户 [例如，CICSUSER（如果应用程序与 CICS 相关）] 执行此操作才能成功启动应用程序。

**为身份验证和授权提供 LDAP 用户凭证**

1.  AWS Secrets Manager 使用以下键和值创建：

   ```
   {
     "username" : "<USERNAME>",
     "password" : "<PASSWORD>"
   }
   ```
**重要**  
您应该有权对正在使用的 Secrets Manager 执行 `DescribeSecrets` 和 `GetSecretValue`。此外，还要关联 KMS 密钥和必要的权限 AWS Secrets Manager，如[选择](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-choose-key)中所述 AWS KMS key。

1. 选择 Secrets Manager 参数。

------
#### [ AWS console ]

   从 AWS 控制台执行操作时，可以选择需要传递的 Secrets Manager。

------
#### [ AWS CLI (or SDK) ]

   从 AWS CLI（或 SDK）执行操作时，API 参数 `auth-secrets-manager-arn` 应与 Secrets Manager ARN 一起传递。

------

以下是当前支持授权的应用程序操作列表：
+ `StartBatchJob`
+ `CancelBatchJobExecution`
+ `ListBatchJobRestartPoints`

### 批处理设置 – 必需
<a name="applications-m2-definition-mf-details-batch"></a>

使用以下结构指定作为应用程序一部分运行的批处理作业所需的详细信息。

```
"batch-settings": {
            "initiators": [{
                "classes": ["A", "B"],
                "description": "initiator...."
            }],
            "jcl-file-location": "${s3-source}/batch/jcl",
            "program-path": "/m2/mount/libs/loadlib:$EFS_MOUNT/emergency/loadlib",
            "system-procedure-libraries":"SYS1.PROCLIB;SYS2.PROCLIB",
            "aliases": [
               {"alias": "FDSSORT", "program": "SORT"},
               {"alias": "MFADRDSU", "program": "ADRDSSU"}
    ]
}
```

**initiators**  
指定一个批处理启动器，该启动器在迁移的应用程序成功启动时启动，并应用程序停止运行前持续运行。您可以为每个启动器定义一个或多个类，也可以定义多个启动器。例如：  

```
"batch-settings": {
            "initiators": [
                {
                  "classes": ["A", "B"],
                  "description": "initiator...."
                },
                {
                  "classes": ["C", "D"],
                  "description": "initiator...."
                }
            
        ],
 }
```
有关更多信息，请参阅 *Micro Focus Enterprise Server* 文档中的[定义批处理启动器或打印机 SEP](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HHMTTHJCLE08.html)。  
+ `classes` – 指定启动器可以运行的作业类。最多可以使用 36 个字符。您可以使用以下字符：A-Z 或 0-9。
+ `description` – 描述启动器的用途。

**jcl-file-location**  
指定迁移应用程序运行的批处理作业所需的 JCL（作业控制语言）文件的位置。

**program-path**  
指定当 JCL 中的程序不在默认位置时运行批处理作业所需的路径。不同的路径名称用冒号（:）分隔。  
程序路径只能是 EFS 路径。

**system-procedure-libraries**  
指定将在其中搜索 JCL 过程的默认分区数据集。但是，在 JCL 中或通过 JCLLIB 语句找不到该过程。必须对这些数据集进行编目并使用目录名称。这些条目用分号（;）分隔。

**aliases**  
定义 JCL 中使用的实用程序和程序名称与实用程序实现名称的映射。 AWS 第三方批处理实用程序（例如 M2SFTP、M2WAIT、Syncsort 等）可以选择使用别名，从而无需更改 JCL。例如：  
+ FDSSORT Alias FDSSORT for SORT and Alias FDSICET for ICETOOL
+ ADRDSSU Alias MFADRDSU for ADRDSSU
+ Syncsort Alias DMXMFSRT for SORT

### CICS 设置 – 必需
<a name="applications-m2-definition-mf-details-cics"></a>

使用以下结构指定作为应用程序一部分运行的 CICS 事务所需的详细信息。

```
"cics-settings": {
            "binary-file-location": "${s3-source}/cics/binaries",
            "csd-file-location": "${s3-source}/cics/def",
            "system-initialization-table": "BNKCICV"
}
```

**binary-file-location**  
指定 CICS 事务程序文件的位置。

**csd-file-location**  
指定此应用程序的 CICS 资源定义 (CSD) 文件的位置。有关更多信息，请参阅 *Micro Focus Enterprise Server* 文档中的 [CICS 资源定义](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-UNIX/HRMTRHCSDS01.html)。

**system-initialization-table**  
指定迁移的应用程序使用的系统初始化表 (SIT)。SIT 表的名称最多可包含 8 个字符。您可以使用 A-Z、0-9、\$1、@ 和 \$1。有关更多信息，请参阅 *Micro Focus Enterprise Server* 文档中的 [CICS 资源定义](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HRMTRHCSDS01.html)。

### 打印机 - 可选
<a name="applications-m2-definition-mf-details-printers"></a>

可使用以下结构指定 jes 打印机。

```
"jes-printers": [
    {
        "name": "printerName",
        "classes": [
            "A", 
            "B"
        ],
        "description": "printer desc....",
        "exit-module": {
            "name": "lrsprte6",
            "module" : "program"
        }
    }
],
```

**注意**  
对于给定的应用程序，最多可以配置 25 台打印机。

**name**  
（必需）指定要与此打印机资源关联的名称。每台打印机的名称必须是唯一的，并且最多可以使用 128 个字母数字字符。

**classes**  
（必需）指定适用于此打印机资源的输出类。最多可以使用 36 个字母数字字符。

**描述**  
（可选）打印机的其他描述性文本。

**exit-module**  
（可选）指定用于打印退出的自定义模块。没有默认值，如果未指定，则不使用退出模块。您可以使用托管打印退出模块，也可以提供自己的模块。托管打印出口模块使用 LRS 队列的保留名称 `lrsprte6` 来定义，或者您也可以通过使用 module 参数指定位置和名称来提供自己的模块。  
`exit-module` 结构有两个组成部分：  
+ `name`：（必需）如果使用了 `exit-module`。退出模块条目的名称。退出模块条目名称不能超过 8 个字符。
+ `module`：（可选）打印退出模块二进制文件的 S3 位置。

[打印机](mf-app-config.md#mf-app-config-integations-printers)一节中提供了更多定义退出模块的示例。

### XA 资源 - 可选
<a name="applications-m2-definition-mf-details-xa"></a>

使用以下结构指定应用程序所需的 XA 资源所需的详细信息。

```
"xa-resources" : [{
            "name": "XASQL",
            "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456",
            "xa-connection-type": "postgres",
            "module": "${s3-source}/xa/ESPGSQLXA64.so"
}]
```

**注意**  
XA 资源定义已更新为包含可选的 `xa-connection-type` 字段。如果未提供该字段，则假定连接类型为“postgres”。

**name**  
（必需）指定 XA 资源的名称。

**secret-manager-arn**  
（必需）指定包含用于连接数据库的凭证的密钥的 Amazon 资源名称（ARN）。

**xa-connection-type**  
（可选）指定 XA 资源连接类型。

**module**  
（必需）指定 RM 交换机模块可执行文件的位置。有关更多信息，请参阅 *Micro Focus 企业服务器*文档 XARs中的[规划和设计](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-91C0E7E4-C012-4DF2-8996-CF6C52437FB7.html)。

### 运行时设置 - 可选
<a name="applications-m2-definition-mf-details-runtime-settings"></a>

使用以下结构为运行时设置指定所需的详细信息，以管理支持的环境变量。

```
"runtime-settings": {
          "base-configuration-location": "${s3-source}/exported.json",
          "environment-variables": {
            "ES_JES_RESTART": "N",
            "EFS_MOUNT": "/m2/mount/efs"
    } 
}
```

**base-configuration-location**  
（可选）指定 Micro Focus 服务器配置的批量导入位置。此文件应为有效的 JSON，并且与上面定义的应用程序工件位置位于相同的 S3 位置。要从现有应用程序导出配置，请参阅 *Rocket 软件文档*[中的从西亚经社会导出区域](https://www.microfocus.com/documentation/enterprise-developer/ed90/ED-Eclipse/GUID-6CDD00CC-4086-4602-8EE2-0C07E04ACC6A.html)*部分*。

**environment-variables**  
指定应用于此应用程序的运行时的 Micro Focus 支持的环境变量。  
+ `ES_JES_RESTART`是一个 Rocket Software 环境变量，它支持 JCL 重启处理。或者，您也可以用`ES_ALLOC_OVERRIDE`作 Rocket Software 环境变量。
+ `EFS_MOUNT` 是一个自定义环境变量，可供应用程序用于识别环境的 EFS 挂载的位置。

你可以在《*适用于 UNIX 的 [Rocket E](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-UNIX/GUID-F0C24B4E-9720-47C1-A77C-2E9B30CC4328.html) nterprise Server》指南中访问所有 Rock* et S