1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/talent/v4beta1/job.proto
3
4package talent
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	timestamp "github.com/golang/protobuf/ptypes/timestamp"
12	_ "google.golang.org/genproto/googleapis/api/annotations"
13	_ "google.golang.org/genproto/googleapis/type/postaladdress"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26
27// A Job resource represents a job posting (also referred to as a "job listing"
28// or "job requisition"). A job belongs to a [Company][google.cloud.talent.v4beta1.Company], which is the hiring
29// entity responsible for the job.
30type Job struct {
31	// Required during job update.
32	//
33	// The resource name for the job. This is generated by the service when a
34	// job is created.
35	//
36	// The format is
37	// "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
38	// example, "projects/foo/tenants/bar/jobs/baz".
39	//
40	// If tenant id is unspecified, the default tenant is used. For
41	// example, "projects/foo/jobs/bar".
42	//
43	// Use of this field in job queries and API calls is preferred over the use of
44	// [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this value is unique.
45	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
46	// Required. The resource name of the company listing the job.
47	//
48	// The format is
49	// "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
50	// example, "projects/foo/tenants/bar/companies/baz".
51	//
52	// If tenant id is unspecified, the default tenant is used. For
53	// example, "projects/foo/companies/bar".
54	Company string `protobuf:"bytes,2,opt,name=company,proto3" json:"company,omitempty"`
55	// Required. The requisition ID, also referred to as the posting ID, is assigned by the
56	// client to identify a job. This field is intended to be used by clients
57	// for client identification and tracking of postings. A job isn't allowed
58	// to be created if there is another job with the same [company][google.cloud.talent.v4beta1.Job.name],
59	// [language_code][google.cloud.talent.v4beta1.Job.language_code] and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
60	//
61	// The maximum number of allowed characters is 255.
62	RequisitionId string `protobuf:"bytes,3,opt,name=requisition_id,json=requisitionId,proto3" json:"requisition_id,omitempty"`
63	// Required. The title of the job, such as "Software Engineer"
64	//
65	// The maximum number of allowed characters is 500.
66	Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
67	// Required. The description of the job, which typically includes a multi-paragraph
68	// description of the company and related information. Separate fields are
69	// provided on the job object for [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
70	// [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other job characteristics. Use of
71	// these separate job fields is recommended.
72	//
73	// This field accepts and sanitizes HTML input, and also accepts
74	// bold, italic, ordered list, and unordered list markup tags.
75	//
76	// The maximum number of allowed characters is 100,000.
77	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
78	// Strongly recommended for the best service experience.
79	//
80	// Location(s) where the employer is looking to hire for this job posting.
81	//
82	// Specifying the full street address(es) of the hiring location enables
83	// better API results, especially job searches by commute time.
84	//
85	// At most 50 locations are allowed for best search performance. If a job has
86	// more locations, it is suggested to split it into multiple jobs with unique
87	// [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as
88	// multiple jobs with the same [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code] and
89	// [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not allowed. If the original [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must
90	// be preserved, a custom field should be used for storage. It is also
91	// suggested to group the locations that close to each other in the same job
92	// for better search experience.
93	//
94	// The maximum number of allowed characters is 500.
95	Addresses []string `protobuf:"bytes,6,rep,name=addresses,proto3" json:"addresses,omitempty"`
96	// Job application information.
97	ApplicationInfo *Job_ApplicationInfo `protobuf:"bytes,7,opt,name=application_info,json=applicationInfo,proto3" json:"application_info,omitempty"`
98	// The benefits included with the job.
99	JobBenefits []JobBenefit `protobuf:"varint,8,rep,packed,name=job_benefits,json=jobBenefits,proto3,enum=google.cloud.talent.v4beta1.JobBenefit" json:"job_benefits,omitempty"`
100	// Job compensation information (a.k.a. "pay rate") i.e., the compensation
101	// that will paid to the employee.
102	CompensationInfo *CompensationInfo `protobuf:"bytes,9,opt,name=compensation_info,json=compensationInfo,proto3" json:"compensation_info,omitempty"`
103	// A map of fields to hold both filterable and non-filterable custom job
104	// attributes that are not covered by the provided structured fields.
105	//
106	// The keys of the map are strings up to 64 bytes and must match the
107	// pattern: [a-zA-Z][a-zA-Z0-9_]*. For example, key0LikeThis or
108	// KEY_1_LIKE_THIS.
109	//
110	// At most 100 filterable and at most 100 unfilterable keys are supported.
111	// For filterable `string_values`, across all keys at most 200 values are
112	// allowed, with each string no more than 255 characters. For unfilterable
113	// `string_values`, the maximum total size of `string_values` across all keys
114	// is 50KB.
115	CustomAttributes map[string]*CustomAttribute `protobuf:"bytes,10,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
116	// The desired education degrees for the job, such as Bachelors, Masters.
117	DegreeTypes []DegreeType `protobuf:"varint,11,rep,packed,name=degree_types,json=degreeTypes,proto3,enum=google.cloud.talent.v4beta1.DegreeType" json:"degree_types,omitempty"`
118	// The department or functional area within the company with the open
119	// position.
120	//
121	// The maximum number of allowed characters is 255.
122	Department string `protobuf:"bytes,12,opt,name=department,proto3" json:"department,omitempty"`
123	// The employment type(s) of a job, for example,
124	// [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
125	// [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
126	EmploymentTypes []EmploymentType `protobuf:"varint,13,rep,packed,name=employment_types,json=employmentTypes,proto3,enum=google.cloud.talent.v4beta1.EmploymentType" json:"employment_types,omitempty"`
127	// A description of bonus, commission, and other compensation
128	// incentives associated with the job not including salary or pay.
129	//
130	// The maximum number of allowed characters is 10,000.
131	Incentives string `protobuf:"bytes,14,opt,name=incentives,proto3" json:"incentives,omitempty"`
132	// The language of the posting. This field is distinct from
133	// any requirements for fluency that are associated with the job.
134	//
135	// Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
136	// For more information, see
137	// [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
138	// class="external" target="_blank" }.
139	//
140	// If this field is unspecified and [Job.description][google.cloud.talent.v4beta1.Job.description] is present, detected
141	// language code based on [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned, otherwise
142	// defaults to 'en_US'.
143	LanguageCode string `protobuf:"bytes,15,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
144	// The experience level associated with the job, such as "Entry Level".
145	JobLevel JobLevel `protobuf:"varint,16,opt,name=job_level,json=jobLevel,proto3,enum=google.cloud.talent.v4beta1.JobLevel" json:"job_level,omitempty"`
146	// A promotion value of the job, as determined by the client.
147	// The value determines the sort order of the jobs returned when searching for
148	// jobs using the featured jobs search call, with higher promotional values
149	// being returned first and ties being resolved by relevance sort. Only the
150	// jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
151	//
152	// Default value is 0, and negative values are treated as 0.
153	PromotionValue int32 `protobuf:"varint,17,opt,name=promotion_value,json=promotionValue,proto3" json:"promotion_value,omitempty"`
154	// A description of the qualifications required to perform the
155	// job. The use of this field is recommended
156	// as an alternative to using the more general [description][google.cloud.talent.v4beta1.Job.description] field.
157	//
158	// This field accepts and sanitizes HTML input, and also accepts
159	// bold, italic, ordered list, and unordered list markup tags.
160	//
161	// The maximum number of allowed characters is 10,000.
162	Qualifications string `protobuf:"bytes,18,opt,name=qualifications,proto3" json:"qualifications,omitempty"`
163	// A description of job responsibilities. The use of this field is
164	// recommended as an alternative to using the more general [description][google.cloud.talent.v4beta1.Job.description]
165	// field.
166	//
167	// This field accepts and sanitizes HTML input, and also accepts
168	// bold, italic, ordered list, and unordered list markup tags.
169	//
170	// The maximum number of allowed characters is 10,000.
171	Responsibilities string `protobuf:"bytes,19,opt,name=responsibilities,proto3" json:"responsibilities,omitempty"`
172	// The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for example, state, country) throughout
173	// which the job is available. If this field is set, a [LocationFilter][google.cloud.talent.v4beta1.LocationFilter]
174	// in a search query within the job region finds this job posting if an
175	// exact location match isn't specified. If this field is set to
176	// [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
177	// setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to the same location level as this field
178	// is strongly recommended.
179	PostingRegion PostingRegion `protobuf:"varint,20,opt,name=posting_region,json=postingRegion,proto3,enum=google.cloud.talent.v4beta1.PostingRegion" json:"posting_region,omitempty"`
180	// Deprecated. The job is only visible to the owner.
181	//
182	// The visibility of the job.
183	//
184	// Defaults to [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY] if not specified.
185	Visibility Visibility `protobuf:"varint,21,opt,name=visibility,proto3,enum=google.cloud.talent.v4beta1.Visibility" json:"visibility,omitempty"` // Deprecated: Do not use.
186	// The start timestamp of the job in UTC time zone. Typically this field
187	// is used for contracting engagements. Invalid timestamps are ignored.
188	JobStartTime *timestamp.Timestamp `protobuf:"bytes,22,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty"`
189	// The end timestamp of the job. Typically this field is used for contracting
190	// engagements. Invalid timestamps are ignored.
191	JobEndTime *timestamp.Timestamp `protobuf:"bytes,23,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty"`
192	// The timestamp this job posting was most recently published. The default
193	// value is the time the request arrives at the server. Invalid timestamps are
194	// ignored.
195	PostingPublishTime *timestamp.Timestamp `protobuf:"bytes,24,opt,name=posting_publish_time,json=postingPublishTime,proto3" json:"posting_publish_time,omitempty"`
196	// Strongly recommended for the best service experience.
197	//
198	// The expiration timestamp of the job. After this timestamp, the
199	// job is marked as expired, and it no longer appears in search results. The
200	// expired job can't be listed by the [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API,
201	// but it can be retrieved with the [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or
202	// updated with the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or deleted with
203	// the [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An expired job can
204	// be updated and opened again by using a future expiration timestamp.
205	// Updating an expired job fails if there is another existing open job with
206	// same [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code] and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
207	//
208	// The expired jobs are retained in our system for 90 days. However, the
209	// overall expired job count cannot exceed 3 times the maximum number of
210	// open jobs over previous 7 days. If this threshold is exceeded,
211	// expired jobs are cleaned out in order of earliest expire time.
212	// Expired jobs are no longer accessible after they are cleaned
213	// out.
214	//
215	// Invalid timestamps are ignored, and treated as expire time not provided.
216	//
217	// If the timestamp is before the instant request is made, the job
218	// is treated as expired immediately on creation. This kind of job can
219	// not be updated. And when creating a job with past timestamp, the
220	// [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] must be set before
221	// [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time]. The purpose of this feature is
222	// to allow other objects, such as [Application][google.cloud.talent.v4beta1.Application], to refer a job
223	// that didn't exist in the system prior to becoming expired. If you
224	// want to modify a job that was expired on creation,
225	// delete it and create a new one.
226	//
227	// If this value isn't provided at the time of job creation or is invalid,
228	// the job posting expires after 30 days from the job's creation time. For
229	// example, if the job was created on 2017/01/01 13:00AM UTC with an
230	// unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
231	//
232	// If this value isn't provided on job update, it depends on the field masks
233	// set by [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask]. If the field masks include
234	// [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks are empty meaning that every field is
235	// updated, the job posting expires after 30 days from the job's last
236	// update time. Otherwise the expiration date isn't updated.
237	PostingExpireTime *timestamp.Timestamp `protobuf:"bytes,25,opt,name=posting_expire_time,json=postingExpireTime,proto3" json:"posting_expire_time,omitempty"`
238	// Output only. The timestamp when this job posting was created.
239	PostingCreateTime *timestamp.Timestamp `protobuf:"bytes,26,opt,name=posting_create_time,json=postingCreateTime,proto3" json:"posting_create_time,omitempty"`
240	// Output only. The timestamp when this job posting was last updated.
241	PostingUpdateTime *timestamp.Timestamp `protobuf:"bytes,27,opt,name=posting_update_time,json=postingUpdateTime,proto3" json:"posting_update_time,omitempty"`
242	// Output only. Display name of the company listing the job.
243	CompanyDisplayName string `protobuf:"bytes,28,opt,name=company_display_name,json=companyDisplayName,proto3" json:"company_display_name,omitempty"`
244	// Output only. Derived details about the job posting.
245	DerivedInfo *Job_DerivedInfo `protobuf:"bytes,29,opt,name=derived_info,json=derivedInfo,proto3" json:"derived_info,omitempty"`
246	// Options for job processing.
247	ProcessingOptions    *Job_ProcessingOptions `protobuf:"bytes,30,opt,name=processing_options,json=processingOptions,proto3" json:"processing_options,omitempty"`
248	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
249	XXX_unrecognized     []byte                 `json:"-"`
250	XXX_sizecache        int32                  `json:"-"`
251}
252
253func (m *Job) Reset()         { *m = Job{} }
254func (m *Job) String() string { return proto.CompactTextString(m) }
255func (*Job) ProtoMessage()    {}
256func (*Job) Descriptor() ([]byte, []int) {
257	return fileDescriptor_c717d27462774c27, []int{0}
258}
259
260func (m *Job) XXX_Unmarshal(b []byte) error {
261	return xxx_messageInfo_Job.Unmarshal(m, b)
262}
263func (m *Job) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
264	return xxx_messageInfo_Job.Marshal(b, m, deterministic)
265}
266func (m *Job) XXX_Merge(src proto.Message) {
267	xxx_messageInfo_Job.Merge(m, src)
268}
269func (m *Job) XXX_Size() int {
270	return xxx_messageInfo_Job.Size(m)
271}
272func (m *Job) XXX_DiscardUnknown() {
273	xxx_messageInfo_Job.DiscardUnknown(m)
274}
275
276var xxx_messageInfo_Job proto.InternalMessageInfo
277
278func (m *Job) GetName() string {
279	if m != nil {
280		return m.Name
281	}
282	return ""
283}
284
285func (m *Job) GetCompany() string {
286	if m != nil {
287		return m.Company
288	}
289	return ""
290}
291
292func (m *Job) GetRequisitionId() string {
293	if m != nil {
294		return m.RequisitionId
295	}
296	return ""
297}
298
299func (m *Job) GetTitle() string {
300	if m != nil {
301		return m.Title
302	}
303	return ""
304}
305
306func (m *Job) GetDescription() string {
307	if m != nil {
308		return m.Description
309	}
310	return ""
311}
312
313func (m *Job) GetAddresses() []string {
314	if m != nil {
315		return m.Addresses
316	}
317	return nil
318}
319
320func (m *Job) GetApplicationInfo() *Job_ApplicationInfo {
321	if m != nil {
322		return m.ApplicationInfo
323	}
324	return nil
325}
326
327func (m *Job) GetJobBenefits() []JobBenefit {
328	if m != nil {
329		return m.JobBenefits
330	}
331	return nil
332}
333
334func (m *Job) GetCompensationInfo() *CompensationInfo {
335	if m != nil {
336		return m.CompensationInfo
337	}
338	return nil
339}
340
341func (m *Job) GetCustomAttributes() map[string]*CustomAttribute {
342	if m != nil {
343		return m.CustomAttributes
344	}
345	return nil
346}
347
348func (m *Job) GetDegreeTypes() []DegreeType {
349	if m != nil {
350		return m.DegreeTypes
351	}
352	return nil
353}
354
355func (m *Job) GetDepartment() string {
356	if m != nil {
357		return m.Department
358	}
359	return ""
360}
361
362func (m *Job) GetEmploymentTypes() []EmploymentType {
363	if m != nil {
364		return m.EmploymentTypes
365	}
366	return nil
367}
368
369func (m *Job) GetIncentives() string {
370	if m != nil {
371		return m.Incentives
372	}
373	return ""
374}
375
376func (m *Job) GetLanguageCode() string {
377	if m != nil {
378		return m.LanguageCode
379	}
380	return ""
381}
382
383func (m *Job) GetJobLevel() JobLevel {
384	if m != nil {
385		return m.JobLevel
386	}
387	return JobLevel_JOB_LEVEL_UNSPECIFIED
388}
389
390func (m *Job) GetPromotionValue() int32 {
391	if m != nil {
392		return m.PromotionValue
393	}
394	return 0
395}
396
397func (m *Job) GetQualifications() string {
398	if m != nil {
399		return m.Qualifications
400	}
401	return ""
402}
403
404func (m *Job) GetResponsibilities() string {
405	if m != nil {
406		return m.Responsibilities
407	}
408	return ""
409}
410
411func (m *Job) GetPostingRegion() PostingRegion {
412	if m != nil {
413		return m.PostingRegion
414	}
415	return PostingRegion_POSTING_REGION_UNSPECIFIED
416}
417
418// Deprecated: Do not use.
419func (m *Job) GetVisibility() Visibility {
420	if m != nil {
421		return m.Visibility
422	}
423	return Visibility_VISIBILITY_UNSPECIFIED
424}
425
426func (m *Job) GetJobStartTime() *timestamp.Timestamp {
427	if m != nil {
428		return m.JobStartTime
429	}
430	return nil
431}
432
433func (m *Job) GetJobEndTime() *timestamp.Timestamp {
434	if m != nil {
435		return m.JobEndTime
436	}
437	return nil
438}
439
440func (m *Job) GetPostingPublishTime() *timestamp.Timestamp {
441	if m != nil {
442		return m.PostingPublishTime
443	}
444	return nil
445}
446
447func (m *Job) GetPostingExpireTime() *timestamp.Timestamp {
448	if m != nil {
449		return m.PostingExpireTime
450	}
451	return nil
452}
453
454func (m *Job) GetPostingCreateTime() *timestamp.Timestamp {
455	if m != nil {
456		return m.PostingCreateTime
457	}
458	return nil
459}
460
461func (m *Job) GetPostingUpdateTime() *timestamp.Timestamp {
462	if m != nil {
463		return m.PostingUpdateTime
464	}
465	return nil
466}
467
468func (m *Job) GetCompanyDisplayName() string {
469	if m != nil {
470		return m.CompanyDisplayName
471	}
472	return ""
473}
474
475func (m *Job) GetDerivedInfo() *Job_DerivedInfo {
476	if m != nil {
477		return m.DerivedInfo
478	}
479	return nil
480}
481
482func (m *Job) GetProcessingOptions() *Job_ProcessingOptions {
483	if m != nil {
484		return m.ProcessingOptions
485	}
486	return nil
487}
488
489// Application related details of a job posting.
490type Job_ApplicationInfo struct {
491	// Use this field to specify email address(es) to which resumes or
492	// applications can be sent.
493	//
494	// The maximum number of allowed characters for each entry is 255.
495	Emails []string `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"`
496	// Use this field to provide instructions, such as "Mail your application
497	// to ...", that a candidate can follow to apply for the job.
498	//
499	// This field accepts and sanitizes HTML input, and also accepts
500	// bold, italic, ordered list, and unordered list markup tags.
501	//
502	// The maximum number of allowed characters is 3,000.
503	Instruction string `protobuf:"bytes,2,opt,name=instruction,proto3" json:"instruction,omitempty"`
504	// Use this URI field to direct an applicant to a website, for example to
505	// link to an online application form.
506	//
507	// The maximum number of allowed characters for each entry is 2,000.
508	Uris                 []string `protobuf:"bytes,3,rep,name=uris,proto3" json:"uris,omitempty"`
509	XXX_NoUnkeyedLiteral struct{} `json:"-"`
510	XXX_unrecognized     []byte   `json:"-"`
511	XXX_sizecache        int32    `json:"-"`
512}
513
514func (m *Job_ApplicationInfo) Reset()         { *m = Job_ApplicationInfo{} }
515func (m *Job_ApplicationInfo) String() string { return proto.CompactTextString(m) }
516func (*Job_ApplicationInfo) ProtoMessage()    {}
517func (*Job_ApplicationInfo) Descriptor() ([]byte, []int) {
518	return fileDescriptor_c717d27462774c27, []int{0, 0}
519}
520
521func (m *Job_ApplicationInfo) XXX_Unmarshal(b []byte) error {
522	return xxx_messageInfo_Job_ApplicationInfo.Unmarshal(m, b)
523}
524func (m *Job_ApplicationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
525	return xxx_messageInfo_Job_ApplicationInfo.Marshal(b, m, deterministic)
526}
527func (m *Job_ApplicationInfo) XXX_Merge(src proto.Message) {
528	xxx_messageInfo_Job_ApplicationInfo.Merge(m, src)
529}
530func (m *Job_ApplicationInfo) XXX_Size() int {
531	return xxx_messageInfo_Job_ApplicationInfo.Size(m)
532}
533func (m *Job_ApplicationInfo) XXX_DiscardUnknown() {
534	xxx_messageInfo_Job_ApplicationInfo.DiscardUnknown(m)
535}
536
537var xxx_messageInfo_Job_ApplicationInfo proto.InternalMessageInfo
538
539func (m *Job_ApplicationInfo) GetEmails() []string {
540	if m != nil {
541		return m.Emails
542	}
543	return nil
544}
545
546func (m *Job_ApplicationInfo) GetInstruction() string {
547	if m != nil {
548		return m.Instruction
549	}
550	return ""
551}
552
553func (m *Job_ApplicationInfo) GetUris() []string {
554	if m != nil {
555		return m.Uris
556	}
557	return nil
558}
559
560// Derived details about the job posting.
561type Job_DerivedInfo struct {
562	// Structured locations of the job, resolved from [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
563	//
564	// [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are exactly matched to [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
565	// order.
566	Locations []*Location `protobuf:"bytes,1,rep,name=locations,proto3" json:"locations,omitempty"`
567	// Job categories derived from [Job.title][google.cloud.talent.v4beta1.Job.title] and [Job.description][google.cloud.talent.v4beta1.Job.description].
568	JobCategories        []JobCategory `protobuf:"varint,3,rep,packed,name=job_categories,json=jobCategories,proto3,enum=google.cloud.talent.v4beta1.JobCategory" json:"job_categories,omitempty"`
569	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
570	XXX_unrecognized     []byte        `json:"-"`
571	XXX_sizecache        int32         `json:"-"`
572}
573
574func (m *Job_DerivedInfo) Reset()         { *m = Job_DerivedInfo{} }
575func (m *Job_DerivedInfo) String() string { return proto.CompactTextString(m) }
576func (*Job_DerivedInfo) ProtoMessage()    {}
577func (*Job_DerivedInfo) Descriptor() ([]byte, []int) {
578	return fileDescriptor_c717d27462774c27, []int{0, 1}
579}
580
581func (m *Job_DerivedInfo) XXX_Unmarshal(b []byte) error {
582	return xxx_messageInfo_Job_DerivedInfo.Unmarshal(m, b)
583}
584func (m *Job_DerivedInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
585	return xxx_messageInfo_Job_DerivedInfo.Marshal(b, m, deterministic)
586}
587func (m *Job_DerivedInfo) XXX_Merge(src proto.Message) {
588	xxx_messageInfo_Job_DerivedInfo.Merge(m, src)
589}
590func (m *Job_DerivedInfo) XXX_Size() int {
591	return xxx_messageInfo_Job_DerivedInfo.Size(m)
592}
593func (m *Job_DerivedInfo) XXX_DiscardUnknown() {
594	xxx_messageInfo_Job_DerivedInfo.DiscardUnknown(m)
595}
596
597var xxx_messageInfo_Job_DerivedInfo proto.InternalMessageInfo
598
599func (m *Job_DerivedInfo) GetLocations() []*Location {
600	if m != nil {
601		return m.Locations
602	}
603	return nil
604}
605
606func (m *Job_DerivedInfo) GetJobCategories() []JobCategory {
607	if m != nil {
608		return m.JobCategories
609	}
610	return nil
611}
612
613// Options for job processing.
614type Job_ProcessingOptions struct {
615	// If set to `true`, the service does not attempt to resolve a
616	// more precise address for the job.
617	DisableStreetAddressResolution bool `protobuf:"varint,1,opt,name=disable_street_address_resolution,json=disableStreetAddressResolution,proto3" json:"disable_street_address_resolution,omitempty"`
618	// Option for job HTML content sanitization. Applied fields are:
619	//
620	// * description
621	// * applicationInfo.instruction
622	// * incentives
623	// * qualifications
624	// * responsibilities
625	//
626	// HTML tags in these fields may be stripped if sanitiazation isn't
627	// disabled.
628	//
629	// Defaults to [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
630	HtmlSanitization     HtmlSanitization `protobuf:"varint,2,opt,name=html_sanitization,json=htmlSanitization,proto3,enum=google.cloud.talent.v4beta1.HtmlSanitization" json:"html_sanitization,omitempty"`
631	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
632	XXX_unrecognized     []byte           `json:"-"`
633	XXX_sizecache        int32            `json:"-"`
634}
635
636func (m *Job_ProcessingOptions) Reset()         { *m = Job_ProcessingOptions{} }
637func (m *Job_ProcessingOptions) String() string { return proto.CompactTextString(m) }
638func (*Job_ProcessingOptions) ProtoMessage()    {}
639func (*Job_ProcessingOptions) Descriptor() ([]byte, []int) {
640	return fileDescriptor_c717d27462774c27, []int{0, 2}
641}
642
643func (m *Job_ProcessingOptions) XXX_Unmarshal(b []byte) error {
644	return xxx_messageInfo_Job_ProcessingOptions.Unmarshal(m, b)
645}
646func (m *Job_ProcessingOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
647	return xxx_messageInfo_Job_ProcessingOptions.Marshal(b, m, deterministic)
648}
649func (m *Job_ProcessingOptions) XXX_Merge(src proto.Message) {
650	xxx_messageInfo_Job_ProcessingOptions.Merge(m, src)
651}
652func (m *Job_ProcessingOptions) XXX_Size() int {
653	return xxx_messageInfo_Job_ProcessingOptions.Size(m)
654}
655func (m *Job_ProcessingOptions) XXX_DiscardUnknown() {
656	xxx_messageInfo_Job_ProcessingOptions.DiscardUnknown(m)
657}
658
659var xxx_messageInfo_Job_ProcessingOptions proto.InternalMessageInfo
660
661func (m *Job_ProcessingOptions) GetDisableStreetAddressResolution() bool {
662	if m != nil {
663		return m.DisableStreetAddressResolution
664	}
665	return false
666}
667
668func (m *Job_ProcessingOptions) GetHtmlSanitization() HtmlSanitization {
669	if m != nil {
670		return m.HtmlSanitization
671	}
672	return HtmlSanitization_HTML_SANITIZATION_UNSPECIFIED
673}
674
675func init() {
676	proto.RegisterType((*Job)(nil), "google.cloud.talent.v4beta1.Job")
677	proto.RegisterMapType((map[string]*CustomAttribute)(nil), "google.cloud.talent.v4beta1.Job.CustomAttributesEntry")
678	proto.RegisterType((*Job_ApplicationInfo)(nil), "google.cloud.talent.v4beta1.Job.ApplicationInfo")
679	proto.RegisterType((*Job_DerivedInfo)(nil), "google.cloud.talent.v4beta1.Job.DerivedInfo")
680	proto.RegisterType((*Job_ProcessingOptions)(nil), "google.cloud.talent.v4beta1.Job.ProcessingOptions")
681}
682
683func init() {
684	proto.RegisterFile("google/cloud/talent/v4beta1/job.proto", fileDescriptor_c717d27462774c27)
685}
686
687var fileDescriptor_c717d27462774c27 = []byte{
688	// 1212 bytes of a gzipped FileDescriptorProto
689	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x72, 0x1b, 0x35,
690	0x14, 0x1e, 0xdb, 0x4d, 0xdb, 0xc8, 0x8d, 0xe3, 0xa8, 0x69, 0xbb, 0x75, 0xff, 0x0c, 0x9d, 0x52,
691	0x4f, 0x01, 0x1b, 0xc2, 0xcf, 0x30, 0x05, 0x66, 0xb0, 0xdd, 0xcc, 0xd0, 0xd0, 0xa1, 0x61, 0x13,
692	0x7a, 0x51, 0x2e, 0x76, 0xb4, 0xbb, 0xc7, 0x8e, 0xdc, 0x5d, 0x69, 0x23, 0x69, 0x3d, 0x98, 0x4e,
693	0xb9, 0xe6, 0x39, 0xe0, 0x2d, 0x78, 0x9a, 0x5e, 0xf3, 0x08, 0x5c, 0x31, 0xfa, 0x59, 0x7b, 0xeb,
694	0x66, 0xec, 0x72, 0x27, 0x7d, 0xfb, 0x7d, 0xdf, 0x91, 0xce, 0x4a, 0xe7, 0x08, 0xdd, 0x1b, 0x73,
695	0x3e, 0x4e, 0xa0, 0x17, 0x25, 0x3c, 0x8f, 0x7b, 0x8a, 0x24, 0xc0, 0x54, 0x6f, 0xfa, 0x79, 0x08,
696	0x8a, 0x7c, 0xda, 0x9b, 0xf0, 0xb0, 0x9b, 0x09, 0xae, 0x38, 0xbe, 0x61, 0x69, 0x5d, 0x43, 0xeb,
697	0x5a, 0x5a, 0xd7, 0xd1, 0x5a, 0x77, 0x9c, 0x07, 0xc9, 0x68, 0x6f, 0x44, 0x21, 0x89, 0x83, 0x10,
698	0x4e, 0xc8, 0x94, 0x72, 0x61, 0xd5, 0xad, 0xeb, 0x25, 0x82, 0x00, 0xc9, 0x73, 0x11, 0x81, 0xfb,
699	0xd4, 0x59, 0x15, 0x3f, 0xe2, 0x69, 0xca, 0x99, 0x63, 0x16, 0x51, 0xcc, 0x2c, 0xcc, 0x47, 0x3d,
700	0x45, 0x53, 0x90, 0x8a, 0xa4, 0x99, 0x23, 0xb4, 0x1d, 0x41, 0xcd, 0x32, 0xe8, 0x65, 0x5c, 0x2a,
701	0x92, 0x04, 0x24, 0x8e, 0x05, 0x48, 0xe9, 0x18, 0x37, 0x4b, 0xeb, 0x20, 0x8c, 0x71, 0x45, 0x14,
702	0xe5, 0xcc, 0x7d, 0x7d, 0xff, 0x8f, 0x5d, 0x54, 0x3b, 0xe0, 0x21, 0xc6, 0xe8, 0x1c, 0x23, 0x29,
703	0x78, 0x95, 0x76, 0xa5, 0xb3, 0xe9, 0x9b, 0x31, 0xfe, 0x16, 0x5d, 0x88, 0x78, 0x9a, 0x11, 0x36,
704	0xf3, 0xaa, 0x1a, 0x1e, 0xdc, 0x7d, 0xdd, 0xaf, 0xfe, 0xdb, 0xbf, 0x85, 0x6e, 0x4c, 0x78, 0x28,
705	0xbb, 0xd6, 0x97, 0x64, 0x54, 0x76, 0x23, 0x9e, 0xf6, 0x86, 0x96, 0xea, 0x17, 0x1a, 0xfc, 0x00,
706	0x35, 0x04, 0x9c, 0xe6, 0x54, 0x52, 0x1d, 0x30, 0xa0, 0xb1, 0x57, 0x33, 0x2e, 0xb5, 0xd7, 0xfd,
707	0xaa, 0xbf, 0x55, 0xfa, 0xf4, 0x38, 0xc6, 0xd7, 0xd1, 0x86, 0xa2, 0x2a, 0x01, 0xef, 0xdc, 0x82,
708	0x62, 0x11, 0x7c, 0x0f, 0xd5, 0x63, 0x90, 0x91, 0xa0, 0x99, 0xe6, 0x7a, 0x1b, 0x0b, 0x42, 0x19,
709	0xc7, 0x37, 0xd1, 0xa6, 0xdb, 0x37, 0x48, 0xef, 0x7c, 0xbb, 0xd6, 0xd9, 0xf4, 0x17, 0x00, 0xfe,
710	0x05, 0x35, 0x49, 0x96, 0x25, 0x34, 0x22, 0x76, 0x2d, 0x6c, 0xc4, 0xbd, 0x0b, 0xed, 0x4a, 0xa7,
711	0xbe, 0xf7, 0x49, 0x77, 0xc5, 0x5f, 0xee, 0x1e, 0xf0, 0xb0, 0xdb, 0x5f, 0x08, 0x1f, 0xb3, 0x11,
712	0xf7, 0xb7, 0xc9, 0x9b, 0x00, 0x3e, 0x40, 0x97, 0x26, 0x3c, 0x0c, 0x42, 0x60, 0x30, 0xa2, 0x4a,
713	0x7a, 0x17, 0xdb, 0xb5, 0x4e, 0x63, 0xef, 0xfe, 0x3a, 0xe3, 0x81, 0xe5, 0xfb, 0xf5, 0xc9, 0x7c,
714	0x2c, 0xf1, 0x73, 0xb4, 0xa3, 0xf3, 0x07, 0x4c, 0x96, 0x56, 0xba, 0x69, 0x56, 0xfa, 0xf1, 0x4a,
715	0xc3, 0x61, 0x49, 0x65, 0x96, 0xd9, 0x8c, 0x96, 0x10, 0x1c, 0xa1, 0x9d, 0x28, 0x97, 0x8a, 0xa7,
716	0x01, 0x51, 0x4a, 0xd0, 0x30, 0x57, 0x20, 0x3d, 0xd4, 0xae, 0x75, 0xea, 0x7b, 0x5f, 0xae, 0xcd,
717	0xc2, 0xd0, 0x28, 0xfb, 0x73, 0xe1, 0x3e, 0x53, 0x62, 0xe6, 0x37, 0xa3, 0x25, 0x58, 0x27, 0x23,
718	0x86, 0xb1, 0x00, 0x08, 0xf4, 0x91, 0x94, 0x5e, 0xfd, 0x1d, 0x92, 0xf1, 0xc8, 0x08, 0x8e, 0x67,
719	0x19, 0xe8, 0x7f, 0x5a, 0x8c, 0x25, 0xbe, 0x8d, 0x50, 0x0c, 0x19, 0x11, 0x2a, 0x05, 0xa6, 0xbc,
720	0x4b, 0xe6, 0x68, 0x96, 0x10, 0xfc, 0x0c, 0x35, 0x21, 0xcd, 0x12, 0x3e, 0xd3, 0x33, 0x17, 0x6f,
721	0xcb, 0xc4, 0xfb, 0x70, 0x65, 0xbc, 0xfd, 0xb9, 0xc8, 0xc4, 0xdc, 0x86, 0x37, 0xe6, 0x26, 0x2e,
722	0x65, 0x11, 0x30, 0x45, 0xa7, 0x20, 0xbd, 0x86, 0x8d, 0xbb, 0x40, 0xf0, 0x5d, 0xb4, 0x95, 0x10,
723	0x36, 0xce, 0xc9, 0x18, 0x82, 0x88, 0xc7, 0xe0, 0x6d, 0x1b, 0xca, 0xa5, 0x02, 0x1c, 0xf2, 0x18,
724	0xf0, 0x00, 0x6d, 0xea, 0x53, 0x91, 0xc0, 0x14, 0x12, 0xaf, 0xd9, 0xae, 0x74, 0x1a, 0x7b, 0xf7,
725	0xd6, 0x65, 0xf9, 0x89, 0x26, 0xfb, 0x17, 0x27, 0x6e, 0x84, 0xef, 0xa3, 0xed, 0x4c, 0xf0, 0x94,
726	0x9b, 0xa3, 0x30, 0x25, 0x49, 0x0e, 0xde, 0x4e, 0xbb, 0xd2, 0xd9, 0xf0, 0x1b, 0x73, 0xf8, 0x99,
727	0x46, 0xf1, 0x07, 0xa8, 0x71, 0x9a, 0x93, 0x84, 0x8e, 0xdc, 0xb9, 0x94, 0x1e, 0x36, 0x4b, 0x5a,
728	0x42, 0xf1, 0x03, 0xd4, 0x14, 0x20, 0x33, 0xce, 0x24, 0x0d, 0x69, 0x42, 0x15, 0x05, 0xe9, 0x5d,
729	0x36, 0xcc, 0xb7, 0x70, 0xfc, 0x13, 0x6a, 0xe8, 0x82, 0x42, 0xd9, 0x38, 0x10, 0x30, 0xd6, 0x77,
730	0x6f, 0xd7, 0xec, 0xe2, 0xc1, 0xca, 0x5d, 0x1c, 0x5a, 0x89, 0x6f, 0x14, 0xfe, 0x56, 0x56, 0x9e,
731	0xe2, 0x1f, 0x10, 0x9a, 0x52, 0x17, 0x62, 0xe6, 0x5d, 0x31, 0x76, 0xab, 0x8f, 0xc6, 0xb3, 0x39,
732	0x7d, 0x50, 0xf5, 0x2a, 0x7e, 0x49, 0x8e, 0xbf, 0x43, 0x0d, 0x9d, 0x60, 0xa9, 0x88, 0x50, 0x81,
733	0xae, 0x8b, 0xde, 0x55, 0x73, 0x4f, 0x5a, 0x85, 0x61, 0x51, 0x34, 0xbb, 0xc7, 0x45, 0xd1, 0xf4,
734	0xf5, 0x45, 0x3d, 0xd2, 0x02, 0x0d, 0xe1, 0x6f, 0xec, 0xc5, 0x05, 0x16, 0x5b, 0xfd, 0xb5, 0xb5,
735	0x7a, 0x34, 0xe1, 0xe1, 0x3e, 0x8b, 0x8d, 0xfa, 0x09, 0xda, 0x2d, 0xf2, 0x93, 0xe5, 0x61, 0x42,
736	0xe5, 0x89, 0x75, 0xf1, 0xd6, 0xba, 0x60, 0xa7, 0x3b, 0xb4, 0x32, 0xe3, 0x76, 0x80, 0x2e, 0x17,
737	0x6e, 0xf0, 0x6b, 0x46, 0x05, 0x58, 0xb3, 0xeb, 0x6b, 0xcd, 0x76, 0x9c, 0x6c, 0xdf, 0xa8, 0x8c,
738	0xd7, 0xd3, 0x85, 0x57, 0x24, 0x80, 0x28, 0xe7, 0xd5, 0x5a, 0xe7, 0xa5, 0xcb, 0x6a, 0x6d, 0x6e,
739	0x38, 0x34, 0xd2, 0x65, 0xc3, 0x3c, 0x8b, 0xe7, 0x86, 0x37, 0xfe, 0x9f, 0xe1, 0xcf, 0x46, 0x6a,
740	0x0c, 0xbf, 0x40, 0xbb, 0xae, 0x4d, 0x04, 0x31, 0x95, 0x59, 0x42, 0x66, 0x81, 0x69, 0x3f, 0x37,
741	0x8b, 0xea, 0x5e, 0xf3, 0xb1, 0x23, 0x3c, 0xb2, 0xdf, 0x7f, 0xd4, 0x1d, 0xe9, 0x58, 0x17, 0x17,
742	0x41, 0xa7, 0x10, 0xdb, 0xc2, 0x78, 0xcb, 0x2c, 0xe0, 0xa3, 0xb5, 0xc5, 0xeb, 0x91, 0x15, 0xe9,
743	0x2a, 0x68, 0xcd, 0xeb, 0xf1, 0x02, 0xc1, 0x04, 0xe1, 0x4c, 0xf0, 0x08, 0xa4, 0xd4, 0x1b, 0xe4,
744	0x99, 0xbd, 0x40, 0xb7, 0x8d, 0xf7, 0xde, 0x5a, 0xef, 0xc3, 0xb9, 0xf4, 0xa9, 0x55, 0xfa, 0x3b,
745	0xd9, 0x32, 0xd4, 0x0a, 0xd0, 0xf6, 0x52, 0x1b, 0xc1, 0x57, 0xd1, 0x79, 0x48, 0x09, 0x4d, 0xa4,
746	0x57, 0x31, 0xdd, 0xca, 0xcd, 0x70, 0x1b, 0xd5, 0x29, 0x93, 0x4a, 0xe4, 0x91, 0xe9, 0x77, 0xa6,
747	0xf3, 0xfa, 0x65, 0x48, 0xf7, 0xea, 0x5c, 0x50, 0xe9, 0xd5, 0x8c, 0xce, 0x8c, 0x5b, 0x7f, 0x55,
748	0x50, 0xbd, 0xb4, 0x4b, 0x3c, 0x44, 0x9b, 0x09, 0x2f, 0x6a, 0x41, 0xc5, 0xd4, 0xf8, 0xd5, 0xd5,
749	0xe7, 0x89, 0x63, 0xfb, 0x0b, 0x1d, 0x7e, 0x6a, 0x6f, 0x58, 0x44, 0x14, 0x8c, 0xb9, 0xd0, 0xb5,
750	0xa2, 0x66, 0xaa, 0x6b, 0x67, 0x5d, 0x52, 0x86, 0x56, 0x31, 0xf3, 0xb7, 0x26, 0xf3, 0x09, 0x05,
751	0xd9, 0xfa, 0xbb, 0x82, 0x76, 0xde, 0xca, 0x17, 0x7e, 0x8c, 0xde, 0x8b, 0xa9, 0x24, 0x61, 0x02,
752	0x81, 0x54, 0x02, 0x40, 0x15, 0x2f, 0x98, 0x40, 0xbf, 0x9b, 0x92, 0xdc, 0xe4, 0x41, 0x3f, 0x4c,
753	0x2e, 0xfa, 0xb7, 0x1d, 0xf1, 0xc8, 0xf0, 0xfa, 0x96, 0xe6, 0xcf, 0x59, 0xba, 0x7d, 0x9e, 0xa8,
754	0x34, 0x09, 0x24, 0x61, 0x54, 0xd1, 0xdf, 0xc8, 0x3c, 0x85, 0x8d, 0x35, 0xed, 0xf3, 0x7b, 0x95,
755	0x26, 0x47, 0x25, 0x91, 0xdf, 0x3c, 0x59, 0x42, 0x5a, 0xa7, 0xe8, 0xca, 0x99, 0x4d, 0x10, 0x37,
756	0x51, 0xed, 0x05, 0xcc, 0xdc, 0xd3, 0x49, 0x0f, 0xf1, 0x00, 0x6d, 0xd8, 0x6a, 0x5d, 0x7d, 0x87,
757	0x03, 0xba, 0x64, 0xea, 0x5b, 0xe9, 0xc3, 0xea, 0x57, 0x95, 0x87, 0x2f, 0xfe, 0xe9, 0x9f, 0xa0,
758	0x6b, 0x67, 0xbd, 0xb6, 0xf4, 0x9b, 0xed, 0x56, 0x26, 0xf8, 0x04, 0x22, 0x25, 0x7b, 0x2f, 0xdd,
759	0xe8, 0x95, 0x7e, 0xbd, 0xca, 0xde, 0xcb, 0x09, 0x0f, 0x5f, 0xe1, 0xee, 0x19, 0x9f, 0x15, 0x30,
760	0xc2, 0x34, 0x62, 0x07, 0x65, 0xfe, 0xe0, 0x77, 0x74, 0x27, 0xe2, 0xe9, 0xaa, 0xa5, 0x0e, 0x9a,
761	0x07, 0x3c, 0xf4, 0xdd, 0x5b, 0xf6, 0x50, 0xdf, 0xf6, 0xc3, 0xca, 0xf3, 0xbe, 0x13, 0x8c, 0xb9,
762	0x6e, 0x7f, 0x5d, 0x2e, 0xc6, 0xbd, 0x31, 0x30, 0x53, 0x0b, 0x7a, 0x8b, 0x45, 0x9f, 0xf9, 0xd6,
763	0xfd, 0xda, 0x4e, 0xff, 0xac, 0xd6, 0x86, 0xc7, 0x47, 0xe1, 0x79, 0xa3, 0xf9, 0xec, 0xbf, 0x00,
764	0x00, 0x00, 0xff, 0xff, 0x7f, 0xb0, 0x3d, 0xad, 0x9e, 0x0b, 0x00, 0x00,
765}
766