feat: Add ProvisionCloudIdentity API definitions for Cloud Channel API. Update documentation for other APIs.

PiperOrigin-RevId: 350209421
This commit is contained in:
Google APIs 2021-01-05 13:37:54 -08:00 committed by Copybara-Service
parent ad3bb00ed7
commit 781d34e5c9
7 changed files with 196 additions and 140 deletions

View File

@ -26,6 +26,39 @@ option java_multiple_files = true;
option java_outer_classname = "ChannelPartnerLinksProto"; option java_outer_classname = "ChannelPartnerLinksProto";
option java_package = "com.google.cloud.channel.v1"; option java_package = "com.google.cloud.channel.v1";
// The level of granularity the [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] will display.
enum ChannelPartnerLinkView {
// The default / unset value.
// The API will default to the BASIC view.
UNSPECIFIED = 0;
// Includes all fields except the
// [ChannelPartnerLink.channel_partner_cloud_identity_info][google.cloud.channel.v1.ChannelPartnerLink.channel_partner_cloud_identity_info].
BASIC = 1;
// Includes all fields.
FULL = 2;
}
// ChannelPartnerLinkState represents state of a channel partner link.
enum ChannelPartnerLinkState {
// The state is not specified.
CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED = 0;
// An invitation has been sent to the reseller to create a channel partner
// link.
INVITED = 1;
// Status when the reseller is active.
ACTIVE = 2;
// Status when the reseller has been revoked by the distributor.
REVOKED = 3;
// Status when the reseller is suspended by Google or distributor.
SUSPENDED = 4;
}
// Entity representing a link between distributors and their indirect // Entity representing a link between distributors and their indirect
// resellers in an n-tier resale channel. // resellers in an n-tier resale channel.
message ChannelPartnerLink { message ChannelPartnerLink {
@ -55,22 +88,3 @@ message ChannelPartnerLink {
// Output only. Cloud Identity info of the channel partner (IR). // Output only. Cloud Identity info of the channel partner (IR).
CloudIdentityInfo channel_partner_cloud_identity_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; CloudIdentityInfo channel_partner_cloud_identity_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
} }
// ChannelPartnerLinkState represents state of a channel partner link.
enum ChannelPartnerLinkState {
// The state is not specified.
CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED = 0;
// An invitation has been sent to the reseller to create a channel partner
// link.
INVITED = 1;
// Status when the reseller is active.
ACTIVE = 2;
// Status when the reseller has been revoked by the distributor.
REVOKED = 3;
// Status when the reseller is suspended by Google or distributor.
SUSPENDED = 4;
}

View File

@ -29,7 +29,7 @@ option java_package = "com.google.cloud.channel.v1";
message EduData { message EduData {
// Enum to specify the institute type. // Enum to specify the institute type.
enum InstituteType { enum InstituteType {
// Default value. This state is never returned unless an error occurs. // Default value. This state doesn't show unless an error occurs.
INSTITUTE_TYPE_UNSPECIFIED = 0; INSTITUTE_TYPE_UNSPECIFIED = 0;
// Elementary/Secondary Schools & Districts // Elementary/Secondary Schools & Districts
@ -39,9 +39,9 @@ message EduData {
UNIVERSITY = 2; UNIVERSITY = 2;
} }
// Number of students/staff the institute has. // Number of students and staff the institute has.
enum InstituteSize { enum InstituteSize {
// Default value. This state is never returned unless an error occurs. // Default value. This state doesn't show unless an error occurs.
INSTITUTE_SIZE_UNSPECIFIED = 0; INSTITUTE_SIZE_UNSPECIFIED = 0;
// 1 - 100 // 1 - 100
@ -80,7 +80,7 @@ message EduData {
message CloudIdentityInfo { message CloudIdentityInfo {
// CustomerType of the customer // CustomerType of the customer
enum CustomerType { enum CustomerType {
// Default value. This state is never returned unless an error occurs. // Default value. This state doesn't show unless an error occurs.
CUSTOMER_TYPE_UNSPECIFIED = 0; CUSTOMER_TYPE_UNSPECIFIED = 0;
// Domain-owning customer which needs domain verification to use services. // Domain-owning customer which needs domain verification to use services.
@ -96,6 +96,9 @@ message CloudIdentityInfo {
// Output only. The primary domain name. // Output only. The primary domain name.
string primary_domain = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; string primary_domain = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
// Whether the domain is verified.
bool is_domain_verified = 4;
// The alternate email. // The alternate email.
string alternate_email = 6; string alternate_email = 6;
@ -129,3 +132,15 @@ message Value {
google.protobuf.Any proto_value = 4; google.protobuf.Any proto_value = 4;
} }
} }
// Information needed to create an Admin User for Google Workspace.
message AdminUser {
// Primary email of the admin user.
string email = 1;
// Given name of the admin user.
string given_name = 2;
// Family name of the admin user.
string family_name = 3;
}

View File

@ -30,8 +30,7 @@ option java_multiple_files = true;
option java_outer_classname = "EntitlementsProto"; option java_outer_classname = "EntitlementsProto";
option java_package = "com.google.cloud.channel.v1"; option java_package = "com.google.cloud.channel.v1";
// An entitlement represents an entity which provides a customer means to start // An entitlement is a representation of a customer's ability to use a service.
// using a service.
message Entitlement { message Entitlement {
option (google.api.resource) = { option (google.api.resource) = {
type: "cloudchannel.googleapis.com/Entitlement" type: "cloudchannel.googleapis.com/Entitlement"
@ -40,7 +39,7 @@ message Entitlement {
// Indicates the current provisioning state of the entitlement. // Indicates the current provisioning state of the entitlement.
enum ProvisioningState { enum ProvisioningState {
// Default value. This state is never returned unless an error occurs. // Default value. This state doesn't show unless an error occurs.
PROVISIONING_STATE_UNSPECIFIED = 0; PROVISIONING_STATE_UNSPECIFIED = 0;
// The entitlement is currently active. // The entitlement is currently active.
@ -52,7 +51,7 @@ message Entitlement {
// Suspension reason for an entitlement if [provisioning_state][google.cloud.channel.v1.Entitlement.provisioning_state] = SUSPENDED. // Suspension reason for an entitlement if [provisioning_state][google.cloud.channel.v1.Entitlement.provisioning_state] = SUSPENDED.
enum SuspensionReason { enum SuspensionReason {
// Default value. This state is never returned unless an error occurs. // Default value. This state doesn't show unless an error occurs.
SUSPENSION_REASON_UNSPECIFIED = 0; SUSPENSION_REASON_UNSPECIFIED = 0;
// Entitlement was manually suspended by the Reseller. // Entitlement was manually suspended by the Reseller.

View File

@ -34,14 +34,13 @@ enum PromotionalOrderType {
// Not used. // Not used.
PROMOTIONAL_TYPE_UNSPECIFIED = 0; PROMOTIONAL_TYPE_UNSPECIFIED = 0;
// Order used for net new customers, trial conversions and upgrades. // Order used for new customers, trial conversions and upgrades.
NEW_UPGRADE = 1; NEW_UPGRADE = 1;
// All orders for an existing customer transferring to the reseller. // All orders for transferring an existing customer.
TRANSFER = 2; TRANSFER = 2;
// Orders for an existing customer switching from one promotion to another // Orders for modifying an existing customer's promotion on the same SKU.
// (can be addition/removal of a promotion as well) on the same sku.
PROMOTION_SWITCH = 3; PROMOTION_SWITCH = 3;
} }
@ -78,10 +77,9 @@ enum PaymentType {
POSTPAY = 2; POSTPAY = 2;
} }
// Represents monetizable resource's type. // Represents the type for a monetizable resource(any entity on which billing
// A monetizable resource is an entity on which billing happens. For example, // happens). For example, this could be MINUTES for Google Voice and GB for
// this could be MINUTES for Google Voice and GB for Google Drive. One SKU can // Google Drive. One SKU can map to multiple monetizable resources.
// map to multiple monetizable resources.
enum ResourceType { enum ResourceType {
// Not used. // Not used.
RESOURCE_TYPE_UNSPECIFIED = 0; RESOURCE_TYPE_UNSPECIFIED = 0;
@ -211,13 +209,11 @@ message ParameterDefinition {
// Represents the constraints for buying the Offer. // Represents the constraints for buying the Offer.
message Constraints { message Constraints {
// Represents constraints on a customer required for purchasing this Offer // Represents constraints required to purchase the Offer for a customer.
// for that customer.
CustomerConstraints customer_constraints = 1; CustomerConstraints customer_constraints = 1;
} }
// Represents constraints on a customer required for purchasing this Offer for // Represents constraints required to purchase the Offer for a customer.
// that customer.
message CustomerConstraints { message CustomerConstraints {
// Allowed geographical regions of the customer. // Allowed geographical regions of the customer.
repeated string allowed_regions = 1; repeated string allowed_regions = 1;
@ -229,7 +225,7 @@ message CustomerConstraints {
repeated PromotionalOrderType promotional_order_types = 3; repeated PromotionalOrderType promotional_order_types = 3;
} }
// The payment plan for the Offer, describing how a payment is made. // The payment plan for the Offer. Describes how to make a payment.
message Plan { message Plan {
// Describes how a reseller will be billed. // Describes how a reseller will be billed.
PaymentPlan payment_plan = 1; PaymentPlan payment_plan = 1;
@ -242,11 +238,11 @@ message Plan {
Period payment_cycle = 3; Period payment_cycle = 3;
// Present for Offers with a trial period. // Present for Offers with a trial period.
// For trial-only Offers, a paid service needs to be started before the trial // For trial-only Offers, a paid service needs to start before the trial
// period ends for continued service. // period ends for continued service.
// For Regular Offers with an initial trial period, the regular pricing will // For Regular Offers with a trial period, the regular pricing goes into
// take effect after the trial period ends, or if paid service is started // effect when trial period ends, or if paid service is started before the end
// before the end of the trial period. // of the trial period.
Period trial_period = 4; Period trial_period = 4;
} }
@ -279,8 +275,8 @@ message Price {
} }
// Specifies the price by the duration of months. // Specifies the price by the duration of months.
// For example, for the first 6 months, 20% discount. From the seventh month, // For example, a 20% discount for the first six months, then a 10% discount
// 10% discount. // starting on the seventh month.
message PricePhase { message PricePhase {
// Defines the phase period type. // Defines the phase period type.
PeriodType period_type = 1; PeriodType period_type = 1;
@ -300,9 +296,11 @@ message PricePhase {
// Defines price at resource tier level. // Defines price at resource tier level.
// For example, an offer with following definition : // For example, an offer with following definition :
// Tier 1: Provide 25% discount for all seats between 1 and 25. //
// Tier 2: Provide 10% discount for all seats between 26 and 100. // * Tier 1: Provide 25% discount for all seats between 1 and 25.
// Tier 3: Provide flat 15% discount for all seats above 100. // * Tier 2: Provide 10% discount for all seats between 26 and 100.
// * Tier 3: Provide flat 15% discount for all seats above 100.
//
// Each of these tiers is represented as a PriceTier. // Each of these tiers is represented as a PriceTier.
message PriceTier { message PriceTier {
// First resource for which the tier price applies. // First resource for which the tier price applies.

View File

@ -27,7 +27,7 @@ option java_package = "com.google.cloud.channel.v1";
message OperationMetadata { message OperationMetadata {
// RPCs that return a Long Running Operation. // RPCs that return a Long Running Operation.
enum OperationType { enum OperationType {
// Default value. This state is never returned unless an error occurs. // Default value. This state doesn't show unless an error occurs.
OPERATION_TYPE_UNSPECIFIED = 0; OPERATION_TYPE_UNSPECIFIED = 0;
// Long Running Operation was triggered by CreateEntitlement. // Long Running Operation was triggered by CreateEntitlement.

View File

@ -33,9 +33,8 @@ enum MediaType {
MEDIA_TYPE_IMAGE = 1; MEDIA_TYPE_IMAGE = 1;
} }
// Product is the entity that the customer is entitled to use when an order is // A Product is the entity a customer uses when placing an order. For example,
// placed. // Google Workspace, Google Voice, etc.
// Example of products are Google Workspace, Google Voice, etc.
message Product { message Product {
option (google.api.resource) = { option (google.api.resource) = {
type: "cloudchannel.googleapis.com/Product" type: "cloudchannel.googleapis.com/Product"
@ -50,10 +49,10 @@ message Product {
MarketingInfo marketing_info = 2; MarketingInfo marketing_info = 2;
} }
// Represents a purchasable Stock Keeping Unit (SKU) under a product. // Represents a product's purchasable Stock Keeping Unit (SKU).
// SKUs represent the different variations of the product. For example, Google // SKUs represent the different variations of the product. For example, Google
// Workspace Business Standard, Google Workspace Business Plus are SKUs of // Workspace Business Standard and Google Workspace Business Plus are Google
// Google Workspace product. // Workspace product SKUs.
message Sku { message Sku {
option (google.api.resource) = { option (google.api.resource) = {
type: "cloudchannel.googleapis.com/Sku" type: "cloudchannel.googleapis.com/Sku"
@ -71,7 +70,7 @@ message Sku {
Product product = 3; Product product = 3;
} }
// Represents a Product/SKU/Offer's marketing information. // Represents the marketing information for a Product, SKU or Offer.
message MarketingInfo { message MarketingInfo {
// Human readable name. // Human readable name.
string display_name = 1; string display_name = 1;

View File

@ -65,7 +65,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// //
// * PERMISSION_DENIED: If the reseller account making the request and the // * PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. // reseller account being queried for are different.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// //
@ -83,7 +83,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// //
// * PERMISSION_DENIED: If the reseller account making the request and the // * PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. // reseller account being queried for are different.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// * NOT_FOUND: If the customer resource doesn't exist. Usually // * NOT_FOUND: If the customer resource doesn't exist. Usually
@ -104,7 +104,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// //
// * PERMISSION_DENIED: If the reseller account making the request and the // * PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. // reseller account being queried for are different.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// * INVALID_VALUE: Invalid domain value in the request. // * INVALID_VALUE: Invalid domain value in the request.
@ -127,7 +127,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// <ul> // <ul>
// <li>PERMISSION_DENIED: If the reseller account making the request and the // <li>PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different.</li> // reseller account being queried for are different.</li>
// <li> INVALID_ARGUMENT: // <li> INVALID_ARGUMENT:
// <ul> // <ul>
// <li> Missing or invalid required parameters in the request. </li> // <li> Missing or invalid required parameters in the request. </li>
@ -145,7 +145,6 @@ service CloudChannelService {
post: "/v1/{parent=accounts/*}/customers" post: "/v1/{parent=accounts/*}/customers"
body: "customer" body: "customer"
}; };
option (google.api.method_signature) = "parent,customer";
} }
// Updates an existing [Customer][google.cloud.channel.v1.Customer] resource belonging to the reseller or // Updates an existing [Customer][google.cloud.channel.v1.Customer] resource belonging to the reseller or
@ -154,7 +153,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// //
// * PERMISSION_DENIED: If the reseller account making the request and the // * PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. // reseller account being queried for are different.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// * NOT_FOUND: No [Customer][google.cloud.channel.v1.Customer] resource found for the name // * NOT_FOUND: No [Customer][google.cloud.channel.v1.Customer] resource found for the name
@ -168,7 +167,6 @@ service CloudChannelService {
patch: "/v1/{customer.name=accounts/*/customers/*}" patch: "/v1/{customer.name=accounts/*/customers/*}"
body: "customer" body: "customer"
}; };
option (google.api.method_signature) = "customer,update_mask";
} }
// Deletes the given [Customer][google.cloud.channel.v1.Customer] permanently and irreversibly. // Deletes the given [Customer][google.cloud.channel.v1.Customer] permanently and irreversibly.
@ -189,6 +187,38 @@ service CloudChannelService {
option (google.api.method_signature) = "name"; option (google.api.method_signature) = "name";
} }
// Creates a Cloud Identity for the given customer using the customer's
// information or the information provided here, if present.
//
// Possible Error Codes:
//
// * PERMISSION_DENIED: If the customer doesn't belong to the reseller.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the request.
// * NOT_FOUND: If the customer is not found for the reseller.
// * ALREADY_EXISTS: If the customer's primary email already exists. In this
// case, retry after changing the customer's primary contact email.
// * INTERNAL: Any non-user error related to a technical issue in the
// backend. Contact Cloud Channel support in this case.
// * UNKNOWN: Any non-user error related to a technical issue in the backend.
// Contact Cloud Channel support in this case.
//
// Return Value:
// <br/> Long Running Operation ID.
//
// To get the results of the operation, call the GetOperation method of
// CloudChannelOperationsService. The Operation metadata will contain an
// instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
rpc ProvisionCloudIdentity(ProvisionCloudIdentityRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{customer=accounts/*/customers/*}:provisionCloudIdentity"
body: "*"
};
option (google.longrunning.operation_info) = {
response_type: "Customer"
metadata_type: "OperationMetadata"
};
}
// List [Entitlement][google.cloud.channel.v1.Entitlement]s belonging to a customer. // List [Entitlement][google.cloud.channel.v1.Entitlement]s belonging to a customer.
// //
// Possible Error Codes: // Possible Error Codes:
@ -258,7 +288,6 @@ service CloudChannelService {
post: "/v1/{parent=accounts/*}:listTransferableOffers" post: "/v1/{parent=accounts/*}:listTransferableOffers"
body: "*" body: "*"
}; };
option (google.api.method_signature) = "parent";
} }
// Returns a requested [Entitlement][google.cloud.channel.v1.Entitlement] resource. // Returns a requested [Entitlement][google.cloud.channel.v1.Entitlement] resource.
@ -279,7 +308,7 @@ service CloudChannelService {
}; };
} }
// Creates entitlement for a customer. // Creates an entitlement for a customer.
// //
// Possible Error Codes: // Possible Error Codes:
// <ul> // <ul>
@ -309,7 +338,7 @@ service CloudChannelService {
// <li> Purchasing a SKU that requires domain verification and the // <li> Purchasing a SKU that requires domain verification and the
// domain has not been verified. </li> // domain has not been verified. </li>
// <li> Purchasing an Add-On SKU like Vault or Drive without purchasing // <li> Purchasing an Add-On SKU like Vault or Drive without purchasing
// the pre-requisite SKU, such as G Suite Basic. </li> // the pre-requisite SKU, such as Google Workspace Business Starter. </li>
// <li> Applicable only for developer accounts: reseller and resold // <li> Applicable only for developer accounts: reseller and resold
// domain. Must meet the following domain naming requirements: // domain. Must meet the following domain naming requirements:
// <ul> // <ul>
@ -391,9 +420,9 @@ service CloudChannelService {
// * NOT_COMMITMENT_PLAN: Renewal Settings are only applicable for a // * NOT_COMMITMENT_PLAN: Renewal Settings are only applicable for a
// commitment plan. Can't enable or disable renewal for non-commitment plans. // commitment plan. Can't enable or disable renewal for non-commitment plans.
// * INTERNAL: Any non user error related to a technical issue in the // * INTERNAL: Any non user error related to a technical issue in the
// backend. In this case, contact cloud channel support. // backend. In this case, contact Cloud Channel support.
// * UNKNOWN: Any non user error related to a technical issue in the backend. // * UNKNOWN: Any non user error related to a technical issue in the backend.
// In this case, contact cloud channel support. // In this case, contact Cloud Channel support.
// //
// Return Value: // Return Value:
// <br/> Long Running Operation ID. // <br/> Long Running Operation ID.
@ -460,9 +489,9 @@ service CloudChannelService {
// * FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for // * FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for
// entitlement on trial plans. // entitlement on trial plans.
// * INTERNAL: Any non-user error related to a technical issue in the backend. // * INTERNAL: Any non-user error related to a technical issue in the backend.
// In this case, contact cloud channel support. // In this case, contact Cloud Channel support.
// * UNKNOWN: Any non-user error related to a technical issue // * UNKNOWN: Any non-user error related to a technical issue
// in the backend. In this case, contact cloud channel support. // in the backend. In this case, contact Cloud Channel support.
// //
// Return Value: // Return Value:
// <br/> Long Running Operation ID. // <br/> Long Running Operation ID.
@ -492,9 +521,9 @@ service CloudChannelService {
// * NOT_FOUND: Entitlement resource not found. // * NOT_FOUND: Entitlement resource not found.
// * NOT_ACTIVE: Entitlement is not active. // * NOT_ACTIVE: Entitlement is not active.
// * INTERNAL: Any non-user error related to a technical issue in the backend. // * INTERNAL: Any non-user error related to a technical issue in the backend.
// In this case, contact cloud channel support. // In this case, contact Cloud Channel support.
// * UNKNOWN: Any non-user error related to a technical issue in the backend. // * UNKNOWN: Any non-user error related to a technical issue in the backend.
// In this case, contact cloud channel support. // In this case, contact Cloud Channel support.
// //
// Return Value: // Return Value:
// <br/> Long Running Operation ID. // <br/> Long Running Operation ID.
@ -521,15 +550,17 @@ service CloudChannelService {
// * PERMISSION_DENIED: If the customer doesn't belong to the reseller or // * PERMISSION_DENIED: If the customer doesn't belong to the reseller or
// if the reseller account making the request and reseller account being // if the reseller account making the request and reseller account being
// queried for are different. // queried for are different.
// * FAILED_PRECONDITION: If there are any Google Cloud projects linked to the
// Google Cloud entitlement's Cloud Billing subaccount.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// * NOT_FOUND: Entitlement resource not found. // * NOT_FOUND: Entitlement resource not found.
// * DELETION_TYPE_NOT_ALLOWED: Cancel isn't allowed for top // * DELETION_TYPE_NOT_ALLOWED: Cancel is only allowed for Google Workspace
// level SKUs. Cancel is only allowed for add-ons. // add-ons or entitlements for Google Cloud's development platform.
// * INTERNAL: Any non-user error related to a technical issue in the // * INTERNAL: Any non-user error related to a technical issue in the
// backend. In this case, contact cloud channel support. // backend. In this case, contact Cloud Channel support.
// * UNKNOWN: Any non-user error related to a technical issue in the backend. // * UNKNOWN: Any non-user error related to a technical issue in the backend.
// In this case, contact cloud channel support. // In this case, contact Cloud Channel support.
// //
// Return Value: // Return Value:
// <br/> Long Running Operation ID. // <br/> Long Running Operation ID.
@ -549,9 +580,9 @@ service CloudChannelService {
}; };
} }
// Activates a previously suspended entitlement. Entitlement must be in a // Activates a previously suspended entitlement. The entitlement must be in a
// suspended state for it to be activated. Entitlements suspended for pending // suspended state for it to be activated. Entitlements suspended for pending
// ToS acceptance can't be activated via this method. An entitlement // ToS acceptance can't be activated using this method. An entitlement
// activation is a long-running operation and can result in updates to // activation is a long-running operation and can result in updates to
// the state of the customer entitlement. // the state of the customer entitlement.
// //
@ -569,9 +600,9 @@ service CloudChannelService {
// * NOT_SUSPENDED: Can't activate entitlements that are already in ACTIVE // * NOT_SUSPENDED: Can't activate entitlements that are already in ACTIVE
// state. Can only activate suspended entitlements. // state. Can only activate suspended entitlements.
// * INTERNAL: Any non-user error related to a technical issue // * INTERNAL: Any non-user error related to a technical issue
// in the backend. In this case, contact cloud channel support. // in the backend. In this case, contact Cloud Channel support.
// * UNKNOWN: Any non-user error related to a technical issue in the backend. // * UNKNOWN: Any non-user error related to a technical issue in the backend.
// In this case, contact cloud channel support. // In this case, contact Cloud Channel support.
// //
// Return Value: // Return Value:
// <br/> Long Running Operation ID. // <br/> Long Running Operation ID.
@ -604,7 +635,7 @@ service CloudChannelService {
// <li> Transferring a SKU that requires domain verification and the // <li> Transferring a SKU that requires domain verification and the
// domain has not been verified. </li> // domain has not been verified. </li>
// <li> Transferring an Add-On SKU like Vault or Drive without transferring // <li> Transferring an Add-On SKU like Vault or Drive without transferring
// the pre-requisite SKU, such as GAB </li> <li> Applicable only for // the pre-requisite SKU, such as G Suite Basic </li> <li> Applicable only for
// developer accounts: reseller and resold domain must follow the domain // developer accounts: reseller and resold domain must follow the domain
// naming convention as follows: // naming convention as follows:
// <ul> // <ul>
@ -655,7 +686,7 @@ service CloudChannelService {
// <li> Transferring a SKU that requires domain verification and the // <li> Transferring a SKU that requires domain verification and the
// domain has not been verified. </li> // domain has not been verified. </li>
// <li> Transferring an Add-On SKU like Vault or Drive without purchasing // <li> Transferring an Add-On SKU like Vault or Drive without purchasing
// the pre-requisite SKU, such as GAB </li> <li> Applicable only for // the pre-requisite SKU, such as G Suite Basic </li> <li> Applicable only for
// developer accounts: reseller and resold domain must follow the domain // developer accounts: reseller and resold domain must follow the domain
// naming convention as follows: // naming convention as follows:
// <ul> // <ul>
@ -714,7 +745,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// //
// * PERMISSION_DENIED: If the reseller account making the request and the // * PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. // reseller account being queried for are different.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// * NOT_FOUND: ChannelPartnerLink resource not found. Results // * NOT_FOUND: ChannelPartnerLink resource not found. Results
@ -738,16 +769,16 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// //
// * PERMISSION_DENIED: If the reseller account making the request and the // * PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. // reseller account being queried for are different.
// * INVALID_ARGUMENT: Missing or invalid required parameters in the // * INVALID_ARGUMENT: Missing or invalid required parameters in the
// request. // request.
// * ALREADY_EXISTS: If the ChannelPartnerLink sent in the request already // * ALREADY_EXISTS: If the ChannelPartnerLink sent in the request already
// exists. // exists.
// * NOT_FOUND: If no Cloud Identity customer exists for domain provided. // * NOT_FOUND: If no Cloud Identity customer exists for domain provided.
// * INTERNAL: Any non-user error related to a technical issue in the // * INTERNAL: Any non-user error related to a technical issue in the
// backend. In this case, contact cloud channel support. // backend. In this case, contact Cloud Channel support.
// * UNKNOWN: Any non-user error related to a technical issue in // * UNKNOWN: Any non-user error related to a technical issue in
// the backend. In this case, contact cloud channel support. // the backend. In this case, contact Cloud Channel support.
// //
// Return Value: // Return Value:
// <br/> Newly created [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resource if successful, // <br/> Newly created [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resource if successful,
@ -766,7 +797,7 @@ service CloudChannelService {
// Possible Error Codes: // Possible Error Codes:
// <ul> // <ul>
// <li> PERMISSION_DENIED: If the reseller account making the request and the // <li> PERMISSION_DENIED: If the reseller account making the request and the
// reseller account being queried for, are different. </li> // reseller account being queried for are different. </li>
// <li> INVALID_ARGUMENT: // <li> INVALID_ARGUMENT:
// <ul> // <ul>
// <li> Missing or invalid required parameters in the request. </li> // <li> Missing or invalid required parameters in the request. </li>
@ -777,9 +808,9 @@ service CloudChannelService {
// </li> // </li>
// <li> NOT_FOUND: ChannelPartnerLink resource not found.</li> // <li> NOT_FOUND: ChannelPartnerLink resource not found.</li>
// <li> INTERNAL: Any non-user error related to a technical issue in the // <li> INTERNAL: Any non-user error related to a technical issue in the
// backend. In this case, contact cloud channel support. </li> // backend. In this case, contact Cloud Channel support. </li>
// <li> UNKNOWN: Any non-user error related to a technical issue in the // <li> UNKNOWN: Any non-user error related to a technical issue in the
// backend. In this case, contact cloud channel support.</li> // backend. In this case, contact Cloud Channel support.</li>
// </ul> // </ul>
// //
// Return Value: // Return Value:
@ -814,7 +845,6 @@ service CloudChannelService {
option (google.api.http) = { option (google.api.http) = {
get: "/v1/{parent=products/*}/skus" get: "/v1/{parent=products/*}/skus"
}; };
option (google.api.method_signature) = "parent";
} }
// Lists the Offers the reseller can sell. // Lists the Offers the reseller can sell.
@ -827,12 +857,12 @@ service CloudChannelService {
option (google.api.http) = { option (google.api.http) = {
get: "/v1/{parent=accounts/*}/offers" get: "/v1/{parent=accounts/*}/offers"
}; };
option (google.api.method_signature) = "parent";
} }
// Lists the Purchasable SKUs for following use cases: // Lists the Purchasable SKUs for following cases:
// (a) SKUs that can be newly purchased for a customer //
// (b) SKUs that can be upgraded/downgraded to, for an entitlement. // * SKUs that can be newly purchased for a customer
// * SKUs that can be upgraded/downgraded to, for an entitlement.
// //
// Possible Error Codes: // Possible Error Codes:
// //
@ -845,9 +875,10 @@ service CloudChannelService {
}; };
} }
// Lists the Purchasable Offers for the following use cases: // Lists the Purchasable Offers for the following cases:
// (a) Offers that can be newly purchased for a customer //
// (b) Offers that can be changed to, for an entitlement. // * Offers that can be newly purchased for a customer
// * Offers that can be changed to, for an entitlement.
// //
// Possible Error Codes: // Possible Error Codes:
// //
@ -970,6 +1001,28 @@ message DeleteCustomerRequest {
]; ];
} }
// Request message for [CloudChannelService.ProvisionCloudIdentity][google.cloud.channel.v1.CloudChannelService.ProvisionCloudIdentity]
message ProvisionCloudIdentityRequest {
// Required. Resource name of the customer.
// Format: accounts/{account_id}/customers/{customer_id}
string customer = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudchannel.googleapis.com/Customer"
}
];
// CloudIdentity-specific customer information.
CloudIdentityInfo cloud_identity_info = 2;
// Admin user information.
AdminUser user = 3;
// If set, validate the request and preview the review, but do not actually
// post it.
bool validate_only = 4;
}
// Request message for [CloudChannelService.ListEntitlements][google.cloud.channel.v1.CloudChannelService.ListEntitlements] // Request message for [CloudChannelService.ListEntitlements][google.cloud.channel.v1.CloudChannelService.ListEntitlements]
message ListEntitlementsRequest { message ListEntitlementsRequest {
// Required. The resource name of the reseller's customer account for which to list // Required. The resource name of the reseller's customer account for which to list
@ -1149,6 +1202,9 @@ message ListChannelPartnerLinksRequest {
// [ListChannelPartnerLinksResponse.next_page_token][google.cloud.channel.v1.ListChannelPartnerLinksResponse.next_page_token] of the previous // [ListChannelPartnerLinksResponse.next_page_token][google.cloud.channel.v1.ListChannelPartnerLinksResponse.next_page_token] of the previous
// [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks] call. // [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks] call.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. The level of granularity the ChannelPartnerLink will display.
ChannelPartnerLinkView view = 4 [(google.api.field_behavior) = OPTIONAL];
} }
// Response message for [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks]. // Response message for [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks].
@ -1167,6 +1223,9 @@ message GetChannelPartnerLinkRequest {
// The name takes the format: accounts/{account_id}/channelPartnerLinks/{id} // The name takes the format: accounts/{account_id}/channelPartnerLinks/{id}
// where {id} is the Cloud Identity ID of the partner. // where {id} is the Cloud Identity ID of the partner.
string name = 1 [(google.api.field_behavior) = REQUIRED]; string name = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. The level of granularity the ChannelPartnerLink will display.
ChannelPartnerLinkView view = 2 [(google.api.field_behavior) = OPTIONAL];
} }
// Request message for [CloudChannelService.CreateChannelPartnerLink][google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerLink] // Request message for [CloudChannelService.CreateChannelPartnerLink][google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerLink]
@ -1219,10 +1278,6 @@ message CreateEntitlementRequest {
// Required. The entitlement to create. // Required. The entitlement to create.
Entitlement entitlement = 2 [(google.api.field_behavior) = REQUIRED]; Entitlement entitlement = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1255,10 +1310,6 @@ message TransferEntitlementsRequest {
// for more details. // for more details.
string auth_token = 4; string auth_token = 4;
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1317,10 +1368,6 @@ message ChangeParametersRequest {
// be changed. // be changed.
repeated Parameter parameters = 2 [(google.api.field_behavior) = REQUIRED]; repeated Parameter parameters = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1347,10 +1394,6 @@ message ChangeRenewalSettingsRequest {
// accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
string name = 1 [(google.api.field_behavior) = REQUIRED]; string name = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 3 [(google.api.field_behavior) = OPTIONAL];
// Required. New renewal settings. // Required. New renewal settings.
RenewalSettings renewal_settings = 4 [(google.api.field_behavior) = REQUIRED]; RenewalSettings renewal_settings = 4 [(google.api.field_behavior) = REQUIRED];
@ -1388,10 +1431,6 @@ message ChangeOfferRequest {
// Optional. Parameters needed to purchase the Offer. // Optional. Parameters needed to purchase the Offer.
repeated Parameter parameters = 3 [(google.api.field_behavior) = OPTIONAL]; repeated Parameter parameters = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. Purchase order id provided by the reseller. // Optional. Purchase order id provided by the reseller.
string purchase_order_id = 5 [(google.api.field_behavior) = OPTIONAL]; string purchase_order_id = 5 [(google.api.field_behavior) = OPTIONAL];
@ -1417,10 +1456,6 @@ message StartPaidServiceRequest {
// accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
string name = 1 [(google.api.field_behavior) = REQUIRED]; string name = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1443,10 +1478,6 @@ message CancelEntitlementRequest {
// accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
string name = 1 [(google.api.field_behavior) = REQUIRED]; string name = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1469,10 +1500,6 @@ message SuspendEntitlementRequest {
// accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
string name = 1 [(google.api.field_behavior) = REQUIRED]; string name = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1495,10 +1522,6 @@ message ActivateEntitlementRequest {
// accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
string name = 1 [(google.api.field_behavior) = REQUIRED]; string name = 1 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional identifier in the external system that partners can use to
// correlate a Channel Services purchase transaction for the entitlement.
string external_correlation_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. An optional request ID to identify requests. Specify a unique request ID so // Optional. An optional request ID to identify requests. Specify a unique request ID so
// that if you must retry your request, the server will know to ignore the // that if you must retry your request, the server will know to ignore the
// request if it has already been completed. // request if it has already been completed.
@ -1597,6 +1620,13 @@ message ListOffersRequest {
// Optional. A token identifying a page of results, if other than the first one. // Optional. A token identifying a page of results, if other than the first one.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. The expression to filter results by name (name of
// the Offer), sku.name (name of the SKU) or sku.product.name (name of the
// Product).
// Example 1: sku.product.name=products/p1 AND sku.name!=products/p1/skus/s1
// Example 2: name=accounts/a1/offers/o1
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. The BCP-47 language code, such as "en-US". If specified, the // Optional. The BCP-47 language code, such as "en-US". If specified, the
// response will be localized to the corresponding language code. Default is // response will be localized to the corresponding language code. Default is
// "en-US". // "en-US".
@ -1614,7 +1644,8 @@ message ListOffersResponse {
// Request message for ListPurchasableSkus. // Request message for ListPurchasableSkus.
message ListPurchasableSkusRequest { message ListPurchasableSkusRequest {
// List SKUs for CreateEntitlement purchase for the customer. // List SKUs for a new entitlement. Make the purchase using
// [CloudChannelService.CreateEntitlement][google.cloud.channel.v1.CloudChannelService.CreateEntitlement].
message CreateEntitlementPurchase { message CreateEntitlementPurchase {
// Required. List SKUs belonging to this Product. // Required. List SKUs belonging to this Product.
// Format: products/{product_id}. // Format: products/{product_id}.
@ -1622,18 +1653,18 @@ message ListPurchasableSkusRequest {
string product = 1 [(google.api.field_behavior) = REQUIRED]; string product = 1 [(google.api.field_behavior) = REQUIRED];
} }
// List SKUs for ChangeOffer purchase for upgrade/downgrade of an // List SKUs for upgrading or downgrading an entitlement. Make the purchase
// entitlement. // using [CloudChannelService.ChangeOffer][google.cloud.channel.v1.CloudChannelService.ChangeOffer].
message ChangeOfferPurchase { message ChangeOfferPurchase {
// Change Type enum. // Change Type enum.
enum ChangeType { enum ChangeType {
// Not used. // Not used.
CHANGE_TYPE_UNSPECIFIED = 0; CHANGE_TYPE_UNSPECIFIED = 0;
// Upgrade. // SKU is an upgrade on the current entitlement.
UPGRADE = 1; UPGRADE = 1;
// Downgrade. // SKU is a downgrade on the current entitlement.
DOWNGRADE = 2; DOWNGRADE = 2;
} }