Nesta página, descrevemos como usar o recurso de orquestrador de políticas no VM Manager para criar, atualizar ou excluir recursos de políticas do SO em diferentes projetos e zonas nas suas pastas ou organização.
Antes de começar
- Analise a política do SO e a atribuição da política do SO.
- Revise as cotas de configuração do SO.
- Verifique se você atende aos pré-requisitos para usar o orquestrador de políticas.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
- Set a default region and zone.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Criar ou atualizar atribuições de políticas do SO em projetos e zonas
É possível criar orquestradores de políticas para aplicar políticas do SO a recursos selecionados em um projeto, uma pasta ou uma organização.
Console
Para criar um orquestrador de políticas e aplicar atribuições de políticas do SO em uma pasta, faça o seguinte:
- No cliente local, crie ou faça o download de um arquivo de política do SO. Ele precisa ser um arquivo JSON ou YAML. Para mais informações sobre como criar políticas do SO ou ver amostras de políticas do SO, consulte Políticas do SO.
No console do Google Cloud , acesse a página Políticas do SO.
Clique no Seletor de projetos na barra de ações do console do Google Cloud e selecione o projeto, a pasta ou a organização em que você quer criar o orquestrador de políticas.
Clique em Criar global.
Especifique um nome e uma descrição para o orquestrador de políticas. Consulte a Convenção de nomenclatura de recursos. O VM Manager atribui um ID exclusivo ao orquestrador de políticas. É possível editar esse ID, se necessário.
Na seção Políticas do SO, faça upload do arquivo da política do SO.
Opcional: na seção Estado, selecione uma das seguintes opções para especificar o comportamento do orquestrador de políticas:
ACTIVE: depois de criado, o orquestrador de políticas realiza ações imediatamente.STOPPED: um orquestrador de políticas criado nesse estado não realiza ações imediatamente. Você pode editar o orquestrador de políticas depois para mudar o estado dele.
No campo Ação, selecione a ação UPSERT.
Na seção Escopo da orquestração, especifique as pastas e os projetos em que você quer implantar as políticas do SO. Insira apenas os números do projeto e da pasta nesses campos, por exemplo,
123456,7654321.Selecione as zonas que contêm as VMs às quais você quer aplicar as políticas do SO. Como alternativa, clique em Selecionar tudo para aplicar as mudanças da política de SO aos recursos em todas as zonas.
Opcional: na seção Instâncias de VM de destino, especifique as VMs de destino a que você quer aplicar as políticas do SO.
- Selecione o nome e a versão do SO. Para mais informações, consulte Atribuições de política do SO.
É possível filtrar ainda mais as VMs especificando inclusões e exclusões.
Por exemplo, é possível selecionar todas as VMs do Ubuntu no ambiente de teste e excluir aquelas que executam o Google Kubernetes Engine. Basta especificar o seguinte:
- Nome curto do SO:
ubuntu - Incluir:
env:test,env:staging - Excluir:
goog-gke-node
- Nome curto do SO:
Especifique um plano de lançamento para a atribuição de política do SO.
- Especifica o tamanho da onda (também conhecido como orçamento de interrupção). Por exemplo, 10%.
- Especifique o tempo de espera. Por exemplo, 15 minutes.
Clique em Criar.
gcloud
Para criar um orquestrador de políticas, siga estas etapas:
Crie ou faça o download de um recurso de atribuição de política do SO no formato JSON ou YAML. Para mais informações sobre esse arquivo e exemplos de atribuições de política, consulte Atribuições de política do SO.
Use o comando
os-config policy-orchestrators createpara criar e implantar a atribuição de política do SO no escopo especificado.
Projeto
gcloud compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_IDSubstitua:
ORCHESTRATOR_NAME: nome do orquestrador de políticas. Consulte a Convenção de nomenclatura de recursos.OS_POLICY_ASSIGNMENT_FILE: o caminho absoluto para o arquivo de atribuição de política do SO que você criou na etapa anterior.POLICY_ID: um ID exclusivo para o orquestrador de políticas. Se você não especificar um valor, o orquestrador de políticas vai atribuir um ID exclusivo ao recurso.
Exemplo
gcloud compute os-config policy-orchestrators create my-os-policy-orchestrator \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123Pasta
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --folder=FOLDER_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \ --include-projects=PROJECT_NUMBERSSubstitua:
QUOTA_PROJECT_ID: o ID do projeto do projeto de cota ou de faturamento.ORCHESTRATOR_NAME: nome do orquestrador de políticas. Consulte a Convenção de nomenclatura de recursos.FOLDER_NUMBER: o número da pasta em que você quer criar o orquestrador de políticas.OS_POLICY_ASSIGNMENT_FILE: o caminho absoluto para o arquivo de atribuição de política do SO que você criou na etapa anterior.POLICY_ID: um ID exclusivo para o orquestrador de políticas. Se você não especificar um valor, o orquestrador de políticas vai atribuir um ID exclusivo ao recurso.PROJECT_NUMBERS: uma lista de projetos em que você quer aplicar as atribuições de política do SO. É necessário especificar os números do projeto, o ID numérico exclusivo dos projetos.
Exemplo
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --folder=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \ --include-projects=87654321,4567890Organização
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --organization=ORGANIZATION_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \ --include-projects=PROJECT_NUMBERSSubstitua:
QUOTA_PROJECT_ID: o ID do projeto do projeto de cota ou de faturamento.ORCHESTRATOR_NAME: nome do orquestrador de políticas. Consulte a Convenção de nomenclatura de recursos.FOLDER_NUMBER: o número da pasta em que você quer criar o orquestrador de políticas.OS_POLICY_ASSIGNMENT_FILE: o caminho absoluto para o arquivo de atribuição de política do SO que você criou na etapa anterior.POLICY_ID: um ID exclusivo para o orquestrador de políticas. Se você não especificar um valor, o orquestrador de políticas vai atribuir um ID exclusivo ao recurso.PROJECT_NUMBERS: uma lista de projetos em que você quer aplicar as atribuições de política do SO. É necessário especificar os números do projeto, o ID numérico exclusivo dos projetos.
Exemplo
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --organization=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \ --include-projects=87654321,4567890REST
Para criar um orquestrador de políticas, siga estas etapas:
Crie ou faça o download de um arquivo de atribuição de política do SO. Ele precisa ser um arquivo JSON. Para mais informações sobre como criar atribuições de política do SO ou ver amostras de atribuições de política do SO, consulte Atribuição da política do SO.
Dependendo do escopo em que você está criando o orquestrador de políticas, use um dos seguintes métodos:
Projeto
Envie uma solicitação
POSTpara o métodoprojects.locations.global.policyOrchestrators.create.No corpo da solicitação, cole as especificações de atribuição da política do SO da etapa anterior.
POST https://osconfig.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/policyOrchestrators { JSON_OS_POLICY_ORCHESTRATOR }Substitua:
PROJECT_NUMBER: o ID numérico do projeto em que você quer criar o orquestrador de políticas.JSON_OS_POLICY_ORCHESTRATOR: o objeto do orquestrador de políticas no formato JSON que define o escopo do orquestrador, o recurso orquestrado e o estado da orquestração. Para mais informações sobre os parâmetros e o formato, consulteResource: folders.locations.global.policyOrchestrators.
Exemplo
Por exemplo, para criar uma atribuição de política de SO que instale um arquivo MSI do Windows transferido por download de um bucket do Cloud Storage usando o exemplo de atribuição de política de SO, conclua as seguintes etapas:
- Converter a amostra em JSON
Faça a seguinte solicitação:
POST https://osconfig.googleapis.com/v2/projects/123456/locations/global/policyOrchestrators { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
Pasta
Envie uma solicitação
POSTpara o métodofolders.locations.global.policyOrchestrators.create.No corpo da solicitação, cole as especificações de atribuição da política do SO da etapa anterior.
POST https://osconfig.googleapis.com/v2/folders/FOLDER_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }Substitua:
QUOTA_PROJECT_ID: o ID do projeto de cota ou faturamento.FOLDER_NUMBER: o ID numérico da pasta em que você quer criar o orquestrador de políticas.JSON_OS_POLICY_ORCHESTRATOR: o objeto do orquestrador de políticas no formato JSON que define o escopo do orquestrador, o recurso orquestrado e o estado da orquestração. Para mais informações sobre os parâmetros e o formato, consulteResource: folders.locations.global.policyOrchestrators.
Exemplo
Por exemplo, para criar uma atribuição de política de SO que instale um arquivo MSI do Windows transferido por download de um bucket do Cloud Storage usando o exemplo de atribuição de política de SO, conclua as seguintes etapas:
- Converter a amostra em JSON
Faça a seguinte solicitação:
POST https://osconfig.googleapis.com/v2/folders/123456/locations/global/policyOrchestrators \ -H "x-goog-user-project: my-quota-project { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
Organização
Envie uma solicitação
POSTpara o métodoorganizations.locations.global.policyOrchestrators.create.No corpo da solicitação, cole as especificações de atribuição da política do SO da etapa anterior.
POST https://osconfig.googleapis.com/v2/organizations/ORGANIZATION_NUMBER/locations/global/policyOrchestrators \ -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }Substitua:
QUOTA_PROJECT_ID: o ID do projeto de cota ou faturamento.ORGANIZATION_NUMBER: o ID numérico da organização em que você quer criar o orquestrador de políticas.JSON_OS_POLICY_ORCHESTRATOR: o objeto do orquestrador de políticas no formato JSON que define o escopo do orquestrador, o recurso orquestrado e o estado da orquestração. Para mais informações sobre os parâmetros e o formato, consulteResource: organizations.locations.global.policyOrchestrators.
Exemplo
Por exemplo, para criar uma atribuição de política de SO que instale um arquivo MSI do Windows transferido por download de um bucket do Cloud Storage usando o exemplo de atribuição de política de SO, conclua as seguintes etapas:
- Converter a amostra em JSON
Faça a seguinte solicitação:
POST https://osconfig.googleapis.com/v2/organizations/567890/locations/global/policyOrchestrators \ -H "x-goog-user-project: my-quota-project { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
Excluir atribuições de política de SO de vários projetos
É possível usar o orquestrador de políticas para excluir políticas do SO de vários projetos na pasta ou organização especificando o ID exclusivo do recurso de política do SO.
Console
Para excluir políticas de SO em uma pasta, faça o seguinte:
- No cliente local, crie ou faça o download de um arquivo de política do SO. Ele precisa ser um arquivo JSON ou YAML. Para mais informações sobre como criar políticas do SO ou ver amostras de políticas do SO, consulte Políticas do SO.
No console do Google Cloud , acesse a página Políticas do SO.
Clique no Seletor de projetos na barra de ações do console do Google Cloud e selecione o projeto, a pasta ou a organização em que você quer criar o orquestrador de políticas.
Clique em Criar global.
Especifique um nome e uma descrição para o orquestrador de políticas. Consulte a Convenção de nomenclatura de recursos. O VM Manager atribui um ID exclusivo ao orquestrador de políticas. É possível editar esse ID, se necessário.
Na seção Políticas do SO, selecione e faça upload do arquivo da política do SO.
Opcional: na seção Estado, selecione uma das seguintes opções para especificar o comportamento do orquestrador de políticas:
ACTIVE: depois de criado, o orquestrador de políticas realiza ações imediatamente.STOPPED: um orquestrador de políticas criado nesse estado não realiza ações imediatamente. Você pode editar o orquestrador de políticas depois para mudar o estado dele.
No campo Ação, selecione EXCLUIR.
Na seção Escopo da orquestração, especifique as pastas e os projetos em que você quer implantar as políticas do SO. Insira apenas os números do projeto e da pasta nesses campos, por exemplo,
123456,7654321.Selecione as zonas que contêm as VMs às quais você quer aplicar as políticas do SO.
Opcional: na seção Instâncias de VM de destino, especifique as VMs de destino a que você quer aplicar as políticas do SO.
- Selecione as famílias do SO.
É possível filtrar ainda mais as VMs especificando inclusões e exclusões.
Por exemplo, é possível selecionar todas as VMs do Ubuntu no ambiente de teste e excluir aquelas que executam o Google Kubernetes Engine. Basta especificar o seguinte:
- Nome curto do SO:
ubuntu - Incluir:
env:test,env:staging - Excluir:
goog-gke-node
- Nome curto do SO:
Especifique um plano de lançamento para a atribuição de política do SO.
- Especifica o tamanho da onda (também conhecido como orçamento de interrupção). Por exemplo, 10%.
- Especifique o tempo de espera. Por exemplo, 15 minutes.
Clique em Criar.
gcloud
Para excluir políticas do SO de vários projetos usando um orquestrador de políticas, use o comando
os-config policy-orchestrators createe especifique a ação comodeletepara opolicy-idassociado à atribuição de política do SO.Projeto
gcloud compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_FILE \ --policy-id=POLICY_ID \ --action=deleteSubstitua:
ORCHESTRATOR_NAME: nome do orquestrador de políticas.OS_POLICY_ASSIGNMENT_FILE: o caminho absoluto para o arquivo de atribuição de política do SO.POLICY_ID: o ID da política para o recurso do orquestrador de políticas do SO.
Exemplo
gcloud compute os-config policy-orchestrators create my-os-policy-orchestrator \ --policy-type=os_policy_assignment_v1 --policy-id=my-policy \ --action=delete
Pasta
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-id=POLICY_ID \ --action=deleteSubstitua:
QUOTA_PROJECT_ID: o ID do projeto de cota ou faturamento.ORCHESTRATOR_NAME: nome do orquestrador de políticas.FOLDER_NUMBER: o ID numérico da pasta de que você quer excluir os recursos da política do SO.POLICY_ID: o ID da política para o recurso do orquestrador de políticas do SO.
Exemplo
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --folder=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-id=my-policy \ --action=delete
Organização
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --organization=ORGANIZATION_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-id=POLICY_ID \ --action=delete
Substitua:
QUOTA_PROJECT_ID: o ID do projeto de cota ou faturamento.ORCHESTRATOR_NAME: nome do orquestrador de políticas.ORGANIZATION_NUMBER: o ID numérico da organização de que você quer excluir os recursos da política do SO.POLICY_ID: o ID da política para o recurso do orquestrador de políticas do SO.
Exemplo
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --organization=987654321 --policy-type=os_policy_assignment_v1 --policy-id=my-policy \ --action=delete
REST
Para criar um orquestrador de políticas que exclua políticas do SO de vários projetos, use um dos seguintes métodos e especifique a ação como
DELETE:Projeto
Envie uma solicitação
POSTpara o métodoprojects.locations.global.policyOrchestrators.create.No corpo da solicitação, especifique o ID da política associada à atribuição de política do SO.
POST https://osconfig.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/policyOrchestrators { JSON_OS_POLICY_ORCHESTRATOR }Substitua:
PROJECT_NUMBER: o ID numérico do projeto em que você quer criar o orquestrador de políticas.JSON_OS_POLICY_ORCHESTRATOR: o objeto do orquestrador de políticas no formato JSON que define o escopo do orquestrador, o recurso orquestrado e o estado da orquestração. Para mais informações sobre os parâmetros e o formato, consulteResource: folders.locations.global.policyOrchestrators.
Exemplo
POST https://osconfig.googleapis.com/v2/projects/567890/locations/global/policyOrchestrators { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }Pasta
Envie uma solicitação
POSTpara o métodofolders.locations.global.policyOrchestrators.create.No corpo da solicitação, especifique o ID da política associada à atribuição de política do SO.
POST https://osconfig.googleapis.com/v2/folders/FOLDER_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }Substitua:
QUOTA_PROJECT_ID: o ID do projeto de cota ou faturamento.FOLDER_NUMBER: o ID numérico da pasta de que você quer excluir os recursos da política do SO.JSON_OS_POLICY_ORCHESTRATOR: o objeto do orquestrador de políticas no formato JSON que define o ID da política, o escopo do orquestrador, o recurso orquestrado e o estado da orquestração. Para mais informações sobre os parâmetros e o formato, consulteResource: folders.locations.global.policyOrchestrators.
Exemplo
Por exemplo, para excluir recursos de política de SO de vários projetos, faça a seguinte solicitação:
POST https://osconfig.googleapis.com/v2/folders/567890/locations/global/policyOrchestrators -H "x-goog-user-project: my-quota-project { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }Organização
Envie uma solicitação
POSTpara o métodoorganizations.locations.global.policyOrchestrators.create.No corpo da solicitação, especifique o ID da política associada à atribuição de política do SO.
POST https://osconfig.googleapis.com/v2/organizations/ORGANIZATION_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }Substitua:
QUOTA_PROJECT_ID: o ID do projeto de cota ou faturamento.ORGANIZATION_NUMBER: o ID numérico da organização de que você quer excluir os recursos da política do SO.JSON_OS_POLICY_ORCHESTRATOR: o objeto do orquestrador de políticas no formato JSON que define o ID da política, o escopo do orquestrador, o recurso orquestrado e o estado da orquestração. Para mais informações sobre os parâmetros e o formato, consulteResource: organizations.locations.global.policyOrchestrators.
Exemplo
Por exemplo, para excluir recursos de política do SO de vários projetos, envie a seguinte solicitação:
POST https://osconfig.googleapis.com/v2/organizations/567890/locations/global/policyOrchestrators -H "x-goog-user-project: my-quota-project { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-10-21 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-21 UTC."],[],[]] -