Neste documento, explicamos como visualizar suas reservas ou solicitações de reserva futuras. Para saber mais sobre os diferentes tipos de reservas, consulte Tipo de provisionamento.
Ao conferir suas reservas ou solicitações de reserva adiantada, você pode fazer o seguinte:
Acesse as configurações de reserva. Essa análise ajuda a verificar os detalhes das suas reservas, garantir que elas atendam às suas necessidades e planejar a capacidade.
Determine o número de instâncias de consumíveis. Essa verificação ajuda a determinar quantas instâncias do Compute Engine podem consumir sua capacidade reservada.
Limitações
Só é possível acessar uma reserva compartilhada ou uma solicitação de reserva futura compartilhada no projeto em que ela foi criada.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud .
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Para ver uma lista de reservas:
compute.reservations.list
no projeto -
Para conferir uma lista de solicitações de reserva futura:
compute.futureReservations.list
no projeto -
Para ver os detalhes de uma reserva:
compute.reservations.get
no projeto -
Para conferir os detalhes de uma solicitação de reserva futura:
compute.futureReservations.get
no projeto Para conferir uma visão geral de todas as reservas no seu projeto, acesse uma lista de reservas.
Para conferir todos os detalhes de uma única reserva, acesse os detalhes da reserva.
No console do Google Cloud, acesse a página Reservas.
Na guia Reservas sob demanda (padrão), a tabela lista cada reserva, e cada coluna descreve uma propriedade.
Opcional: para refinar sua lista de reservas, no campo
Filtro, selecione as propriedades que você quer usar para filtrar as reservas.Para conferir os detalhes de uma reserva, clique no nome dela na coluna Nome.
Uma página com os detalhes da reserva é aberta.
Para ver uma lista das suas reservas, use o comando
gcloud compute reservations list
:gcloud compute reservations list
A resposta será semelhante a:
NAME: r-01 IN_USE_COUNT: 0 COUNT: 5 ZONE: us-central1-a SHARE_TYPE: LOCAL NAME: r-02 IN_USE_COUNT: 3 COUNT: 10 ZONE: us-central1-f SHARE_TYPE: LOCAL
Para refinar uma lista de reservas usando uma expressão de filtro, inclua a flag
--filter
:gcloud compute reservations list \ --filter="FILTER_EXPRESSION"
Substitua
FILTER_EXPRESSION
por uma expressão de filtro.Para conferir os detalhes de uma reserva, use o comando
gcloud compute reservations describe
:gcloud compute reservations describe RESERVATION_NAME \ --zone=ZONE
Substitua:
RESERVATION_NAME
: o nome de uma reserva.ZONE
: a zona em que a reserva existe.
A resposta será semelhante a:
creationTimestamp: '2024-10-11T03:25:23.192-07:00' id: '4488228526648280060' kind: compute#reservation name: r-01 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/r-01 shareSettings: shareType: LOCAL specificReservation: assuredCount: '50' count: '50' inUseCount: '25' instanceProperties: machineType: n2-standard-2 specificReservationRequired: false status: READY zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a
Para conferir uma lista das suas reservas, use o exemplo de código abaixo:
Para conferir os detalhes de uma reserva, use o exemplo de código abaixo:
Para conferir uma lista das suas reservas, use o exemplo de código abaixo:
Para conferir os detalhes de uma reserva, use o exemplo de código abaixo:
Para conferir uma lista das suas reservas, use o exemplo de código abaixo:
Para conferir os detalhes de uma reserva, use o exemplo de código abaixo:
Para conferir uma lista das suas reservas, use o exemplo de código abaixo:
Para conferir os detalhes de uma reserva, use o exemplo de código abaixo:
Para conferir uma lista das suas reservas, faça uma solicitação
GET
para o métodoreservations.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations
Substitua:
PROJECT_ID
: o ID do projeto em que você criou as reservas.ZONE
: a zona em que suas reservas existem.
A resposta será semelhante a:
{ "kind": "compute#reservation", "id": "4100668622331754141", "creationTimestamp": "2019-09-27T08:21:14.707-07:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/reservation-05", "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a", "name": "reservation-05", "specificReservation": { "instanceProperties": { "machineType": "n1-standard-2" }, "count": "100", "inUseCount": "0", "assuredCount": "100" }, "specificReservationRequired": false, "status": "READY", "shareSettings": { "shareType": "LOCAL" } }, { "kind": "compute#reservation", "id": "2533514314332214789", "creationTimestamp": "2019-09-27T08:21:14.707-07:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/reservation-04", "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a", "name": "reservation-04", "specificReservation": { "instanceProperties": { "machineType": "n1-standard-2", "guestAccelerators": [ { "acceleratorType": "nvidia-tesla-t4", "acceleratorCount": 1 } ], "localSsds": [ { "diskSizeGb": "375", "interface": "SCSI" } ] }, "count": "50", "inUseCount": "25", "assuredCount": "50" }, "specificReservationRequired": false, "status": "READY", "shareSettings": { "shareType": "LOCAL" } }
Para refinar uma lista de reservas usando uma expressão de filtro, inclua o parâmetro de consulta
filter
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations?filter=FILTER_EXPRESSION
Substitua
FILTER_EXPRESSION
por uma expressão de filtro que use valores codificados em URL.Para visualizar os detalhes de uma reserva, faça uma solicitação
GET
para o métodoreservations.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que você criou a reserva.ZONE
: a zona em que a reserva existe.RESERVATION_NAME
: o nome de uma reserva.
A resposta será semelhante a:
{ "kind": "compute#reservation", "id": "4488228526648280060", "creationTimestamp": "2024-10-11T03:25:23.192-07:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/davide-experimental/zones/us-central1-a/reservations/r-01", "zone": "https://www.googleapis.com/compute/v1/projects/davide-experimental/zones/us-central1-a", "name": "r-01", "specificReservation": { "instanceProperties": { "machineType": "n2-standard-2" }, "count": "50", "inUseCount": "25", "assuredCount": "50" }, "specificReservationRequired": false, "status": "READY", "shareSettings": { "shareType": "LOCAL" } }
Para conferir uma visão geral de todas as solicitações de reserva adiantadas no projeto, confira uma lista das suas solicitações.
Para conferir todos os detalhes de uma única solicitação de reserva futura, acesse os detalhes da solicitação.
No console do Google Cloud, acesse a página Reservas.
Clique na guia Reservas adiantadas.
A tabela lista cada solicitação de reserva futura, e cada coluna da tabela descreve uma propriedade.
Opcional: para refinar a lista de solicitações, no campo
Filtro, selecione as propriedades que você quer usar para filtrar as solicitações.Para conferir os detalhes de uma solicitação, clique no nome dela na coluna Nome.
Uma página com os detalhes da solicitação de reserva adiantada é aberta.
Para conferir uma lista das suas solicitações de reserva adiantada, use o comando
gcloud beta compute future-reservations list
:gcloud beta compute future-reservations list
A resposta será semelhante a:
NAME: fr-04 TOTAL_COUNT: 100 START_TIME: 2025-07-20T07:00:00Z END_TIME: 2025-08-05T07:00:00Z PROCUREMENT_STATUS: FULFILLED ZONE: us-east1-a NAME: fr-05 TOTAL_COUNT: 10 START_TIME: 2025-07-20T07:00:00Z END_TIME: 2025-12-01T00:00:00Z PROCUREMENT_STATUS: PENDING_APPROVAL ZONE: us-west1-c
Para refinar uma lista de solicitações de reserva futura usando uma expressão de filtro, inclua a flag
--filter
:gcloud beta compute future-reservations list \ --filter="FILTER_EXPRESSION"
Substitua
FILTER_EXPRESSION
por uma expressão de filtro.Para conferir os detalhes de uma solicitação de reserva futura, use o comando
gcloud beta compute future-reservations describe
:gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \ --zone=ZONE
Substitua:
FUTURE_RESERVATION_NAME
: o nome de uma solicitação de reserva adiantada atual.ZONE
: a zona em que a solicitação de reserva adianteada existe.
A resposta será semelhante a:
autoCreatedReservationsDeleteTime: '2025-05-02T01:00:00Z' creationTimestamp: '2025-03-23T10:08:31.613-07:00' id: '5212276518668495076' kind: compute#futureReservation name: fr-01 planningStatus: SUBMITTED selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-01 selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/5212276518668495076 shareSettings: shareType: LOCAL specificSkuProperties: instanceProperties: machineType: n1-standard-64 totalCount: '800' status: existingMatchingUsageInfo: count: '3' timestamp: '2025-03-30T01:00:00Z' lockTime: '2025-03-30T17:09:59.297799Z' procurementStatus: APPROVED timeWindow: endTime: '2025-05-02T01:00:00Z' startTime: '2025-04-30T17:30:00Z' zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a
Para conferir uma lista das suas solicitações de reserva adiantada, faça uma solicitação
GET
para o métodofutureReservations.list
Beta:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
Substitua:
PROJECT_ID
: o ID do projeto em que você criou as solicitações de reserva adiantada.ZONE
: a zona em que suas solicitações de reserva adianteadas existem.
A resposta será semelhante a:
{ "id": "projects/my-project/zones/us-east1-a/futureReservations", "items": [ { "id": "743865190848184978", "creationTimestamp": "2025-03-23T18:16:45.274-07:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations/fr-base", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations/743865190848184978", "zone": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a", "name": "fr-base", "specificSkuProperties": { "instanceProperties": { "machineType": "n1-standard-1" }, "totalCount": "100" }, "planningStatus": "SUBMITTED", "timeWindow": { "endTime": "2025-05-02T01:00:00Z", "startTime": "2025-04-30T17:30:00Z" }, "status": { "procurementStatus": "FULFILLED", "lockTime": "2025-03-30T07:00:00Z", "existingMatchingUsageInfo": { "count": "3", "timestamp": "2025-03-30T01:00:00Z" } }, "kind": "compute#futureReservation" }, ... ], "selfLink": "https://www.googleapis.com/compute/beta/projects/my-project/zones/us-east1-a/futureReservations", "etag": "AnzKY34l-cvvV-JnniESJ0dtQvQ=/hvc4jaHpxFAZmOt1FVtKNgzZu-M=", "kind": "compute#futureReservationsListResponse" }
Para refinar uma lista de solicitações de reserva futura usando uma expressão de filtro, inclua o parâmetro de consulta
filter
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/aggregated/futureReservations?filter=FILTER_EXPRESSION
Substitua
FILTER_EXPRESSION
por uma expressão de filtro que use valores codificados em URL.Para conferir os detalhes de uma solicitação de reserva futura, faça uma solicitação
GET
para o métodofutureReservations.get
Beta:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que você criou a solicitação de reserva futura.ZONE
: a zona em que a solicitação de reserva adianteada existe.FUTURE_RESERVATION_NAME
: o nome de uma solicitação de reserva adiantada atual.
O resultado será assim:
{ "autoCreatedReservationsDeleteTime": "2025-05-02T01:00:00Z", "creationTimestamp": "2025-03-23T10:08:31.613-07:00", "id": "5212276518668495076", "kind": "compute#futureReservation", "name": "fr-01", "planningStatus": "SUBMITTED", "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/fr-01", "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations/5212276518668495076", "shareSettings": { "shareType": "LOCAL" }, "specificSkuProperties": { "instanceProperties": { "machineType": "n1-standard-64" }, "totalCount": "800" }, "status": { "lockTime": "2025-03-30T17:09:59.297799Z", "procurementStatus": "APPROVED", "existingMatchingUsageInfo": { "count": "3", "timestamp": "2025-03-30T01:00:00Z" } }, "timeWindow": { "endTime": "2025-05-02T01:00:00Z", "startTime": "2025-04-30T17:30:00Z" }, "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a" }
Para conferir o número máximo de instâncias que podem consumir uma reserva, consulte Instâncias consumíveis em uma reserva.
Para conferir o número de instâncias que o Compute Engine planeja reservar para uma solicitação de reserva adiantada no horário de início, consulte Instâncias consumíveis em uma solicitação de reserva adiantada.
Contagem garantida (
assuredCount
): o número de instâncias reservadas na zona da reserva para seu projeto e para qualquer projeto com o qual uma reserva compartilhada seja compartilhada.Contagem total (
count
): o número de instâncias reservadas especificadas na reserva. Esse número precisa corresponder à contagem garantida.Máquinas em uso (
inUseCount
): o número de instâncias em execução no seu projeto ou em um projeto com o qual uma reserva compartilhada é compartilhada que está consumindo a reserva.Confira quantas instâncias em execução e reservas não utilizadas no seu projeto e em qualquer projeto com o qual a solicitação é compartilhada, correspondem às propriedades da solicitação.
Subtraia o número de instâncias em execução correspondentes e reservas não utilizadas da contagem total na solicitação.
No console do Google Cloud, acesse a página Reservas.
Clique na guia Reservas adiantadas.
A tabela lista cada solicitação de reserva futura, e cada coluna da tabela descreve uma propriedade.
Para determinar o número de instâncias que o Compute Engine planeja reservar para uma solicitação no horário de início, subtraia a coluna Contagem de correspondências da coluna Contagem total.
A coluna Contagem de correspondências mostra um destes avisos:
Contagem de correspondências é zero: não há instâncias em execução ou reservas não utilizadas correspondentes no seu projeto ou em qualquer projeto com o qual sua solicitação é compartilhada.
Contagem de correspondências igual à contagem total: o Compute Engine não vai reservar instâncias para sua solicitação no horário de início.
Se você modificar uma solicitação ou criar novas instâncias ou reservas que correspondam à solicitação, o Compute Engine vai atualizar a coluna Contagem de correspondência em até 30 minutos.
Opcional: para verificar quando a coluna Contagem de correspondências foi atualizada pela última vez em uma solicitação, faça o seguinte:
Na coluna Nome, clique no nome da solicitação.
Uma página com os detalhes da solicitação de reserva adiantada é aberta.
Na seção Detalhes do recurso, verifique o campo Horário da avaliação de último uso correspondente.
Para conferir os detalhes de uma solicitação de reserva futura, use o comando
gcloud beta compute future-reservations describe
:gcloud beta compute future-reservations describe FUTURE_RESERVATION_NAME \ --zone=ZONE
Substitua:
FUTURE_RESERVATION_NAME
: o nome de uma solicitação de reserva adiantada atual.ZONE
: a zona em que a solicitação de reserva adianteada existe.
Na saída, encontre os campos
count
etotalCount
:... specificSkuProperties: ... totalCount: '100' status: existingMatchingUsageInfo: count: '50' timestamp: '2025-03-30T01:00:00Z' ... procurementStatus: DRAFTING ...
Subtraia o valor de
count
detotalCount
. Por exemplo, secount
for 50 etotalCount
for 100, o Compute Engine criará automaticamente uma reserva para 50 instâncias no horário de início da solicitação.Se você modificar a solicitação ou criar novas instâncias ou reservas que correspondam à solicitação, o Compute Engine vai atualizar o campo
existingMatchingUsageInfo
em 30 minutos. Para verificar quando o campo foi atualizado pela última vez, verifique o valor deexistingMatchingUsageInfo.timestamp
.Para conferir uma lista das suas solicitações de reserva adiantada, faça uma solicitação
GET
para o métodofutureReservations.list
beta. No URL da solicitação, inclua o parâmetro de consultafilter
e especifique para mostrar apenas os camposname
,specificSkuProperties
estatus
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations?fields=items.name,items.specificSkuProperties,items.status
Substitua:
PROJECT_ID
: o ID do projeto em que você criou as solicitações de reserva adiantada.ZONE
: a zona em que a solicitação de reserva adiantada está localizada.
Na saída, encontre os campos
count
etotalCount
para cada rascunho, aprovação pendente ou solicitação aprovada:{ "items": [ { "specificSkuProperties": { ... totalCount: "100" }, "name": "fr-01", "status": { "procurementStatus": "APPROVED", ... existingMatchingUsageInfo: { count: "50", "timestamp": "2025-01-22T07:54:26.295Z" } } }, { "specificSkuProperties": { ... totalCount: "20" }, "name": "fr-02", "status": { "procurementStatus": "DRAFTING", ... existingMatchingUsageInfo: { "count": "2", "timestamp": "2025-01-22T07:54:26.295Z" } } } ] }
Para cada solicitação, subtraia o valor de
count
detotalCount
. Por exemplo, secount
for 50 etotalCount
for 100, o Compute Engine criará automaticamente uma reserva para 50 instâncias no horário de início da solicitação.Se você modificar uma solicitação ou criar novas instâncias ou reservas correspondentes à solicitação, o Compute Engine vai atualizar o campo
existingMatchingUsageInfo
em 30 minutos. Para verificar quando o campo foi atualizado pela última vez, verifique o valor deexistingMatchingUsageInfo.timestamp
.Saiba como anexar reservas a compromissos.
Saiba como consumir reservas.
Saiba como modificar reservas.
Saiba como excluir reservas.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para receber as permissões necessárias para visualizar reservas ou solicitações de reserva adiantada, peça ao administrador para conceder a você o papel do IAM de Administrador do Compute (
roles/compute.admin
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para visualizar reservas ou solicitações de reserva futura. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para visualizar reservas ou solicitações de reserva futura:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Conferir as configurações de reserva
As seções a seguir explicam como visualizar as configurações das suas reservas ou solicitações de reserva futuras.
Ver reservas
Para conferir as configurações de uma ou mais reservas, use um dos métodos descritos nesta seção:
Para conferir os campos
deleteAtTime
ereservationSharingPolicy
(Preview) em uma reserva, acesse os detalhes da reserva usando a CLI do Google Cloud ou a API REST. Se você não precisar desses campos, confira as reservas selecionando uma das seguintes opções:Console
gcloud
Go
Java
Node.js
Python
REST
Conferir futuras solicitações de reserva
Para conferir as configurações de uma ou mais solicitações de reserva adiantada, use um dos seguintes métodos descritos nesta seção:
Para conferir as solicitações de reserva adiantada, selecione uma das seguintes opções:
Console
gcloud
REST
Determinar o número de instâncias de consumo
Para determinar o número de instâncias de computação que podem consumir sua capacidade reservada, faça o seguinte:
Instâncias consumíveis em uma reserva
Ao acessar os detalhes de uma reserva, é possível conferir quantas instâncias de computação estão consumindo a reserva e quantas podem consumi-la. Para isso, marque os seguintes campos:
Por exemplo, se a contagem garantida (
assuredCount
) e a contagem total (count
) forem 50 e o número de instâncias que consomem a reserva (inUseCount
) for 25, mais 25 instâncias poderão consumir a reserva antes que ela seja totalmente consumida.Instâncias consumíveis em uma solicitação de reserva futura
É possível determinar o número de instâncias de computação para as quais o Compute Engine cria uma reserva no horário de início de uma solicitação de reserva adiantada. Para um rascunho, uma aprovação pendente ou uma solicitação aprovada, é possível determinar esse número da seguinte maneira:
É possível determinar o número de instâncias de consumo para solicitações únicas ou várias de uma só vez. Para várias solicitações, use o console do Google Cloud ou a API REST. Para solicitações únicas, selecione uma das seguintes opções:
Console
gcloud
REST
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-02-14 UTC.
-