> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Referências de recursos

> Escolha um UUID, CRN ou nome de escopo e busque o recurso canônico.

Use o campo de referência declarado pela operação, como `image`, `volume`, `vpc` ou `iam_role`. Quando suportado, o mesmo campo aceita um UUID, um nome de recurso da nuvem (CRN) ou um nome. A descrição da API de cada campo define seus tipos e escopo aceitos; um recurso com um nome não significa que todas as operações possam resolver esse nome.

<a id="how-a-reference-is-classified" />

## Como uma referência é classificada

A classificação usa a sintaxe de entrada, antes de procurar um recurso:

1. Um prefixo literal, case-sensitive `crn:` seleciona a análise CRN. Um CRN mal formado é um erro; ele nunca é retentado como um nome.
2. Um UUID de 36 caracteres na forma hexadecimal `8-4-4-4-12` seleciona a pesquisa de UUID. As letras hexadecimais podem ser maiúsculas ou minúsculas.
3. Tudo o resto seleciona a validação de nome e a pesquisa para esse tipo de recurso.

As entradas não são cortadas. Um UUID ou CRN ausente nunca é retentado como um nome. Os nomes de recursos não podem começar com `crn:` ou usar uma ortografia UUID, incluindo ortografias compactas, entre colchetes e URN UUID. Cada serviço também impõe sua própria sintaxe de nome. Essas formas reservadas mantêm os nomes separados dos identificadores.

<a id="canonical-identities" />

## Identidades canônicas

Uma referência escolhe um recurso existente. As respostas retornam sua identidade canônica, não a ortografia que você enviou. As ligações de relacionamento retêm o UUID resolvido; reutilizar o nome de um recurso excluído não redireciona uma ligação existente.

Um CRN tem esta forma:

```text theme={null}
crn:<service>:<region>:<account>:<type>/<identity>
```

O slot de conta é um identificador de conta. Os serviços globais têm um slot de região vazio. Os recursos do IAM com escopo organizacional têm slots de região e conta vazios; o contexto da sua organização ainda limita o acesso. O texto idêntico do CRN do IAM em duas organizações não concede acesso entre organizações. Tipos de instância regionais, imagens de propriedade da plataforma e padrões compartilhados usam o slot de conta `platform`.

Para cada recurso com um nome exclusivo escolhido pelo usuário, esse nome é a identidade do CRN. Os nomes e, portanto, os CRNs são imutáveis. Um rótulo de exibição mutável é uma propriedade separada: os nomes de usuário e organização do IAM, os nomes de exibição de conta e os rótulos de chave de segurança não se tornam identidades de referência baseadas em nome. A identidade da conta usa seu identificador imutável.

Os recursos sem um nome exclusivo escolhido pelo usuário usam identidades UUID onde expõem CRNs de recursos. Exemplos incluem IPs flutuantes, registros de DNS, backups de banco de dados, ouvintes e regras de balanceamento de carga, usuários e organizações do IAM, credenciais, eventos de auditoria e registros de faturamento. O nome de proprietário de um registro DNS é um dado de protocolo e pode ocorrer em vários registros. Um rótulo de backup ou um endereço IP flutuante não é uma referência de nome de recurso. Versões secretas numeradas e tokens de catálogo/protocolo seguem o contrato explícito de seu endpoint.

<a id="parent-scoped-crns" />

## CRNs com escopo parental

Um filho anexa um par tipo/identidade ao CRN completo do pai. O CRN pai é um prefixo literal, preservando cada ancestral:

```text theme={null}
crn:network:sa-saopaulo-1:my-account:vpc/production
crn:network:sa-saopaulo-1:my-account:vpc/production/subnet/private
crn:network:sa-saopaulo-1:my-account:vpc/production/subnet/private/interface/app
crn:storage:sa-saopaulo-1:my-account:volume/data/snapshot/daily
crn:database:sa-saopaulo-1:my-account:cluster/app/backup/550e8400-e29b-41d4-a716-446655440000
```

A cadeia distingue crianças com o mesmo nome sob pais diferentes. Forneça a ascendência completa; um nome de sub-rede ou snapshot simples em um CRN não é uma identidade de filho completa. Filhos nomeados usam nomes; filhos sem nome usam seus UUIDs na mesma cadeia. As políticas em linha do IAM anexam `inline-policy/<name>` ao seu CRN principal.

As cargas de protocolo têm exceções explícitas aos pares estruturais: as chaves de objeto de bucket permanecem chaves opacas com barras após o nome do bucket, e os próprios nomes de log-group podem conter barras. Expressões de curinga de política são padrões de política, não referências de solicitação concretas.

<a id="resource-paths" />

## Caminhos de recursos

Use o UUID retornado em um caminho de recurso declarado como um UUID, como `GET /v1/instances/{instance_id}`. Não coloque um nome ou CRN com barra nesse caminho. Caminhos de protocolo, incluindo nomes de intervalo e nomes de usuário/banco de dados, retêm os tipos de parâmetro mostrados por suas operações.

<a id="resolution-scopes" />

## Escopos de resolução

| Referência de Produto | Escopo e limites da pesquisa |
| - | - |
| Instâncias, pools, volumes, VPCs, grupos de segurança, gateways, chaves, segredos e grupos de log | A conta autenticada; os serviços regionais também usam a região de atendimento. |
| Zonas de DNS | Sua conta, mesmo quando outra conta tiver uma zona com o mesmo nome de DNS. A verificação de propriedade controla os direitos de distribuição separadamente. |
| Associações de DNS VPC | Um UUID ou CRN de VPC de propriedade da conta na região configurada do serviço DNS. Nomes de VPCs nulos não são aceitos para solicitações de associação. A lista de associação pode filtrar os nomes de VPCs já associadas. |
| Funções do IAM, contas de serviço e políticas de conta | A conta selecionada. Um nome de política simples prefere uma política de conta, em seguida, uma política de sistema compartilhado. Um `crn:iam:::policy/<Name>` explícito seleciona apenas o namespace do sistema. |
| Usuários de workspace, grupos e políticas da organização | A organização autenticada. CRNs incluem seu UUID. Um nome de política organizacional nu prefere uma política organizacional personalizada, em seguida, uma política de sistema de espaço de trabalho. |
| Contas de Clientes | O identificador imutável de uma conta autorizada, UUID ou CRN da conta quando declarado. Um nome de exibição não identifica uma conta. |
| Tipos de instância | O catálogo regional, com o slot de conta CRN da `platform`. |
| Grupos de parâmetros | Sua conta, em seguida, a plataforma padrões para um nome nu; uma plataforma CRN seleciona apenas o grupo de plataforma. |
| Sub-redes e tabelas de rotas | Sua VPC. Uma solicitação deve fornecer ou derivar esse pai para usar um nome nu. |
| Interfaces de rede | Sua sub-rede e ascendência de VPC. Um anexo de interface existente sem um pai de sub-rede requer UUID ou CRN aninhado completo. |
| Instantâneos de vídeo | Seu volume de fonte. A criação de volumes a partir de `source_snapshot` não fornece o escopo de volume de origem, então use UUID ou CRN completo de volume/snapshot. |
| Usuários de banco de dados e bancos de dados | O cluster no caminho da operação. |

As solicitações de rede de computação e banco de dados não fornecem a VPC necessária para uma pesquisa de sub-rede desencapada. Use um UUID de sub-rede ou um CRN aninhado completo. A criação de balanceador de carga fornece uma VPC e pode resolver um nome de sub-rede nela. Uma atualização de sub-rede pode derivar sua VPC da sub-rede de propriedade. Uma referência nunca ignora verificações de propriedade, associação principal, prontidão, confiança ou permissão.

Os CRNs de certificado usam um slot de região vazio, mesmo que as solicitações de certificado usem um ponto de extremidade regional. Copie CRNs de resposta canônica em vez de inferir seu escopo de um nome de host.

<a id="image-names-and-versions" />

## Nomes e versões de imagens

Os campos de referência de imagem suportam estes formulários:

| Formulário | Seleção de produtos |
| - | - |
| UUID | Que imagem visível construir. |
| `debian-13` | A compilação ativa atual para a arquitetura solicitada. |
| `debian-13:20260712-2537` | Essa versão para a arquitetura solicitada. A versão é ilustrativa; selecione uma devolvida pelo catálogo de imagens. |
| `crn:compute:sa-saopaulo-1:platform:image/debian-13/architecture/amd64/version/20260712-2537` | O proprietário exato, nome da imagem, arquitetura e versão no CRN. |

As pesquisas de nome e `name:version` usam a arquitetura da solicitação, padrão para `amd64` quando omitido. Um CRN fornece sua própria arquitetura e versão; um UUID já identifica uma compilação. Os nomes consideram as imagens da sua conta e da plataforma pública. Entre as correspondências utilizáveis, sua conta vence sobre a plataforma. Um CRN explícito seleciona apenas o proprietário declarado. As imagens de outro cliente e as imagens de plataforma privada não estão disponíveis para você, mesmo que você saiba seus UUIDs.

Um nome atual pode selecionar uma compilação mais recente em uma solicitação posterior. Um UUID, tag de versão ou CRN completo fixa uma compilação; modelos de pool de instâncias armazenam o UUID da imagem resolvida. A retirada não redireciona uma referência fixada para uma substituição. Uma imagem retirada retorna `IMAGE_NOT_FOUND`; quando a informação de fim de vida está disponível, sua mensagem explica a retirada. Correspondências visíveis utilizáveis têm precedência sobre diagnósticos de retirada. Trate o código de erro como estável e a mensagem como texto para uma pessoa.

<a id="errors-and-protocol-boundaries" />

## Erros e limites de protocolo

Para resolução de relacionamento, sintaxe mal formada, um tipo de referência não suportado, um serviço/tipo errado ou ancestralidade incompleta produz um erro de validação. O resolver compartilhado também rejeita uma região errada como entrada inválida. Um alvo ausente ou uma conta estrangeira é relatado como não encontrado. Os serviços retêm seus códigos específicos de recursos documentados e erros de permissão; inspecione as respostas de erro da operação. Não tente novamente outro tipo de referência após um erro.

Um filtro de coleção exata é um seletor, não uma pesquisa de relacionamento. Um CRN estrangeiro válido ou não correspondido não seleciona nenhuma linha. CRNs malformados ou vazios retornam 400; detalhes de validação específicos do endpoint estão listados abaixo. Um resultado vazio não é uma tentativa falhada de resolver um nome.

Os parâmetros de região usam códigos de região como `sa-saopaulo-1`, não UUIDs, CRNs ou nomes de exibição. Os seletores de auditoria `resource` e `actor` procuram instantâneos históricos de UUID/CRN sem exigir que o alvo ainda exista; nomes nulos não são referências históricas. O `crn` da coleção de auditoria seleciona o próprio evento.

Chaves de objeto, tokens de upload/versão, conteúdo de registro DNS, identificadores de cliente OAuth, identificadores de rastreamento/escala, nomes de métrica, rótulos de fluxo de log e destinos IP literais mantêm seu significado de protocolo. Os campos de referência de KMS e Log-group ainda seguem seus contratos de recursos declarados. Em particular, o espaço reservado AES256 da criptografia de intervalo do S3 não implica suporte para um destino KMS.

<a id="exact-lists" />

## Listas exatas

Quando declarado, `name` e `crn` são predicados exatos combinados com **AND**, com propriedade, pai e outros filtros aplicados antes da paginação. `name=web-*` não significa uma busca por prefixo. Um filtro omitido difere de um filtro explicitamente vazio: `name=` retém um predicado vazio, e `crn=` segue a validação específica do ponto final abaixo. Nunca remova um filtro vazio e tente novamente, pois isso ampliaria a solicitação.

As listas de nomes de sub-redes e tabelas de rotas de nível superior requerem `vpc`; as listas de nomes de interfaces requerem `subnet` (e `vpc` quando essa sub-rede é um nome nu). Listas de nomes de snapshot requerem `volume`. Um CRN filho completo fornece sua própria ascendência, mas qualquer filtro pai adicional deve concordar. Em vez disso, as listas de NICs de instância correspondem aos nomes de interface dentro das ligações dessa instância, de modo que nomes duplicados de diferentes sub-redes podem produzir várias correspondências.

Um seletor de nome declarado não precisa identificar um recurso exclusivo. As listas de nomes de exibição do IAM, os nomes de proprietários de registros DNS e os nomes de imagens em arquiteturas/versões podem corresponder a várias linhas. Os nomes de zona DNS são minúsculos para correspondência. Listas de recursos sem nome que declaram `name` não retornam correspondências para ele: isso inclui IPs flutuantes, rotas, regras de grupo de segurança, backups de banco de dados e recursos filhos de balanceador de carga. Os catálogos de mecanismo/parâmetro de banco de dados não têm CRN de recurso e não correspondem a nenhum seletor de CRN; os nomes de tipo de volume de armazenamento são rótulos de exibição exatos (`SSD`, `NVMe`), com CRNs de catálogo baseados em token. As versões secretas expõem CRNs filhos numerados e nenhum filtro de nome. `include_deleted` pode fazer um nome secreto corresponder a várias identidades.

<a id="list-validation-details" />

### Detalhes de validação da lista

Sintaxe malformada e seletores CRN vazios retornam 400 nas coleções de recursos abaixo, incluindo grupos de log, IAM, KMS e segredos. Identidades estrangeiras válidas e predicados de nome/CRN não correspondidos retornam uma coleção vazia, não um erro de relacionamento não encontrado. A validação rigorosa de ascendência em computação, rede, armazenamento, banco de dados, IAM, KMS e segredos também rejeita cadeias de filhos incompletas. As listas de registros e certificados DNS analisam a sintaxe primeiro e tratam um tipo ou ascendência estruturalmente analisado, mas incompatível, como uma correspondência vazia. As listas de certificados rejeitam um segmento de nome de certificado inválido. Listas de versões secretas rejeitam números de versão inválidos, incluindo zero e números não canônicos como `01`.

A autorização de caminho pai ainda se aplica a listas aninhadas. Os seletores exatos não transformam um pai inacessível em uma coleção vazia bem-sucedida.

<a id="collection-operations" />

### Operações de cobrança

Cada link abaixo dá os parâmetros exatos da operação, forma de resposta e contrato de paginação. “Protocolo” significa usar os seletores documentados dessa operação; ele não tem nenhum par genérico de recursos `name`/`crn`.

| Serviço de Atendimento | Operação de coleta | Seletores de identidade |
| - | - | - |
| auditoria | [GET `/v1/audit-logs`](/pt/api-reference/audit-logs/list-audit-logs) | `crn` |
| cobrança de contas | [GET `/v1/prices`](/pt/api-reference/billing/list-catalog-prices) | Protocolo |
| cobrança de contas | [GET `/v1/invoices`](/pt/api-reference/billing/list-invoices) | `crn` |
| cobrança de contas | [GET `/v1/credits`](/pt/api-reference/billing/list-credit-grants) | `crn` |
| cobrança de contas | [GET `/v1/transactions`](/pt/api-reference/billing/list-ledger-transactions) | `crn` |
| cobrança de contas | [GET `/v1/payments`](/pt/api-reference/billing/list-invoice-payments) | `crn` |
| certificado de qualidade | [GET `/v1/certificates`](/pt/api-reference/certificates/list-certificates) | `name`, `crn` |
| compute | [GET `/v1/instances`](/pt/api-reference/compute/list-instances) - Criar uma instância de referência | `name`, `crn` |
| compute | [GET `/v1/instances/{instance_id}/nics`](/pt/api-reference/compute/list-the-instances-network-interfaces) | `name`, `crn` |
| compute | [GET `/v1/instances/{instance_id}/volumes`](/pt/api-reference/compute/list-the-instances-attached-volumes) | `name`, `crn` |
| compute | [GET `/v1/instance-pools`](/pt/api-reference/compute/list-instance-pools) | `name`, `crn` |
| compute | [GET `/v1/instance-pools/{pool_id}/instances`](/pt/api-reference/compute/list-a-pools-instances) | `name`, `crn` |
| compute | [GET `/v1/instance-pools/{pool_id}/floating-ips`](/pt/api-reference/compute/list-the-pools-shared-public-addresses) | `name`, `crn` |
| compute | [GET `/v1/flavors`](/pt/api-reference/compute/list-flavors) | `name`, `crn` |
| compute | [GET `/v1/images`](/pt/api-reference/images/list-images) | `name`, `crn` |
| dns | [GET `/v1/zones`](/pt/api-reference/dns/list-zones) | `name`, `crn` |
| dns | [GET `/v1/zones/{zone_id}/vpc-associations`](/pt/api-reference/dns/list-vpc-associations) | `name`, `crn` |
| dns | [GET `/v1/zones/{zone_id}/records`](/pt/api-reference/dns/list-records) | `name`, `crn` |
| iam | [GET `/v1/regions`](/pt/api-reference/regions/list-regions) | `name`, `crn` |
| iam | [GET `/v1/service-accounts`](/pt/api-reference/iam/list-service-accounts) | `name`, `crn` |
| iam | [GET `/v1/service-accounts/{service_account_id}/credentials`](/pt/api-reference/iam/list-credentials) | `name`, `crn` |
| iam | [GET `/v1/service-accounts/{service_account_id}/policies`](/pt/api-reference/iam/list-service-account-policies) | `name`, `crn` |
| iam | [GET `/v1/roles`](/pt/api-reference/iam/list-roles) - Criar uma lista de funções | `name`, `crn` |
| iam | [GET `/v1/roles/{role_id}/policies`](/pt/api-reference/iam/list-role-policies) | `name`, `crn` |
| iam | [GET `/v1/policies`](/pt/api-reference/iam/list-policies) | `name`, `crn` |
| iam | [GET `/v1/policies/{policy_id}/service-accounts`](/pt/api-reference/iam/list-service-accounts-with-policy) | `name`, `crn` |
| iam | [GET `/v1/policies/{policy_id}/roles`](/pt/api-reference/iam/list-roles-with-policy) | `name`, `crn` |
| iam | [GET `/v1/sts-sessions`](/pt/api-reference/iam/list-sts-sessions) | `name`, `crn` |
| iam | [GET `/v1/service-accounts/{service_account_id}/inline-policies`](/pt/api-reference/iam/list-a-service-accounts-inline-policies) | `name`, `crn` |
| iam | [GET `/v1/roles/{role_id}/inline-policies`](/pt/api-reference/iam/list-a-roles-inline-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/organizations`](/pt/api-reference/organizations/list-organizations) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/accounts`](/pt/api-reference/accounts/list-accounts) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/invitations`](/pt/api-reference/workspace/list-invitations) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/users`](/pt/api-reference/workspace/list-users) - Criar uma lista de usuários | `name`, `crn` |
| espaço de trabalho | [GET `/v1/users/{user_id}/policies`](/pt/api-reference/workspace/list-user-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/users/{user_id}/groups`](/pt/api-reference/workspace/list-user-groups) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/service-accounts/{service_account_id}/policies`](/pt/api-reference/workspace/list-service-account-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/groups`](/pt/api-reference/workspace/list-groups) - Criar um grupo | `name`, `crn` |
| espaço de trabalho | [GET `/v1/groups/{group_id}/users`](/pt/api-reference/workspace/list-group-users) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/groups/{group_id}/policies`](/pt/api-reference/workspace/list-group-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/roles/{role_id}/policies`](/pt/api-reference/workspace/list-role-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/policies`](/pt/api-reference/workspace/list-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/policies/{policy_id}/users`](/pt/api-reference/workspace/list-users-with-policy) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/policies/{policy_id}/service-accounts`](/pt/api-reference/workspace/list-service-accounts-with-policy) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/policies/{policy_id}/groups`](/pt/api-reference/workspace/list-groups-with-policy) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/policies/{policy_id}/roles`](/pt/api-reference/workspace/list-roles-with-policy) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/users/{user_id}/inline-policies`](/pt/api-reference/workspace/list-a-users-inline-policies) | `name`, `crn` |
| espaço de trabalho | [GET `/v1/groups/{group_id}/inline-policies`](/pt/api-reference/workspace/list-a-groups-inline-policies) | `name`, `crn` |
| kms | [GET `/v1/keys`](/pt/api-reference/kms/list-kms-keys) | `name`, `crn` |
| loadbalancer de carga | [GET `/v1/load-balancers`](/pt/api-reference/load-balancers/list-load-balancers) | `name`, `crn` |
| loadbalancer de carga | [GET `/v1/load-balancers/{id}/replicas`](/pt/api-reference/load-balancers/list-the-lbs-instance-replicas-with-live-health) | `name`, `crn` |
| loadbalancer de carga | [GET `/v1/load-balancers/{id}/listeners`](/pt/api-reference/load-balancers/list-this-load-balancers-listeners) | `name`, `crn` |
| loadbalancer de carga | [GET `/v1/load-balancers/{id}/listeners/{listener_id}/rules`](/pt/api-reference/load-balancers/list-this-listeners-rules) | `name`, `crn` |
| loadbalancer de carga | [GET `/v1/target-groups`](/pt/api-reference/load-balancers/list-target-groups) | `name`, `crn` |
| loadbalancer de carga | [GET `/v1/target-groups/{id}/targets`](/pt/api-reference/load-balancers/list-targets-in-this-group) | `name`, `crn` |
| rede de trabalho | [GET `/v1/vpcs`](/pt/api-reference/networking/list-vpcs) - Criar um novo arquivo | `name`, `crn` |
| rede de trabalho | [GET `/v1/subnets`](/pt/api-reference/networking/list-subnets) | `name`, `crn` |
| rede de trabalho | [GET `/v1/interfaces`](/pt/api-reference/networking/list-interfaces) | `name`, `crn` |
| rede de trabalho | [GET `/v1/route-tables`](/pt/api-reference/networking/list-route-tables) | `name`, `crn` |
| rede de trabalho | [GET `/v1/route-tables/{route_table_id}/routes`](/pt/api-reference/networking/list-routes) | `name`, `crn` |
| rede de trabalho | [GET `/v1/floating-ips`](/pt/api-reference/networking/list-floating-ips) | `name`, `crn` |
| rede de trabalho | [GET `/v1/security-groups`](/pt/api-reference/networking/list-security-groups) | `name`, `crn` |
| rede de trabalho | [GET `/v1/security-groups/{security_group_id}/rules`](/pt/api-reference/networking/list-security-group-rules) | `name`, `crn` |
| rede de trabalho | [GET `/v1/interfaces/{interface_id}/security-groups`](/pt/api-reference/networking/list-interface-security-group-membership) | `name`, `crn` |
| rede de trabalho | [GET `/v1/internet-gateways`](/pt/api-reference/networking/list-internet-gateways) | `name`, `crn` |
| rede de trabalho | [GET `/v1/nat-gateways`](/pt/api-reference/networking/list-nat-gateways) | `name`, `crn` |
| rede de trabalho | [GET `/v1/egress-only-gateways`](/pt/api-reference/networking/list-egress-only-gateways) | `name`, `crn` |
| quota de participação | [GET `/v1/quotas`](/pt/api-reference/quota/list-quotas) | Protocolo |
| segredos de casamento | [GET `/v1/secrets`](/pt/api-reference/secrets/list-secrets) | `name`, `crn` |
| segredos de casamento | [GET `/v1/secrets/{secret_id}/versions`](/pt/api-reference/secrets/list-versions) | `crn` |
| armazenamento | [GET `/v1/volumes`](/pt/api-reference/storage/list-volumes) | `name`, `crn` |
| armazenamento | [GET `/v1/volume-types`](/pt/api-reference/storage/list-volume-types) | `name`, `crn` |
| armazenamento | [GET `/v1/snapshots`](/pt/api-reference/storage/list-snapshots) | `name`, `crn` |
| armazenamento | [GET `/v1/snapshot-policies`](/pt/api-reference/storage/list-snapshot-policies) | `name`, `crn` |
| armazenamento | [GET `/v1/buckets`](/pt/api-reference/buckets/list-buckets) | `name`, `crn` |
| armazenamento | [GET `/v1/buckets/{bucket}/object-versions`](/pt/api-reference/buckets/list-object-versions) | Protocolo |
| armazenamento | [GET `/v1/buckets/{bucket}/objects`](/pt/api-reference/buckets/list-objects) | Protocolo |
| armazenamento | [GET `/v1/buckets/{bucket}/multipart-uploads`](/pt/api-reference/buckets/list-in-flight-multipart-uploads) | Protocolo |
| armazenamento | [GET `/v1/buckets/{bucket}/multipart-uploads/{upload_id}/parts`](/pt/api-reference/buckets/list-uploaded-parts) | Protocolo |
| telemetria | [GET `/v1/log-groups`](/pt/api-reference/telemetry/list-log-groups-or-look-up-one-by-name) | `name`, `crn` |
| telemetria | [GET `/v1/logs`](/pt/api-reference/telemetry/search-log-records) | Protocolo |
| telemetria | [GET `/v1/metrics/series`](/pt/api-reference/telemetry/list-distinct-label-sets-for-a-metric) | Protocolo |
| telemetria | [GET `/v1/metrics/names`](/pt/api-reference/telemetry/list-the-distinct-metric-names-emitted-in-a-time-window) | Protocolo |
| telemetria | [GET `/v1/traces`](/pt/api-reference/telemetry/list-traces) | Protocolo |

<a id="fetch-one-resource-by-any-reference" />

## Obter um recurso por qualquer referência

Classifique a entrada usando as regras acima. Para um UUID, chame diretamente a operação GET do UUID do recurso. Para um nome ou CRN, consulte sua coleção com o filtro exato correspondente e o escopo pai necessário. Siga a paginação até que você possa estabelecer se exatamente um recurso corresponde. Zero correspondências significa que não há correspondência visível; várias correspondências exigem um escopo mais específico ou CRN canônico. Nunca escolha a primeira linha arbitrariamente. Use o `id` retornado para chamadas subsequentes de UUID-path. Se esse GET retorna não encontrado, o recurso pode ter sido excluído entre as chamadas.

Estes são alvos de solicitação HTTP; [assinar cada solicitação](/pt/authentication) usando sua autenticação normal e contexto de conta. Os valores de consulta devem ser codificados em URL.

```http theme={null}
GET /v1/instances/550e8400-e29b-41d4-a716-446655440000
Host: compute.sa-saopaulo-1.basaltic.sh
```

Para o nome exato da instância `web-01`:

```http theme={null}
GET /v1/instances?name=web-01
Host: compute.sa-saopaulo-1.basaltic.sh
```

Para o seu CRN, codifique dois pontos e barras no valor da consulta:

```http theme={null}
GET /v1/instances?crn=crn%3Acompute%3Asa-saopaulo-1%3Amy-account%3Ainstance%2Fweb-01
Host: compute.sa-saopaulo-1.basaltic.sh
```

Após exatamente uma correspondência, use o UUID dessa resposta em [Get instance](/pt/api-reference/compute/get-instance). Para um nome de sub-rede, inclua o escopo da VPC, por exemplo, `/v1/subnets?vpc=production&name=private`; para um nome de snapshot, use `/v1/snapshots?volume=data&name=daily`.

Tags de relacionamento de imagem não são nomes de lista de imagens literais: consulte `name` e `architecture` com `all_versions=true`, então combine a versão retornada e aplique a precedência documentada de chamada/plataforma. Não há nenhum parâmetro de consulta `version` público. Um CRN de imagem completa seleciona a identidade fixada; use `all_versions=true` ao procurar por compilações substituídas. Coleções de protocolo e recursos sem um UUID GET usam o próprio contrato de recuperação de sua operação.

<a id="released-cli" />

### Released CLI (em inglês)

CLI v0.13.0 aceita uma referência para `get` em recursos com uma lista e uma operação get. Configure seu perfil e a conta selecionada conforme descrito em [CLI](/pt/cli); substitua as identidades de exemplo por seus recursos.

```bash theme={null}
basaltic compute instance get 550e8400-e29b-41d4-a716-446655440000
basaltic compute instance get web-01
basaltic compute instance get 'crn:compute:sa-saopaulo-1:my-account:instance/web-01'
basaltic network subnet get private --vpc production
basaltic network subnet get 'crn:network:sa-saopaulo-1:my-account:vpc/production/subnet/private'
basaltic storage snapshot get daily --volume data
```

Um nome de sub-rede sem `--vpc` é recusado com 400, `name requires the resource's parent filter`. Um CRN filho completo fornece sua ascendência. IDs pais que são argumentos posicionais permanecem IDs; use o comando `--help` para suas bandeiras de escopo.

O getter de referência não muda outros verbos: `delete`, `start` e outros comandos de identificação ainda precisam do ID retornado. Flags de relacionamento como `instance create --image` têm seus próprios contratos de referência documentados.

<a id="released-go-sdk" />

### Lançado Go SDK

Use o `github.com/basaltic-sh/sdk-go` v0.15.0. Configure credenciais, conta e região através de `BASALTIC_ACCESS_KEY_ID`, `BASALTIC_SECRET_ACCESS_KEY`, `BASALTIC_ACCOUNT_ID` e `BASALTIC_REGION`. Esse exemplo lê a mesma instância por seus três formulários de referência e lê uma sub-rede com seu escopo de VPC:

```go theme={null}
package main

import (
    "context"
    "fmt"
    "log"

    basaltic "github.com/basaltic-sh/sdk-go"
    "github.com/basaltic-sh/sdk-go/compute"
    "github.com/basaltic-sh/sdk-go/network"
)

func main() {
    ctx := context.Background()
    cfg, err := basaltic.NewConfig(ctx)
    if err != nil {
        log.Fatal(err)
    }
    instances := compute.New(cfg)
    for _, ref := range []string{
        "550e8400-e29b-41d4-a716-446655440000",
        "web-01",
        "crn:compute:sa-saopaulo-1:my-account:instance/web-01",
    } {
        instance, err := instances.GetInstanceByReference(ctx, ref, nil)
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println(instance.ID)
    }
    subnet, err := network.New(cfg).GetSubnetByReference(ctx, "private",
        &network.ListSubnetsParams{VPC: "production"})
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(subnet.ID)
}
```

`GetInstanceByReference` e `GetSubnetByReference` chamam o getter UUID para um UUID e o filtro de coleção exato para um nome ou CRN. Nenhuma correspondência é um erro não encontrado; várias correspondências produzem `AmbiguousReferenceError`. Nenhum dos dois retenta um tipo de referência diferente. O argumento final do escopo pode ser `nil` quando nenhum filtro pai ou adicional é necessário. Use o ID retornado com métodos SDK comuns, como `GetInstance` e `StartInstance`.

Os clientes lançados não têm comandos de banco de dados ou pacote de SDK de banco de dados. Use os exemplos HTTP da página do banco de dados para essas operações. As tags `name:version` de relacionamento de imagem não são nomes genéricos de getter; use o procedimento image-list acima para selecionar uma compilação.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.