// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/securitycenter/settings/v1beta1/billing_settings.proto

package settings

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Billing tier options
type BillingTier int32

const (
	// Default value. This value is unused.
	BillingTier_BILLING_TIER_UNSPECIFIED BillingTier = 0
	// The standard billing tier.
	BillingTier_STANDARD BillingTier = 1
	// The premium billing tier.
	BillingTier_PREMIUM BillingTier = 2
)

var BillingTier_name = map[int32]string{
	0: "BILLING_TIER_UNSPECIFIED",
	1: "STANDARD",
	2: "PREMIUM",
}

var BillingTier_value = map[string]int32{
	"BILLING_TIER_UNSPECIFIED": 0,
	"STANDARD":                 1,
	"PREMIUM":                  2,
}

func (x BillingTier) String() string {
	return proto.EnumName(BillingTier_name, int32(x))
}

func (BillingTier) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_5cb4b2830c5b4767, []int{0}
}

// Billing type
type BillingType int32

const (
	// Default billing type
	BillingType_BILLING_TYPE_UNSPECIFIED BillingType = 0
	// Subscription for Premium billing tier
	BillingType_SUBSCRIPTION BillingType = 1
	// Trial subscription for Premium billing tier
	BillingType_TRIAL_SUBSCRIPTION BillingType = 2
	// Alpha customer for Premium billing tier
	BillingType_ALPHA BillingType = 3
)

var BillingType_name = map[int32]string{
	0: "BILLING_TYPE_UNSPECIFIED",
	1: "SUBSCRIPTION",
	2: "TRIAL_SUBSCRIPTION",
	3: "ALPHA",
}

var BillingType_value = map[string]int32{
	"BILLING_TYPE_UNSPECIFIED": 0,
	"SUBSCRIPTION":             1,
	"TRIAL_SUBSCRIPTION":       2,
	"ALPHA":                    3,
}

func (x BillingType) String() string {
	return proto.EnumName(BillingType_name, int32(x))
}

func (BillingType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_5cb4b2830c5b4767, []int{1}
}

// Billing settings
type BillingSettings struct {
	// Output only. Billing tier selected by customer
	BillingTier BillingTier `protobuf:"varint,1,opt,name=billing_tier,json=billingTier,proto3,enum=google.cloud.securitycenter.settings.v1beta1.BillingTier" json:"billing_tier,omitempty"`
	// Output only. Type of billing method
	BillingType BillingType `protobuf:"varint,2,opt,name=billing_type,json=billingType,proto3,enum=google.cloud.securitycenter.settings.v1beta1.BillingType" json:"billing_type,omitempty"`
	// Output only. The absolute point in time when the subscription became effective.
	// Can be compared to expire_time value to determine full contract duration
	StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Output only. The absolute point in time when the subscription expires.
	//
	// If this field is populated and billing_tier is STANDARD, this is
	// indication of a point in the _past_ when a PREMIUM access ended.
	ExpireTime           *timestamp.Timestamp `protobuf:"bytes,4,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *BillingSettings) Reset()         { *m = BillingSettings{} }
func (m *BillingSettings) String() string { return proto.CompactTextString(m) }
func (*BillingSettings) ProtoMessage()    {}
func (*BillingSettings) Descriptor() ([]byte, []int) {
	return fileDescriptor_5cb4b2830c5b4767, []int{0}
}

func (m *BillingSettings) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BillingSettings.Unmarshal(m, b)
}
func (m *BillingSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BillingSettings.Marshal(b, m, deterministic)
}
func (m *BillingSettings) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BillingSettings.Merge(m, src)
}
func (m *BillingSettings) XXX_Size() int {
	return xxx_messageInfo_BillingSettings.Size(m)
}
func (m *BillingSettings) XXX_DiscardUnknown() {
	xxx_messageInfo_BillingSettings.DiscardUnknown(m)
}

var xxx_messageInfo_BillingSettings proto.InternalMessageInfo

func (m *BillingSettings) GetBillingTier() BillingTier {
	if m != nil {
		return m.BillingTier
	}
	return BillingTier_BILLING_TIER_UNSPECIFIED
}

func (m *BillingSettings) GetBillingType() BillingType {
	if m != nil {
		return m.BillingType
	}
	return BillingType_BILLING_TYPE_UNSPECIFIED
}

func (m *BillingSettings) GetStartTime() *timestamp.Timestamp {
	if m != nil {
		return m.StartTime
	}
	return nil
}

func (m *BillingSettings) GetExpireTime() *timestamp.Timestamp {
	if m != nil {
		return m.ExpireTime
	}
	return nil
}

func init() {
	proto.RegisterEnum("google.cloud.securitycenter.settings.v1beta1.BillingTier", BillingTier_name, BillingTier_value)
	proto.RegisterEnum("google.cloud.securitycenter.settings.v1beta1.BillingType", BillingType_name, BillingType_value)
	proto.RegisterType((*BillingSettings)(nil), "google.cloud.securitycenter.settings.v1beta1.BillingSettings")
}

func init() {
	proto.RegisterFile("google/cloud/securitycenter/settings/v1beta1/billing_settings.proto", fileDescriptor_5cb4b2830c5b4767)
}

var fileDescriptor_5cb4b2830c5b4767 = []byte{
	// 503 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0x4f, 0x6b, 0x9c, 0x40,
	0x18, 0xc6, 0xab, 0xdb, 0x7f, 0x19, 0x97, 0x56, 0x86, 0x52, 0x96, 0x10, 0x68, 0xe8, 0x29, 0x84,
	0xa0, 0xd9, 0xf4, 0x54, 0x0b, 0xa5, 0xea, 0x9a, 0x54, 0xd8, 0x6c, 0x45, 0xdd, 0x40, 0xcb, 0x82,
	0x1d, 0x37, 0x13, 0x3b, 0xe0, 0x3a, 0xa2, 0xb3, 0xa1, 0xfb, 0x95, 0x7a, 0xee, 0xa7, 0xe8, 0x37,
	0xe8, 0xad, 0xe7, 0x7e, 0x82, 0x1e, 0x8b, 0xce, 0x4c, 0xb2, 0xee, 0x29, 0x4b, 0x8e, 0xf3, 0xce,
	0xf3, 0xfe, 0x9e, 0x67, 0x1e, 0x14, 0xb8, 0x19, 0xa5, 0x59, 0x8e, 0xcd, 0x79, 0x4e, 0x97, 0x97,
	0x66, 0x8d, 0xe7, 0xcb, 0x8a, 0xb0, 0xd5, 0x1c, 0x17, 0x0c, 0x57, 0x66, 0x8d, 0x19, 0x23, 0x45,
	0x56, 0x9b, 0xd7, 0xc3, 0x14, 0x33, 0x34, 0x34, 0x53, 0x92, 0xe7, 0xa4, 0xc8, 0x12, 0x79, 0x61,
	0x94, 0x15, 0x65, 0x14, 0x1e, 0x71, 0x88, 0xd1, 0x42, 0x8c, 0x2e, 0xc4, 0xb8, 0xd1, 0x0a, 0xc8,
	0xee, 0x2b, 0x61, 0x89, 0x4a, 0x62, 0x5e, 0x11, 0x9c, 0x5f, 0x26, 0x29, 0xfe, 0x86, 0xae, 0x09,
	0xad, 0x38, 0xee, 0x46, 0xd0, 0x9e, 0xd2, 0xe5, 0x95, 0xc9, 0xc8, 0x02, 0xd7, 0x0c, 0x2d, 0x4a,
	0x21, 0xd8, 0x5b, 0x23, 0xa0, 0xa2, 0xa0, 0x0c, 0x31, 0x42, 0x0b, 0x91, 0xe6, 0xf5, 0x6f, 0x15,
	0x3c, 0x77, 0x78, 0xd0, 0x48, 0x78, 0x43, 0x04, 0xfa, 0x32, 0x3b, 0x23, 0xb8, 0x1a, 0x28, 0xfb,
	0xca, 0xc1, 0xb3, 0x93, 0xb7, 0xc6, 0x36, 0xc1, 0x0d, 0x01, 0x8d, 0x09, 0xae, 0x9c, 0xde, 0x1f,
	0xbb, 0x17, 0x6a, 0xe9, 0xed, 0xa4, 0x63, 0xb1, 0x2a, 0xf1, 0x40, 0xbd, 0x8f, 0xc5, 0xaa, 0xc4,
	0x1b, 0x16, 0xab, 0x12, 0xc3, 0xf7, 0x00, 0xd4, 0x0c, 0x55, 0x2c, 0x69, 0x0a, 0x19, 0xf4, 0xf6,
	0x95, 0x03, 0xed, 0x64, 0x57, 0x1a, 0xc8, 0xb6, 0x8c, 0x58, 0xb6, 0xc5, 0x09, 0x3b, 0xed, 0x4a,
	0x33, 0x84, 0x1f, 0x80, 0x86, 0xbf, 0x97, 0xa4, 0xc2, 0x1c, 0xf0, 0xf0, 0x6e, 0x00, 0xc0, 0x77,
	0x9a, 0xe9, 0xe1, 0x29, 0xd0, 0xd6, 0x5a, 0x80, 0x7b, 0x60, 0xe0, 0xf8, 0xe3, 0xb1, 0x3f, 0x39,
	0x4b, 0x62, 0xdf, 0x0b, 0x93, 0xe9, 0x24, 0x0a, 0x3c, 0xd7, 0x3f, 0xf5, 0xbd, 0x91, 0xfe, 0x00,
	0xf6, 0xc1, 0xd3, 0x28, 0xb6, 0x27, 0x23, 0x3b, 0x1c, 0xe9, 0x0a, 0xd4, 0xc0, 0x93, 0x20, 0xf4,
	0xce, 0xfd, 0xe9, 0xb9, 0xae, 0x1e, 0x7e, 0xbd, 0xe5, 0x34, 0x0f, 0x5b, 0xe7, 0x7c, 0x0e, 0xbc,
	0x0d, 0x8e, 0x0e, 0xfa, 0xd1, 0xd4, 0x89, 0xdc, 0xd0, 0x0f, 0x62, 0xff, 0xd3, 0x44, 0x57, 0xe0,
	0x4b, 0x00, 0xe3, 0xd0, 0xb7, 0xc7, 0x49, 0x67, 0xae, 0xc2, 0x1d, 0xf0, 0xc8, 0x1e, 0x07, 0x1f,
	0x6d, 0xbd, 0xe7, 0xfc, 0x54, 0xc1, 0xf1, 0x9c, 0x2e, 0xb6, 0xaa, 0xdf, 0x79, 0xb1, 0xf1, 0xdd,
	0x04, 0x4d, 0x25, 0x81, 0xf2, 0x25, 0x16, 0x94, 0x8c, 0xe6, 0xa8, 0xc8, 0x0c, 0x5a, 0x65, 0x66,
	0x86, 0x8b, 0xb6, 0x30, 0x93, 0x5f, 0xa1, 0x92, 0xd4, 0x77, 0xfb, 0x89, 0xde, 0xc9, 0xc1, 0x3f,
	0x45, 0xf9, 0xa1, 0x1e, 0x9d, 0x71, 0xb2, 0xdb, 0xe6, 0x8b, 0xc4, 0xaa, 0xcb, 0xf3, 0xc9, 0x18,
	0xc6, 0xc5, 0xd0, 0x69, 0x56, 0x7f, 0x49, 0xf9, 0xac, 0x95, 0xcf, 0xba, 0xf2, 0x99, 0x94, 0xcf,
	0x2e, 0xb8, 0xd3, 0x5f, 0xf5, 0x98, 0xcb, 0x2d, 0xab, 0xd5, 0x5b, 0x56, 0x77, 0xa1, 0x39, 0xf3,
	0x0d, 0xcb, 0x12, 0x2b, 0xe9, 0xe3, 0xf6, 0x51, 0x6f, 0xfe, 0x07, 0x00, 0x00, 0xff, 0xff, 0x28,
	0xc1, 0x5b, 0x24, 0x18, 0x04, 0x00, 0x00,
}
