123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- 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/products.proto";
- import "google/protobuf/timestamp.proto";
- import "google/type/money.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
- option java_multiple_files = true;
- option java_outer_classname = "OffersProto";
- option java_package = "com.google.cloud.channel.v1";
- enum PromotionalOrderType {
-
- PROMOTIONAL_TYPE_UNSPECIFIED = 0;
-
- NEW_UPGRADE = 1;
-
- TRANSFER = 2;
-
- PROMOTION_SWITCH = 3;
- }
- enum PaymentPlan {
-
- PAYMENT_PLAN_UNSPECIFIED = 0;
-
- COMMITMENT = 1;
-
- FLEXIBLE = 2;
-
- FREE = 3;
-
- TRIAL = 4;
-
- OFFLINE = 5;
- }
- enum PaymentType {
-
- PAYMENT_TYPE_UNSPECIFIED = 0;
-
- PREPAY = 1;
-
- POSTPAY = 2;
- }
- enum ResourceType {
-
- RESOURCE_TYPE_UNSPECIFIED = 0;
-
- SEAT = 1;
-
- MAU = 2;
-
- GB = 3;
-
- LICENSED_USER = 4;
-
- MINUTES = 5;
-
-
-
-
-
- IAAS_USAGE = 6;
-
- SUBSCRIPTION = 7;
- }
- enum PeriodType {
-
- PERIOD_TYPE_UNSPECIFIED = 0;
-
- DAY = 1;
-
- MONTH = 2;
-
- YEAR = 3;
- }
- message Offer {
- option (google.api.resource) = {
- type: "cloudchannel.googleapis.com/Offer"
- pattern: "accounts/{account}/offers/{offer}"
- };
-
-
- string name = 1;
-
- MarketingInfo marketing_info = 2;
-
- Sku sku = 3;
-
- Plan plan = 4;
-
- Constraints constraints = 5;
-
- repeated PriceByResource price_by_resources = 6;
-
- google.protobuf.Timestamp start_time = 7;
-
- google.protobuf.Timestamp end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- repeated ParameterDefinition parameter_definitions = 9;
-
- string deal_code = 12;
- }
- message ParameterDefinition {
-
- enum ParameterType {
-
- PARAMETER_TYPE_UNSPECIFIED = 0;
-
- INT64 = 1;
-
- STRING = 2;
-
- DOUBLE = 3;
- }
-
- string name = 1;
-
-
- ParameterType parameter_type = 2;
-
-
-
- Value min_value = 3;
-
-
-
- Value max_value = 4;
-
-
-
- repeated Value allowed_values = 5;
-
- bool optional = 6;
- }
- message Constraints {
-
- CustomerConstraints customer_constraints = 1;
- }
- message CustomerConstraints {
-
- repeated string allowed_regions = 1;
-
- repeated CloudIdentityInfo.CustomerType allowed_customer_types = 2;
-
- repeated PromotionalOrderType promotional_order_types = 3;
- }
- message Plan {
-
- PaymentPlan payment_plan = 1;
-
- PaymentType payment_type = 2;
-
-
- Period payment_cycle = 3;
-
-
-
-
-
-
- Period trial_period = 4;
-
-
- string billing_account = 5;
- }
- message PriceByResource {
-
- ResourceType resource_type = 1;
-
- Price price = 2;
-
- repeated PricePhase price_phases = 3;
- }
- message Price {
-
- google.type.Money base_price = 1;
-
-
- double discount = 2;
-
- google.type.Money effective_price = 3;
-
- string external_price_uri = 4;
- }
- message PricePhase {
-
- PeriodType period_type = 1;
-
- int32 first_period = 2;
-
- int32 last_period = 3;
-
- Price price = 4;
-
- repeated PriceTier price_tiers = 5;
- }
- message PriceTier {
-
- int32 first_resource = 1;
-
- int32 last_resource = 2;
-
- Price price = 3;
- }
- message Period {
-
- int32 duration = 1;
-
- PeriodType period_type = 2;
- }
|