Method: projects.assets.group

Filtra os recursos de uma organização e os agrupa por propriedades especificadas.

Solicitação HTTP


Os URLs usam a sintaxe de Transcodificação gRPC.

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. O nome do elemento pai para agrupar os recursos. O formato é organizations/[organization_id], folders/[folder_id] ou projects/[projectId].

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "filter": string,
  "groupBy": string,
  "compareDuration": string,
  "readTime": string,
  "pageToken": string,
  "pageSize": integer
}
Campos
filter

string

Expressão que define o filtro a ser aplicado aos recursos. A expressão é uma lista de zero ou mais restrições combinadas pelos operadores lógicos AND e OR. Os parênteses são aceitos, e OR tem precedência maior que AND.

As restrições têm a forma <field> <operator> <value> e podem ter um caractere - na frente para indicar a negação. Os campos são mapeados para os definidos no recurso de recurso. Por exemplo:

  • nome
  • securityCenterProperties.resource_name
  • resourceProperties.a_property
  • securityMarks.marks.marka

Os operadores compatíveis são:

  • = para todos os tipos de valor.
  • >, <, >=, <= para valores inteiros.
  • :, que significa correspondência de substring, para strings.

Os tipos de valor aceitos são:

  • literais de string entre aspas.
  • literais inteiros sem aspas.
  • literais booleanos true e false sem aspas;

As seguintes combinações de campos e operadores são compatíveis:

  • nome: =
  • updateTime: =, >, <, >=, <=

Uso: milissegundos desde a época ou uma string RFC3339. Exemplos: updateTime = "2019-06-10T16:07:18-07:00" updateTime = 1560208038000

  • createTime: =, >, <, >=, <=

Uso: milissegundos desde a época ou uma string RFC3339. Exemplos: createTime = "2019-06-10T16:07:18-07:00" createTime = 1560208038000

  • iamPolicy.policy_blob: =, :
  • resourceProperties: =, :, >, <, >=, <=
  • securityMarks.marks: =, :
  • securityCenterProperties.resource_name: =, :
  • securityCenterProperties.resource_display_name: =, :
  • securityCenterProperties.resource_type: =, :
  • securityCenterProperties.resource_parent: =, :
  • securityCenterProperties.resource_parent_display_name: =, :
  • securityCenterProperties.resource_project: =, :
  • securityCenterProperties.resource_project_display_name: =, :
  • securityCenterProperties.resource_owners: =, :

Por exemplo, resourceProperties.size = 100 é uma string de filtro válida.

Use uma correspondência parcial na string vazia para filtrar com base em uma propriedade existente: resourceProperties.my_property : ""

Use uma correspondência parcial negada na string vazia para filtrar com base em uma propriedade que não existe: -resourceProperties.my_property : ""

groupBy

string

Obrigatório. Expressão que define quais campos de recursos usar para agrupamento. O valor da string precisa seguir a sintaxe SQL: lista de campos separada por vírgulas. Por exemplo: "securityCenterProperties.resource_project,securityCenterProperties.project".

Os seguintes campos são aceitos quando compareDuration não está definido:

  • securityCenterProperties.resource_project
  • securityCenterProperties.resource_project_display_name
  • securityCenterProperties.resource_type
  • securityCenterProperties.resource_parent
  • securityCenterProperties.resource_parent_display_name

Os seguintes campos são aceitos quando compareDuration é definido:

  • securityCenterProperties.resource_type
  • securityCenterProperties.resource_project_display_name
  • securityCenterProperties.resource_parent_display_name
compareDuration

string (Duration format)

Quando compareDuration é definido, a propriedade "stateChange" do GroupResult é atualizada para indicar se o recurso foi adicionado, removido ou permaneceu presente durante o período de compareDuration que precede o readTime. Esse é o tempo entre (readTime - compareDuration) e readTime.

O valor da mudança de estado é derivado com base na presença do recurso nos dois pontos no tempo. As mudanças de estado intermediárias entre os dois momentos não afetam o resultado. Por exemplo, os resultados não são afetados se o recurso for removido e recriado novamente.

Valores possíveis de "stateChange" quando compareDuration é especificado:

  • "ADDED": indica que o recurso não estava presente no início de compareDuration, mas estava presente em reference_time.
  • "REMOVED": indica que o recurso estava presente no início de compareDuration, mas não em reference_time.
  • "ACTIVE": indica que o recurso estava presente no início e no final do período definido por compareDuration e reference_time.

Se compareDuration não for especificado, o único stateChange possível será "UNUSED", que será o stateChange definido para todos os recursos presentes em readTime.

Se esse campo for definido, stateChange precisará ser um campo especificado em groupBy.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

readTime

string (Timestamp format)

Tempo usado como ponto de referência ao filtrar recursos. O filtro é limitado aos recursos existentes no momento fornecido, e os valores são aqueles no momento específico. A ausência desse campo vai usar a versão da API do NOW.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

pageToken

string

O valor retornado pelo último GroupAssetsResponse indica que esta é uma continuação de uma chamada assets.group anterior e que o sistema precisa retornar a próxima página de dados.

pageSize

integer

O número máximo de resultados a serem retornados em uma única resposta. O padrão é 10, o mínimo é 1 e o máximo é 1.000.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de GroupAssetsResponse.

Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para mais informações, consulte Authentication Overview.