grpc 第三方依赖 就是grpc的 third_party 文件夹
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

242 lines
8.7 KiB

// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.channel.v1;
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/channel/v1/common.proto";
import "google/cloud/channel/v1/offers.proto";
import "google/cloud/channel/v1/products.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/api/annotations.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
option java_multiple_files = true;
option java_outer_classname = "EntitlementsProto";
option java_package = "com.google.cloud.channel.v1";
// An entitlement is a representation of a customer's ability to use a service.
message Entitlement {
option (google.api.resource) = {
type: "cloudchannel.googleapis.com/Entitlement"
pattern: "accounts/{account}/customers/{customer}/entitlements/{entitlement}"
};
// Indicates the current provisioning state of the entitlement.
enum ProvisioningState {
// Default value. This state doesn't show unless an error occurs.
PROVISIONING_STATE_UNSPECIFIED = 0;
// The entitlement is currently active.
ACTIVE = 1;
// The entitlement is currently suspended.
SUSPENDED = 5;
}
// Suspension reason for an entitlement if [provisioning_state][google.cloud.channel.v1.Entitlement.provisioning_state] = SUSPENDED.
enum SuspensionReason {
// Default value. This state doesn't show unless an error occurs.
SUSPENSION_REASON_UNSPECIFIED = 0;
// Entitlement was manually suspended by the Reseller.
RESELLER_INITIATED = 1;
// Trial ended.
TRIAL_ENDED = 2;
// Entitlement renewal was canceled.
RENEWAL_WITH_TYPE_CANCEL = 3;
// Entitlement was automatically suspended on creation for pending ToS
// acceptance on customer.
PENDING_TOS_ACCEPTANCE = 4;
// Other reasons (internal reasons, abuse, etc.).
OTHER = 100;
}
// Output only. Resource name of an entitlement in the form:
// accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The time at which the entitlement is created.
google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The time at which the entitlement is updated.
google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
// Required. The offer resource name for which the entitlement is to be
// created. Takes the form: accounts/{account_id}/offers/{offer_id}.
string offer = 8 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudchannel.googleapis.com/Offer"
}
];
// Commitment settings for a commitment-based Offer.
// Required for commitment based offers.
CommitmentSettings commitment_settings = 12;
// Output only. Current provisioning state of the entitlement.
ProvisioningState provisioning_state = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Service provisioning details for the entitlement.
ProvisionedService provisioned_service = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Enumerable of all current suspension reasons for an entitlement.
repeated SuspensionReason suspension_reasons = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. This purchase order (PO) information is for resellers to use for their
// company tracking usage. If a purchaseOrderId value is given, it appears in
// the API responses and shows up in the invoice. The property accepts up to
// 80 plain text characters.
string purchase_order_id = 19 [(google.api.field_behavior) = OPTIONAL];
// Output only. Settings for trial offers.
TrialSettings trial_settings = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
// Association information to other entitlements.
AssociationInfo association_info = 23;
// Extended entitlement parameters. When creating an entitlement, valid
// parameters' names and values are defined in the offer's parameter
// definitions.
repeated Parameter parameters = 26;
}
// Definition for extended entitlement parameters.
message Parameter {
// Name of the parameter.
string name = 1;
// Value of the parameter.
Value value = 2;
// Output only. Specifies whether this parameter is allowed to be changed. For example, for
// a Google Workspace Business Starter entitlement in commitment plan,
// num_units is editable when entitlement is active.
bool editable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Association links that an entitlement has to other entitlements.
message AssociationInfo {
// The name of the base entitlement, for which this entitlement is an add-on.
string base_entitlement = 1 [(google.api.resource_reference) = {
type: "cloudchannel.googleapis.com/Entitlement"
}];
}
// Service provisioned for an entitlement.
message ProvisionedService {
// Output only. Provisioning ID of the entitlement. For Google Workspace, this would be the
// underlying Subscription ID.
string provisioning_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The product pertaining to the provisioning resource as specified in the
// Offer.
string product_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The SKU pertaining to the provisioning resource as specified in the Offer.
string sku_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Commitment settings for commitment-based offers.
message CommitmentSettings {
// Output only. Commitment start timestamp.
google.protobuf.Timestamp start_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Commitment end timestamp.
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. Renewal settings applicable for a commitment-based Offer.
RenewalSettings renewal_settings = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Renewal settings for renewable Offers.
message RenewalSettings {
// If false, the plan will be completed at the end date.
bool enable_renewal = 1;
// If true and enable_renewal = true, the unit (for example seats or licenses)
// will be set to the number of active units at renewal time.
bool resize_unit_count = 2;
// Describes how a reseller will be billed.
PaymentPlan payment_plan = 5;
// Describes how frequently the reseller will be billed, such as
// once per month.
Period payment_cycle = 6;
}
// Settings for trial offers.
message TrialSettings {
// Determines if the entitlement is in a trial or not:
//
// * `true` - The entitlement is in trial.
// * `false` - The entitlement is not in trial.
bool trial = 1;
// Date when the trial ends. The value is in milliseconds
// using the UNIX Epoch format. See an example [Epoch
// converter](https://www.epochconverter.com).
google.protobuf.Timestamp end_time = 2;
}
// TransferableSku represents information a reseller needs to view existing
// provisioned services for a customer that they do not own.
// Read-only.
message TransferableSku {
// Describes the transfer eligibility of a SKU.
TransferEligibility transfer_eligibility = 9;
// The SKU pertaining to the provisioning resource as specified in the Offer.
Sku sku = 11;
// Optional. The customer to transfer has an entitlement with the populated legacy SKU.
Sku legacy_sku = 12 [(google.api.field_behavior) = OPTIONAL];
}
// Specifies transfer eligibility of a SKU.
message TransferEligibility {
// Reason of ineligibility.
enum Reason {
// Reason is not available.
REASON_UNSPECIFIED = 0;
// Reseller needs to accept TOS before transferring the SKU.
PENDING_TOS_ACCEPTANCE = 1;
// Reseller not eligible to sell the SKU.
SKU_NOT_ELIGIBLE = 2;
// SKU subscription is suspended
SKU_SUSPENDED = 3;
}
// Whether reseller is eligible to transfer the SKU.
bool is_eligible = 1;
// Localized description if reseller is not eligible to transfer the SKU.
string description = 2;
// Specified the reason for ineligibility.
Reason ineligibility_reason = 3;
}