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", }, );ChannelPartnerLinksCustomer
Section titled “ChannelPartnerLinksCustomer”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", }, },);Customer
Section titled “Customer”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.
Customer: Creating a Customer
Section titled “Customer: Creating a Customer”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"], },});Customer: Updating a Customer
Section titled “Customer: Updating a Customer”// 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",});CustomersCustomerRepricingConfig
Section titled “CustomersCustomerRepricingConfig”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`, },);