Skip to content

GCP.CloudChannel reference

ChannelPartnerLinksChannelPartnerRepricingConfig

Section titled “ChannelPartnerLinksChannelPartnerRepricingConfig”

Source: src/GCP/CloudChannel/ChannelPartnerLinksChannelPartnerRepricingConfig.ts

A Cloud Channel channel-partner repricing config.

Repricing configs have no labels field. list / nuke returns configs under channel partner links of the configured Cloud Channel account (GOOGLE_CLOUDCHANNEL_ACCOUNT). Parent partner link and effective invoice month are identity — changing either replaces the config. Adjustment, rebilling basis, entitlement, and overrides update in place for a future month.

Creating configs requires Cloud Channel distributor access.

ChannelPartnerLinksChannelPartnerRepricingConfig: Creating a Channel Partner Repricing Config

Section titled “ChannelPartnerLinksChannelPartnerRepricingConfig: Creating a Channel Partner Repricing Config”
const config =
yield* GCP.CloudChannel.ChannelPartnerLinksChannelPartnerRepricingConfig(
"PartnerBill",
{
parent: "accounts/C012345/channelPartnerLinks/C987654",
effectiveInvoiceMonth: { year: 2099, month: 1, day: 0 },
entitlement:
"accounts/C012345/customers/cust-1/entitlements/ent-1",
},
);

Source: src/GCP/CloudChannel/ChannelPartnerLinksCustomer.ts

A Cloud Channel customer created under a channel partner link.

Partner customers have no labels field, so ownership rests on the deterministic domain: read reports a customer it finds without prior state as unowned (adopt it with --adopt). The channel partner link (parent) and customer id are identity. Display name, address, contact, domain, language, and attestation update in place.

Creating partner customers requires Cloud Channel distributor access.

ChannelPartnerLinksCustomer: Creating a Partner Customer

Section titled “ChannelPartnerLinksCustomer: Creating a Partner Customer”

Generated domain

const customer = yield* GCP.CloudChannel.ChannelPartnerLinksCustomer(
"Resold",
{
parent: "accounts/C012345/channelPartnerLinks/C987654",
orgDisplayName: "Resold Corp",
},
);

Explicit domain

const customer = yield* GCP.CloudChannel.ChannelPartnerLinksCustomer(
"Resold",
{
parent: "accounts/C012345/channelPartnerLinks/C987654",
orgDisplayName: "Resold Corp",
domain: "resold.example.com",
primaryContactInfo: {
email: "admin@resold.example.com",
},
},
);

Source: src/GCP/CloudChannel/Customer.ts

A Cloud Channel customer of a reseller or distributor.

Customers have no labels field, so ownership rests on the deterministic domain: read reports a customer it finds without prior state as unowned (adopt it with --adopt). The reseller account (parent) and customer id are identity. Display name, address, contact, domain, language, and attestation update in place.

Creating customers requires Cloud Channel reseller access.

Generated domain

const customer = yield* GCP.CloudChannel.Customer("Acme", {
parent: "accounts/C012345",
orgDisplayName: "Acme Corp",
});

Explicit domain and contact

const customer = yield* GCP.CloudChannel.Customer("Acme", {
parent: "accounts/C012345",
orgDisplayName: "Acme Corp",
domain: "acme.example.com",
primaryContactInfo: {
firstName: "Ada",
lastName: "Lovelace",
email: "admin@acme.example.com",
},
orgPostalAddress: {
regionCode: "US",
postalCode: "94105",
locality: "San Francisco",
administrativeArea: "CA",
addressLines: ["100 Market Street"],
},
});
// Same logical id as before; only the display name changes.
const customer = yield* GCP.CloudChannel.Customer("Acme", {
parent: "accounts/C012345",
orgDisplayName: "Acme Corporation",
domain: "acme.example.com",
});

Source: src/GCP/CloudChannel/CustomersCustomerRepricingConfig.ts

A Cloud Channel customer repricing config.

Repricing configs have no labels field: read reports a config it finds without prior state as unowned (adopt it with --adopt). Parent customer and effective invoice month are identity — changing either replaces the config. Adjustment, rebilling basis, entitlement, and overrides update in place for a future month.

Creating configs requires Cloud Channel reseller access and a provisioned entitlement.

CustomersCustomerRepricingConfig: Creating a Customer Repricing Config

Section titled “CustomersCustomerRepricingConfig: Creating a Customer Repricing Config”

Pass-through for a future month

const config = yield* GCP.CloudChannel.CustomersCustomerRepricingConfig(
"AcmeBill",
{
parent: customer.name,
effectiveInvoiceMonth: { year: 2099, month: 1, day: 0 },
entitlement: `${customer.name}/entitlements/ent-1`,
},
);

One percent markup

const config = yield* GCP.CloudChannel.CustomersCustomerRepricingConfig(
"AcmeBill",
{
parent: customer.name,
effectiveInvoiceMonth: { year: 2099, month: 1, day: 0 },
adjustmentPercentage: "1.00",
entitlement: `${customer.name}/entitlements/ent-1`,
},
);