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	// 1213 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, 0x2f, 0x84, 0x9f, 0x61, 0x0a, 0xcc, 0x60, 0xbb, 0x99, 0xa1, 0xa1, 0x43, 0xc3, 0x26,
692	0xf4, 0xa2, 0x5c, 0xec, 0x68, 0x77, 0x8f, 0x1d, 0xb9, 0xbb, 0xd2, 0x56, 0xd2, 0x7a, 0x30, 0x9d,
693	0x70, 0xcd, 0x73, 0xc0, 0x5b, 0xf0, 0x34, 0xbd, 0xe6, 0x11, 0xb8, 0x62, 0xf4, 0x63, 0x7b, 0xeb,
694	0x66, 0xec, 0x72, 0x27, 0x7d, 0xfb, 0x7d, 0xdf, 0x91, 0xce, 0x4a, 0xe7, 0x08, 0xdd, 0x1b, 0x71,
695	0x3e, 0x4a, 0xc1, 0x8f, 0x53, 0x5e, 0x24, 0xbe, 0x22, 0x29, 0x30, 0xe5, 0x4f, 0x3e, 0x8f, 0x40,
696	0x91, 0x4f, 0xfd, 0x31, 0x8f, 0xba, 0xb9, 0xe0, 0x8a, 0xe3, 0x1b, 0x96, 0xd6, 0x35, 0xb4, 0xae,
697	0xa5, 0x75, 0x1d, 0xad, 0x75, 0xc7, 0x79, 0x90, 0x9c, 0xfa, 0x43, 0x0a, 0x69, 0x12, 0x46, 0x70,
698	0x42, 0x26, 0x94, 0x0b, 0xab, 0x6e, 0x5d, 0x2f, 0x11, 0x04, 0x48, 0x5e, 0x88, 0x18, 0xdc, 0xa7,
699	0xce, 0xaa, 0xf8, 0x31, 0xcf, 0x32, 0xce, 0x1c, 0x73, 0x16, 0xc5, 0xcc, 0xa2, 0x62, 0xe8, 0x2b,
700	0x9a, 0x81, 0x54, 0x24, 0xcb, 0x1d, 0xa1, 0xed, 0x08, 0x6a, 0x9a, 0x83, 0x9f, 0x73, 0xa9, 0x48,
701	0x1a, 0x92, 0x24, 0x11, 0x20, 0xa5, 0x63, 0xdc, 0x2c, 0xad, 0x83, 0x30, 0xc6, 0x15, 0x51, 0x94,
702	0x33, 0xf7, 0xf5, 0xfd, 0x3f, 0x76, 0x51, 0xed, 0x80, 0x47, 0x18, 0xa3, 0x73, 0x8c, 0x64, 0xe0,
703	0x55, 0xda, 0x95, 0xce, 0x66, 0x60, 0xc6, 0xf8, 0x5b, 0x74, 0x21, 0xe6, 0x59, 0x4e, 0xd8, 0xd4,
704	0xab, 0x6a, 0xb8, 0x7f, 0xf7, 0x75, 0xaf, 0xfa, 0x6f, 0xef, 0x16, 0xba, 0x31, 0xe6, 0x91, 0xec,
705	0x5a, 0x5f, 0x92, 0x53, 0xd9, 0x8d, 0x79, 0xe6, 0x0f, 0x2c, 0x35, 0x98, 0x69, 0xf0, 0x03, 0xd4,
706	0x10, 0xf0, 0xb2, 0xa0, 0x92, 0xea, 0x80, 0x21, 0x4d, 0xbc, 0x9a, 0x71, 0xa9, 0xbd, 0xee, 0x55,
707	0x83, 0xad, 0xd2, 0xa7, 0xc7, 0x09, 0xbe, 0x8e, 0x36, 0x14, 0x55, 0x29, 0x78, 0xe7, 0x16, 0x14,
708	0x8b, 0xe0, 0x7b, 0xa8, 0x9e, 0x80, 0x8c, 0x05, 0xcd, 0x35, 0xd7, 0xdb, 0x58, 0x10, 0xca, 0x38,
709	0xbe, 0x89, 0x36, 0xdd, 0xbe, 0x41, 0x7a, 0xe7, 0xdb, 0xb5, 0xce, 0x66, 0xb0, 0x00, 0xf0, 0x2f,
710	0xa8, 0x49, 0xf2, 0x3c, 0xa5, 0x31, 0xb1, 0x6b, 0x61, 0x43, 0xee, 0x5d, 0x68, 0x57, 0x3a, 0xf5,
711	0xbd, 0x4f, 0xba, 0x2b, 0xfe, 0x72, 0xf7, 0x80, 0x47, 0xdd, 0xde, 0x42, 0xf8, 0x98, 0x0d, 0x79,
712	0xb0, 0x4d, 0xde, 0x04, 0xf0, 0x01, 0xba, 0x34, 0xe6, 0x51, 0x18, 0x01, 0x83, 0x21, 0x55, 0xd2,
713	0xbb, 0xd8, 0xae, 0x75, 0x1a, 0x7b, 0xf7, 0xd7, 0x19, 0xf7, 0x2d, 0x3f, 0xa8, 0x8f, 0xe7, 0x63,
714	0x89, 0x9f, 0xa3, 0x1d, 0x9d, 0x3f, 0x60, 0xb2, 0xb4, 0xd2, 0x4d, 0xb3, 0xd2, 0x8f, 0x57, 0x1a,
715	0x0e, 0x4a, 0x2a, 0xb3, 0xcc, 0x66, 0xbc, 0x84, 0xe0, 0x18, 0xed, 0xc4, 0x85, 0x54, 0x3c, 0x0b,
716	0x89, 0x52, 0x82, 0x46, 0x85, 0x02, 0xe9, 0xa1, 0x76, 0xad, 0x53, 0xdf, 0xfb, 0x72, 0x6d, 0x16,
717	0x06, 0x46, 0xd9, 0x9b, 0x0b, 0xf7, 0x99, 0x12, 0xd3, 0xa0, 0x19, 0x2f, 0xc1, 0x3a, 0x19, 0x09,
718	0x8c, 0x04, 0x40, 0xa8, 0x8f, 0xa4, 0xf4, 0xea, 0xef, 0x90, 0x8c, 0x47, 0x46, 0x70, 0x3c, 0xcd,
719	0x41, 0xff, 0xd3, 0xd9, 0x58, 0xe2, 0xdb, 0x08, 0x25, 0x90, 0x13, 0xa1, 0x32, 0x60, 0xca, 0xbb,
720	0x64, 0x8e, 0x66, 0x09, 0xc1, 0xcf, 0x50, 0x13, 0xb2, 0x3c, 0xe5, 0x53, 0x3d, 0x73, 0xf1, 0xb6,
721	0x4c, 0xbc, 0x0f, 0x57, 0xc6, 0xdb, 0x9f, 0x8b, 0x4c, 0xcc, 0x6d, 0x78, 0x63, 0x6e, 0xe2, 0x52,
722	0x16, 0x03, 0x53, 0x74, 0x02, 0xd2, 0x6b, 0xd8, 0xb8, 0x0b, 0x04, 0xdf, 0x45, 0x5b, 0x29, 0x61,
723	0xa3, 0x82, 0x8c, 0x20, 0x8c, 0x79, 0x02, 0xde, 0xb6, 0xa1, 0x5c, 0x9a, 0x81, 0x03, 0x9e, 0x00,
724	0xee, 0xa3, 0x4d, 0x7d, 0x2a, 0x52, 0x98, 0x40, 0xea, 0x35, 0xdb, 0x95, 0x4e, 0x63, 0xef, 0xde,
725	0xba, 0x2c, 0x3f, 0xd1, 0xe4, 0xe0, 0xe2, 0xd8, 0x8d, 0xf0, 0x7d, 0xb4, 0x9d, 0x0b, 0x9e, 0x71,
726	0x73, 0x14, 0x26, 0x24, 0x2d, 0xc0, 0xdb, 0x69, 0x57, 0x3a, 0x1b, 0x41, 0x63, 0x0e, 0x3f, 0xd3,
727	0x28, 0xfe, 0x00, 0x35, 0x5e, 0x16, 0x24, 0xa5, 0x43, 0x77, 0x2e, 0xa5, 0x87, 0xcd, 0x92, 0x96,
728	0x50, 0xfc, 0x00, 0x35, 0x05, 0xc8, 0x9c, 0x33, 0x49, 0x23, 0x9a, 0x52, 0x45, 0x41, 0x7a, 0x97,
729	0x0d, 0xf3, 0x2d, 0x1c, 0xff, 0x84, 0x1a, 0xba, 0xa0, 0x50, 0x36, 0x0a, 0x05, 0x8c, 0xf4, 0xdd,
730	0xdb, 0x35, 0xbb, 0x78, 0xb0, 0x72, 0x17, 0x87, 0x56, 0x12, 0x18, 0x45, 0xb0, 0x95, 0x97, 0xa7,
731	0xf8, 0x07, 0x84, 0x26, 0xd4, 0x85, 0x98, 0x7a, 0x57, 0x8c, 0xdd, 0xea, 0xa3, 0xf1, 0x6c, 0x4e,
732	0xef, 0x57, 0xbd, 0x4a, 0x50, 0x92, 0xe3, 0xef, 0x50, 0x43, 0x27, 0x58, 0x2a, 0x22, 0x54, 0xa8,
733	0xeb, 0xa2, 0x77, 0xd5, 0xdc, 0x93, 0xd6, 0xcc, 0x70, 0x56, 0x34, 0xbb, 0xc7, 0xb3, 0xa2, 0x19,
734	0xe8, 0x8b, 0x7a, 0xa4, 0x05, 0x1a, 0xc2, 0xdf, 0xd8, 0x8b, 0x0b, 0x2c, 0xb1, 0xfa, 0x6b, 0x6b,
735	0xf5, 0x68, 0xcc, 0xa3, 0x7d, 0x96, 0x18, 0xf5, 0x13, 0xb4, 0x3b, 0xcb, 0x4f, 0x5e, 0x44, 0x29,
736	0x95, 0x27, 0xd6, 0xc5, 0x5b, 0xeb, 0x82, 0x9d, 0xee, 0xd0, 0xca, 0x8c, 0xdb, 0x01, 0xba, 0x3c,
737	0x73, 0x83, 0x5f, 0x73, 0x2a, 0xc0, 0x9a, 0x5d, 0x5f, 0x6b, 0xb6, 0xe3, 0x64, 0xfb, 0x46, 0x65,
738	0xbc, 0x9e, 0x2e, 0xbc, 0x62, 0x01, 0x44, 0x39, 0xaf, 0xd6, 0x3a, 0x2f, 0x5d, 0x56, 0x6b, 0x73,
739	0xc3, 0x81, 0x91, 0x2e, 0x1b, 0x16, 0x79, 0x32, 0x37, 0xbc, 0xf1, 0xff, 0x0c, 0x7f, 0x36, 0x52,
740	0x63, 0xf8, 0x05, 0xda, 0x75, 0x6d, 0x22, 0x4c, 0xa8, 0xcc, 0x53, 0x32, 0x0d, 0x4d, 0xfb, 0xb9,
741	0x39, 0xab, 0xee, 0xb5, 0x00, 0x3b, 0xc2, 0x23, 0xfb, 0xfd, 0x47, 0xdd, 0x91, 0x8e, 0x75, 0x71,
742	0x11, 0x74, 0x02, 0x89, 0x2d, 0x8c, 0xb7, 0xcc, 0x02, 0x3e, 0x5a, 0x5b, 0xbc, 0x1e, 0x59, 0x91,
743	0xae, 0x82, 0xd6, 0xbc, 0x9e, 0x2c, 0x10, 0x4c, 0x10, 0xce, 0x05, 0x8f, 0x41, 0x4a, 0xbd, 0x41,
744	0x9e, 0xdb, 0x0b, 0x74, 0xdb, 0x78, 0xef, 0xad, 0xf5, 0x3e, 0x9c, 0x4b, 0x9f, 0x5a, 0x65, 0xb0,
745	0x93, 0x2f, 0x43, 0xad, 0x10, 0x6d, 0x2f, 0xb5, 0x11, 0x7c, 0x15, 0x9d, 0x87, 0x8c, 0xd0, 0x54,
746	0x7a, 0x15, 0xd3, 0xad, 0xdc, 0x0c, 0xb7, 0x51, 0x9d, 0x32, 0xa9, 0x44, 0x11, 0x9b, 0x7e, 0x67,
747	0x3a, 0x6f, 0x50, 0x86, 0x74, 0xaf, 0x2e, 0x04, 0x95, 0x5e, 0xcd, 0xe8, 0xcc, 0xb8, 0xf5, 0x57,
748	0x05, 0xd5, 0x4b, 0xbb, 0xc4, 0x03, 0xb4, 0x99, 0xf2, 0x59, 0x2d, 0xa8, 0x98, 0x1a, 0xbf, 0xba,
749	0xfa, 0x3c, 0x71, 0xec, 0x60, 0xa1, 0xc3, 0x4f, 0xed, 0x0d, 0x8b, 0x89, 0x82, 0x11, 0x17, 0xba,
750	0x56, 0xd4, 0x4c, 0x75, 0xed, 0xac, 0x4b, 0xca, 0xc0, 0x2a, 0xa6, 0xc1, 0xd6, 0x78, 0x3e, 0xa1,
751	0x20, 0x5b, 0x7f, 0x57, 0xd0, 0xce, 0x5b, 0xf9, 0xc2, 0x8f, 0xd1, 0x7b, 0x09, 0x95, 0x24, 0x4a,
752	0x21, 0x94, 0x4a, 0x00, 0xa8, 0xd9, 0x0b, 0x26, 0xd4, 0xef, 0xa6, 0xb4, 0x30, 0x79, 0xd0, 0x0f,
753	0x93, 0x8b, 0xc1, 0x6d, 0x47, 0x3c, 0x32, 0xbc, 0x9e, 0xa5, 0x05, 0x73, 0x96, 0x6e, 0x9f, 0x27,
754	0x2a, 0x4b, 0x43, 0x49, 0x18, 0x55, 0xf4, 0x37, 0x32, 0x4f, 0x61, 0x63, 0x4d, 0xfb, 0xfc, 0x5e,
755	0x65, 0xe9, 0x51, 0x49, 0x14, 0x34, 0x4f, 0x96, 0x90, 0xd6, 0x4b, 0x74, 0xe5, 0xcc, 0x26, 0x88,
756	0x9b, 0xa8, 0xf6, 0x02, 0xa6, 0xee, 0xe9, 0xa4, 0x87, 0xb8, 0x8f, 0x36, 0x6c, 0xb5, 0xae, 0xbe,
757	0xc3, 0x01, 0x5d, 0x32, 0x0d, 0xac, 0xf4, 0x61, 0xf5, 0xab, 0xca, 0xc3, 0x17, 0xff, 0xf4, 0x4e,
758	0xd0, 0xb5, 0xb3, 0x5e, 0x5b, 0xfa, 0xcd, 0xa6, 0x2f, 0xdc, 0x18, 0x62, 0x25, 0xfd, 0x57, 0x6e,
759	0x74, 0xea, 0x2b, 0x60, 0x84, 0x69, 0xc4, 0x0e, 0x4e, 0xf5, 0x73, 0x56, 0xfa, 0xaf, 0xc6, 0x3c,
760	0x3a, 0xc5, 0xb7, 0xce, 0xe0, 0x2f, 0x3e, 0xf7, 0x7f, 0x47, 0x77, 0x62, 0x9e, 0xad, 0x5a, 0x6a,
761	0xbf, 0x79, 0xc0, 0xa3, 0xc0, 0xbd, 0x65, 0x0f, 0xf5, 0x6d, 0x3f, 0xac, 0x3c, 0xef, 0x39, 0xc1,
762	0x88, 0xeb, 0xf6, 0xd7, 0xe5, 0x62, 0xe4, 0x8f, 0x80, 0x99, 0x5a, 0xe0, 0x2f, 0x16, 0x7d, 0xe6,
763	0x5b, 0xf7, 0x6b, 0x3b, 0xfd, 0xb3, 0x5a, 0x1b, 0x1c, 0x1f, 0x45, 0xe7, 0x8d, 0xe6, 0xb3, 0xff,
764	0x02, 0x00, 0x00, 0xff, 0xff, 0x2d, 0x81, 0x0e, 0xa3, 0x9e, 0x0b, 0x00, 0x00,
765}
766