# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/channel/v1/offers.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/cloud/channel/v1/common_pb'
require 'google/cloud/channel/v1/products_pb'
require 'google/protobuf/timestamp_pb'
require 'google/type/money_pb'


descriptor_data = "\n$google/cloud/channel/v1/offers.proto\x12\x17google.cloud.channel.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a$google/cloud/channel/v1/common.proto\x1a&google/cloud/channel/v1/products.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/type/money.proto\"\xbc\x04\n\x05Offer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12>\n\x0emarketing_info\x18\x02 \x01(\x0b\x32&.google.cloud.channel.v1.MarketingInfo\x12)\n\x03sku\x18\x03 \x01(\x0b\x32\x1c.google.cloud.channel.v1.Sku\x12+\n\x04plan\x18\x04 \x01(\x0b\x32\x1d.google.cloud.channel.v1.Plan\x12\x39\n\x0b\x63onstraints\x18\x05 \x01(\x0b\x32$.google.cloud.channel.v1.Constraints\x12\x44\n\x12price_by_resources\x18\x06 \x03(\x0b\x32(.google.cloud.channel.v1.PriceByResource\x12.\n\nstart_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\x08\x65nd_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12K\n\x15parameter_definitions\x18\t \x03(\x0b\x32,.google.cloud.channel.v1.ParameterDefinition\x12\x11\n\tdeal_code\x18\x0c \x01(\t:I\xea\x41\x46\n!cloudchannel.googleapis.com/Offer\x12!accounts/{account}/offers/{offer}\"\x88\x03\n\x13ParameterDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12R\n\x0eparameter_type\x18\x02 \x01(\x0e\x32:.google.cloud.channel.v1.ParameterDefinition.ParameterType\x12\x31\n\tmin_value\x18\x03 \x01(\x0b\x32\x1e.google.cloud.channel.v1.Value\x12\x31\n\tmax_value\x18\x04 \x01(\x0b\x32\x1e.google.cloud.channel.v1.Value\x12\x36\n\x0e\x61llowed_values\x18\x05 \x03(\x0b\x32\x1e.google.cloud.channel.v1.Value\x12\x10\n\x08optional\x18\x06 \x01(\x08\"_\n\rParameterType\x12\x1e\n\x1aPARAMETER_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05INT64\x10\x01\x12\n\n\x06STRING\x10\x02\x12\n\n\x06\x44OUBLE\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\"Y\n\x0b\x43onstraints\x12J\n\x14\x63ustomer_constraints\x18\x01 \x01(\x0b\x32,.google.cloud.channel.v1.CustomerConstraints\"\xd7\x01\n\x13\x43ustomerConstraints\x12\x17\n\x0f\x61llowed_regions\x18\x01 \x03(\t\x12W\n\x16\x61llowed_customer_types\x18\x02 \x03(\x0e\x32\x37.google.cloud.channel.v1.CloudIdentityInfo.CustomerType\x12N\n\x17promotional_order_types\x18\x03 \x03(\x0e\x32-.google.cloud.channel.v1.PromotionalOrderType\"\x86\x02\n\x04Plan\x12:\n\x0cpayment_plan\x18\x01 \x01(\x0e\x32$.google.cloud.channel.v1.PaymentPlan\x12:\n\x0cpayment_type\x18\x02 \x01(\x0e\x32$.google.cloud.channel.v1.PaymentType\x12\x36\n\rpayment_cycle\x18\x03 \x01(\x0b\x32\x1f.google.cloud.channel.v1.Period\x12\x35\n\x0ctrial_period\x18\x04 \x01(\x0b\x32\x1f.google.cloud.channel.v1.Period\x12\x17\n\x0f\x62illing_account\x18\x05 \x01(\t\"\xb9\x01\n\x0fPriceByResource\x12<\n\rresource_type\x18\x01 \x01(\x0e\x32%.google.cloud.channel.v1.ResourceType\x12-\n\x05price\x18\x02 \x01(\x0b\x32\x1e.google.cloud.channel.v1.Price\x12\x39\n\x0cprice_phases\x18\x03 \x03(\x0b\x32#.google.cloud.channel.v1.PricePhase\"\x8a\x01\n\x05Price\x12&\n\nbase_price\x18\x01 \x01(\x0b\x32\x12.google.type.Money\x12\x10\n\x08\x64iscount\x18\x02 \x01(\x01\x12+\n\x0f\x65\x66\x66\x65\x63tive_price\x18\x03 \x01(\x0b\x32\x12.google.type.Money\x12\x1a\n\x12\x65xternal_price_uri\x18\x04 \x01(\t\"\xd9\x01\n\nPricePhase\x12\x38\n\x0bperiod_type\x18\x01 \x01(\x0e\x32#.google.cloud.channel.v1.PeriodType\x12\x14\n\x0c\x66irst_period\x18\x02 \x01(\x05\x12\x13\n\x0blast_period\x18\x03 \x01(\x05\x12-\n\x05price\x18\x04 \x01(\x0b\x32\x1e.google.cloud.channel.v1.Price\x12\x37\n\x0bprice_tiers\x18\x05 \x03(\x0b\x32\".google.cloud.channel.v1.PriceTier\"i\n\tPriceTier\x12\x16\n\x0e\x66irst_resource\x18\x01 \x01(\x05\x12\x15\n\rlast_resource\x18\x02 \x01(\x05\x12-\n\x05price\x18\x03 \x01(\x0b\x32\x1e.google.cloud.channel.v1.Price\"T\n\x06Period\x12\x10\n\x08\x64uration\x18\x01 \x01(\x05\x12\x38\n\x0bperiod_type\x18\x02 \x01(\x0e\x32#.google.cloud.channel.v1.PeriodType*m\n\x14PromotionalOrderType\x12 \n\x1cPROMOTIONAL_TYPE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bNEW_UPGRADE\x10\x01\x12\x0c\n\x08TRANSFER\x10\x02\x12\x14\n\x10PROMOTION_SWITCH\x10\x03*k\n\x0bPaymentPlan\x12\x1c\n\x18PAYMENT_PLAN_UNSPECIFIED\x10\x00\x12\x0e\n\nCOMMITMENT\x10\x01\x12\x0c\n\x08\x46LEXIBLE\x10\x02\x12\x08\n\x04\x46REE\x10\x03\x12\t\n\x05TRIAL\x10\x04\x12\x0b\n\x07OFFLINE\x10\x05*D\n\x0bPaymentType\x12\x1c\n\x18PAYMENT_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06PREPAY\x10\x01\x12\x0b\n\x07POSTPAY\x10\x02*\x8a\x01\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04SEAT\x10\x01\x12\x07\n\x03MAU\x10\x02\x12\x06\n\x02GB\x10\x03\x12\x11\n\rLICENSED_USER\x10\x04\x12\x0b\n\x07MINUTES\x10\x05\x12\x0e\n\nIAAS_USAGE\x10\x06\x12\x10\n\x0cSUBSCRIPTION\x10\x07*G\n\nPeriodType\x12\x1b\n\x17PERIOD_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\t\n\x05MONTH\x10\x02\x12\x08\n\x04YEAR\x10\x03\x42\x63\n\x1b\x63om.google.cloud.channel.v1B\x0bOffersProtoP\x01Z5cloud.google.com/go/channel/apiv1/channelpb;channelpbb\x06proto3"

pool = Google::Protobuf::DescriptorPool.generated_pool

begin
  pool.add_serialized_file(descriptor_data)
rescue TypeError
  # Compatibility code: will be removed in the next major version.
  require 'google/protobuf/descriptor_pb'
  parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
  parsed.clear_dependency
  serialized = parsed.class.encode(parsed)
  file = pool.add_serialized_file(serialized)
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
  imports = [
    ["google.cloud.channel.v1.MarketingInfo", "google/cloud/channel/v1/products.proto"],
    ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
    ["google.cloud.channel.v1.Value", "google/cloud/channel/v1/common.proto"],
    ["google.type.Money", "google/type/money.proto"],
  ]
  imports.each do |type_name, expected_filename|
    import_file = pool.lookup(type_name).file_descriptor
    if import_file.name != expected_filename
      warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
    end
  end
  warn "Each proto file must use a consistent fully-qualified name."
  warn "This will become an error in the next major version."
end

module Google
  module Cloud
    module Channel
      module V1
        Offer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.Offer").msgclass
        ParameterDefinition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.ParameterDefinition").msgclass
        ParameterDefinition::ParameterType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.ParameterDefinition.ParameterType").enummodule
        Constraints = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.Constraints").msgclass
        CustomerConstraints = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.CustomerConstraints").msgclass
        Plan = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.Plan").msgclass
        PriceByResource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PriceByResource").msgclass
        Price = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.Price").msgclass
        PricePhase = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PricePhase").msgclass
        PriceTier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PriceTier").msgclass
        Period = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.Period").msgclass
        PromotionalOrderType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PromotionalOrderType").enummodule
        PaymentPlan = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PaymentPlan").enummodule
        PaymentType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PaymentType").enummodule
        ResourceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.ResourceType").enummodule
        PeriodType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.channel.v1.PeriodType").enummodule
      end
    end
  end
end
