

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á.

# Gerenciar agendamentos usando a infraestrutura como código (IaC)
<a name="manage-schedules-using-infrastructure-as-code-iac"></a>

**Importante**  
Implante agendamentos usando um modelo separado após a conclusão da implantação da pilha de hubs.

O Instance Scheduler na AWS fornece um recurso personalizado (`ServiceInstanceSchedule`) que você pode usar para configurar e gerenciar agendamentos por meio da AWS. CloudFormation O recurso personalizado usa PascalCase chaves para os mesmos dados da tabela de configuração do Instance Scheduler no Amazon DynamoDB (consulte o modelo abaixo para ver exemplos). Para obter mais informações sobre os campos para agendamentos, consulte [Definições de agendamento](schedule-reference.md#schedule-definitions). Para obter mais informações sobre os campos para períodos, consulte [Definições de período](period-reference.md#period-definitions).

Quando você usa o recurso personalizado para criar um agendamento, o nome desse agendamento é o nome do recurso lógico do recurso personalizado por padrão. Para especificar um nome diferente, use a propriedade Name do recurso personalizado. A solução também adiciona o nome da pilha ao nome do agendamento como um prefixo por padrão. Se você não quiser adicionar o nome da pilha como prefixo, use a propriedade `NoStackPrefix`.

Ao usar as propriedades Name e `NoStackPrefix`, certifique-se de escolher nomes de agendamento exclusivos. Se já existir um agendamento com o mesmo nome, o recurso não será criado ou atualizado.

Para começar a gerenciar agendamentos usando a IaC, copie e cole o modelo de exemplo a seguir e personalize quantos agendamentos quiser. Salve o arquivo como um arquivo.template (por exemplo:`my-schedules.template`) e, em seguida, implante seu novo modelo usando a AWS CloudFormation. Para obter exemplos de modelos de agendamento concluídos, consulte [Exemplos de agendamentos](period-reference.md#period-definitions).

```
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  ServiceInstanceScheduleServiceTokenARN:
    Type: String
    Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
  'AWS::CloudFormation::Designer': {}
Resources:
  SampleSchedule1:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN #do not edit this line
      NoStackPrefix: 'False'
      Name: my-renamed-sample-schedule
      Description: a full sample template for creating cfn schedules showing all possible values
      Timezone: America/New_York
      Enforced: 'True'
      Hibernate: 'True'
      RetainRunning: 'True'
      StopNewInstances: 'True'
      UseMaintenanceWindow: 'True'
      SsmMaintenanceWindow: 'my_window_name'
      Periods:
      - Description: run from 9-5 on the first 3 days of March
        BeginTime: '9:00'
        EndTime: '17:00'
        InstanceType: 't2.micro'
        MonthDays: '1-3'
        Months: '3'
      - Description: run from 2pm-5pm on the weekends
        BeginTime: '14:00'
        EndTime: '17:00'
        InstanceType: 't2.micro'
        WeekDays: 'Sat-Sun'

  SampleSchedule2:
    Type: 'Custom::ServiceInstanceSchedule'
    Properties:
      ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN #do not edit this line
      NoStackPrefix: 'True'
      Description: a sample template for creating simple cfn schedules
      Timezone: Europe/Amsterdam
      Periods:
      - Description: stop at 5pm every day
        EndTime: '17:00'
```

Ao implantar o modelo, você deve fornecer o ServiceToken ARN para a implantação do Instance Scheduler na AWS. **Esse ARN pode ser encontrado CloudFormation navegando até a pilha implantada do Agendador de Instâncias, selecionando Saídas e procurando** `ServiceInstanceScheduleServiceToken.` 

**Importante**  
Não use o console do DynamoDB nem a CLI do agendador para excluir ou modificar agendamentos e períodos que foram configurados usando o recurso personalizado. Se fizer isso, você criará um conflito entre os parâmetros armazenados na pilha e os valores na tabela. Além disso, não use períodos configurados usando o recurso personalizado em agendamentos criados por meio do console do DynamoDB ou da CLI do agendador.

Antes de excluir a pilha principal do Agendador de instâncias, você deve excluir todas as pilhas adicionais que contêm agendamentos e períodos criados usando o recurso personalizado, pois as pilhas de recursos personalizados contêm dependências na tabela do DynamoDB da pilha principal.

Na tabela de configuração do DynamoDB, os agendamentos e períodos que foram configurados com o recurso personalizado podem ser identificados pelo atributo **configured\$1in\$1stack**. O atributo contém o Nome de recurso da Amazon da pilha que foi usada para criar o item.