1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/type/datetime.proto
3
4package datetime
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	duration "github.com/golang/protobuf/ptypes/duration"
12)
13
14// Reference imports to suppress errors if they are not otherwise used.
15var _ = proto.Marshal
16var _ = fmt.Errorf
17var _ = math.Inf
18
19// This is a compile-time assertion to ensure that this generated file
20// is compatible with the proto package it is being compiled against.
21// A compilation error at this line likely means your copy of the
22// proto package needs to be updated.
23const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
24
25// Represents civil time in one of a few possible ways:
26//
27//  * When utc_offset is set and time_zone is unset: a civil time on a calendar
28//    day with a particular offset from UTC.
29//  * When time_zone is set and utc_offset is unset: a civil time on a calendar
30//    day in a particular time zone.
31//  * When neither time_zone nor utc_offset is set: a civil time on a calendar
32//    day in local time.
33//
34// The date is relative to the Proleptic Gregorian Calendar.
35//
36// If year is 0, the DateTime is considered not to have a specific year. month
37// and day must have valid, non-zero values.
38//
39// This type is more flexible than some applications may want. Make sure to
40// document and validate your application's limitations.
41type DateTime struct {
42	// Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a
43	// datetime without a year.
44	Year int32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"`
45	// Required. Month of year. Must be from 1 to 12.
46	Month int32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"`
47	// Required. Day of month. Must be from 1 to 31 and valid for the year and
48	// month.
49	Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
50	// Required. Hours of day in 24 hour format. Should be from 0 to 23. An API
51	// may choose to allow the value "24:00:00" for scenarios like business
52	// closing time.
53	Hours int32 `protobuf:"varint,4,opt,name=hours,proto3" json:"hours,omitempty"`
54	// Required. Minutes of hour of day. Must be from 0 to 59.
55	Minutes int32 `protobuf:"varint,5,opt,name=minutes,proto3" json:"minutes,omitempty"`
56	// Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
57	// API may allow the value 60 if it allows leap-seconds.
58	Seconds int32 `protobuf:"varint,6,opt,name=seconds,proto3" json:"seconds,omitempty"`
59	// Required. Fractions of seconds in nanoseconds. Must be from 0 to
60	// 999,999,999.
61	Nanos int32 `protobuf:"varint,7,opt,name=nanos,proto3" json:"nanos,omitempty"`
62	// Optional. Specifies either the UTC offset or the time zone of the DateTime.
63	// Choose carefully between them, considering that time zone data may change
64	// in the future (for example, a country modifies their DST start/end dates,
65	// and future DateTimes in the affected range had already been stored).
66	// If omitted, the DateTime is considered to be in local time.
67	//
68	// Types that are valid to be assigned to TimeOffset:
69	//	*DateTime_UtcOffset
70	//	*DateTime_TimeZone
71	TimeOffset           isDateTime_TimeOffset `protobuf_oneof:"time_offset"`
72	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
73	XXX_unrecognized     []byte                `json:"-"`
74	XXX_sizecache        int32                 `json:"-"`
75}
76
77func (m *DateTime) Reset()         { *m = DateTime{} }
78func (m *DateTime) String() string { return proto.CompactTextString(m) }
79func (*DateTime) ProtoMessage()    {}
80func (*DateTime) Descriptor() ([]byte, []int) {
81	return fileDescriptor_247e8eac669493f4, []int{0}
82}
83
84func (m *DateTime) XXX_Unmarshal(b []byte) error {
85	return xxx_messageInfo_DateTime.Unmarshal(m, b)
86}
87func (m *DateTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
88	return xxx_messageInfo_DateTime.Marshal(b, m, deterministic)
89}
90func (m *DateTime) XXX_Merge(src proto.Message) {
91	xxx_messageInfo_DateTime.Merge(m, src)
92}
93func (m *DateTime) XXX_Size() int {
94	return xxx_messageInfo_DateTime.Size(m)
95}
96func (m *DateTime) XXX_DiscardUnknown() {
97	xxx_messageInfo_DateTime.DiscardUnknown(m)
98}
99
100var xxx_messageInfo_DateTime proto.InternalMessageInfo
101
102func (m *DateTime) GetYear() int32 {
103	if m != nil {
104		return m.Year
105	}
106	return 0
107}
108
109func (m *DateTime) GetMonth() int32 {
110	if m != nil {
111		return m.Month
112	}
113	return 0
114}
115
116func (m *DateTime) GetDay() int32 {
117	if m != nil {
118		return m.Day
119	}
120	return 0
121}
122
123func (m *DateTime) GetHours() int32 {
124	if m != nil {
125		return m.Hours
126	}
127	return 0
128}
129
130func (m *DateTime) GetMinutes() int32 {
131	if m != nil {
132		return m.Minutes
133	}
134	return 0
135}
136
137func (m *DateTime) GetSeconds() int32 {
138	if m != nil {
139		return m.Seconds
140	}
141	return 0
142}
143
144func (m *DateTime) GetNanos() int32 {
145	if m != nil {
146		return m.Nanos
147	}
148	return 0
149}
150
151type isDateTime_TimeOffset interface {
152	isDateTime_TimeOffset()
153}
154
155type DateTime_UtcOffset struct {
156	UtcOffset *duration.Duration `protobuf:"bytes,8,opt,name=utc_offset,json=utcOffset,proto3,oneof"`
157}
158
159type DateTime_TimeZone struct {
160	TimeZone *TimeZone `protobuf:"bytes,9,opt,name=time_zone,json=timeZone,proto3,oneof"`
161}
162
163func (*DateTime_UtcOffset) isDateTime_TimeOffset() {}
164
165func (*DateTime_TimeZone) isDateTime_TimeOffset() {}
166
167func (m *DateTime) GetTimeOffset() isDateTime_TimeOffset {
168	if m != nil {
169		return m.TimeOffset
170	}
171	return nil
172}
173
174func (m *DateTime) GetUtcOffset() *duration.Duration {
175	if x, ok := m.GetTimeOffset().(*DateTime_UtcOffset); ok {
176		return x.UtcOffset
177	}
178	return nil
179}
180
181func (m *DateTime) GetTimeZone() *TimeZone {
182	if x, ok := m.GetTimeOffset().(*DateTime_TimeZone); ok {
183		return x.TimeZone
184	}
185	return nil
186}
187
188// XXX_OneofWrappers is for the internal use of the proto package.
189func (*DateTime) XXX_OneofWrappers() []interface{} {
190	return []interface{}{
191		(*DateTime_UtcOffset)(nil),
192		(*DateTime_TimeZone)(nil),
193	}
194}
195
196// Represents a time zone from the
197// [IANA Time Zone Database](https://www.iana.org/time-zones).
198type TimeZone struct {
199	// IANA Time Zone Database time zone, e.g. "America/New_York".
200	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
201	// Optional. IANA Time Zone Database version number, e.g. "2019a".
202	Version              string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
203	XXX_NoUnkeyedLiteral struct{} `json:"-"`
204	XXX_unrecognized     []byte   `json:"-"`
205	XXX_sizecache        int32    `json:"-"`
206}
207
208func (m *TimeZone) Reset()         { *m = TimeZone{} }
209func (m *TimeZone) String() string { return proto.CompactTextString(m) }
210func (*TimeZone) ProtoMessage()    {}
211func (*TimeZone) Descriptor() ([]byte, []int) {
212	return fileDescriptor_247e8eac669493f4, []int{1}
213}
214
215func (m *TimeZone) XXX_Unmarshal(b []byte) error {
216	return xxx_messageInfo_TimeZone.Unmarshal(m, b)
217}
218func (m *TimeZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
219	return xxx_messageInfo_TimeZone.Marshal(b, m, deterministic)
220}
221func (m *TimeZone) XXX_Merge(src proto.Message) {
222	xxx_messageInfo_TimeZone.Merge(m, src)
223}
224func (m *TimeZone) XXX_Size() int {
225	return xxx_messageInfo_TimeZone.Size(m)
226}
227func (m *TimeZone) XXX_DiscardUnknown() {
228	xxx_messageInfo_TimeZone.DiscardUnknown(m)
229}
230
231var xxx_messageInfo_TimeZone proto.InternalMessageInfo
232
233func (m *TimeZone) GetId() string {
234	if m != nil {
235		return m.Id
236	}
237	return ""
238}
239
240func (m *TimeZone) GetVersion() string {
241	if m != nil {
242		return m.Version
243	}
244	return ""
245}
246
247func init() {
248	proto.RegisterType((*DateTime)(nil), "google.type.DateTime")
249	proto.RegisterType((*TimeZone)(nil), "google.type.TimeZone")
250}
251
252func init() {
253	proto.RegisterFile("google/type/datetime.proto", fileDescriptor_247e8eac669493f4)
254}
255
256var fileDescriptor_247e8eac669493f4 = []byte{
257	// 349 bytes of a gzipped FileDescriptorProto
258	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x51, 0x4d, 0x6f, 0xe2, 0x30,
259	0x14, 0x24, 0xe1, 0x2b, 0x31, 0x62, 0x77, 0x65, 0xed, 0x4a, 0x5e, 0x0e, 0x15, 0xe2, 0xc4, 0xc9,
260	0x91, 0x5a, 0x4e, 0x6d, 0x4f, 0x08, 0xa9, 0xdc, 0x8a, 0x22, 0x4e, 0x5c, 0x90, 0x49, 0x4c, 0xb0,
261	0x44, 0xfc, 0x50, 0xec, 0x54, 0xa2, 0x3f, 0xa7, 0x97, 0xfe, 0xc5, 0x1e, 0x2b, 0x3f, 0x27, 0x12,
262	0xbd, 0xcd, 0xbc, 0x99, 0xe7, 0x97, 0x99, 0x90, 0x49, 0x01, 0x50, 0x9c, 0x65, 0x62, 0xaf, 0x17,
263	0x99, 0xe4, 0xc2, 0x4a, 0xab, 0x4a, 0xc9, 0x2f, 0x15, 0x58, 0xa0, 0x23, 0xaf, 0x71, 0xa7, 0x4d,
264	0xee, 0x1a, 0x23, 0x4a, 0x87, 0xfa, 0x98, 0xe4, 0x75, 0x25, 0xac, 0x02, 0xed, 0xcd, 0xb3, 0xcf,
265	0x90, 0x44, 0x2b, 0x61, 0xe5, 0x56, 0x95, 0x92, 0x52, 0xd2, 0xbb, 0x4a, 0x51, 0xb1, 0x60, 0x1a,
266	0xcc, 0xfb, 0x29, 0x62, 0xfa, 0x97, 0xf4, 0x4b, 0xd0, 0xf6, 0xc4, 0x42, 0x1c, 0x7a, 0x42, 0xff,
267	0x90, 0x6e, 0x2e, 0xae, 0xac, 0x8b, 0x33, 0x07, 0x9d, 0xef, 0x04, 0x75, 0x65, 0x58, 0xcf, 0xfb,
268	0x90, 0x50, 0x46, 0x86, 0xa5, 0xd2, 0xb5, 0x95, 0x86, 0xf5, 0x71, 0xde, 0x52, 0xa7, 0x18, 0x99,
269	0x81, 0xce, 0x0d, 0x1b, 0x78, 0xa5, 0xa1, 0xee, 0x25, 0x2d, 0x34, 0x18, 0x36, 0xf4, 0x2f, 0x21,
270	0xa1, 0x8f, 0x84, 0xd4, 0x36, 0xdb, 0xc3, 0xf1, 0x68, 0xa4, 0x65, 0xd1, 0x34, 0x98, 0x8f, 0xee,
271	0xff, 0xf3, 0x26, 0x6a, 0x9b, 0x8e, 0xaf, 0x9a, 0x74, 0xeb, 0x4e, 0x1a, 0xd7, 0x36, 0x7b, 0x45,
272	0x37, 0x5d, 0x90, 0xd8, 0xf5, 0xb3, 0x7f, 0x07, 0x2d, 0x59, 0x8c, 0xab, 0xff, 0xf8, 0x4d, 0x4b,
273	0xdc, 0xa5, 0xdf, 0x81, 0x96, 0xeb, 0x4e, 0x1a, 0xd9, 0x06, 0x2f, 0xc7, 0x64, 0x84, 0x5b, 0xfe,
274	0xe4, 0x6c, 0x41, 0xa2, 0xd6, 0x46, 0x7f, 0x91, 0x50, 0xe5, 0x58, 0x53, 0x9c, 0x86, 0x2a, 0x77,
275	0x61, 0xde, 0x64, 0x65, 0x14, 0x68, 0xac, 0x29, 0x4e, 0x5b, 0xba, 0x54, 0xe4, 0x77, 0x06, 0xe5,
276	0xed, 0xb1, 0xe5, 0xb8, 0xed, 0x7b, 0xe3, 0xbe, 0x7a, 0x13, 0xec, 0x9e, 0x1b, 0xb5, 0x80, 0xb3,
277	0xd0, 0x05, 0x87, 0xaa, 0x48, 0x0a, 0xa9, 0x31, 0x53, 0xe2, 0x25, 0x71, 0x51, 0xe6, 0xe7, 0xbf,
278	0x7e, 0x6a, 0xc1, 0x57, 0x10, 0x7c, 0x84, 0xdd, 0x97, 0xed, 0xe6, 0x30, 0xc0, 0x8d, 0x87, 0xef,
279	0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0xfe, 0x9d, 0x3c, 0x1c, 0x02, 0x00, 0x00,
280}
281