Usar a API para comprar um compromisso baseado em gastos

Este documento descreve como comprar um compromisso com base em gastos usando a API Cloud Commerce Consumer Procurement para compras no Cloud Marketplace.

Essa API só aceita a compra de compromissos com base em gastos, não em recursos.

Antes de começar

Identificar a oferta que você quer comprar

Para comprar um compromisso com base em gastos, use um nome de oferta que indique o produto que você está comprando e o prazo de desconto. Use o nome da oferta que corresponde ao modelo da sua conta do Cloud Billing.

As ofertas a seguir estão disponíveis para compra e seguem o novo modelo de consumo (desconto direto, sem créditos) :

Produto Termo Escopo Nome da oferta Parâmetros obrigatórios
AlloyDB para PostgreSQL 1 ano Global services/alloydb.googleapis.com/standardOffers/ff04ec3e-278c-4ec8-8278-12f875a8cea2 commitment_amount (recomendado)
ou hourly_commit
AlloyDB para PostgreSQL 3 anos Global services/alloydb.googleapis.com/standardOffers/9522b4d8-bff7-4141-81d6-b71d9113c69a commitment_amount (recomendado)
ou hourly_commit
Backup and DR (Oracle) 1 ano Global services/backupdr.googleapis.com/standardOffers/16e6132e-8a72-4a7f-8941-bf52246afc82 commitment_amount (recomendado)
ou hourly_commit
Backup and DR (Oracle) 3 anos Global services/backupdr.googleapis.com/standardOffers/1e028b05-4344-4bca-87e7-235ee3536354 commitment_amount (recomendado)
ou hourly_commit
BigQuery 1 ano Regional services/bigqueryreservation.googleapis.com/standardOffers/d73ae4d8-d096-4c9b-9c20-cd92c3c53724 commitment_amount (recomendado)
ou hourly_commit,

region
BigQuery 3 anos Regional services/bigqueryreservation.googleapis.com/standardOffers/f43d480d-3e77-4079-946c-e1b2ab640a8a commitment_amount (recomendado)
ou hourly_commit,

region
Bigtable 1 ano Global services/bigtable.googleapis.com/standardOffers/c0bf8ba5-65ee-4f7d-9e1e-3953433cf193 commitment_amount (recomendado)
ou hourly_commit
Bigtable 3 anos Global services/bigtable.googleapis.com/standardOffers/460fb2ef-456d-4263-a070-4f993fa37996 commitment_amount (recomendado)
ou hourly_commit
Cloud Run 3 anos Regional services/run.googleapis.com/standardOffers/88a5fc51-d63b-4865-bf3b-c49e05a8c5c0 commitment_amount (recomendado)
ou hourly_commit,

region
Cloud Run ano Regional services/run.googleapis.com/standardOffers/392802d4-e57b-40d3-9684-a1e8cdca6fb5 commitment_amount (recomendado)
ou hourly_commit,

region
Cloud SQL 1 ano Regional services/cloudsql.googleapis.com/standardOffers/d31cf078-36a2-4a8a-a2e6-b23caec0e7a3 commitment_amount (recomendado)
ou hourly_commit,

region
Cloud SQL 3 anos Regional services/cloudsql.googleapis.com/standardOffers/48960309-1646-4fa2-9bf8-d7e72090d2b8 commitment_amount (recomendado)
ou hourly_commit,

region
Compromisso flexível do Compute Engine 1 ano Global services/compute.googleapis.com/standardOffers/1b2601a4-9d76-462d-bd5b-5b835d245f93 commitment_amount (recomendado)
ou hourly_commit
Compromisso flexível do Compute Engine 3 anos Global services/compute.googleapis.com/standardOffers/61612674-a9a9-4687-8449-baca71fbd0d1 commitment_amount (recomendado)
ou hourly_commit
Dataflow 1 ano Global services/dataflow.googleapis.com/standardOffers/127d79e4-1d52-48b0-9f31-8ba02586ff95 commitment_amount (recomendado)
ou hourly_commit
Dataflow 3 anos Global services/dataflow.googleapis.com/standardOffers/03f4d3b1-44b8-4e88-9e75-b1d4e2d04573 commitment_amount (recomendado)
ou hourly_commit
Firestore 1 ano Global services/firestore.googleapis.com/standardOffers/de6aa077-3170-4250-89b6-0ccd470f9e21 commitment_amount (recomendado)
ou hourly_commit
Firestore 3 anos Global services/firestore.googleapis.com/standardOffers/e8f59240-c088-4a22-87c3-e58722cca300 commitment_amount (recomendado)
ou hourly_commit
plano Flexible Savings do Gemini Enterprise 1 ano Global services/aiplatform.googleapis.com/standardOffers/740fd2e8-ff1d-4304-9e85-61c0f8d75811 commitment_amount
plano Flexible Savings do Gemini Enterprise 3 anos Global services/aiplatform.googleapis.com/standardOffers/4733352d-24b5-4609-b3ff-d2a694f51654 commitment_amount
Google Kubernetes Engine 1 ano Regional services/container.googleapis.com/standardOffers/2f48e468-a86a-452d-88df-edacd94a3c44 commitment_amount (recomendado)
ou hourly_commit,

region
Google Kubernetes Engine 3 anos Regional services/container.googleapis.com/standardOffers/89027902-6f83-40aa-8861-7c2446b11015 commitment_amount (recomendado)
ou hourly_commit,

region
Serviço gerenciado para Apache Kafka 1 ano Global services/managedkafka.googleapis.com/standardOffers/647db981-009c-4e95-b62e-6aff19384956 commitment_amount (recomendado)
ou hourly_commit
Serviço gerenciado para Apache Kafka 3 anos Global services/managedkafka.googleapis.com/standardOffers/9a7ed994-d3df-4680-b4e6-7c3d932add66 commitment_amount (recomendado)
ou hourly_commit
Memorystore for Redis 1 ano Global services/redis.googleapis.com/standardOffers/8e0da7cb-196b-4351-bc32-6a6ba94f1456 commitment_amount (recomendado)
ou hourly_commit
Memorystore 3 anos Global services/redis.googleapis.com/standardOffers/2a3729ac-1e38-4a34-bc96-bd988028351f commitment_amount (recomendado)
ou hourly_commit
Spanner 1 ano Global services/spanner.googleapis.com/standardOffers/359db5c2-8c2c-49e3-a21d-26176c4cd403 commitment_amount (recomendado)
ou hourly_commit
Spanner 3 anos Global services/spanner.googleapis.com/standardOffers/a6a32e10-1d76-4df8-8485-eee10d08a1cf commitment_amount (recomendado)
ou hourly_commit

As ofertas a seguir estão disponíveis para compra e seguem o modelo de crédito legado (cobrança de preço de tabela + compensação de crédito) :

Produto Termo Escopo Nome da oferta Parâmetros obrigatórios
Backup and DR (VMWare) 1 ano Regional services/backupdr.googleapis.com/standardOffers/30c7e770-724f-4a7d-8369-b726a397b53a hourly_commit,

region
Backup and DR (VMWare) 3 anos Regional services/backupdr.googleapis.com/standardOffers/6748e93c-4114-4fa2-bf3e-cb4d3534bb48 hourly_commit,

region
NetApp Volumes 1 ano Global services/netapp.googleapis.com/standardOffers/90520cfa-14b6-42ae-92b9-129671bf2aca hourly_commit
NetApp Volumes 3 anos Global services/netapp.googleapis.com/standardOffers/c852fef8-e699-4524-90f4-e7b89edeb33c hourly_commit

Identificar os parâmetros da oferta

Estes são os parâmetros que você precisa definir para comprar a oferta:

  • Commitment_amount (recomendado) ou Hourly_commit:

    • Para compromissos no novo modelo de CUD com base em gastos: commitment_amount (recomendado) ou hourly_commit. O parâmetro hourly_commit será descontinuado e substituído pelo parâmetro genérico commitment_amount no futuro para compromissos no novo modelo. Alguns CUDs aceitam uma recorrência diferente (por hora, mensal etc.) e só aceitam o parâmetro commitment_amount. Consulte a coluna "Parâmetros obrigatórios" nas tabelas de ofertas para requisitos específicos.

    • Para ofertas que não são afetadas pelo novo modelo de CUD: especifique hourly_commit. Isso representa o crédito aplicado à sua conta do Cloud Billing a cada hora. Os CUDs legados não aceitam commitment_amount.

  • Região (region): a região em que os benefícios desse compromisso se aplicam.

    • Para compromissos regionais: especifique a região de destino (por exemplo, us-central1). Para encontrar pastas e regiões aceitas para cada produto, consulte a documentação do produto ou a visão geral dos descontos por compromisso de uso.
    • Para compromissos globais: omita esse parâmetro, já que os compromissos globais se aplicam a todas as regiões.

Comprar a oferta

Para comprar uma oferta, chame billingAccounts.orders.place, e forneça os seguintes parâmetros no corpo da solicitação:

  • O parâmetro de valor do compromisso que corresponde ao tipo de CUD:

    • Para compromissos no novo modelo de CUD com base em gastos: forneça commitment_amount (recomendado) ou hourly_commit (descontinuado, a ser removido no futuro). Para novas ofertas de CUD (como o AI Platform), é necessário especificar commitment_amount.
    • Para CUDs legados: forneça hourly_commit.
  • A region (somente para compromissos regionais). Se você estiver comprando um compromisso global, omita o parâmetro region.

Para fazer um pedido, execute o seguinte comando:

curl 'https://cloudcommerceconsumerprocurement.googleapis.com/v1alpha1/billingAccounts/BILLING_ACCOUNT_ID/orders:place' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project: CONSUMER_PROJECT_ID' \
    -d '@-' <<EOF
    {
    "displayName": "DISPLAY_NAME",
    "lineItemInfo": [{
        "parameters": [{
        "name": "commitment_amount",
        "value": {
            "doubleValue": COMMITMENT_AMOUNT
        }
        }, {
        "name": "region",
        "value": {
            "stringValue": "REGION"
        }
        }],
        "offer": "OFFER_NAME"
    }]
    }
EOF

Isso retorna o nome de uma operação de longa duração:

{
    "name": "OPERATION_NAME"
}

Para verificar se a operação de longa duração retornada foi concluída, execute o seguinte comando:

curl 'https://cloudcommerceconsumerprocurement.googleapis.com/v1alpha1/OPERATION_NAME' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project: CONSUMER_PROJECT_ID'

A operação de longa duração deve ser concluída em menos de um segundo.

Ver seu pedido

É possível conferir o estado atual de um compromisso diretamente em Google Cloud console ou chamando billingAccounts.orders.get. O campo name do pedido criado especifica o nome do pedido.

cURL

Para conferir um pedido, execute o seguinte comando:

curl 'https://cloudcommerceconsumerprocurement.googleapis.com/v1alpha1/ORDER_NAME' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project: CONSUMER_PROJECT_ID'

Console

  1. No Google Cloud console, acesse sua conta do Cloud Billing.

    Acesse a conta do Cloud Billing

  2. Selecione Descontos por compromisso de uso (CUDs) na barra lateral.

  3. Seus compromissos comprados são exibidos.