Comprar uma oferta de compromisso usando a API Cloud Commerce Consumer Procurement

É possível comprar ofertas usando a API Cloud Commerce Consumer Procurement, uma API para fazer compras no Cloud Marketplace.

Atualmente, apenas os compromissos baseados em gastos de produtos selecionados podem ser comprados pela API. Este artigo descreve como comprar um compromisso com base em gastos.

Antes de começar

Identifique a oferta que você quer comprar

Para comprar um compromisso com base no gasto, use um nome de oferta que indique o produto que você está comprando e o termo de desconto.

As seguintes ofertas estão disponíveis para compra:

Produto Termo Nome da oferta
AlloyDB para PostgreSQL 1 ano services/alloydb.googleapis.com/standardOffers/adbca020-a973-48c9-b9b6-f5d70527790c
AlloyDB para PostgreSQL 3 anos services/alloydb.googleapis.com/standardOffers/56e5948f-f1ed-45ce-84d6-a8408092e7d5
Backup para GKE 1 ano services/gkebackup.googleapis.com/standardOffers/89852607-f073-4696-94cc-de7ed85f27c7
Backup para GKE 3 anos services/gkebackup.googleapis.com/standardOffers/25d2877b-2868-4312-b54e-880896a119c5
Backup e DR 1 ano services/backupdr.googleapis.com/standardOffers/30c7e770-724f-4a7d-8369-b726a397b53a
Backup e DR 3 anos services/backupdr.googleapis.com/standardOffers/6748e93c-4114-4fa2-bf3e-cb4d3534bb48
Bigtable 1 ano services/bigtable.googleapis.com/standardOffers/5a0a5567-1552-445e-9f1b-f1ac69fb0f39
Bigtable 3 anos services/bigtable.googleapis.com/standardOffers/26e8485e-acef-4e73-9a13-f0b2109befff
Cloud Run 1 ano services/run.googleapis.com/standardOffers/55435965-baf5-485f-baea-3fde53566e5e
Cloud Run 3 anos services/run.googleapis.com/standardOffers/a8b22b6c-2992-48d3-9b73-98fc7a47d61c
Compromisso flexível do Compute Engine 1 ano services/compute.googleapis.com/standardOffers/ffe0f6a3-2f98-437e-8d49-fc443a05d3c2
Compromisso flexível do Compute Engine 3 anos services/compute.googleapis.com/standardOffers/062a285d-8989-4ce7-8f9a-bed8d183236f
Google Kubernetes Engine 1 ano services/container.googleapis.com/standardOffers/ae2672e6-47a8-41dc-9448-6956d7f4fbc1
Google Kubernetes Engine 3 anos services/container.googleapis.com/standardOffers/fcf378c1-fbe0-4aaa-b05e-9597f8b45578
Dataflow 1 ano services/dataflow.googleapis.com/standardOffers/42ae4415-0361-404f-8bc5-1e7c041c2d82
Dataflow 3 anos services/dataflow.googleapis.com/standardOffers/cac998b8-3d49-4672-ae5b-e5b3c56e05f2
Memorystore 1 ano services/redis.googleapis.com/standardOffers/fe93270a-f338-4a76-b303-c323608a9d37
Memorystore 3 anos services/redis.googleapis.com/standardOffers/8f20579e-7630-4592-8fa6-0d7d3b749354
NetApp Volumes 1 ano services/netapp.googleapis.com/standardOffers/90520cfa-14b6-42ae-92b9-129671bf2aca
NetApp Volumes 3 anos services/netapp.googleapis.com/standardOffers/c852fef8-e699-4524-90f4-e7b89edeb33c
Spanner 1 ano services/spanner.googleapis.com/standardOffers/29829e5f-681c-4810-a471-8e4611a8042b
Spanner 3 anos services/spanner.googleapis.com/standardOffers/709f6c69-8a49-4032-97f7-ce21fe340603
Cloud SQL 1 ano services/cloudsql.googleapis.com/standardOffers/266e6a8c-2a0d-4b92-af9c-5795760f1fc9
Cloud SQL 3 anos services/cloudsql.googleapis.com/standardOffers/4998bf0a-51dd-4ce0-8405-aa529dd86d33

Identificar os parâmetros da oferta

As garantias têm dois parâmetros:

  • Valor do compromisso (hourly_commit): o crédito aplicado à sua conta do Cloud Billing a cada hora após a compra do compromisso.
  • Região (region): a região em que os créditos desse compromisso são válidos.

Ao comprar um compromisso, você precisa especificar os dois parâmetros.

Comprar a oferta

Para comprar uma oferta, chame billingAccounts.orders.place e forneça os seguintes parâmetros:

  • O hourly_commit indica o valor em dólares do compromisso.

  • O region para comprar o compromisso.

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": "hourly_commit",
        "value": {
            "doubleValue": HOURLY_COMMIT
        }
        }, {
        "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 precisa ser concluída em menos de um segundo.

Conferir seu pedido

É possível conferir o estado atual de um compromisso diretamente no console do Google Cloud 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. Acesse https://console.cloud.google.com/billing.
  2. Selecione sua conta de faturamento do Cloud.
  3. Selecione Compromissos na barra lateral.
  4. O compromisso comprado aparece na tabela exibida.