

AWS O Mainframe Modernization Service (experiência em Managed Runtime Environment) não está mais aberto a novos clientes. Para recursos semelhantes ao AWS Mainframe Modernization Service (experiência em Managed Runtime Environment), explore o AWS Mainframe Modernization Service (experiência autogerenciada). Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte Alteração na [disponibilidade AWS da modernização do mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS Mainframe Modernization referência de definição de aplicativo
<a name="applications-m2-definition"></a>

Em AWS Mainframe Modernization, você configura aplicativos de mainframe migrados em um arquivo JSON de definição de aplicativo, que é específico para o mecanismo de tempo de execução escolhido. Uma definição de aplicação contém informações gerais e informações específicas do mecanismo. Este tópico descreve as definições dos aplicativos AWS Transform for mainframe e Rocket Software (anteriormente Micro Focus) e identifica todos os elementos obrigatórios e opcionais.

**Contents**
+ [Seção de cabeçalho geral](#applications-m2-definition-general)
+ [Visão geral da seção de definição](#applications-m2-definition-overview)
+ [AWS Exemplo de definição de aplicativo Transform for mainframe](#applications-m2-definition-ba)
+ [AWS Transforme para obter detalhes da definição do mainframe](#applications-m2-definition-ba-details)
  + [Receptor(es): obrigatório](#applications-m2-definition-ba-details-listener)
  + [AWS Transformação para aplicativo de mainframe - obrigatório](#applications-m2-definition-ba-details-application)
  + [Blusam- opcional](#applications-m2-definition-ba-details-blusam)
  + [AWS Transformação para filas de mensagens de mainframe - opcional](#applications-m2-definition-ba-message-queues)
  + [AWS Transformação para mainframe, armazenamento de aplicativos, configuração EFS - opcional](#applications-m2-definitions-ba--details-efs)
+ [Definição do aplicativo Rocket Software (anteriormente Micro Focus)](#applications-m2-definition-mf)
+ [Detalhes da definição do Rocket Software](#applications-m2-definition-mf-details)
  + [Receptor(es): obrigatório](#applications-m2-definition-mf-details-listeners)
  + [Localizações do conjunto de dados: obrigatório](#applications-m2-definition-mf-details-datasets)
  + [Manipulador de autenticação e autorização do Amazon Cognito: opcional](#applications-m2-definition-mf-details-cognito)
  + [Manipulador do LDAP e do Active Directory: opcional](#applications-m2-definition-mf-details-ldap-ad)
  + [Configurações de lote: obrigatórias](#applications-m2-definition-mf-details-batch)
  + [Configurações do CICS: obrigatórias](#applications-m2-definition-mf-details-cics)
  + [Impressoras: opcionais](#applications-m2-definition-mf-details-printers)
  + [Recursos XA: opcional](#applications-m2-definition-mf-details-xa)
  + [Configurações de tempo de execução: opcional](#applications-m2-definition-mf-details-runtime-settings)

## Seção de cabeçalho geral
<a name="applications-m2-definition-general"></a>

Cada definição de aplicação começa com informações gerais sobre a versão do modelo e os locais de origem. A versão atual da definição da aplicação é 2.0. 

Use a estrutura a seguir para especificar a versão do modelo e os locais de origem.

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

**nota**  
É possível usar a seguinte sintaxe se você quiser inserir o ARN do S3 como s3-bucket:  

```
"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"
          }
      }
  ]
```

**Versão do modelo**  
(Obrigatório) Especifica a versão do arquivo de definição da aplicação. Não mude esse valor. Atualmente, o único valor permitido é 2,0. Especifique `template-version` com uma string.

**locais de origem**  
Especifica os locais dos arquivos e outros recursos que a aplicação exige durante o runtime.

**source-id**  
Especifica um nome para o local. Esse nome é usado para referenciar o local de origem conforme necessário no JSON de definição da aplicação.

**source-type**  
Especifica o tipo da fonte. Atualmente, o único valor permitido é s3.

**propriedades**  
Fornece os detalhes do local de origem. Cada propriedade é especificada com uma string.  
+ `s3-bucket`: obrigatório. Especifica o nome do bucket do Amazon S3 onde os arquivos estão armazenados.
+ `s3-key-prefix`: obrigatório. Especifica o nome da pasta no bucket do Amazon S3 em que os arquivos são armazenados.

## Visão geral da seção de definição
<a name="applications-m2-definition-overview"></a>

Especifica as definições de recursos dos serviços, configurações, dados e outros recursos típicos de que a aplicação precisa para ser executada. Quando você atualiza uma definição de aplicação, o AWS Mainframe Modernization detecta alterações comparando as listas `source-locations` e `definition` das versões anteriores e atuais do arquivo JSON de definição de aplicação.

A seção de definição é específica do mecanismo e está sujeita a alterações. As seções a seguir mostram exemplos de definições de aplicações específicas do mecanismo para ambos os mecanismos.

## AWS Exemplo de definição de aplicativo Transform for mainframe
<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 Transforme para obter detalhes da definição do mainframe
<a name="applications-m2-definition-ba-details"></a>

### Receptor(es): obrigatório
<a name="applications-m2-definition-ba-details-listener"></a>

Especifique a porta que você usará para acessar o aplicativo por meio do Elastic Load Balancing AWS Mainframe Modernization criado. Use a seguinte estrutura:

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

**porta**  
(Obrigatório) É possível usar qualquer porta disponível, exceto as conhecidas portas de 0 a 1023. Recomendamos usar o intervalo de 8192 a 8199. Verifique se não há outros receptores ou aplicações operando nessa porta.

**type**  
(Obrigatório) Atualmente, somente `http` é compatível.

### AWS Transformação para aplicativo de mainframe - obrigatório
<a name="applications-m2-definition-ba-details-application"></a>

Especifique o local em que o mecanismo coleta o arquivo de imagem da aplicação usando a estrutura a seguir.

```
"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**  
O local específico no Amazon S3 em que o arquivo de imagem da aplicação é armazenado.

**files-directory**  
(Opcional) A localização dos input/output arquivos para lotes. Deve ser uma subpasta da configuração do Amazon EFS ou do ponto de FSx montagem da Amazon no nível do ambiente. A subpasta deve pertencer a um usuário adequado para ser usada pelo **AWS Transform para aplicativos de mainframe** executados internamente. AWS Mainframe Modernization Para conseguir isso, ao conectar-se a unidade a uma instância Linux do Amazon EC2, é necessário criar um grupo com o ID `101` e um usuário com o ID `3001`, e a pasta desejada deve pertencer a esse usuário. *Por exemplo, dessa forma, a `testclient` pasta pode ser usada pelo **AWS Transform for mainframe** AWS Mainframe Modernization Managed.*  

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

**enable-jics**  
(Opcional) Especifica se o JICS deve ser ativado. O valor padrão é verdadeiro. Definir isso como false impede que o banco de dados JICS seja gerado.

**enable-batch-restart**  
(Opcional) Especifica se o recurso de reinicialização deve ser ativado para trabalhos em lote. O padrão é falso. Para obter mais informações sobre as configurações de reinicialização em lote, consulte AWS Transform for mainframe engine properties prefixado `jcl.checkpoint` em [Configuration properties for the managed application with AWS Transform for](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2-ba-config-props.html#gapwalk-app-props) mainframe engine.

** shared-app-location **  
(Opcional) Localização adicional no Amazon S3 em que os elementos da aplicação compartilhados são armazenados. Ele pode conter o mesmo tipo de estrutura de aplicação que app-location.

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

Especifique o Blusam banco de dados e o cache do Redis usando a estrutura a seguir.

```
"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**  
Especifica as propriedades do banco de dados usado com a aplicação. O banco de dados deve ser um banco de dados do Aurora PostgreSQL. Você pode especificar as seguintes propriedades:  
+ `nb-threads`- (Opcional) Especifica quantos encadeamentos dedicados são usados para o mecanismo de gravação no qual o Blusam mecanismo depende. O padrão é 8.
+ `batch-size`: (opcional) especifica o limite que o mecanismo write-behind usa para iniciar as operações de armazenamento em lote. O limite representa o número de registros modificados que iniciarão uma operação de armazenamento em lote para garantir que os registros modificados persistam. O gatilho em si é baseado em uma combinação do tamanho do lote e do tempo decorrido de um segundo, o que for atingido primeiro. O padrão é 10000.
+ `name`: (opcional) especifica o nome do banco de dados.
+ `secret-manager-arn`: especifica o nome do recurso da Amazon (ARN) do segredo do que contém as credenciais do banco de dados. Para obter mais informações, consulte [Etapa 4: criar e configurar um segredo de AWS Secrets Manager banco de dados](tutorial-runtime-mf.md#tutorial-runtime-mf-secret).

**Redis**  
Especifica as propriedades do cache do Redis que a aplicação usa para armazenar os dados temporários necessários em um local central para melhorar o desempenho. Recomendamos que você criptografe e proteja com senha o cache do Redis.  
+ `hostname`: especifica a localização do cache do Redis.
+ `port`: especifica a porta, normalmente 6379, pela qual o cache do Redis envia e recebe comunicação.
+ `useSsl`: especifica se o cache do Redis está criptografado. Se o cache não estiver criptografado, defina `useSsl` como false.
+ `secret-manager-arn`: especifica o nome do recurso da Amazon (ARN) do segredo do que contém a senha de cache do Redis. Se o cache do Redis não estiver protegido por senha, não especifique `secret-manager-arn`. Para obter mais informações, consulte [Etapa 4: criar e configurar um segredo de AWS Secrets Manager banco de dados](tutorial-runtime-mf.md#tutorial-runtime-mf-secret).

### AWS Transformação para filas de mensagens de mainframe - opcional
<a name="applications-m2-definition-ba-message-queues"></a>

Especifique os detalhes da conexão JMS-MQ para o aplicativo AWS Transform for mainframe.

```
"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**  
(Obrigatório) Especifica o tipo de produto. Atualmente, isso só pode ser “JMS-MQ” para AWS Transform para aplicativos de mainframe. 

**queue-manager**  
(Obrigatório) Especifica o nome do gerenciador de filas.

**canal**  
(Obrigatório) Especifica o nome do canal de conexão do servidor.

**hostname **  
(Obrigatório) Especifica o nome do host do servidor da fila de mensagens.

**porta**  
(Obrigatório) Especifica o número da porta do receptor em que o servidor está escutando.

**user-id**  
(Opcional) Especifica o ID da conta de usuário que pode realizar operações de fila de mensagens no canal especificado.

**cifra ssl**  
(Opcional) Especifica a especificação da cifra SSL para a conexão.

**secret-manager-arn**  
(Opcional) Especifica o nome do recurso da Amazon (ARN) do Secrets Manager que fornece a senha do usuário especificado.

### AWS Transformação para mainframe, armazenamento de aplicativos, configuração EFS - opcional
<a name="applications-m2-definitions-ba--details-efs"></a>

Especifique os detalhes do ponto de acesso EFS do armazenamento de aplicações usando a estrutura a seguir.

```
"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**  
(Obrigatório) O ID do sistema de arquivos do EFS ao qual o ponto de acesso se aplica. Padrão: "fs-([0-9a-f]{8,40}){1,128}$"

**mount-point**  
(Obrigatório) O ponto de montagem para o sistema de arquivos em nível de aplicação. Isso deve ser diferente do ponto de montagem do armazenamento em nível de ambiente.

**access-point-id**  
(Obrigatório) O ID do ponto de acesso, atribuído pelo Amazon EFS. Padrão: "^fsap-([0-9a-f]{8,40}){1,128}$"

** file-permission-mask **  
(Opcional) Define a máscara de criação dos arquivos criados pelo processo da aplicação. Por exemplo, quando o valor for definido como `UMASK006`, todos os arquivos terão a permissão 660. Isso significa que somente o proprietário do arquivo e o grupo de arquivos terão acesso de leitura e de gravação, enquanto outros usuários não terão nenhuma permissão.  
O valor definido para esse campo só é considerado ao usar-se o armazenamento EFS em nível de aplicação.

**nota**  
Quando a configuração efs é fornecida, o diretório de arquivos deve ser especificado na seção de definição da aplicação. Deve ser uma subpasta do ponto de montagem do Amazon EFS configurada em nível de aplicação.

## Definição do aplicativo Rocket Software (anteriormente Micro Focus)
<a name="applications-m2-definition-mf"></a>

A seção de definição de amostra a seguir é para o mecanismo de tempo de execução da Rocket Software e contém elementos obrigatórios e opcionais.

```
{
 "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>"
          } 
        }
    }
}
```

## Detalhes da definição do Rocket Software
<a name="applications-m2-definition-mf-details"></a>

O conteúdo na seção de definição do arquivo de definição de aplicativo da Rocket Software varia, dependendo dos recursos que seu aplicativo de mainframe migrado exige em tempo de execução.

### Receptor(es): obrigatório
<a name="applications-m2-definition-mf-details-listeners"></a>

Especifique um receptor usando a seguinte estrutura:

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

**porta**  
Para tn3270, o padrão é 5101. Para outros tipos de receptores de serviço, a porta varia. Você pode usar qualquer porta disponível, exceto as conhecidas portas de 0 a 1023. Cada receptor deve ter uma porta distinta. Os receptores não devem compartilhar portas. Para obter mais informações, consulte [Listener Control](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/GUID-63F6D8B0-024F-48D1-956A-1E079E4BD891.html) na documentação do *Micro Focus Enterprise Server*.

**type**  
Especifica o tipo de receptor de serviço. Para obter mais informações, consulte [Listeners](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HTPHMDSAL100.html) na documentação do *Micro Focus Enterprise Server*.

### Localizações do conjunto de dados: obrigatório
<a name="applications-m2-definition-mf-details-datasets"></a>

Especifique a localização do conjunto de dados usando a estrutura a seguir.

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

**db-locations**  
Especifica a localização dos conjuntos de dados que a aplicação migrada cria. Atualmente, AWS Mainframe Modernization suporta somente conjuntos de dados de um único banco de dados VSAM.  
+ `name`: especifica o nome da instância do banco de dados que contém os conjuntos de dados criados pela aplicação migrada.
+ `secret-manager-arn`: especifica o nome do recurso da Amazon (ARN) do segredo do que contém as credenciais do banco de dados.

### Manipulador de autenticação e autorização do Amazon Cognito: opcional
<a name="applications-m2-definition-mf-details-cognito"></a>

AWS Mainframe Modernization usa o Amazon Cognito para autenticação e autorização de aplicativos migrados. Especifique o manipulador de autenticação do Amazon Cognito usando a estrutura a seguir.

```
"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**  
Especifica o grupo AWS Mainframe Modernization de usuários do Amazon Cognito usado para autenticar usuários do aplicativo migrado. O Região da AWS para o grupo de usuários deve corresponder Região da AWS ao do AWS Mainframe Modernization aplicativo.

**client-id**  
Especifica a aplicação migrada que o usuário autenticado pode acessar.

**identity-pool-id**  
Especifica o banco de identidades do Amazon Cognito no qual o usuário autenticado troca um token do grupo de usuários por credenciais que permitem a ele acessar o AWS Mainframe Modernization. O Região da AWS for do pool de identidades deve corresponder Região da AWS ao do AWS Mainframe Modernization aplicativo.

### Manipulador do LDAP e do Active Directory: opcional
<a name="applications-m2-definition-mf-details-ldap-ad"></a>

É possível integrar sua aplicação ao Active Directory (AD) ou a qualquer tipo de servidor LDAP para possibilitar que os usuários da aplicação usem suas credenciais do LDAP/AD para autorização e autenticação.

**Como integrar a aplicação ao AD**

1. Siga as etapas descritas em [Configurar o Active Directory para a segurança do Enterprise Server](https://www.microfocus.com/documentation/server-cobol/51/chessa64.htm) na documentação do Micro Focus Enterprise Server.

1. Crie um AWS Secrets Manager segredo com seus AD/LDAP detalhes para cada servidor AD/LDAP que você deseja usar com seu aplicativo. Para obter informações sobre como criar um segredo, consulte [Criar um segredo do AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) no Guia AWS Secrets Manager do usuário. Para o tipo de segredo, escolha **Outro tipo de segredo** e inclua os seguintes pares de chave/valor. 

   ```
   {
       "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>"
   }
   ```
**Recomendações de segurança**  
Para`connectionPath`, AWS Mainframe Modernization suporta os protocolos LDAP e LDAP sobre SSL (LDAPS). Recomendamos usar o LDAPS porque é mais seguro e evita que as credenciais apareçam nas transmissões da rede.
Para `authorizedId` e `password`, recomendamos que você especifique as credenciais de um usuário sem mais permissões do que as permissões mais restritivas de somente leitura e verificação necessárias para que a aplicação seja executada.
Recomendamos alternar AD/LDAP as credenciais regularmente.
Não crie usuários do AD com o nome de usuário `awsuser` ou `mfuser`. Esses dois nomes de usuário são reservados para uso da AWS .

   Veja um exemplo do a seguir:

   ```
   {
       "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"
   }
   ```

   Crie o segredo com uma chave do KMS gerenciada pelo cliente. É necessário conceder ao AWS Mainframe Modernization as permissões `GetSecretValue` e `DescribeSecret` para o segredo, e as permissões `Decrypt` e `DescribeKey` para a chave do KMS. Para obter mais informações, consulte [Permissões para a chave KMS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-authz) no Guia do AWS Secrets Manager usuário.

1. Adicione o seguinte à definição da aplicação:

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

   Veja um exemplo do a seguir:

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

Se a aplicação estiver integrada ao LDAP e tiver sido iniciada, será necessário fornecer credenciais para executar pelo menos uma operação relacionada à aplicação mencionada na lista de autorizações aceitas. 

O manipulador de LDAP/AD autenticação está disponível para o Micro Focus (Rocket) 8.0.11 e versões posteriores.

**nota**  
Atualmente, o administrador do LDAP precisa fornecer permissões “alteradas” no utilitário `casstart` nos recursos do servidor empresarial “OPERCMDS” no diretório LDAP. Isso precisa ser feito para que todos os usuários padrão necessários (por exemplo, CICSUSER, se a aplicação for relacionada ao CICS) para iniciar a aplicação com êxito.

**Como fornecer credenciais de usuário do LDAP para autenticação e autorização**

1. Crie um AWS Secrets Manager com as seguintes chaves e valores:

   ```
   {
     "username" : "<USERNAME>",
     "password" : "<PASSWORD>"
   }
   ```
**Importante**  
Você deve ter o direito de executar `DescribeSecrets` e `GetSecretValue` no Secrets Manager que está sendo usado. Além disso, associe uma chave KMS e as permissões necessárias para o AWS Secrets Manager, conforme mencionado em [Escolhendo um AWS KMS key](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-choose-key).

1. Escolha o parâmetro do Secrets Manager.

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

   Ao executar operações a partir do AWS console, haverá a opção de escolher o Secrets Manager que precisa ser aprovado.

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

   Ao executar-se operações da AWS CLI (ou do SDK), o parâmetro `auth-secrets-manager-arn` da API deve ser transmitido com o ARN do Secrets Manager.

------

Veja a lista de operações de aplicações que atualmente comportam a autorização:
+ `StartBatchJob`
+ `CancelBatchJobExecution`
+ `ListBatchJobRestartPoints`

### Configurações de lote: obrigatórias
<a name="applications-m2-definition-mf-details-batch"></a>

Especifique os detalhes exigidos pelos trabalhos em lotes que são executados como parte da aplicação usando a estrutura a seguir.

```
"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**  
Especifica um iniciador de lote que é iniciado quando a aplicação migrada é iniciada com êxito e continua em execução até que seja interrompida. Você pode definir uma ou várias classes por iniciador. Você também pode definir vários iniciadores. Por exemplo:  

```
"batch-settings": {
            "initiators": [
                {
                  "classes": ["A", "B"],
                  "description": "initiator...."
                },
                {
                  "classes": ["C", "D"],
                  "description": "initiator...."
                }
            
        ],
 }
```
Para obter mais informações, consulte [Para definir um iniciador de lote ou uma impressora SEP](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HHMTTHJCLE08.html) na documentação do *Micro Focus Enterprise Server*.  
+ `classes`: especifica as classes de trabalho que o iniciador pode executar. Você pode usar até 36 caracteres. Você pode usar os seguintes caracteres: A–Z ou 0–9.
+ `description`: descreve para que serve o iniciador.

**jcl-file-location**  
Especifica a localização dos arquivos JCL (Job Control Language) exigidos pelos trabalhos em lote executados pela aplicação migrada.

**program-path**  
Especifica o caminho necessário para executar trabalhos em lote quando um programa em uma JCL não está no local padrão. Os diferentes nomes de caminho são separados por dois pontos (:).  
O caminho do programa só pode ser um caminho do EFS.

**system-procedure-libraries**  
Especifica os conjuntos de dados particionados padrão que serão pesquisados em busca de procedimentos JCL. No entanto, o procedimento não é encontrado no JCL nem por meio das declarações JCLLIB. Esses conjuntos de dados devem ser catalogados e o nome do catálogo deve ser usado. E as entradas são separadas por ponto e vírgula (;).

**aliases**  
Define um mapeamento dos nomes de utilitários e programas usados no JCL para o nome de implementação do utilitário. AWS e utilitários de lote de terceiros (por exemplo, M2SFTP, M2WAIT, Syncsort etc.) podem opcionalmente ter aliases para eliminar a necessidade de alterar o JCL. Por exemplo:  
+ Alias FDSSORT FDSSORT para SORT e Alias FDSICET para ICETOOL
+ Alias ADRDSSU MFADRDSU para ADRDSSU
+ Alias Syncsort DMXMFSRT para SORT

### Configurações do CICS: obrigatórias
<a name="applications-m2-definition-mf-details-cics"></a>

Especifique os detalhes necessários para as transações do CICS que são executadas como parte da aplicação usando a estrutura a seguir.

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

**binary-file-location**  
Especifica o local dos arquivos do programa de transação do CICS.

**csd-file-location**  
Especifica a localização do arquivo de definição de recursos (CSD) do CICS para essa aplicação. Para obter mais informações, consulte [Definições de recursos do CICS](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-UNIX/HRMTRHCSDS01.html) na documentação do *Micro Focus Enterprise Server*.

**system-initialization-table**  
Especifica a tabela de inicialização do sistema (SIT) que a aplicação migrada usa. O nome da tabela SIT pode ter até 8 caracteres. Você pode usar A–Z, 0–9, $, @ e \#. Para obter mais informações, consulte [Definições de recursos do CICS](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HRMTRHCSDS01.html) na documentação do *Micro Focus Enterprise Server*. 

### Impressoras: opcionais
<a name="applications-m2-definition-mf-details-printers"></a>

Especifique uma impressora jes usando a estrutura a seguir.

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

**nota**  
Pode haver no máximo 25 impressoras configuradas para uma aplicação específica.

**name**  
(Obrigatório) Especifica o nome a ser associado a esse recurso de impressora. Os nomes devem ser exclusivos para cada impressora e um limite de 128 caracteres alfanuméricos pode ser usado.

**classes**  
(Obrigatório) Especifica as classes de saída aplicáveis a esse recurso de impressora. Um limite de 36 caracteres alfanuméricos pode ser usado.

**descrição**  
(Opcional) Texto descritivo adicional para a impressora.

**exit-module**  
(Opcional) Especifica um módulo personalizado para a saída de impressão. Não há valores padrão; se não forem especificados, nenhum módulo de saída será usado. É possível usar um módulo gerenciado de saída de impressão ou fornecer o seu próprio. Os módulos de saída de impressão gerenciados são definidos usando-se o nome reservado `lrsprte6` para a fila LRS ou forneça o seu próprio usando o parâmetro do módulo para especificar o local e o nome.  
A estrutura de `exit-module` tem dois componentes:  
+ `name`: (obrigatório), se `exit-module` for usado. O nome da entrada do módulo de saída. Há um limite para o nome da entrada do módulo de saída de até oito caracteres.
+ `module`: (opcional) a localização do S3 do binário do módulo de saída de impressão. 

É possível ver mais exemplos de definição do módulo de saída na seção [Impressoras](mf-app-config.md#mf-app-config-integations-printers).

### Recursos XA: opcional
<a name="applications-m2-definition-mf-details-xa"></a>

Especifique os detalhes necessários para os recursos XA que a aplicação exige usando a estrutura a seguir.

```
"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"
}]
```

**nota**  
A definição de recursos XA foi atualizada para incluir um campo `xa-connection-type` opcional. Se não for fornecido, presume-se que o tipo de conexão seja “postgres”.

**name**  
(Obrigatório) Especifica o nome do recurso XA.

**secret-manager-arn**  
(Obrigatório) Especifica o nome do recurso da Amazon (ARN) para o segredo que contém as credenciais para a conexão com o banco de dados.

**xa-connection-type**  
(Opcional) Especifica o tipo de conexão do recurso XA. 

**module**  
(Obrigatório) Especifica a localização do arquivo executável do módulo de switch RM. Para obter mais informações, consulte [Planejamento e projeto XARs](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-91C0E7E4-C012-4DF2-8996-CF6C52437FB7.html) na documentação do *Micro Focus Enterprise Server*.

### Configurações de tempo de execução: opcional
<a name="applications-m2-definition-mf-details-runtime-settings"></a>

Especifique os detalhes obrigatórios para que as configurações de tempo de execução gerenciem variáveis de ambiente permitidas usando a estrutura a seguir.

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

**base-configuration-location**  
(Opcional) Especifica o local para importação em massa para uma configuração de servidor Micro Focus. Esse arquivo deve ser um JSON válido e estar presente no mesmo local do S3 que o local dos artefatos do aplicativo definido acima. Para exportar a configuração de um aplicativo existente, consulte [Para exportar uma região da ESCWA](https://www.microfocus.com/documentation/enterprise-developer/ed90/ED-Eclipse/GUID-6CDD00CC-4086-4602-8EE2-0C07E04ACC6A.html) *na* documentação do *software Rocket*.

**environment-variables**  
Especifica as variáveis de ambiente aceitas pelo Micro Focus que são aplicadas ao tempo de execução dessa aplicação.  
+ `ES_JES_RESTART`é uma variável de ambiente da Rocket Software que permite que o JCL reinicie o processamento. Opcionalmente, você também pode usar `ES_ALLOC_OVERRIDE` como uma variável de ambiente do Rocket Software.
+ `EFS_MOUNT` é uma variável de ambiente personalizada que sua aplicação pode usar para identificar onde a montagem EFS do ambiente está localizada.

Você pode acessar todas as [variáveis de ambiente da Rocket Software](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-UNIX/GUID-F0C24B4E-9720-47C1-A77C-2E9B30CC4328.html) no guia *Rocket Enterprise Server for UNIX*.