Todos os produtos
Search
Central de documentação

Cloud Config:Elementos básicos de uma regra de condição personalizada

Última atualização: Jun 28, 2026

Uma regra de condição personalizada consiste em elementos básicos como Resource, Condition e DryRun. O Cloud Config usa essas regras como uma das formas de implantar e aplicar políticas.

A condição é um elemento fundamental de uma regra de condição personalizada. Ela consiste em cláusulas combináveis com os operadores lógicos AND ou OR para formar estruturas lógicas mais complexas. Um conjunto de cláusulas unidas por operadores lógicos constitui um grupo de condições. Cada cláusula inclui os elementos featurePath, operator e desired.

Elemento

Obrigatório

Descrição

featurePath

Sim

Característica do recurso descrita com sintaxe JSONPath. Por exemplo, a propriedade de status do recurso é representada como $.Status.

featureSource

Sim

Origem da característica do recurso.

operator

Sim

Operador condicional usado na comparação.

desired

Não

Valor esperado para comparação. Este campo pode ficar vazio ao usar um operador unário, como IsStringEmpty.

featurePath

Ao crie ou atualize políticas, o Cloud Config valida os valores de featurePath conforme a sintaxe JSONPath. Você também pode usar validadores JSONPath de terceiros para verificar suas expressões. Para mais informações, consulte JSONPath.

JSONPath

Descrição

$

Objeto ou elemento raiz.

@

Objeto ou elemento atual.

. ou []

Operador filho.

..

Descida recursiva. O JSONPath adota essa sintaxe do E4X.

*

Caractere curinga. Representa todos os objetos ou elementos, independentemente do nome.

[]

Operador de subscrito. No XPath, itera sobre coleções de elementos e defina predicados. Em JavaScript e JSON, funciona como operador nativo de array.

[,]

Operador de união do XPath que combina conjuntos de nós. No JSONPath, permite alternar nomes ou índices de array como um conjunto.

[start:end:step]

Operador de fatiamento de array herdado do ES4.

?()

Aplica uma expressão de filtro (script).

()

Expressão de script executada pelo mecanismo subjacente.

  • Exemplo 1: A característica de status de ACS::ECS::Instance é $.Status, cujo tipo é identificado como String. Use um operador compatível com String.

  • Exemplo 2: A característica de tag de ACS::ECS::Instance é $.Tags[*].TagKey, e o resultado é um Array.

  • Exemplo 3: A característica de configuração de permissão de ACS::ECS::SecurityGroup é $.Permissions.Permission[?(@.Policy=='Accept')][?(@.IpProtocol=='TCP' || @.IpProtocol=='UDP')][?(@.SourceCidrIp=='0.0.0.0/0')].PortRange. Essa expressão seleciona entradas cuja política seja Accept, com protocolo TCP ou UDP e bloco CIDR de source 0.0.0.0/0. Em seguida, verifique se o intervalo de portas inclui portas sensíveis, como 22 e 3389.

    {
          "featureSource": "CONFIGURATION",
          "desired": "21/21,22/22,23/23,3389/3389,445/445,-1/-1",
          "children": [],
          "operator": "ExcludeAll",
          "featurePath": "$.Permissions.Permission[?(@.Policy=='Accept')][?(@.IpProtocol=='TCP' || @.IpProtocol=='UDP')][?(@.SourceCidrIp=='0.0.0.0/0')].PortRange"
        }

featureSource

Origem da característica do recurso.

  • CONFIGURATION (valor padrão): configuração da propriedade do recurso. Se featureSource estiver vazio, o sistema usará a propriedade do recurso por padrão.

  • RESOURCE_RELATIONSHIP_${targetResourceType}: relacionamento entre recursos, como RESOURCE_RELATIONSHIP_ACS::ECS::DISK.

operator

Os operadores dividem-se em lógicos e de cálculo. Os operadores lógicos incluem AND e OR. A tabela a seguir detalha os operadores de cálculo disponíveis.

Operador

Descrição

SizeLess

Quantidade de elementos do array menor que o valor especificado.

DistinctSizeGreater

Quantidade de elementos distintos após deduplicação maior que o valor informado.

AllGreaterOrEquals

Todos os elementos são maiores ou iguais ao valor definido.

InAllItem

Todos os elementos contêm o valor especificado.

AllLessOrEquals

Cada elemento é menor ou igual ao limite estabelecido.

AllGreater

Todos os elementos excedem o valor de referência.

SizeGreater

Número de elementos do array superior ao valor indicado.

NotContainsIP

O array não contém o endereço IP especificado.

ContainsIP

O array inclui o endereço IP informado.

ContainsAny

Nenhum objeto do array de destino está presente no array avaliado.

NotContainsNull

Ausência de elementos vazios no array.

NotContainsInternetCidr

Não contém blocos CIDR públicos.

IsNotEmpty

Conteúdo não vazio.

AllIn

Todos os valores existem na lista.

IsEmpty

Conteúdo vazio.

ExcludeAll

Exclui todos os valores listados.

ContainsAll

Inclui todos os valores especificados.

NotIn

Valores inexistentes na lista.

In

Valores presentes na lista.

NotContains

Não contém o valor especificado.

Contains

Contém o valor especificado.

NotBase64Contains

Não contém o valor codificado em Base64.

Base64Contains

Contém o valor codificado em Base64.

NotBoolEquals

Diferente do valor booleano informado.

BoolEquals

Igual ao valor booleano informado.

NotEquals

Diferente do valor especificado.

Equals

Igual ao valor especificado.

LessOrEquals

Menor ou igual ao valor definido.

Less

Menor que o valor definido.

Greater

Maior que o valor definido.

GreaterOrEquals

Maior ou igual ao valor definido.

StringItemSizeGreater

Quantidade de elementos resultantes da divisão da string excede o valor especificado.

StringMatch

Correspondência via expressão regular.

NotStringTrimIn

Valores válidos ausentes após remoção de espaços.

StringTrimIn

Valores válidos presentes após remoção de espaços.

IsNotStringEmpty

String não vazia.

IsStringEmpty

String vazia.

NotStringContains

A string não contém o trecho especificado.

StringContains

A string contém o trecho especificado.

NotStringIn

Valor inexistente na lista de strings.

StringIn

Valor existente na lista de strings.

NotStringEquals

Diferente da string especificada.

StringEquals

Igual à string especificada.

desired

O elemento desired pode permanecer vazio ao usar um operador unário, como IsStringEmpty.