

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::Serverless::CapacityProvider
<a name="sam-resource-capacityprovider"></a>

 Cria um provedor de capacidade para AWS Lambda funções que permite executar instâncias gerenciadas Lambda em instâncias Amazon Elastic Compute Cloud de propriedade do cliente. Esse recurso faz parte do recurso Lambda Managed Instances, que fornece otimização de custos para cargas de trabalho Lambda em grande escala utilizando modelos de preços da Amazon. EC2 

 O provedor de capacidade gerencia o ciclo de vida das EC2 instâncias da Amazon e fornece a infraestrutura necessária para que as funções Lambda sejam executadas em recursos computacionais de propriedade do cliente, mantendo o modelo de programação sem servidor. 

**nota**  
Quando você implanta AWS CloudFormation, AWS SAM transforma seus AWS SAM recursos em CloudFormation recursos. Para obter mais informações, consulte [CloudFormation Recursos gerados para AWS SAM](sam-specification-generated-resources.md). 

## Sintaxe
<a name="sam-resource-capacityprovider-syntax"></a>

Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.

### YAML
<a name="sam-resource-capacityprovider-syntax.yaml"></a>

```
Type: AWS::Serverless::CapacityProvider
Properties:
  [CapacityProviderName](#sam-capacityprovider-capacityprovidername): String
  [VpcConfig](#sam-capacityprovider-vpcconfig): VpcConfig
  [OperatorRole](#sam-capacityprovider-operatorrole): String
  [Tags](#sam-capacityprovider-tags): Map
  [PropagateTags](#sam-capacityprovider-propagatetags): Boolean
  [InstanceRequirements](#sam-capacityprovider-instancerequirements): InstanceRequirements
  [ScalingConfig](#sam-capacityprovider-scalingconfig): ScalingConfig
  [KmsKeyArn](#sam-capacityprovider-kmskeyarn): String
```

## Propriedades
<a name="sam-resource-capacityprovider-properties"></a>

 `CapacityProviderName`   <a name="sam-capacityprovider-capacityprovidername"></a>
O nome do provedor de capacidade. Esse nome deve ser exclusivo em sua AWS conta e região.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[CapacityProviderName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityprovidername)` propriedade de um `AWS::Lambda::CapacityProvider` recurso. 

 `VpcConfig`   <a name="sam-capacityprovider-vpcconfig"></a>
A configuração da VPC para o provedor de capacidade. Especifica as sub-redes VPC e os grupos de segurança em que as instâncias da EC2 Amazon serão lançadas.  
*Digite*: [VpcConfig](sam-property-capacityprovider-vpcconfig.md)  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` propriedade de um `AWS::Lambda::CapacityProvider` recurso. 

 `OperatorRole`   <a name="sam-capacityprovider-operatorrole"></a>
 O ARN da função de operador do Lambda com permissões para criar e gerenciar EC2 instâncias da Amazon e recursos relacionados na conta do cliente. Se não for fornecido, gera AWS SAM automaticamente uma função com as permissões necessárias.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[CapacityProviderOperatorRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html#cfn-lambda-capacityprovider-capacityproviderpermissionsconfig-capacityprovideroperatorrolearn)` propriedade `[PermissionsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-permissionsconfig)` de um `AWS::Lambda::CapacityProvider` recurso. 

 `Tags`   <a name="sam-capacityprovider-tags"></a>
Um mapa de pares de valores-chave a serem aplicados ao provedor de capacidade e aos recursos associados.  
*Tipo*: mapa  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-tags)` propriedade de um `AWS::Lambda::CapacityProvider` recurso. A `Tags` propriedade in AWS SAM consiste em pares de valores-chave (enquanto CloudFormation nessa propriedade consiste em uma lista de objetos Tag). Além disso, adiciona AWS SAM automaticamente uma `lambda:createdBy:SAM` tag a essa função Lambda e às funções padrão geradas para essa função. 

 `PropagateTags`   <a name="sam-capacityprovider-propagatetags"></a>
 Indica se você deve ou não passar tags da propriedade Tags para os recursos `AWS::Serverless::CapacityProvider` gerados. Defina isso `True` para propagar tags nos recursos gerados.   
*Tipo*: booliano  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `InstanceRequirements`   <a name="sam-capacityprovider-instancerequirements"></a>
 Especificações para os tipos de instâncias de computação que o provedor de capacidade pode usar. Isso inclui requisitos de arquitetura `allowed` e/ou tipos de `excluded` instância.  
*Digite*: [InstanceRequirements](sam-property-capacityprovider-instancerequirements.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` propriedade de um `AWS::Lambda::CapacityProvider` recurso. 

 `ScalingConfig`   <a name="sam-capacityprovider-scalingconfig"></a>
 A configuração de escalabilidade para o provedor de capacidade. Define como o provedor de capacidade escala as EC2 instâncias da Amazon com base na demanda.  
*Digite*: [ScalingConfig](sam-property-capacityprovider-scalingconfig.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` propriedade de um `AWS::Lambda::CapacityProvider` recurso. 

 `KmsKeyArn`   <a name="sam-capacityprovider-kmskeyarn"></a>
O ARN da AWS KMS chave usada para criptografar dados em repouso e em trânsito para o provedor de capacidade.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-kmskeyarn)` propriedade de um `AWS::Lambda::CapacityProvider` recurso. 

## Valores de retorno
<a name="sam-resource-capacityprovider-return-values"></a>

### Ref.
<a name="sam-resource-capacityprovider-return-values-ref"></a>

Quando a ID lógica desse recurso é fornecida à função `Ref` intrínseca, ela retorna o nome do provedor de capacidade.

Para obter mais informações sobre como usar a função `Ref`, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) no *Guia do usuário do AWS CloudFormation *. 

### Fã:: GetAtt
<a name="sam-resource-capacityprovider-return-values-fn--getatt"></a>

`Fn::GetAtt` retorna um valor para um atributo especificado deste tipo. Estes são os atributos disponíveis e os valores de retorno de amostra. 

Para obter mais informações sobre o uso do `Fn::GetAtt`, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) o *AWS CloudFormation Guia do usuário*. 

`Arn`  <a name="Arn-fn::getatt"></a>
O ARN do provedor de capacidade.

## Exemplos
<a name="sam-resource-capacityprovider-examples"></a>

### Provedor de capacidade básica
<a name="sam-resource-capacityprovider-examples-basic"></a>

O exemplo a seguir cria um provedor de capacidade básico com configuração de VPC.

```
MyCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: my-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    Tags:
      Environment: Production
      Team: ServerlessTeam
```

### Provedor de capacidade avançada com escalabilidade
<a name="sam-resource-capacityprovider-examples-advanced"></a>

O exemplo a seguir cria um provedor de capacidade com requisitos de instância personalizados e configuração de escalabilidade.

```
AdvancedCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: advanced-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRole
    PropagateTags: true
    InstanceRequirements:
      Architectures:
        - x86_64
      ExcludedTypes:
        - t2.micro
    ScalingConfig:
      MaxInstanceCount: 10
      ManualScalingPolicies:
        AverageCPUUtilization: 70.0
    KmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
    Tags:
      Environment: Production
      CostCenter: Engineering
```