docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/jobs_v3p1beta1.projects.jobs.html b/docs/dyn/jobs_v3p1beta1.projects.jobs.html
index edefa31..2139076 100644
--- a/docs/dyn/jobs_v3p1beta1.projects.jobs.html
+++ b/docs/dyn/jobs_v3p1beta1.projects.jobs.html
@@ -87,7 +87,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the specified job, whose status is OPEN or recently EXPIRED</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, jobView=None, filter=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, jobView=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists jobs by filter.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -115,15 +115,15 @@
 Args:
   parent: string, Required. The resource name of the project under which the job is created.
 
-The format is "projects/{project_id}", for example,
-"projects/api-test-project". (required)
+The format is &quot;projects/{project_id}&quot;, for example,
+&quot;projects/api-test-project&quot;. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Input only.
       # 
       # Batch delete jobs request.
-    "filter": "A String", # Required. The filter string specifies the jobs to be deleted.
+    &quot;filter&quot;: &quot;A String&quot;, # Required. The filter string specifies the jobs to be deleted.
         # 
         # Supported operator: =, AND
         # 
@@ -132,8 +132,8 @@
         # * `companyName` (Required)
         # * `requisitionId` (Required)
         # 
-        # Sample Query: companyName = "projects/api-test-project/companies/123" AND
-        # requisitionId = "req-1"
+        # Sample Query: companyName = &quot;projects/api-test-project/companies/123&quot; AND
+        # requisitionId = &quot;req-1&quot;
   }
 
   x__xgafv: string, V1 error format.
@@ -166,29 +166,19 @@
 Args:
   parent: string, Required. The resource name of the project under which the job is created.
 
-The format is "projects/{project_id}", for example,
-"projects/api-test-project". (required)
+The format is &quot;projects/{project_id}&quot;, for example,
+&quot;projects/api-test-project&quot;. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Input only.
       # 
       # Create job request.
-    "job": { # A Job resource represents a job posting (also referred to as a "job listing" # Required. The Job to be created.
-        # or "job requisition"). A job belongs to a Company, which is the hiring
+    &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Required. The Job to be created.
+        # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
         # entity responsible for the job.
-      "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-          # any requirements for fluency that are associated with the job.
-          #
-          # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-          # class="external" target="_blank" }.
-          #
-          # If this field is unspecified and Job.description is present, detected
-          # language code based on Job.description is assigned, otherwise
-          # defaults to 'en_US'.
-      "addresses": [ # Optional but strongly recommended for the best service experience.
+      &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+      &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
           #
           # Location(s) where the employer is looking to hire for this job posting.
           #
@@ -197,7 +187,7 @@
           #
           # At most 50 locations are allowed for best search performance. If a job has
           # more locations, it is suggested to split it into multiple jobs with unique
-          # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
+          # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
           # multiple jobs with the same company_name, language_code and
           # requisition_id are not allowed. If the original requisition_id must
           # be preserved, a custom field should be used for storage. It is also
@@ -205,49 +195,181 @@
           # for better search experience.
           #
           # The maximum number of allowed characters is 500.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-      "processingOptions": { # Input only. # Optional. Options for job processing.
+      &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+          # &quot;projects/api-test-project/companies/foo&quot;.
+      &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+          # description of the company and related information. Separate fields are
+          # provided on the job object for responsibilities,
+          # qualifications, and other job characteristics. Use of
+          # these separate job fields is recommended.
           #
-          # Options for job processing.
-        "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-            #
-            # * description
-            # * applicationInfo.instruction
-            # * incentives
-            # * qualifications
-            # * responsibilities
-            #
-            # HTML tags in these fields may be stripped if sanitiazation is not
-            # disabled.
-            #
-            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-        "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-            # more precise address for the job.
-      },
-      "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-          # full time or
-          # part time.
-        "A String",
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 100,000.
+      &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+          # is used for contracting engagements. Invalid timestamps are ignored.
+      &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+        &quot;A String&quot;,
       ],
-      "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-          # engagements. Invalid timestamps are ignored.
-      "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+      &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+        &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+            # base compensation entry&#x27;s CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+        },
+        &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+            # all compensation entries&#x27; CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+        },
+        &quot;entries&quot;: [ # Optional. Job compensation information.
+            #
+            # At most one entry can be of type
+            # CompensationInfo.CompensationType.BASE, which is
+            # referred as ** base compensation entry ** for the job.
+          { # A compensation entry that represents one component of compensation, such
+              # as base pay, bonus, or other compensation type.
+              #
+              # Annualization: One compensation entry can be annualized if
+              # - it contains valid amount or range.
+              # - and its expected_units_per_year is set or can be derived.
+              # Its annualized range is determined as (amount or range) times
+              # expected_units_per_year.
+            &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+            &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                # Job.employment_types is FULLTIME, a default value is inferred
+                # based on unit. Default values:
+                # - HOURLY: 2080
+                # - DAILY: 260
+                # - WEEKLY: 52
+                # - MONTHLY: 12
+                # - ANNUAL: 1
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                # indicate equity terms or provide additional context to an estimated
+                # bonus.
+            &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                #
+                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                #
+                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+          },
+        ],
+      },
+      &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+          # recommended as an alternative to using the more general description
+          # field.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 10,000.
+      &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+          # position.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
           #
           # Job application information.
-        "instruction": "A String", # Optional but at least one of uris,
-            # emails or instruction must be
-            # specified.
-            #
-            # Use this field to provide instructions, such as "Mail your application
-            # to ...", that a candidate can follow to apply for the job.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 3,000.
-        "uris": [ # Optional but at least one of uris,
+        &quot;uris&quot;: [ # Optional but at least one of uris,
             # emails or instruction must be
             # specified.
             #
@@ -255,9 +377,9 @@
             # link to an online application form.
             #
             # The maximum number of allowed characters for each entry is 2,000.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "emails": [ # Optional but at least one of uris,
+        &quot;emails&quot;: [ # Optional but at least one of uris,
             # emails or instruction must be
             # specified.
             #
@@ -265,15 +387,26 @@
             # applications can be sent.
             #
             # The maximum number of allowed characters for each entry is 255.
-          "A String",
+          &quot;A String&quot;,
         ],
+        &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+            # emails or instruction must be
+            # specified.
+            #
+            # Use this field to provide instructions, such as &quot;Mail your application
+            # to ...&quot;, that a candidate can follow to apply for the job.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 3,000.
       },
-      "postingExpireTime": "A String", # Optional but strongly recommended for the best service
+      &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
           # experience.
           #
           # The expiration timestamp of the job. After this timestamp, the
           # job is marked as expired, and it no longer appears in search results. The
-          # expired job can't be deleted or listed by the DeleteJob and
+          # expired job can&#x27;t be deleted or listed by the DeleteJob and
           # ListJobs APIs, but it can be retrieved with the GetJob API or
           # updated with the UpdateJob API. An expired job can be updated and
           # opened again by using a future expiration timestamp. Updating an expired
@@ -292,226 +425,155 @@
           # will be treated as expired immediately.
           #
           # If this value is not provided at the time of job creation or is invalid,
-          # the job posting expires after 30 days from the job's creation time. For
+          # the job posting expires after 30 days from the job&#x27;s creation time. For
           # example, if the job was created on 2017/01/01 13:00AM UTC with an
           # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
           #
           # If this value is not provided on job update, it depends on the field masks
           # set by UpdateJobRequest.update_mask. If the field masks include
           # expiry_time, or the masks are empty meaning that every field is
-          # updated, the job posting expires after 30 days from the job's last
-          # update time. Otherwise the expiration date isn't updated.
-      "title": "A String", # Required. The title of the job, such as "Software Engineer"
+          # updated, the job posting expires after 30 days from the job&#x27;s last
+          # update time. Otherwise the expiration date isn&#x27;t updated.
+      &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+          # the job is available. If this field is set, a
+          # LocationFilter in a search query within the job region
+          # finds this job posting if an exact location match isn&#x27;t specified.
+          # If this field is set to PostingRegion.NATION or
+          # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+          # to the same location level as this field is strongly recommended.
+      &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+          # value is the time the request arrives at the server. Invalid timestamps are
+          # ignored.
+      &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+          # attributes that are not covered by the provided structured fields.
+          #
+          # The keys of the map are strings up to 64 bytes and must match the
+          # pattern: a-zA-Z*. For example, key0LikeThis or
+          # KEY_1_LIKE_THIS.
+          #
+          # At most 100 filterable and at most 100 unfilterable keys are supported.
+          # For filterable `string_values`, across all keys at most 200 values are
+          # allowed, with each string no more than 255 characters. For unfilterable
+          # `string_values`, the maximum total size of `string_values` across all keys
+          # is 50KB.
+        &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+          &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+              # custom attribute filters JobQuery.custom_attribute_filter.
+              # If false, these values may not be used for custom attribute filters.
+              #
+              # Default is false.
+          &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform number range search.
+              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+              #
+              # Currently at most 1 long_values is supported.
+            &quot;A String&quot;,
+          ],
+          &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+              # `CASE_INSENSITIVE_MATCH`) search.
+              # For filterable `string_value`s, a maximum total number of 200 values
+              # is allowed, with each `string_value` has a byte size of no more than
+              # 500B. For unfilterable `string_values`, the maximum total byte size of
+              # unfilterable `string_values` is 50KB.
+              #
+              # Empty string is not allowed.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+      &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+          # any requirements for fluency that are associated with the job.
+          #
+          # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+          # class=&quot;external&quot; target=&quot;_blank&quot; }.
+          #
+          # If this field is unspecified and Job.description is present, detected
+          # language code based on Job.description is assigned, otherwise
+          # defaults to &#x27;en_US&#x27;.
+      &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+      &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+          #
+          # The visibility of the job.
+          #
+          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+      &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+          #
+          # The resource name for the job. This is generated by the service when a
+          # job is created.
+          #
+          # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+          # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+          #
+          # Use of this field in job queries and API calls is preferred over the use of
+          # requisition_id since this value is unique.
+      &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+        &quot;A String&quot;,
+      ],
+      &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+          # The value determines the sort order of the jobs returned when searching for
+          # jobs using the featured jobs search call, with higher promotional values
+          # being returned first and ties being resolved by relevance sort. Only the
+          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+          #
+          # Default value is 0, and negative values are treated as 0.
+      &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
           #
           # The maximum number of allowed characters is 500.
-      "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-          # recommended as an alternative to using the more general description
-          # field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-          # is used for contracting engagements. Invalid timestamps are ignored.
-      "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-        "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-            # all compensation entries' CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-            # base compensation entry's CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        "entries": [ # Optional. Job compensation information.
-            #
-            # At most one entry can be of type
-            # CompensationInfo.CompensationType.BASE, which is
-            # referred as ** base compensation entry ** for the job.
-          { # A compensation entry that represents one component of compensation, such
-              # as base pay, bonus, or other compensation type.
-              #
-              # Annualization: One compensation entry can be annualized if
-              # - it contains valid amount or range.
-              # - and its expected_units_per_year is set or can be derived.
-              # Its annualized range is determined as (amount or range) times
-              # expected_units_per_year.
-            "description": "A String", # Optional. Compensation description.  For example, could
-                # indicate equity terms or provide additional context to an estimated
-                # bonus.
-            "range": { # Compensation range. # Optional. Compensation range.
-              "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                # Job.employment_types is FULLTIME, a default value is inferred
-                # based on unit. Default values:
-                # - HOURLY: 2080
-                # - DAILY: 260
-                # - WEEKLY: 52
-                # - MONTHLY: 12
-                # - ANNUAL: 1
-            "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "type": "A String", # Optional. Compensation type.
-                #
-                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-            "unit": "A String", # Optional. Frequency of the specified amount.
-                #
-                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-          },
-        ],
-      },
-      "department": "A String", # Optional. The department or functional area within the company with the open
-          # position.
-          #
-          # The maximum number of allowed characters is 255.
-      "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-      "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
+      &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+      &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
           # client to identify a job. This field is intended to be used by clients
           # for client identification and tracking of postings. A job is not allowed
           # to be created if there is another job with the same [company_name],
           # language_code and requisition_id.
           #
           # The maximum number of allowed characters is 255.
-      "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-          # value is the time the request arrives at the server. Invalid timestamps are
-          # ignored.
-      "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-          # description of the company and related information. Separate fields are
-          # provided on the job object for responsibilities,
-          # qualifications, and other job characteristics. Use of
-          # these separate job fields is recommended.
+      &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+          # job. The use of this field is recommended
+          # as an alternative to using the more general description field.
           #
           # This field accepts and sanitizes HTML input, and also accepts
           # bold, italic, ordered list, and unordered list markup tags.
           #
-          # The maximum number of allowed characters is 100,000.
-      "companyName": "A String", # Required. The resource name of the company listing the job, such as
-          # "projects/api-test-project/companies/foo".
-      "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
+          # The maximum number of allowed characters is 10,000.
+      &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+          #
+          # Options for job processing.
+        &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+            #
+            # * description
+            # * applicationInfo.instruction
+            # * incentives
+            # * qualifications
+            # * responsibilities
+            #
+            # HTML tags in these fields may be stripped if sanitiazation is not
+            # disabled.
+            #
+            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+        &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+            # more precise address for the job.
+      },
+      &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+          # engagements. Invalid timestamps are ignored.
+      &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
           #
           # Derived details about the job posting.
-        "jobCategories": [ # Job categories derived from Job.title and Job.description.
-          "A String",
-        ],
-        "locations": [ # Structured locations of the job, resolved from Job.addresses.
+        &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
             #
             # locations are exactly matched to Job.addresses in the same
             # order.
           { # Output only.
               #
               # A resource that represents a location with full geographic information.
-            "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                # LocationType#LOCALITY.
-            "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, "Mountain View, CA, USA" has a radius of
-                # 6.17 miles.
-            "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
                 # such as postal delivery and payments addresses. Given a postal address,
                 # a postal service can deliver items to a premises, P.O. Box, or other
                 # delivery location.
@@ -531,53 +593,36 @@
                 #
                 # For more guidance on how to use this schema, please see:
                 # https://support.google.com/business/answer/6397478
-              "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                  # known). This is often the UI language of the input form or is expected
-                  # to match one of the languages used in the address' country/region, or their
-                  # transliterated equivalents.
-                  # This can affect formatting in certain countries, but is not critical
-                  # to the correctness of the data and will never affect any validation or
-                  # other non-formatting related operations.
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
                   #
-                  # If this value is not known, it should be omitted (rather than specifying a
-                  # possibly incorrect default).
-                  #
-                  # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-              "recipients": [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain "care of" information.
-                "A String",
-              ],
-              "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
                   # Examples: US city, IT comune, UK post town.
                   # In regions of the world where localities are not well defined or do not fit
                   # into this structure well, leave locality empty and use address_lines.
-              "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                  # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                  # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-              "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: "CH" for Switzerland.
-              "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                   # addresses of a country or region.
                   # For example, this can be a state, a province, an oblast, or a prefecture.
                   # Specifically, for Spain this is the province and not the autonomous
-                  # community (e.g. "Barcelona" and not "Catalonia").
-                  # Many countries don't use an administrative area in postal addresses. E.g.
+                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                   # in Switzerland this should be left unpopulated.
-              "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
+              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                   #
                   # Because values in address_lines do not have type information and may
                   # sometimes contain multiple values in a single field (e.g.
-                  # "Austin, TX"), it is important that the line order is clear. The order of
-                  # address lines should be "envelope order" for the country/region of the
+                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                  # address lines should be &quot;envelope order&quot; for the country/region of the
                   # address. In places where this can vary (e.g. Japan), address_language is
-                  # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                  # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
                   # an address can be selected based on the language.
                   #
                   # The minimum permitted structural representation of an address consists
@@ -591,113 +636,69 @@
                   # then geocoding is the recommended way to handle completely unstructured
                   # addresses (as opposed to guessing which parts of the address should be
                   # localities or administrative areas).
-                "A String",
+                &quot;A String&quot;,
               ],
-              "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
                   # postal codes to be present, but where they are used, they may trigger
                   # additional validation with other parts of the address (e.g. state/zip
                   # validation in the U.S.A.).
-              "organization": "A String", # Optional. The name of the organization at the address.
-              "sublocality": "A String", # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
+              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                  # known). This is often the UI language of the input form or is expected
+                  # to match one of the languages used in the address&#x27; country/region, or their
+                  # transliterated equivalents.
+                  # This can affect formatting in certain countries, but is not critical
+                  # to the correctness of the data and will never affect any validation or
+                  # other non-formatting related operations.
                   #
-                  # All new revisions **must** be backward compatible with old revisions.
+                  # If this value is not known, it should be omitted (rather than specifying a
+                  # possibly incorrect default).
+                  #
+                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
+            },
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                # LocationType#LOCALITY.
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
             },
           },
         ],
+        &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+          &quot;A String&quot;,
+        ],
       },
-      "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
+      &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+          # full time or
+          # part time.
+        &quot;A String&quot;,
+      ],
+      &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
           # incentives associated with the job not including salary or pay.
           #
           # The maximum number of allowed characters is 10,000.
-      "jobBenefits": [ # Optional. The benefits included with the job.
-        "A String",
-      ],
-      "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-          # job. The use of this field is recommended
-          # as an alternative to using the more general description field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      "visibility": "A String", # Deprecated. The job is only visible to the owner.
-          #
-          # The visibility of the job.
-          #
-          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-      "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-      "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-          # the job is available. If this field is set, a
-          # LocationFilter in a search query within the job region
-          # finds this job posting if an exact location match isn't specified.
-          # If this field is set to PostingRegion.NATION or
-          # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-          # to the same location level as this field is strongly recommended.
-      "name": "A String", # Required during job update.
-          #
-          # The resource name for the job. This is generated by the service when a
-          # job is created.
-          #
-          # The format is "projects/{project_id}/jobs/{job_id}",
-          # for example, "projects/api-test-project/jobs/1234".
-          #
-          # Use of this field in job queries and API calls is preferred over the use of
-          # requisition_id since this value is unique.
-      "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-          # The value determines the sort order of the jobs returned when searching for
-          # jobs using the featured jobs search call, with higher promotional values
-          # being returned first and ties being resolved by relevance sort. Only the
-          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-          #
-          # Default value is 0, and negative values are treated as 0.
-      "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-        "A String",
-      ],
-      "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-          # attributes that are not covered by the provided structured fields.
-          #
-          # The keys of the map are strings up to 64 bytes and must match the
-          # pattern: a-zA-Z*. For example, key0LikeThis or
-          # KEY_1_LIKE_THIS.
-          #
-          # At most 100 filterable and at most 100 unfilterable keys are supported.
-          # For filterable `string_values`, across all keys at most 200 values are
-          # allowed, with each string no more than 255 characters. For unfilterable
-          # `string_values`, the maximum total size of `string_values` across all keys
-          # is 50KB.
-        "a_key": { # Custom attribute values that are either filterable or non-filterable.
-          "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-              # If false, values are not searchable.
-              #
-              # Default is false.
-          "stringValues": [ # Optional but exactly one of string_values or long_values must
-              # be specified.
-              #
-              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-              # `CASE_INSENSITIVE_MATCH`) search.
-              # For filterable `string_value`s, a maximum total number of 200 values
-              # is allowed, with each `string_value` has a byte size of no more than
-              # 500B. For unfilterable `string_values`, the maximum total byte size of
-              # unfilterable `string_values` is 50KB.
-              #
-              # Empty string is not allowed.
-            "A String",
-          ],
-          "longValues": [ # Optional but exactly one of string_values or long_values must
-              # be specified.
-              #
-              # This field is used to perform number range search.
-              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-              #
-              # Currently at most 1 long_values is supported.
-            "A String",
-          ],
-        },
-      },
-      "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
     },
   }
 
@@ -709,21 +710,11 @@
 Returns:
   An object of the form:
 
-    { # A Job resource represents a job posting (also referred to as a "job listing"
-      # or "job requisition"). A job belongs to a Company, which is the hiring
+    { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
+      # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
       # entity responsible for the job.
-    "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-        # any requirements for fluency that are associated with the job.
-        #
-        # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-        # For more information, see
-        # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-        # class="external" target="_blank" }.
-        #
-        # If this field is unspecified and Job.description is present, detected
-        # language code based on Job.description is assigned, otherwise
-        # defaults to 'en_US'.
-    "addresses": [ # Optional but strongly recommended for the best service experience.
+    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
         #
         # Location(s) where the employer is looking to hire for this job posting.
         #
@@ -732,7 +723,7 @@
         #
         # At most 50 locations are allowed for best search performance. If a job has
         # more locations, it is suggested to split it into multiple jobs with unique
-        # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
+        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
         # multiple jobs with the same company_name, language_code and
         # requisition_id are not allowed. If the original requisition_id must
         # be preserved, a custom field should be used for storage. It is also
@@ -740,49 +731,181 @@
         # for better search experience.
         #
         # The maximum number of allowed characters is 500.
-      "A String",
+      &quot;A String&quot;,
     ],
-    "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-    "processingOptions": { # Input only. # Optional. Options for job processing.
+    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+        # &quot;projects/api-test-project/companies/foo&quot;.
+    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+        # description of the company and related information. Separate fields are
+        # provided on the job object for responsibilities,
+        # qualifications, and other job characteristics. Use of
+        # these separate job fields is recommended.
         #
-        # Options for job processing.
-      "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-          #
-          # * description
-          # * applicationInfo.instruction
-          # * incentives
-          # * qualifications
-          # * responsibilities
-          #
-          # HTML tags in these fields may be stripped if sanitiazation is not
-          # disabled.
-          #
-          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-      "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-          # more precise address for the job.
-    },
-    "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-        # full time or
-        # part time.
-      "A String",
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 100,000.
+    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+        # is used for contracting engagements. Invalid timestamps are ignored.
+    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+      &quot;A String&quot;,
     ],
-    "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-        # engagements. Invalid timestamps are ignored.
-    "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+          # base compensation entry&#x27;s CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+          # all compensation entries&#x27; CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      &quot;entries&quot;: [ # Optional. Job compensation information.
+          #
+          # At most one entry can be of type
+          # CompensationInfo.CompensationType.BASE, which is
+          # referred as ** base compensation entry ** for the job.
+        { # A compensation entry that represents one component of compensation, such
+            # as base pay, bonus, or other compensation type.
+            #
+            # Annualization: One compensation entry can be annualized if
+            # - it contains valid amount or range.
+            # - and its expected_units_per_year is set or can be derived.
+            # Its annualized range is determined as (amount or range) times
+            # expected_units_per_year.
+          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+              # Job.employment_types is FULLTIME, a default value is inferred
+              # based on unit. Default values:
+              # - HOURLY: 2080
+              # - DAILY: 260
+              # - WEEKLY: 52
+              # - MONTHLY: 12
+              # - ANNUAL: 1
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+              # indicate equity terms or provide additional context to an estimated
+              # bonus.
+          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+              #
+              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+              #
+              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+        },
+      ],
+    },
+    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+        # recommended as an alternative to using the more general description
+        # field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+        # position.
+        #
+        # The maximum number of allowed characters is 255.
+    &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
         #
         # Job application information.
-      "instruction": "A String", # Optional but at least one of uris,
-          # emails or instruction must be
-          # specified.
-          #
-          # Use this field to provide instructions, such as "Mail your application
-          # to ...", that a candidate can follow to apply for the job.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 3,000.
-      "uris": [ # Optional but at least one of uris,
+      &quot;uris&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
           #
@@ -790,9 +913,9 @@
           # link to an online application form.
           #
           # The maximum number of allowed characters for each entry is 2,000.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "emails": [ # Optional but at least one of uris,
+      &quot;emails&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
           #
@@ -800,15 +923,26 @@
           # applications can be sent.
           #
           # The maximum number of allowed characters for each entry is 255.
-        "A String",
+        &quot;A String&quot;,
       ],
+      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+          # emails or instruction must be
+          # specified.
+          #
+          # Use this field to provide instructions, such as &quot;Mail your application
+          # to ...&quot;, that a candidate can follow to apply for the job.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 3,000.
     },
-    "postingExpireTime": "A String", # Optional but strongly recommended for the best service
+    &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
         # experience.
         #
         # The expiration timestamp of the job. After this timestamp, the
         # job is marked as expired, and it no longer appears in search results. The
-        # expired job can't be deleted or listed by the DeleteJob and
+        # expired job can&#x27;t be deleted or listed by the DeleteJob and
         # ListJobs APIs, but it can be retrieved with the GetJob API or
         # updated with the UpdateJob API. An expired job can be updated and
         # opened again by using a future expiration timestamp. Updating an expired
@@ -827,226 +961,155 @@
         # will be treated as expired immediately.
         #
         # If this value is not provided at the time of job creation or is invalid,
-        # the job posting expires after 30 days from the job's creation time. For
+        # the job posting expires after 30 days from the job&#x27;s creation time. For
         # example, if the job was created on 2017/01/01 13:00AM UTC with an
         # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
         #
         # If this value is not provided on job update, it depends on the field masks
         # set by UpdateJobRequest.update_mask. If the field masks include
         # expiry_time, or the masks are empty meaning that every field is
-        # updated, the job posting expires after 30 days from the job's last
-        # update time. Otherwise the expiration date isn't updated.
-    "title": "A String", # Required. The title of the job, such as "Software Engineer"
+        # updated, the job posting expires after 30 days from the job&#x27;s last
+        # update time. Otherwise the expiration date isn&#x27;t updated.
+    &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+        # the job is available. If this field is set, a
+        # LocationFilter in a search query within the job region
+        # finds this job posting if an exact location match isn&#x27;t specified.
+        # If this field is set to PostingRegion.NATION or
+        # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+        # to the same location level as this field is strongly recommended.
+    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+        # value is the time the request arrives at the server. Invalid timestamps are
+        # ignored.
+    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+        # attributes that are not covered by the provided structured fields.
+        #
+        # The keys of the map are strings up to 64 bytes and must match the
+        # pattern: a-zA-Z*. For example, key0LikeThis or
+        # KEY_1_LIKE_THIS.
+        #
+        # At most 100 filterable and at most 100 unfilterable keys are supported.
+        # For filterable `string_values`, across all keys at most 200 values are
+        # allowed, with each string no more than 255 characters. For unfilterable
+        # `string_values`, the maximum total size of `string_values` across all keys
+        # is 50KB.
+      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+            # custom attribute filters JobQuery.custom_attribute_filter.
+            # If false, these values may not be used for custom attribute filters.
+            #
+            # Default is false.
+        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform number range search.
+            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+            #
+            # Currently at most 1 long_values is supported.
+          &quot;A String&quot;,
+        ],
+        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+            # `CASE_INSENSITIVE_MATCH`) search.
+            # For filterable `string_value`s, a maximum total number of 200 values
+            # is allowed, with each `string_value` has a byte size of no more than
+            # 500B. For unfilterable `string_values`, the maximum total byte size of
+            # unfilterable `string_values` is 50KB.
+            #
+            # Empty string is not allowed.
+          &quot;A String&quot;,
+        ],
+      },
+    },
+    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+        # any requirements for fluency that are associated with the job.
+        #
+        # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+        # For more information, see
+        # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+        # class=&quot;external&quot; target=&quot;_blank&quot; }.
+        #
+        # If this field is unspecified and Job.description is present, detected
+        # language code based on Job.description is assigned, otherwise
+        # defaults to &#x27;en_US&#x27;.
+    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        #
+        # The visibility of the job.
+        #
+        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+        #
+        # The resource name for the job. This is generated by the service when a
+        # job is created.
+        #
+        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+        #
+        # Use of this field in job queries and API calls is preferred over the use of
+        # requisition_id since this value is unique.
+    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+      &quot;A String&quot;,
+    ],
+    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+        # The value determines the sort order of the jobs returned when searching for
+        # jobs using the featured jobs search call, with higher promotional values
+        # being returned first and ties being resolved by relevance sort. Only the
+        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
         #
         # The maximum number of allowed characters is 500.
-    "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-        # recommended as an alternative to using the more general description
-        # field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-        # is used for contracting engagements. Invalid timestamps are ignored.
-    "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-      "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-          # all compensation entries' CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-        "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-          # base compensation entry's CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-        "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      "entries": [ # Optional. Job compensation information.
-          #
-          # At most one entry can be of type
-          # CompensationInfo.CompensationType.BASE, which is
-          # referred as ** base compensation entry ** for the job.
-        { # A compensation entry that represents one component of compensation, such
-            # as base pay, bonus, or other compensation type.
-            #
-            # Annualization: One compensation entry can be annualized if
-            # - it contains valid amount or range.
-            # - and its expected_units_per_year is set or can be derived.
-            # Its annualized range is determined as (amount or range) times
-            # expected_units_per_year.
-          "description": "A String", # Optional. Compensation description.  For example, could
-              # indicate equity terms or provide additional context to an estimated
-              # bonus.
-          "range": { # Compensation range. # Optional. Compensation range.
-            "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-              # Job.employment_types is FULLTIME, a default value is inferred
-              # based on unit. Default values:
-              # - HOURLY: 2080
-              # - DAILY: 260
-              # - WEEKLY: 52
-              # - MONTHLY: 12
-              # - ANNUAL: 1
-          "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "type": "A String", # Optional. Compensation type.
-              #
-              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-          "unit": "A String", # Optional. Frequency of the specified amount.
-              #
-              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-        },
-      ],
-    },
-    "department": "A String", # Optional. The department or functional area within the company with the open
-        # position.
-        #
-        # The maximum number of allowed characters is 255.
-    "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-    "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
+    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
         # client to identify a job. This field is intended to be used by clients
         # for client identification and tracking of postings. A job is not allowed
         # to be created if there is another job with the same [company_name],
         # language_code and requisition_id.
         #
         # The maximum number of allowed characters is 255.
-    "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-        # value is the time the request arrives at the server. Invalid timestamps are
-        # ignored.
-    "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-        # description of the company and related information. Separate fields are
-        # provided on the job object for responsibilities,
-        # qualifications, and other job characteristics. Use of
-        # these separate job fields is recommended.
+    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+        # job. The use of this field is recommended
+        # as an alternative to using the more general description field.
         #
         # This field accepts and sanitizes HTML input, and also accepts
         # bold, italic, ordered list, and unordered list markup tags.
         #
-        # The maximum number of allowed characters is 100,000.
-    "companyName": "A String", # Required. The resource name of the company listing the job, such as
-        # "projects/api-test-project/companies/foo".
-    "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
+        # The maximum number of allowed characters is 10,000.
+    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+        #
+        # Options for job processing.
+      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+          #
+          # * description
+          # * applicationInfo.instruction
+          # * incentives
+          # * qualifications
+          # * responsibilities
+          #
+          # HTML tags in these fields may be stripped if sanitiazation is not
+          # disabled.
+          #
+          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+          # more precise address for the job.
+    },
+    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+        # engagements. Invalid timestamps are ignored.
+    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
         #
         # Derived details about the job posting.
-      "jobCategories": [ # Job categories derived from Job.title and Job.description.
-        "A String",
-      ],
-      "locations": [ # Structured locations of the job, resolved from Job.addresses.
+      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
           #
           # locations are exactly matched to Job.addresses in the same
           # order.
         { # Output only.
             #
             # A resource that represents a location with full geographic information.
-          "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-              # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-              # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-              # LocationType#LOCALITY.
-          "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-              # location bounding box in which a circle with the specified radius
-              # centered from LatLng covers the area associated with the job location.
-              # For example, currently, "Mountain View, CA, USA" has a radius of
-              # 6.17 miles.
-          "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
               # such as postal delivery and payments addresses. Given a postal address,
               # a postal service can deliver items to a premises, P.O. Box, or other
               # delivery location.
@@ -1066,53 +1129,36 @@
               #
               # For more guidance on how to use this schema, please see:
               # https://support.google.com/business/answer/6397478
-            "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                # known). This is often the UI language of the input form or is expected
-                # to match one of the languages used in the address' country/region, or their
-                # transliterated equivalents.
-                # This can affect formatting in certain countries, but is not critical
-                # to the correctness of the data and will never affect any validation or
-                # other non-formatting related operations.
+            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                # the latest revision.
                 #
-                # If this value is not known, it should be omitted (rather than specifying a
-                # possibly incorrect default).
-                #
-                # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-            "recipients": [ # Optional. The recipient at the address.
-                # This field may, under certain circumstances, contain multiline information.
-                # For example, it might contain "care of" information.
-              "A String",
-            ],
-            "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+                # All new revisions **must** be backward compatible with old revisions.
+            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
                 # Examples: US city, IT comune, UK post town.
                 # In regions of the world where localities are not well defined or do not fit
                 # into this structure well, leave locality empty and use address_lines.
-            "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                # in most regions. Where it is used, the value is either a string like
-                # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-            "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                # is never inferred and it is up to the user to ensure the value is
-                # correct. See http://cldr.unicode.org/ and
-                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                # for details. Example: "CH" for Switzerland.
-            "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                 # addresses of a country or region.
                 # For example, this can be a state, a province, an oblast, or a prefecture.
                 # Specifically, for Spain this is the province and not the autonomous
-                # community (e.g. "Barcelona" and not "Catalonia").
-                # Many countries don't use an administrative area in postal addresses. E.g.
+                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                 # in Switzerland this should be left unpopulated.
-            "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                # is never inferred and it is up to the user to ensure the value is
+                # correct. See http://cldr.unicode.org/ and
+                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                # for details. Example: &quot;CH&quot; for Switzerland.
+            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                 #
                 # Because values in address_lines do not have type information and may
                 # sometimes contain multiple values in a single field (e.g.
-                # "Austin, TX"), it is important that the line order is clear. The order of
-                # address lines should be "envelope order" for the country/region of the
+                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                # address lines should be &quot;envelope order&quot; for the country/region of the
                 # address. In places where this can vary (e.g. Japan), address_language is
-                # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
                 # an address can be selected based on the language.
                 #
                 # The minimum permitted structural representation of an address consists
@@ -1126,113 +1172,69 @@
                 # then geocoding is the recommended way to handle completely unstructured
                 # addresses (as opposed to guessing which parts of the address should be
                 # localities or administrative areas).
-              "A String",
+              &quot;A String&quot;,
             ],
-            "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
                 # postal codes to be present, but where they are used, they may trigger
                 # additional validation with other parts of the address (e.g. state/zip
                 # validation in the U.S.A.).
-            "organization": "A String", # Optional. The name of the organization at the address.
-            "sublocality": "A String", # Optional. Sublocality of the address.
-                # For example, this can be neighborhoods, boroughs, districts.
-            "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                # the latest revision.
+            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                # known). This is often the UI language of the input form or is expected
+                # to match one of the languages used in the address&#x27; country/region, or their
+                # transliterated equivalents.
+                # This can affect formatting in certain countries, but is not critical
+                # to the correctness of the data and will never affect any validation or
+                # other non-formatting related operations.
                 #
-                # All new revisions **must** be backward compatible with old revisions.
+                # If this value is not known, it should be omitted (rather than specifying a
+                # possibly incorrect default).
+                #
+                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                # in most regions. Where it is used, the value is either a string like
+                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+            &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                # This field may, under certain circumstances, contain multiline information.
+                # For example, it might contain &quot;care of&quot; information.
+              &quot;A String&quot;,
+            ],
+            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                # For example, this can be neighborhoods, boroughs, districts.
+          },
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+              # LocationType#LOCALITY.
+          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+              # location bounding box in which a circle with the specified radius
+              # centered from LatLng covers the area associated with the job location.
+              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+              # 6.17 miles.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
           },
         },
       ],
+      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+        &quot;A String&quot;,
+      ],
     },
-    "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
+    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+        # full time or
+        # part time.
+      &quot;A String&quot;,
+    ],
+    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
         # incentives associated with the job not including salary or pay.
         #
         # The maximum number of allowed characters is 10,000.
-    "jobBenefits": [ # Optional. The benefits included with the job.
-      "A String",
-    ],
-    "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-        # job. The use of this field is recommended
-        # as an alternative to using the more general description field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    "visibility": "A String", # Deprecated. The job is only visible to the owner.
-        #
-        # The visibility of the job.
-        #
-        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-    "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-    "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-        # the job is available. If this field is set, a
-        # LocationFilter in a search query within the job region
-        # finds this job posting if an exact location match isn't specified.
-        # If this field is set to PostingRegion.NATION or
-        # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-        # to the same location level as this field is strongly recommended.
-    "name": "A String", # Required during job update.
-        #
-        # The resource name for the job. This is generated by the service when a
-        # job is created.
-        #
-        # The format is "projects/{project_id}/jobs/{job_id}",
-        # for example, "projects/api-test-project/jobs/1234".
-        #
-        # Use of this field in job queries and API calls is preferred over the use of
-        # requisition_id since this value is unique.
-    "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-        # The value determines the sort order of the jobs returned when searching for
-        # jobs using the featured jobs search call, with higher promotional values
-        # being returned first and ties being resolved by relevance sort. Only the
-        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-        #
-        # Default value is 0, and negative values are treated as 0.
-    "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-      "A String",
-    ],
-    "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-        # attributes that are not covered by the provided structured fields.
-        #
-        # The keys of the map are strings up to 64 bytes and must match the
-        # pattern: a-zA-Z*. For example, key0LikeThis or
-        # KEY_1_LIKE_THIS.
-        #
-        # At most 100 filterable and at most 100 unfilterable keys are supported.
-        # For filterable `string_values`, across all keys at most 200 values are
-        # allowed, with each string no more than 255 characters. For unfilterable
-        # `string_values`, the maximum total size of `string_values` across all keys
-        # is 50KB.
-      "a_key": { # Custom attribute values that are either filterable or non-filterable.
-        "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-            # If false, values are not searchable.
-            #
-            # Default is false.
-        "stringValues": [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-            # `CASE_INSENSITIVE_MATCH`) search.
-            # For filterable `string_value`s, a maximum total number of 200 values
-            # is allowed, with each `string_value` has a byte size of no more than
-            # 500B. For unfilterable `string_values`, the maximum total byte size of
-            # unfilterable `string_values` is 50KB.
-            #
-            # Empty string is not allowed.
-          "A String",
-        ],
-        "longValues": [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform number range search.
-            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-            #
-            # Currently at most 1 long_values is supported.
-          "A String",
-        ],
-      },
-    },
-    "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
   }</pre>
 </div>
 
@@ -1246,8 +1248,8 @@
 Args:
   name: string, Required. The resource name of the job to be deleted.
 
-The format is "projects/{project_id}/jobs/{job_id}",
-for example, "projects/api-test-project/jobs/1234". (required)
+The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+for example, &quot;projects/api-test-project/jobs/1234&quot;. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1276,8 +1278,8 @@
 Args:
   name: string, Required. The resource name of the job to retrieve.
 
-The format is "projects/{project_id}/jobs/{job_id}",
-for example, "projects/api-test-project/jobs/1234". (required)
+The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+for example, &quot;projects/api-test-project/jobs/1234&quot;. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1286,21 +1288,11 @@
 Returns:
   An object of the form:
 
-    { # A Job resource represents a job posting (also referred to as a "job listing"
-      # or "job requisition"). A job belongs to a Company, which is the hiring
+    { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
+      # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
       # entity responsible for the job.
-    "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-        # any requirements for fluency that are associated with the job.
-        #
-        # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-        # For more information, see
-        # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-        # class="external" target="_blank" }.
-        #
-        # If this field is unspecified and Job.description is present, detected
-        # language code based on Job.description is assigned, otherwise
-        # defaults to 'en_US'.
-    "addresses": [ # Optional but strongly recommended for the best service experience.
+    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
         #
         # Location(s) where the employer is looking to hire for this job posting.
         #
@@ -1309,7 +1301,7 @@
         #
         # At most 50 locations are allowed for best search performance. If a job has
         # more locations, it is suggested to split it into multiple jobs with unique
-        # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
+        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
         # multiple jobs with the same company_name, language_code and
         # requisition_id are not allowed. If the original requisition_id must
         # be preserved, a custom field should be used for storage. It is also
@@ -1317,49 +1309,181 @@
         # for better search experience.
         #
         # The maximum number of allowed characters is 500.
-      "A String",
+      &quot;A String&quot;,
     ],
-    "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-    "processingOptions": { # Input only. # Optional. Options for job processing.
+    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+        # &quot;projects/api-test-project/companies/foo&quot;.
+    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+        # description of the company and related information. Separate fields are
+        # provided on the job object for responsibilities,
+        # qualifications, and other job characteristics. Use of
+        # these separate job fields is recommended.
         #
-        # Options for job processing.
-      "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-          #
-          # * description
-          # * applicationInfo.instruction
-          # * incentives
-          # * qualifications
-          # * responsibilities
-          #
-          # HTML tags in these fields may be stripped if sanitiazation is not
-          # disabled.
-          #
-          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-      "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-          # more precise address for the job.
-    },
-    "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-        # full time or
-        # part time.
-      "A String",
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 100,000.
+    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+        # is used for contracting engagements. Invalid timestamps are ignored.
+    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+      &quot;A String&quot;,
     ],
-    "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-        # engagements. Invalid timestamps are ignored.
-    "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+          # base compensation entry&#x27;s CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+          # all compensation entries&#x27; CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      &quot;entries&quot;: [ # Optional. Job compensation information.
+          #
+          # At most one entry can be of type
+          # CompensationInfo.CompensationType.BASE, which is
+          # referred as ** base compensation entry ** for the job.
+        { # A compensation entry that represents one component of compensation, such
+            # as base pay, bonus, or other compensation type.
+            #
+            # Annualization: One compensation entry can be annualized if
+            # - it contains valid amount or range.
+            # - and its expected_units_per_year is set or can be derived.
+            # Its annualized range is determined as (amount or range) times
+            # expected_units_per_year.
+          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+              # Job.employment_types is FULLTIME, a default value is inferred
+              # based on unit. Default values:
+              # - HOURLY: 2080
+              # - DAILY: 260
+              # - WEEKLY: 52
+              # - MONTHLY: 12
+              # - ANNUAL: 1
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+              # indicate equity terms or provide additional context to an estimated
+              # bonus.
+          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+              #
+              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+              #
+              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+        },
+      ],
+    },
+    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+        # recommended as an alternative to using the more general description
+        # field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+        # position.
+        #
+        # The maximum number of allowed characters is 255.
+    &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
         #
         # Job application information.
-      "instruction": "A String", # Optional but at least one of uris,
-          # emails or instruction must be
-          # specified.
-          #
-          # Use this field to provide instructions, such as "Mail your application
-          # to ...", that a candidate can follow to apply for the job.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 3,000.
-      "uris": [ # Optional but at least one of uris,
+      &quot;uris&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
           #
@@ -1367,9 +1491,9 @@
           # link to an online application form.
           #
           # The maximum number of allowed characters for each entry is 2,000.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "emails": [ # Optional but at least one of uris,
+      &quot;emails&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
           #
@@ -1377,15 +1501,26 @@
           # applications can be sent.
           #
           # The maximum number of allowed characters for each entry is 255.
-        "A String",
+        &quot;A String&quot;,
       ],
+      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+          # emails or instruction must be
+          # specified.
+          #
+          # Use this field to provide instructions, such as &quot;Mail your application
+          # to ...&quot;, that a candidate can follow to apply for the job.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 3,000.
     },
-    "postingExpireTime": "A String", # Optional but strongly recommended for the best service
+    &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
         # experience.
         #
         # The expiration timestamp of the job. After this timestamp, the
         # job is marked as expired, and it no longer appears in search results. The
-        # expired job can't be deleted or listed by the DeleteJob and
+        # expired job can&#x27;t be deleted or listed by the DeleteJob and
         # ListJobs APIs, but it can be retrieved with the GetJob API or
         # updated with the UpdateJob API. An expired job can be updated and
         # opened again by using a future expiration timestamp. Updating an expired
@@ -1404,226 +1539,155 @@
         # will be treated as expired immediately.
         #
         # If this value is not provided at the time of job creation or is invalid,
-        # the job posting expires after 30 days from the job's creation time. For
+        # the job posting expires after 30 days from the job&#x27;s creation time. For
         # example, if the job was created on 2017/01/01 13:00AM UTC with an
         # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
         #
         # If this value is not provided on job update, it depends on the field masks
         # set by UpdateJobRequest.update_mask. If the field masks include
         # expiry_time, or the masks are empty meaning that every field is
-        # updated, the job posting expires after 30 days from the job's last
-        # update time. Otherwise the expiration date isn't updated.
-    "title": "A String", # Required. The title of the job, such as "Software Engineer"
+        # updated, the job posting expires after 30 days from the job&#x27;s last
+        # update time. Otherwise the expiration date isn&#x27;t updated.
+    &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+        # the job is available. If this field is set, a
+        # LocationFilter in a search query within the job region
+        # finds this job posting if an exact location match isn&#x27;t specified.
+        # If this field is set to PostingRegion.NATION or
+        # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+        # to the same location level as this field is strongly recommended.
+    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+        # value is the time the request arrives at the server. Invalid timestamps are
+        # ignored.
+    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+        # attributes that are not covered by the provided structured fields.
+        #
+        # The keys of the map are strings up to 64 bytes and must match the
+        # pattern: a-zA-Z*. For example, key0LikeThis or
+        # KEY_1_LIKE_THIS.
+        #
+        # At most 100 filterable and at most 100 unfilterable keys are supported.
+        # For filterable `string_values`, across all keys at most 200 values are
+        # allowed, with each string no more than 255 characters. For unfilterable
+        # `string_values`, the maximum total size of `string_values` across all keys
+        # is 50KB.
+      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+            # custom attribute filters JobQuery.custom_attribute_filter.
+            # If false, these values may not be used for custom attribute filters.
+            #
+            # Default is false.
+        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform number range search.
+            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+            #
+            # Currently at most 1 long_values is supported.
+          &quot;A String&quot;,
+        ],
+        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+            # `CASE_INSENSITIVE_MATCH`) search.
+            # For filterable `string_value`s, a maximum total number of 200 values
+            # is allowed, with each `string_value` has a byte size of no more than
+            # 500B. For unfilterable `string_values`, the maximum total byte size of
+            # unfilterable `string_values` is 50KB.
+            #
+            # Empty string is not allowed.
+          &quot;A String&quot;,
+        ],
+      },
+    },
+    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+        # any requirements for fluency that are associated with the job.
+        #
+        # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+        # For more information, see
+        # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+        # class=&quot;external&quot; target=&quot;_blank&quot; }.
+        #
+        # If this field is unspecified and Job.description is present, detected
+        # language code based on Job.description is assigned, otherwise
+        # defaults to &#x27;en_US&#x27;.
+    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        #
+        # The visibility of the job.
+        #
+        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+        #
+        # The resource name for the job. This is generated by the service when a
+        # job is created.
+        #
+        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+        #
+        # Use of this field in job queries and API calls is preferred over the use of
+        # requisition_id since this value is unique.
+    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+      &quot;A String&quot;,
+    ],
+    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+        # The value determines the sort order of the jobs returned when searching for
+        # jobs using the featured jobs search call, with higher promotional values
+        # being returned first and ties being resolved by relevance sort. Only the
+        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
         #
         # The maximum number of allowed characters is 500.
-    "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-        # recommended as an alternative to using the more general description
-        # field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-        # is used for contracting engagements. Invalid timestamps are ignored.
-    "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-      "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-          # all compensation entries' CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-        "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-          # base compensation entry's CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-        "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      "entries": [ # Optional. Job compensation information.
-          #
-          # At most one entry can be of type
-          # CompensationInfo.CompensationType.BASE, which is
-          # referred as ** base compensation entry ** for the job.
-        { # A compensation entry that represents one component of compensation, such
-            # as base pay, bonus, or other compensation type.
-            #
-            # Annualization: One compensation entry can be annualized if
-            # - it contains valid amount or range.
-            # - and its expected_units_per_year is set or can be derived.
-            # Its annualized range is determined as (amount or range) times
-            # expected_units_per_year.
-          "description": "A String", # Optional. Compensation description.  For example, could
-              # indicate equity terms or provide additional context to an estimated
-              # bonus.
-          "range": { # Compensation range. # Optional. Compensation range.
-            "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-              # Job.employment_types is FULLTIME, a default value is inferred
-              # based on unit. Default values:
-              # - HOURLY: 2080
-              # - DAILY: 260
-              # - WEEKLY: 52
-              # - MONTHLY: 12
-              # - ANNUAL: 1
-          "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "type": "A String", # Optional. Compensation type.
-              #
-              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-          "unit": "A String", # Optional. Frequency of the specified amount.
-              #
-              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-        },
-      ],
-    },
-    "department": "A String", # Optional. The department or functional area within the company with the open
-        # position.
-        #
-        # The maximum number of allowed characters is 255.
-    "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-    "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
+    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
         # client to identify a job. This field is intended to be used by clients
         # for client identification and tracking of postings. A job is not allowed
         # to be created if there is another job with the same [company_name],
         # language_code and requisition_id.
         #
         # The maximum number of allowed characters is 255.
-    "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-        # value is the time the request arrives at the server. Invalid timestamps are
-        # ignored.
-    "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-        # description of the company and related information. Separate fields are
-        # provided on the job object for responsibilities,
-        # qualifications, and other job characteristics. Use of
-        # these separate job fields is recommended.
+    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+        # job. The use of this field is recommended
+        # as an alternative to using the more general description field.
         #
         # This field accepts and sanitizes HTML input, and also accepts
         # bold, italic, ordered list, and unordered list markup tags.
         #
-        # The maximum number of allowed characters is 100,000.
-    "companyName": "A String", # Required. The resource name of the company listing the job, such as
-        # "projects/api-test-project/companies/foo".
-    "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
+        # The maximum number of allowed characters is 10,000.
+    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+        #
+        # Options for job processing.
+      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+          #
+          # * description
+          # * applicationInfo.instruction
+          # * incentives
+          # * qualifications
+          # * responsibilities
+          #
+          # HTML tags in these fields may be stripped if sanitiazation is not
+          # disabled.
+          #
+          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+          # more precise address for the job.
+    },
+    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+        # engagements. Invalid timestamps are ignored.
+    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
         #
         # Derived details about the job posting.
-      "jobCategories": [ # Job categories derived from Job.title and Job.description.
-        "A String",
-      ],
-      "locations": [ # Structured locations of the job, resolved from Job.addresses.
+      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
           #
           # locations are exactly matched to Job.addresses in the same
           # order.
         { # Output only.
             #
             # A resource that represents a location with full geographic information.
-          "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-              # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-              # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-              # LocationType#LOCALITY.
-          "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-              # location bounding box in which a circle with the specified radius
-              # centered from LatLng covers the area associated with the job location.
-              # For example, currently, "Mountain View, CA, USA" has a radius of
-              # 6.17 miles.
-          "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
               # such as postal delivery and payments addresses. Given a postal address,
               # a postal service can deliver items to a premises, P.O. Box, or other
               # delivery location.
@@ -1643,53 +1707,36 @@
               #
               # For more guidance on how to use this schema, please see:
               # https://support.google.com/business/answer/6397478
-            "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                # known). This is often the UI language of the input form or is expected
-                # to match one of the languages used in the address' country/region, or their
-                # transliterated equivalents.
-                # This can affect formatting in certain countries, but is not critical
-                # to the correctness of the data and will never affect any validation or
-                # other non-formatting related operations.
+            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                # the latest revision.
                 #
-                # If this value is not known, it should be omitted (rather than specifying a
-                # possibly incorrect default).
-                #
-                # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-            "recipients": [ # Optional. The recipient at the address.
-                # This field may, under certain circumstances, contain multiline information.
-                # For example, it might contain "care of" information.
-              "A String",
-            ],
-            "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+                # All new revisions **must** be backward compatible with old revisions.
+            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
                 # Examples: US city, IT comune, UK post town.
                 # In regions of the world where localities are not well defined or do not fit
                 # into this structure well, leave locality empty and use address_lines.
-            "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                # in most regions. Where it is used, the value is either a string like
-                # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-            "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                # is never inferred and it is up to the user to ensure the value is
-                # correct. See http://cldr.unicode.org/ and
-                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                # for details. Example: "CH" for Switzerland.
-            "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                 # addresses of a country or region.
                 # For example, this can be a state, a province, an oblast, or a prefecture.
                 # Specifically, for Spain this is the province and not the autonomous
-                # community (e.g. "Barcelona" and not "Catalonia").
-                # Many countries don't use an administrative area in postal addresses. E.g.
+                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                 # in Switzerland this should be left unpopulated.
-            "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                # is never inferred and it is up to the user to ensure the value is
+                # correct. See http://cldr.unicode.org/ and
+                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                # for details. Example: &quot;CH&quot; for Switzerland.
+            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                 #
                 # Because values in address_lines do not have type information and may
                 # sometimes contain multiple values in a single field (e.g.
-                # "Austin, TX"), it is important that the line order is clear. The order of
-                # address lines should be "envelope order" for the country/region of the
+                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                # address lines should be &quot;envelope order&quot; for the country/region of the
                 # address. In places where this can vary (e.g. Japan), address_language is
-                # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
                 # an address can be selected based on the language.
                 #
                 # The minimum permitted structural representation of an address consists
@@ -1703,139 +1750,81 @@
                 # then geocoding is the recommended way to handle completely unstructured
                 # addresses (as opposed to guessing which parts of the address should be
                 # localities or administrative areas).
-              "A String",
+              &quot;A String&quot;,
             ],
-            "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
                 # postal codes to be present, but where they are used, they may trigger
                 # additional validation with other parts of the address (e.g. state/zip
                 # validation in the U.S.A.).
-            "organization": "A String", # Optional. The name of the organization at the address.
-            "sublocality": "A String", # Optional. Sublocality of the address.
-                # For example, this can be neighborhoods, boroughs, districts.
-            "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                # the latest revision.
+            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                # known). This is often the UI language of the input form or is expected
+                # to match one of the languages used in the address&#x27; country/region, or their
+                # transliterated equivalents.
+                # This can affect formatting in certain countries, but is not critical
+                # to the correctness of the data and will never affect any validation or
+                # other non-formatting related operations.
                 #
-                # All new revisions **must** be backward compatible with old revisions.
+                # If this value is not known, it should be omitted (rather than specifying a
+                # possibly incorrect default).
+                #
+                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                # in most regions. Where it is used, the value is either a string like
+                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+            &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                # This field may, under certain circumstances, contain multiline information.
+                # For example, it might contain &quot;care of&quot; information.
+              &quot;A String&quot;,
+            ],
+            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                # For example, this can be neighborhoods, boroughs, districts.
+          },
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+              # LocationType#LOCALITY.
+          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+              # location bounding box in which a circle with the specified radius
+              # centered from LatLng covers the area associated with the job location.
+              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+              # 6.17 miles.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
           },
         },
       ],
+      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+        &quot;A String&quot;,
+      ],
     },
-    "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
+    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+        # full time or
+        # part time.
+      &quot;A String&quot;,
+    ],
+    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
         # incentives associated with the job not including salary or pay.
         #
         # The maximum number of allowed characters is 10,000.
-    "jobBenefits": [ # Optional. The benefits included with the job.
-      "A String",
-    ],
-    "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-        # job. The use of this field is recommended
-        # as an alternative to using the more general description field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    "visibility": "A String", # Deprecated. The job is only visible to the owner.
-        #
-        # The visibility of the job.
-        #
-        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-    "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-    "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-        # the job is available. If this field is set, a
-        # LocationFilter in a search query within the job region
-        # finds this job posting if an exact location match isn't specified.
-        # If this field is set to PostingRegion.NATION or
-        # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-        # to the same location level as this field is strongly recommended.
-    "name": "A String", # Required during job update.
-        #
-        # The resource name for the job. This is generated by the service when a
-        # job is created.
-        #
-        # The format is "projects/{project_id}/jobs/{job_id}",
-        # for example, "projects/api-test-project/jobs/1234".
-        #
-        # Use of this field in job queries and API calls is preferred over the use of
-        # requisition_id since this value is unique.
-    "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-        # The value determines the sort order of the jobs returned when searching for
-        # jobs using the featured jobs search call, with higher promotional values
-        # being returned first and ties being resolved by relevance sort. Only the
-        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-        #
-        # Default value is 0, and negative values are treated as 0.
-    "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-      "A String",
-    ],
-    "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-        # attributes that are not covered by the provided structured fields.
-        #
-        # The keys of the map are strings up to 64 bytes and must match the
-        # pattern: a-zA-Z*. For example, key0LikeThis or
-        # KEY_1_LIKE_THIS.
-        #
-        # At most 100 filterable and at most 100 unfilterable keys are supported.
-        # For filterable `string_values`, across all keys at most 200 values are
-        # allowed, with each string no more than 255 characters. For unfilterable
-        # `string_values`, the maximum total size of `string_values` across all keys
-        # is 50KB.
-      "a_key": { # Custom attribute values that are either filterable or non-filterable.
-        "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-            # If false, values are not searchable.
-            #
-            # Default is false.
-        "stringValues": [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-            # `CASE_INSENSITIVE_MATCH`) search.
-            # For filterable `string_value`s, a maximum total number of 200 values
-            # is allowed, with each `string_value` has a byte size of no more than
-            # 500B. For unfilterable `string_values`, the maximum total byte size of
-            # unfilterable `string_values` is 50KB.
-            #
-            # Empty string is not allowed.
-          "A String",
-        ],
-        "longValues": [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform number range search.
-            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-            #
-            # Currently at most 1 long_values is supported.
-          "A String",
-        ],
-      },
-    },
-    "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, jobView=None, filter=None)</code>
+    <code class="details" id="list">list(parent, filter=None, jobView=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
   <pre>Lists jobs by filter.
 
 Args:
   parent: string, Required. The resource name of the project under which the job is created.
 
-The format is "projects/{project_id}", for example,
-"projects/api-test-project". (required)
-  pageSize: integer, Optional. The maximum number of jobs to be returned per page of results.
-
-If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed
-page size is 1000. Otherwise, the maximum allowed page size is 100.
-
-Default is 100 if empty or a number &lt; 1 is specified.
-  pageToken: string, Optional. The starting point of a query result.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-  jobView: string, Optional. The desired job attributes returned for jobs in the
-search response. Defaults to JobView.JOB_VIEW_FULL if no value is
-specified.
+The format is &quot;projects/{project_id}&quot;, for example,
+&quot;projects/api-test-project&quot;. (required)
   filter: string, Required. The filter string specifies the jobs to be enumerated.
 
 Supported operator: =, AND
@@ -1847,9 +1836,23 @@
 
 Sample Query:
 
-* companyName = "projects/api-test-project/companies/123"
-* companyName = "projects/api-test-project/companies/123" AND requisitionId
-= "req-1"
+* companyName = &quot;projects/api-test-project/companies/123&quot;
+* companyName = &quot;projects/api-test-project/companies/123&quot; AND requisitionId
+= &quot;req-1&quot;
+  jobView: string, Optional. The desired job attributes returned for jobs in the
+search response. Defaults to JobView.JOB_VIEW_FULL if no value is
+specified.
+  pageToken: string, Optional. The starting point of a query result.
+  pageSize: integer, Optional. The maximum number of jobs to be returned per page of results.
+
+If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed
+page size is 1000. Otherwise, the maximum allowed page size is 100.
+
+Default is 100 if empty or a number &lt; 1 is specified.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
 
 Returns:
   An object of the form:
@@ -1857,26 +1860,23 @@
     { # Output only.
       #
       # List jobs response.
-    "nextPageToken": "A String", # A token to retrieve the next page of results.
-    "jobs": [ # The Jobs for a given company.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results.
+    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
+        # tracking id.
+        #
+        # Additional information returned to client, such as debugging information.
+      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
+          # This id is logged for tracking purposes.
+    },
+    &quot;jobs&quot;: [ # The Jobs for a given company.
         #
         # The maximum number of items returned is based on the limit field
         # provided in the request.
-      { # A Job resource represents a job posting (also referred to as a "job listing"
-          # or "job requisition"). A job belongs to a Company, which is the hiring
+      { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
+          # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
           # entity responsible for the job.
-        "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-            # any requirements for fluency that are associated with the job.
-            #
-            # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-            # For more information, see
-            # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-            # class="external" target="_blank" }.
-            #
-            # If this field is unspecified and Job.description is present, detected
-            # language code based on Job.description is assigned, otherwise
-            # defaults to 'en_US'.
-        "addresses": [ # Optional but strongly recommended for the best service experience.
+        &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+        &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
             #
             # Location(s) where the employer is looking to hire for this job posting.
             #
@@ -1885,7 +1885,7 @@
             #
             # At most 50 locations are allowed for best search performance. If a job has
             # more locations, it is suggested to split it into multiple jobs with unique
-            # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
+            # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
             # multiple jobs with the same company_name, language_code and
             # requisition_id are not allowed. If the original requisition_id must
             # be preserved, a custom field should be used for storage. It is also
@@ -1893,49 +1893,181 @@
             # for better search experience.
             #
             # The maximum number of allowed characters is 500.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-        "processingOptions": { # Input only. # Optional. Options for job processing.
+        &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+            # &quot;projects/api-test-project/companies/foo&quot;.
+        &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+            # description of the company and related information. Separate fields are
+            # provided on the job object for responsibilities,
+            # qualifications, and other job characteristics. Use of
+            # these separate job fields is recommended.
             #
-            # Options for job processing.
-          "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-              #
-              # * description
-              # * applicationInfo.instruction
-              # * incentives
-              # * qualifications
-              # * responsibilities
-              #
-              # HTML tags in these fields may be stripped if sanitiazation is not
-              # disabled.
-              #
-              # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-          "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-              # more precise address for the job.
-        },
-        "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-            # full time or
-            # part time.
-          "A String",
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 100,000.
+        &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+            # is used for contracting engagements. Invalid timestamps are ignored.
+        &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+          &quot;A String&quot;,
         ],
-        "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-            # engagements. Invalid timestamps are ignored.
-        "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+        &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+          &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+              # base compensation entry&#x27;s CompensationEntry.compensation times
+              # CompensationEntry.expected_units_per_year.
+              #
+              # See CompensationEntry for explanation on compensation annualization.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+              # all compensation entries&#x27; CompensationEntry.compensation times
+              # CompensationEntry.expected_units_per_year.
+              #
+              # See CompensationEntry for explanation on compensation annualization.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          &quot;entries&quot;: [ # Optional. Job compensation information.
+              #
+              # At most one entry can be of type
+              # CompensationInfo.CompensationType.BASE, which is
+              # referred as ** base compensation entry ** for the job.
+            { # A compensation entry that represents one component of compensation, such
+                # as base pay, bonus, or other compensation type.
+                #
+                # Annualization: One compensation entry can be annualized if
+                # - it contains valid amount or range.
+                # - and its expected_units_per_year is set or can be derived.
+                # Its annualized range is determined as (amount or range) times
+                # expected_units_per_year.
+              &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+                &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                    # to a maximal compensation value and the currency code is set to
+                    # match the currency code of
+                    # min_compensation.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                },
+                &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                    # to zero and the currency code is set to match the
+                    # currency code of max_compensation.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+              &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                  # Job.employment_types is FULLTIME, a default value is inferred
+                  # based on unit. Default values:
+                  # - HOURLY: 2080
+                  # - DAILY: 260
+                  # - WEEKLY: 52
+                  # - MONTHLY: 12
+                  # - ANNUAL: 1
+              &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                  # indicate equity terms or provide additional context to an estimated
+                  # bonus.
+              &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                  #
+                  # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+              &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                  #
+                  # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+            },
+          ],
+        },
+        &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+            # recommended as an alternative to using the more general description
+            # field.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 10,000.
+        &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+            # position.
+            #
+            # The maximum number of allowed characters is 255.
+        &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
             #
             # Job application information.
-          "instruction": "A String", # Optional but at least one of uris,
-              # emails or instruction must be
-              # specified.
-              #
-              # Use this field to provide instructions, such as "Mail your application
-              # to ...", that a candidate can follow to apply for the job.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 3,000.
-          "uris": [ # Optional but at least one of uris,
+          &quot;uris&quot;: [ # Optional but at least one of uris,
               # emails or instruction must be
               # specified.
               #
@@ -1943,9 +2075,9 @@
               # link to an online application form.
               #
               # The maximum number of allowed characters for each entry is 2,000.
-            "A String",
+            &quot;A String&quot;,
           ],
-          "emails": [ # Optional but at least one of uris,
+          &quot;emails&quot;: [ # Optional but at least one of uris,
               # emails or instruction must be
               # specified.
               #
@@ -1953,15 +2085,26 @@
               # applications can be sent.
               #
               # The maximum number of allowed characters for each entry is 255.
-            "A String",
+            &quot;A String&quot;,
           ],
+          &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+              # emails or instruction must be
+              # specified.
+              #
+              # Use this field to provide instructions, such as &quot;Mail your application
+              # to ...&quot;, that a candidate can follow to apply for the job.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 3,000.
         },
-        "postingExpireTime": "A String", # Optional but strongly recommended for the best service
+        &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
             # experience.
             #
             # The expiration timestamp of the job. After this timestamp, the
             # job is marked as expired, and it no longer appears in search results. The
-            # expired job can't be deleted or listed by the DeleteJob and
+            # expired job can&#x27;t be deleted or listed by the DeleteJob and
             # ListJobs APIs, but it can be retrieved with the GetJob API or
             # updated with the UpdateJob API. An expired job can be updated and
             # opened again by using a future expiration timestamp. Updating an expired
@@ -1980,226 +2123,155 @@
             # will be treated as expired immediately.
             #
             # If this value is not provided at the time of job creation or is invalid,
-            # the job posting expires after 30 days from the job's creation time. For
+            # the job posting expires after 30 days from the job&#x27;s creation time. For
             # example, if the job was created on 2017/01/01 13:00AM UTC with an
             # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
             #
             # If this value is not provided on job update, it depends on the field masks
             # set by UpdateJobRequest.update_mask. If the field masks include
             # expiry_time, or the masks are empty meaning that every field is
-            # updated, the job posting expires after 30 days from the job's last
-            # update time. Otherwise the expiration date isn't updated.
-        "title": "A String", # Required. The title of the job, such as "Software Engineer"
+            # updated, the job posting expires after 30 days from the job&#x27;s last
+            # update time. Otherwise the expiration date isn&#x27;t updated.
+        &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+            # the job is available. If this field is set, a
+            # LocationFilter in a search query within the job region
+            # finds this job posting if an exact location match isn&#x27;t specified.
+            # If this field is set to PostingRegion.NATION or
+            # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+            # to the same location level as this field is strongly recommended.
+        &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+            # value is the time the request arrives at the server. Invalid timestamps are
+            # ignored.
+        &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+            # attributes that are not covered by the provided structured fields.
+            #
+            # The keys of the map are strings up to 64 bytes and must match the
+            # pattern: a-zA-Z*. For example, key0LikeThis or
+            # KEY_1_LIKE_THIS.
+            #
+            # At most 100 filterable and at most 100 unfilterable keys are supported.
+            # For filterable `string_values`, across all keys at most 200 values are
+            # allowed, with each string no more than 255 characters. For unfilterable
+            # `string_values`, the maximum total size of `string_values` across all keys
+            # is 50KB.
+          &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+            &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+                # custom attribute filters JobQuery.custom_attribute_filter.
+                # If false, these values may not be used for custom attribute filters.
+                #
+                # Default is false.
+            &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                # be specified.
+                #
+                # This field is used to perform number range search.
+                # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+                #
+                # Currently at most 1 long_values is supported.
+              &quot;A String&quot;,
+            ],
+            &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                # be specified.
+                #
+                # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+                # `CASE_INSENSITIVE_MATCH`) search.
+                # For filterable `string_value`s, a maximum total number of 200 values
+                # is allowed, with each `string_value` has a byte size of no more than
+                # 500B. For unfilterable `string_values`, the maximum total byte size of
+                # unfilterable `string_values` is 50KB.
+                #
+                # Empty string is not allowed.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+        &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+        &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+            # any requirements for fluency that are associated with the job.
+            #
+            # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+            # For more information, see
+            # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+            # class=&quot;external&quot; target=&quot;_blank&quot; }.
+            #
+            # If this field is unspecified and Job.description is present, detected
+            # language code based on Job.description is assigned, otherwise
+            # defaults to &#x27;en_US&#x27;.
+        &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+        &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+            #
+            # The visibility of the job.
+            #
+            # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+        &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+            #
+            # The resource name for the job. This is generated by the service when a
+            # job is created.
+            #
+            # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+            # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+            #
+            # Use of this field in job queries and API calls is preferred over the use of
+            # requisition_id since this value is unique.
+        &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+          &quot;A String&quot;,
+        ],
+        &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+            # The value determines the sort order of the jobs returned when searching for
+            # jobs using the featured jobs search call, with higher promotional values
+            # being returned first and ties being resolved by relevance sort. Only the
+            # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+            #
+            # Default value is 0, and negative values are treated as 0.
+        &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
             #
             # The maximum number of allowed characters is 500.
-        "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-            # recommended as an alternative to using the more general description
-            # field.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 10,000.
-        "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-            # is used for contracting engagements. Invalid timestamps are ignored.
-        "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-          "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-              # all compensation entries' CompensationEntry.compensation times
-              # CompensationEntry.expected_units_per_year.
-              #
-              # See CompensationEntry for explanation on compensation annualization.
-            "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-              # base compensation entry's CompensationEntry.compensation times
-              # CompensationEntry.expected_units_per_year.
-              #
-              # See CompensationEntry for explanation on compensation annualization.
-            "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "entries": [ # Optional. Job compensation information.
-              #
-              # At most one entry can be of type
-              # CompensationInfo.CompensationType.BASE, which is
-              # referred as ** base compensation entry ** for the job.
-            { # A compensation entry that represents one component of compensation, such
-                # as base pay, bonus, or other compensation type.
-                #
-                # Annualization: One compensation entry can be annualized if
-                # - it contains valid amount or range.
-                # - and its expected_units_per_year is set or can be derived.
-                # Its annualized range is determined as (amount or range) times
-                # expected_units_per_year.
-              "description": "A String", # Optional. Compensation description.  For example, could
-                  # indicate equity terms or provide additional context to an estimated
-                  # bonus.
-              "range": { # Compensation range. # Optional. Compensation range.
-                "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                    # to zero and the currency code is set to match the
-                    # currency code of max_compensation.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "nanos": 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-                "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                    # to a maximal compensation value and the currency code is set to
-                    # match the currency code of
-                    # min_compensation.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "nanos": 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-              "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                  # Job.employment_types is FULLTIME, a default value is inferred
-                  # based on unit. Default values:
-                  # - HOURLY: 2080
-                  # - DAILY: 260
-                  # - WEEKLY: 52
-                  # - MONTHLY: 12
-                  # - ANNUAL: 1
-              "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "type": "A String", # Optional. Compensation type.
-                  #
-                  # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-              "unit": "A String", # Optional. Frequency of the specified amount.
-                  #
-                  # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-            },
-          ],
-        },
-        "department": "A String", # Optional. The department or functional area within the company with the open
-            # position.
-            #
-            # The maximum number of allowed characters is 255.
-        "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-        "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
+        &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+        &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
             # client to identify a job. This field is intended to be used by clients
             # for client identification and tracking of postings. A job is not allowed
             # to be created if there is another job with the same [company_name],
             # language_code and requisition_id.
             #
             # The maximum number of allowed characters is 255.
-        "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-            # value is the time the request arrives at the server. Invalid timestamps are
-            # ignored.
-        "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-            # description of the company and related information. Separate fields are
-            # provided on the job object for responsibilities,
-            # qualifications, and other job characteristics. Use of
-            # these separate job fields is recommended.
+        &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+            # job. The use of this field is recommended
+            # as an alternative to using the more general description field.
             #
             # This field accepts and sanitizes HTML input, and also accepts
             # bold, italic, ordered list, and unordered list markup tags.
             #
-            # The maximum number of allowed characters is 100,000.
-        "companyName": "A String", # Required. The resource name of the company listing the job, such as
-            # "projects/api-test-project/companies/foo".
-        "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
+            # The maximum number of allowed characters is 10,000.
+        &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+            #
+            # Options for job processing.
+          &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+              #
+              # * description
+              # * applicationInfo.instruction
+              # * incentives
+              # * qualifications
+              # * responsibilities
+              #
+              # HTML tags in these fields may be stripped if sanitiazation is not
+              # disabled.
+              #
+              # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+          &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+              # more precise address for the job.
+        },
+        &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+            # engagements. Invalid timestamps are ignored.
+        &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
             #
             # Derived details about the job posting.
-          "jobCategories": [ # Job categories derived from Job.title and Job.description.
-            "A String",
-          ],
-          "locations": [ # Structured locations of the job, resolved from Job.addresses.
+          &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
               #
               # locations are exactly matched to Job.addresses in the same
               # order.
             { # Output only.
                 #
                 # A resource that represents a location with full geographic information.
-              "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                  # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                  # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                  # LocationType#LOCALITY.
-              "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                  # location bounding box in which a circle with the specified radius
-                  # centered from LatLng covers the area associated with the job location.
-                  # For example, currently, "Mountain View, CA, USA" has a radius of
-                  # 6.17 miles.
-              "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+              &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
                   # such as postal delivery and payments addresses. Given a postal address,
                   # a postal service can deliver items to a premises, P.O. Box, or other
                   # delivery location.
@@ -2219,53 +2291,36 @@
                   #
                   # For more guidance on how to use this schema, please see:
                   # https://support.google.com/business/answer/6397478
-                "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                    # known). This is often the UI language of the input form or is expected
-                    # to match one of the languages used in the address' country/region, or their
-                    # transliterated equivalents.
-                    # This can affect formatting in certain countries, but is not critical
-                    # to the correctness of the data and will never affect any validation or
-                    # other non-formatting related operations.
+                &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                    # the latest revision.
                     #
-                    # If this value is not known, it should be omitted (rather than specifying a
-                    # possibly incorrect default).
-                    #
-                    # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-                "recipients": [ # Optional. The recipient at the address.
-                    # This field may, under certain circumstances, contain multiline information.
-                    # For example, it might contain "care of" information.
-                  "A String",
-                ],
-                "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+                    # All new revisions **must** be backward compatible with old revisions.
+                &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
                     # Examples: US city, IT comune, UK post town.
                     # In regions of the world where localities are not well defined or do not fit
                     # into this structure well, leave locality empty and use address_lines.
-                "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                    # in most regions. Where it is used, the value is either a string like
-                    # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                    # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                    # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-                "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                    # is never inferred and it is up to the user to ensure the value is
-                    # correct. See http://cldr.unicode.org/ and
-                    # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                    # for details. Example: "CH" for Switzerland.
-                "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+                &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                     # addresses of a country or region.
                     # For example, this can be a state, a province, an oblast, or a prefecture.
                     # Specifically, for Spain this is the province and not the autonomous
-                    # community (e.g. "Barcelona" and not "Catalonia").
-                    # Many countries don't use an administrative area in postal addresses. E.g.
+                    # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                    # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                     # in Switzerland this should be left unpopulated.
-                "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+                &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+                &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                    # is never inferred and it is up to the user to ensure the value is
+                    # correct. See http://cldr.unicode.org/ and
+                    # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                    # for details. Example: &quot;CH&quot; for Switzerland.
+                &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                     #
                     # Because values in address_lines do not have type information and may
                     # sometimes contain multiple values in a single field (e.g.
-                    # "Austin, TX"), it is important that the line order is clear. The order of
-                    # address lines should be "envelope order" for the country/region of the
+                    # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                    # address lines should be &quot;envelope order&quot; for the country/region of the
                     # address. In places where this can vary (e.g. Japan), address_language is
-                    # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                    # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+                    # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                    # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
                     # an address can be selected based on the language.
                     #
                     # The minimum permitted structural representation of an address consists
@@ -2279,122 +2334,71 @@
                     # then geocoding is the recommended way to handle completely unstructured
                     # addresses (as opposed to guessing which parts of the address should be
                     # localities or administrative areas).
-                  "A String",
+                  &quot;A String&quot;,
                 ],
-                "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+                &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
                     # postal codes to be present, but where they are used, they may trigger
                     # additional validation with other parts of the address (e.g. state/zip
                     # validation in the U.S.A.).
-                "organization": "A String", # Optional. The name of the organization at the address.
-                "sublocality": "A String", # Optional. Sublocality of the address.
-                    # For example, this can be neighborhoods, boroughs, districts.
-                "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                    # the latest revision.
+                &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                    # known). This is often the UI language of the input form or is expected
+                    # to match one of the languages used in the address&#x27; country/region, or their
+                    # transliterated equivalents.
+                    # This can affect formatting in certain countries, but is not critical
+                    # to the correctness of the data and will never affect any validation or
+                    # other non-formatting related operations.
                     #
-                    # All new revisions **must** be backward compatible with old revisions.
+                    # If this value is not known, it should be omitted (rather than specifying a
+                    # possibly incorrect default).
+                    #
+                    # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+                &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                    # in most regions. Where it is used, the value is either a string like
+                    # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                    # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                    # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+                &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                    # This field may, under certain circumstances, contain multiline information.
+                    # For example, it might contain &quot;care of&quot; information.
+                  &quot;A String&quot;,
+                ],
+                &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                    # For example, this can be neighborhoods, boroughs, districts.
+              },
+              &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                  # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                  # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                  # LocationType#LOCALITY.
+              &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                  # location bounding box in which a circle with the specified radius
+                  # centered from LatLng covers the area associated with the job location.
+                  # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                  # 6.17 miles.
+              &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
               },
             },
           ],
+          &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+            &quot;A String&quot;,
+          ],
         },
-        "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
+        &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+            # full time or
+            # part time.
+          &quot;A String&quot;,
+        ],
+        &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
             # incentives associated with the job not including salary or pay.
             #
             # The maximum number of allowed characters is 10,000.
-        "jobBenefits": [ # Optional. The benefits included with the job.
-          "A String",
-        ],
-        "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-            # job. The use of this field is recommended
-            # as an alternative to using the more general description field.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 10,000.
-        "visibility": "A String", # Deprecated. The job is only visible to the owner.
-            #
-            # The visibility of the job.
-            #
-            # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-        "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-        "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-            # the job is available. If this field is set, a
-            # LocationFilter in a search query within the job region
-            # finds this job posting if an exact location match isn't specified.
-            # If this field is set to PostingRegion.NATION or
-            # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-            # to the same location level as this field is strongly recommended.
-        "name": "A String", # Required during job update.
-            #
-            # The resource name for the job. This is generated by the service when a
-            # job is created.
-            #
-            # The format is "projects/{project_id}/jobs/{job_id}",
-            # for example, "projects/api-test-project/jobs/1234".
-            #
-            # Use of this field in job queries and API calls is preferred over the use of
-            # requisition_id since this value is unique.
-        "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-            # The value determines the sort order of the jobs returned when searching for
-            # jobs using the featured jobs search call, with higher promotional values
-            # being returned first and ties being resolved by relevance sort. Only the
-            # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-            #
-            # Default value is 0, and negative values are treated as 0.
-        "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-          "A String",
-        ],
-        "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-            # attributes that are not covered by the provided structured fields.
-            #
-            # The keys of the map are strings up to 64 bytes and must match the
-            # pattern: a-zA-Z*. For example, key0LikeThis or
-            # KEY_1_LIKE_THIS.
-            #
-            # At most 100 filterable and at most 100 unfilterable keys are supported.
-            # For filterable `string_values`, across all keys at most 200 values are
-            # allowed, with each string no more than 255 characters. For unfilterable
-            # `string_values`, the maximum total size of `string_values` across all keys
-            # is 50KB.
-          "a_key": { # Custom attribute values that are either filterable or non-filterable.
-            "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-                # If false, values are not searchable.
-                #
-                # Default is false.
-            "stringValues": [ # Optional but exactly one of string_values or long_values must
-                # be specified.
-                #
-                # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-                # `CASE_INSENSITIVE_MATCH`) search.
-                # For filterable `string_value`s, a maximum total number of 200 values
-                # is allowed, with each `string_value` has a byte size of no more than
-                # 500B. For unfilterable `string_values`, the maximum total byte size of
-                # unfilterable `string_values` is 50KB.
-                #
-                # Empty string is not allowed.
-              "A String",
-            ],
-            "longValues": [ # Optional but exactly one of string_values or long_values must
-                # be specified.
-                #
-                # This field is used to perform number range search.
-                # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-                #
-                # Currently at most 1 long_values is supported.
-              "A String",
-            ],
-          },
-        },
-        "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
       },
     ],
-    "metadata": { # Output only. # Additional information for the API invocation, such as the request
-        # tracking id.
-        #
-        # Additional information returned to client, such as debugging information.
-      "requestId": "A String", # A unique id associated with this call.
-          # This id is logged for tracking purposes.
-    },
   }</pre>
 </div>
 
@@ -2407,7 +2411,7 @@
   previous_response: The response from the request for the previous page. (required)
 
 Returns:
-  A request object that you can call 'execute()' on to request the next
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -2425,8 +2429,8 @@
 The resource name for the job. This is generated by the service when a
 job is created.
 
-The format is "projects/{project_id}/jobs/{job_id}",
-for example, "projects/api-test-project/jobs/1234".
+The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+for example, &quot;projects/api-test-project/jobs/1234&quot;.
 
 Use of this field in job queries and API calls is preferred over the use of
 requisition_id since this value is unique. (required)
@@ -2436,21 +2440,11 @@
 { # Input only.
       # 
       # Update job request.
-    "job": { # A Job resource represents a job posting (also referred to as a "job listing" # Required. The Job to be updated.
-        # or "job requisition"). A job belongs to a Company, which is the hiring
+    &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Required. The Job to be updated.
+        # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
         # entity responsible for the job.
-      "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-          # any requirements for fluency that are associated with the job.
-          #
-          # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-          # class="external" target="_blank" }.
-          #
-          # If this field is unspecified and Job.description is present, detected
-          # language code based on Job.description is assigned, otherwise
-          # defaults to 'en_US'.
-      "addresses": [ # Optional but strongly recommended for the best service experience.
+      &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+      &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
           #
           # Location(s) where the employer is looking to hire for this job posting.
           #
@@ -2459,7 +2453,7 @@
           #
           # At most 50 locations are allowed for best search performance. If a job has
           # more locations, it is suggested to split it into multiple jobs with unique
-          # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
+          # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
           # multiple jobs with the same company_name, language_code and
           # requisition_id are not allowed. If the original requisition_id must
           # be preserved, a custom field should be used for storage. It is also
@@ -2467,49 +2461,181 @@
           # for better search experience.
           #
           # The maximum number of allowed characters is 500.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-      "processingOptions": { # Input only. # Optional. Options for job processing.
+      &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+          # &quot;projects/api-test-project/companies/foo&quot;.
+      &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+          # description of the company and related information. Separate fields are
+          # provided on the job object for responsibilities,
+          # qualifications, and other job characteristics. Use of
+          # these separate job fields is recommended.
           #
-          # Options for job processing.
-        "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-            #
-            # * description
-            # * applicationInfo.instruction
-            # * incentives
-            # * qualifications
-            # * responsibilities
-            #
-            # HTML tags in these fields may be stripped if sanitiazation is not
-            # disabled.
-            #
-            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-        "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-            # more precise address for the job.
-      },
-      "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-          # full time or
-          # part time.
-        "A String",
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 100,000.
+      &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+          # is used for contracting engagements. Invalid timestamps are ignored.
+      &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+        &quot;A String&quot;,
       ],
-      "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-          # engagements. Invalid timestamps are ignored.
-      "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+      &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+        &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+            # base compensation entry&#x27;s CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+        },
+        &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+            # all compensation entries&#x27; CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+        },
+        &quot;entries&quot;: [ # Optional. Job compensation information.
+            #
+            # At most one entry can be of type
+            # CompensationInfo.CompensationType.BASE, which is
+            # referred as ** base compensation entry ** for the job.
+          { # A compensation entry that represents one component of compensation, such
+              # as base pay, bonus, or other compensation type.
+              #
+              # Annualization: One compensation entry can be annualized if
+              # - it contains valid amount or range.
+              # - and its expected_units_per_year is set or can be derived.
+              # Its annualized range is determined as (amount or range) times
+              # expected_units_per_year.
+            &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+            &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                # Job.employment_types is FULLTIME, a default value is inferred
+                # based on unit. Default values:
+                # - HOURLY: 2080
+                # - DAILY: 260
+                # - WEEKLY: 52
+                # - MONTHLY: 12
+                # - ANNUAL: 1
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                # indicate equity terms or provide additional context to an estimated
+                # bonus.
+            &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                #
+                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                #
+                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+          },
+        ],
+      },
+      &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+          # recommended as an alternative to using the more general description
+          # field.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 10,000.
+      &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+          # position.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
           #
           # Job application information.
-        "instruction": "A String", # Optional but at least one of uris,
-            # emails or instruction must be
-            # specified.
-            #
-            # Use this field to provide instructions, such as "Mail your application
-            # to ...", that a candidate can follow to apply for the job.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 3,000.
-        "uris": [ # Optional but at least one of uris,
+        &quot;uris&quot;: [ # Optional but at least one of uris,
             # emails or instruction must be
             # specified.
             #
@@ -2517,9 +2643,9 @@
             # link to an online application form.
             #
             # The maximum number of allowed characters for each entry is 2,000.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "emails": [ # Optional but at least one of uris,
+        &quot;emails&quot;: [ # Optional but at least one of uris,
             # emails or instruction must be
             # specified.
             #
@@ -2527,15 +2653,26 @@
             # applications can be sent.
             #
             # The maximum number of allowed characters for each entry is 255.
-          "A String",
+          &quot;A String&quot;,
         ],
+        &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+            # emails or instruction must be
+            # specified.
+            #
+            # Use this field to provide instructions, such as &quot;Mail your application
+            # to ...&quot;, that a candidate can follow to apply for the job.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 3,000.
       },
-      "postingExpireTime": "A String", # Optional but strongly recommended for the best service
+      &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
           # experience.
           #
           # The expiration timestamp of the job. After this timestamp, the
           # job is marked as expired, and it no longer appears in search results. The
-          # expired job can't be deleted or listed by the DeleteJob and
+          # expired job can&#x27;t be deleted or listed by the DeleteJob and
           # ListJobs APIs, but it can be retrieved with the GetJob API or
           # updated with the UpdateJob API. An expired job can be updated and
           # opened again by using a future expiration timestamp. Updating an expired
@@ -2554,226 +2691,155 @@
           # will be treated as expired immediately.
           #
           # If this value is not provided at the time of job creation or is invalid,
-          # the job posting expires after 30 days from the job's creation time. For
+          # the job posting expires after 30 days from the job&#x27;s creation time. For
           # example, if the job was created on 2017/01/01 13:00AM UTC with an
           # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
           #
           # If this value is not provided on job update, it depends on the field masks
           # set by UpdateJobRequest.update_mask. If the field masks include
           # expiry_time, or the masks are empty meaning that every field is
-          # updated, the job posting expires after 30 days from the job's last
-          # update time. Otherwise the expiration date isn't updated.
-      "title": "A String", # Required. The title of the job, such as "Software Engineer"
+          # updated, the job posting expires after 30 days from the job&#x27;s last
+          # update time. Otherwise the expiration date isn&#x27;t updated.
+      &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+          # the job is available. If this field is set, a
+          # LocationFilter in a search query within the job region
+          # finds this job posting if an exact location match isn&#x27;t specified.
+          # If this field is set to PostingRegion.NATION or
+          # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+          # to the same location level as this field is strongly recommended.
+      &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+          # value is the time the request arrives at the server. Invalid timestamps are
+          # ignored.
+      &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+          # attributes that are not covered by the provided structured fields.
+          #
+          # The keys of the map are strings up to 64 bytes and must match the
+          # pattern: a-zA-Z*. For example, key0LikeThis or
+          # KEY_1_LIKE_THIS.
+          #
+          # At most 100 filterable and at most 100 unfilterable keys are supported.
+          # For filterable `string_values`, across all keys at most 200 values are
+          # allowed, with each string no more than 255 characters. For unfilterable
+          # `string_values`, the maximum total size of `string_values` across all keys
+          # is 50KB.
+        &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+          &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+              # custom attribute filters JobQuery.custom_attribute_filter.
+              # If false, these values may not be used for custom attribute filters.
+              #
+              # Default is false.
+          &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform number range search.
+              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+              #
+              # Currently at most 1 long_values is supported.
+            &quot;A String&quot;,
+          ],
+          &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+              # `CASE_INSENSITIVE_MATCH`) search.
+              # For filterable `string_value`s, a maximum total number of 200 values
+              # is allowed, with each `string_value` has a byte size of no more than
+              # 500B. For unfilterable `string_values`, the maximum total byte size of
+              # unfilterable `string_values` is 50KB.
+              #
+              # Empty string is not allowed.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+      &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+          # any requirements for fluency that are associated with the job.
+          #
+          # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+          # class=&quot;external&quot; target=&quot;_blank&quot; }.
+          #
+          # If this field is unspecified and Job.description is present, detected
+          # language code based on Job.description is assigned, otherwise
+          # defaults to &#x27;en_US&#x27;.
+      &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+      &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+          #
+          # The visibility of the job.
+          #
+          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+      &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+          #
+          # The resource name for the job. This is generated by the service when a
+          # job is created.
+          #
+          # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+          # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+          #
+          # Use of this field in job queries and API calls is preferred over the use of
+          # requisition_id since this value is unique.
+      &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+        &quot;A String&quot;,
+      ],
+      &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+          # The value determines the sort order of the jobs returned when searching for
+          # jobs using the featured jobs search call, with higher promotional values
+          # being returned first and ties being resolved by relevance sort. Only the
+          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+          #
+          # Default value is 0, and negative values are treated as 0.
+      &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
           #
           # The maximum number of allowed characters is 500.
-      "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-          # recommended as an alternative to using the more general description
-          # field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-          # is used for contracting engagements. Invalid timestamps are ignored.
-      "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-        "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-            # all compensation entries' CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-            # base compensation entry's CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        "entries": [ # Optional. Job compensation information.
-            #
-            # At most one entry can be of type
-            # CompensationInfo.CompensationType.BASE, which is
-            # referred as ** base compensation entry ** for the job.
-          { # A compensation entry that represents one component of compensation, such
-              # as base pay, bonus, or other compensation type.
-              #
-              # Annualization: One compensation entry can be annualized if
-              # - it contains valid amount or range.
-              # - and its expected_units_per_year is set or can be derived.
-              # Its annualized range is determined as (amount or range) times
-              # expected_units_per_year.
-            "description": "A String", # Optional. Compensation description.  For example, could
-                # indicate equity terms or provide additional context to an estimated
-                # bonus.
-            "range": { # Compensation range. # Optional. Compensation range.
-              "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                # Job.employment_types is FULLTIME, a default value is inferred
-                # based on unit. Default values:
-                # - HOURLY: 2080
-                # - DAILY: 260
-                # - WEEKLY: 52
-                # - MONTHLY: 12
-                # - ANNUAL: 1
-            "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "type": "A String", # Optional. Compensation type.
-                #
-                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-            "unit": "A String", # Optional. Frequency of the specified amount.
-                #
-                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-          },
-        ],
-      },
-      "department": "A String", # Optional. The department or functional area within the company with the open
-          # position.
-          #
-          # The maximum number of allowed characters is 255.
-      "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-      "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
+      &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+      &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
           # client to identify a job. This field is intended to be used by clients
           # for client identification and tracking of postings. A job is not allowed
           # to be created if there is another job with the same [company_name],
           # language_code and requisition_id.
           #
           # The maximum number of allowed characters is 255.
-      "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-          # value is the time the request arrives at the server. Invalid timestamps are
-          # ignored.
-      "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-          # description of the company and related information. Separate fields are
-          # provided on the job object for responsibilities,
-          # qualifications, and other job characteristics. Use of
-          # these separate job fields is recommended.
+      &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+          # job. The use of this field is recommended
+          # as an alternative to using the more general description field.
           #
           # This field accepts and sanitizes HTML input, and also accepts
           # bold, italic, ordered list, and unordered list markup tags.
           #
-          # The maximum number of allowed characters is 100,000.
-      "companyName": "A String", # Required. The resource name of the company listing the job, such as
-          # "projects/api-test-project/companies/foo".
-      "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
+          # The maximum number of allowed characters is 10,000.
+      &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+          #
+          # Options for job processing.
+        &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+            #
+            # * description
+            # * applicationInfo.instruction
+            # * incentives
+            # * qualifications
+            # * responsibilities
+            #
+            # HTML tags in these fields may be stripped if sanitiazation is not
+            # disabled.
+            #
+            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+        &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+            # more precise address for the job.
+      },
+      &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+          # engagements. Invalid timestamps are ignored.
+      &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
           #
           # Derived details about the job posting.
-        "jobCategories": [ # Job categories derived from Job.title and Job.description.
-          "A String",
-        ],
-        "locations": [ # Structured locations of the job, resolved from Job.addresses.
+        &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
             #
             # locations are exactly matched to Job.addresses in the same
             # order.
           { # Output only.
               #
               # A resource that represents a location with full geographic information.
-            "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                # LocationType#LOCALITY.
-            "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, "Mountain View, CA, USA" has a radius of
-                # 6.17 miles.
-            "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
                 # such as postal delivery and payments addresses. Given a postal address,
                 # a postal service can deliver items to a premises, P.O. Box, or other
                 # delivery location.
@@ -2793,53 +2859,36 @@
                 #
                 # For more guidance on how to use this schema, please see:
                 # https://support.google.com/business/answer/6397478
-              "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                  # known). This is often the UI language of the input form or is expected
-                  # to match one of the languages used in the address' country/region, or their
-                  # transliterated equivalents.
-                  # This can affect formatting in certain countries, but is not critical
-                  # to the correctness of the data and will never affect any validation or
-                  # other non-formatting related operations.
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
                   #
-                  # If this value is not known, it should be omitted (rather than specifying a
-                  # possibly incorrect default).
-                  #
-                  # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-              "recipients": [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain "care of" information.
-                "A String",
-              ],
-              "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
                   # Examples: US city, IT comune, UK post town.
                   # In regions of the world where localities are not well defined or do not fit
                   # into this structure well, leave locality empty and use address_lines.
-              "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                  # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                  # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-              "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: "CH" for Switzerland.
-              "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                   # addresses of a country or region.
                   # For example, this can be a state, a province, an oblast, or a prefecture.
                   # Specifically, for Spain this is the province and not the autonomous
-                  # community (e.g. "Barcelona" and not "Catalonia").
-                  # Many countries don't use an administrative area in postal addresses. E.g.
+                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                   # in Switzerland this should be left unpopulated.
-              "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
+              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                   #
                   # Because values in address_lines do not have type information and may
                   # sometimes contain multiple values in a single field (e.g.
-                  # "Austin, TX"), it is important that the line order is clear. The order of
-                  # address lines should be "envelope order" for the country/region of the
+                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                  # address lines should be &quot;envelope order&quot; for the country/region of the
                   # address. In places where this can vary (e.g. Japan), address_language is
-                  # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                  # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
                   # an address can be selected based on the language.
                   #
                   # The minimum permitted structural representation of an address consists
@@ -2853,115 +2902,71 @@
                   # then geocoding is the recommended way to handle completely unstructured
                   # addresses (as opposed to guessing which parts of the address should be
                   # localities or administrative areas).
-                "A String",
+                &quot;A String&quot;,
               ],
-              "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
                   # postal codes to be present, but where they are used, they may trigger
                   # additional validation with other parts of the address (e.g. state/zip
                   # validation in the U.S.A.).
-              "organization": "A String", # Optional. The name of the organization at the address.
-              "sublocality": "A String", # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
+              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                  # known). This is often the UI language of the input form or is expected
+                  # to match one of the languages used in the address&#x27; country/region, or their
+                  # transliterated equivalents.
+                  # This can affect formatting in certain countries, but is not critical
+                  # to the correctness of the data and will never affect any validation or
+                  # other non-formatting related operations.
                   #
-                  # All new revisions **must** be backward compatible with old revisions.
+                  # If this value is not known, it should be omitted (rather than specifying a
+                  # possibly incorrect default).
+                  #
+                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
+            },
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                # LocationType#LOCALITY.
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
             },
           },
         ],
+        &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+          &quot;A String&quot;,
+        ],
       },
-      "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
+      &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+          # full time or
+          # part time.
+        &quot;A String&quot;,
+      ],
+      &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
           # incentives associated with the job not including salary or pay.
           #
           # The maximum number of allowed characters is 10,000.
-      "jobBenefits": [ # Optional. The benefits included with the job.
-        "A String",
-      ],
-      "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-          # job. The use of this field is recommended
-          # as an alternative to using the more general description field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      "visibility": "A String", # Deprecated. The job is only visible to the owner.
-          #
-          # The visibility of the job.
-          #
-          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-      "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-      "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-          # the job is available. If this field is set, a
-          # LocationFilter in a search query within the job region
-          # finds this job posting if an exact location match isn't specified.
-          # If this field is set to PostingRegion.NATION or
-          # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-          # to the same location level as this field is strongly recommended.
-      "name": "A String", # Required during job update.
-          #
-          # The resource name for the job. This is generated by the service when a
-          # job is created.
-          #
-          # The format is "projects/{project_id}/jobs/{job_id}",
-          # for example, "projects/api-test-project/jobs/1234".
-          #
-          # Use of this field in job queries and API calls is preferred over the use of
-          # requisition_id since this value is unique.
-      "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-          # The value determines the sort order of the jobs returned when searching for
-          # jobs using the featured jobs search call, with higher promotional values
-          # being returned first and ties being resolved by relevance sort. Only the
-          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-          #
-          # Default value is 0, and negative values are treated as 0.
-      "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-        "A String",
-      ],
-      "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-          # attributes that are not covered by the provided structured fields.
-          #
-          # The keys of the map are strings up to 64 bytes and must match the
-          # pattern: a-zA-Z*. For example, key0LikeThis or
-          # KEY_1_LIKE_THIS.
-          #
-          # At most 100 filterable and at most 100 unfilterable keys are supported.
-          # For filterable `string_values`, across all keys at most 200 values are
-          # allowed, with each string no more than 255 characters. For unfilterable
-          # `string_values`, the maximum total size of `string_values` across all keys
-          # is 50KB.
-        "a_key": { # Custom attribute values that are either filterable or non-filterable.
-          "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-              # If false, values are not searchable.
-              #
-              # Default is false.
-          "stringValues": [ # Optional but exactly one of string_values or long_values must
-              # be specified.
-              #
-              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-              # `CASE_INSENSITIVE_MATCH`) search.
-              # For filterable `string_value`s, a maximum total number of 200 values
-              # is allowed, with each `string_value` has a byte size of no more than
-              # 500B. For unfilterable `string_values`, the maximum total byte size of
-              # unfilterable `string_values` is 50KB.
-              #
-              # Empty string is not allowed.
-            "A String",
-          ],
-          "longValues": [ # Optional but exactly one of string_values or long_values must
-              # be specified.
-              #
-              # This field is used to perform number range search.
-              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-              #
-              # Currently at most 1 long_values is supported.
-            "A String",
-          ],
-        },
-      },
-      "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
     },
-    "updateMask": "A String", # Optional but strongly recommended to be provided for the best service
+    &quot;updateMask&quot;: &quot;A String&quot;, # Optional but strongly recommended to be provided for the best service
         # experience.
         # 
         # If update_mask is provided, only the specified fields in
@@ -2979,21 +2984,11 @@
 Returns:
   An object of the form:
 
-    { # A Job resource represents a job posting (also referred to as a "job listing"
-      # or "job requisition"). A job belongs to a Company, which is the hiring
+    { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
+      # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
       # entity responsible for the job.
-    "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-        # any requirements for fluency that are associated with the job.
-        #
-        # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-        # For more information, see
-        # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-        # class="external" target="_blank" }.
-        #
-        # If this field is unspecified and Job.description is present, detected
-        # language code based on Job.description is assigned, otherwise
-        # defaults to 'en_US'.
-    "addresses": [ # Optional but strongly recommended for the best service experience.
+    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
         #
         # Location(s) where the employer is looking to hire for this job posting.
         #
@@ -3002,7 +2997,7 @@
         #
         # At most 50 locations are allowed for best search performance. If a job has
         # more locations, it is suggested to split it into multiple jobs with unique
-        # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
+        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
         # multiple jobs with the same company_name, language_code and
         # requisition_id are not allowed. If the original requisition_id must
         # be preserved, a custom field should be used for storage. It is also
@@ -3010,49 +3005,181 @@
         # for better search experience.
         #
         # The maximum number of allowed characters is 500.
-      "A String",
+      &quot;A String&quot;,
     ],
-    "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-    "processingOptions": { # Input only. # Optional. Options for job processing.
+    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+        # &quot;projects/api-test-project/companies/foo&quot;.
+    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+        # description of the company and related information. Separate fields are
+        # provided on the job object for responsibilities,
+        # qualifications, and other job characteristics. Use of
+        # these separate job fields is recommended.
         #
-        # Options for job processing.
-      "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-          #
-          # * description
-          # * applicationInfo.instruction
-          # * incentives
-          # * qualifications
-          # * responsibilities
-          #
-          # HTML tags in these fields may be stripped if sanitiazation is not
-          # disabled.
-          #
-          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-      "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-          # more precise address for the job.
-    },
-    "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-        # full time or
-        # part time.
-      "A String",
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 100,000.
+    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+        # is used for contracting engagements. Invalid timestamps are ignored.
+    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+      &quot;A String&quot;,
     ],
-    "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-        # engagements. Invalid timestamps are ignored.
-    "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+          # base compensation entry&#x27;s CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+          # all compensation entries&#x27; CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        },
+      },
+      &quot;entries&quot;: [ # Optional. Job compensation information.
+          #
+          # At most one entry can be of type
+          # CompensationInfo.CompensationType.BASE, which is
+          # referred as ** base compensation entry ** for the job.
+        { # A compensation entry that represents one component of compensation, such
+            # as base pay, bonus, or other compensation type.
+            #
+            # Annualization: One compensation entry can be annualized if
+            # - it contains valid amount or range.
+            # - and its expected_units_per_year is set or can be derived.
+            # Its annualized range is determined as (amount or range) times
+            # expected_units_per_year.
+          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+              # Job.employment_types is FULLTIME, a default value is inferred
+              # based on unit. Default values:
+              # - HOURLY: 2080
+              # - DAILY: 260
+              # - WEEKLY: 52
+              # - MONTHLY: 12
+              # - ANNUAL: 1
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+              # indicate equity terms or provide additional context to an estimated
+              # bonus.
+          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+              #
+              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+              #
+              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+        },
+      ],
+    },
+    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+        # recommended as an alternative to using the more general description
+        # field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+        # position.
+        #
+        # The maximum number of allowed characters is 255.
+    &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
         #
         # Job application information.
-      "instruction": "A String", # Optional but at least one of uris,
-          # emails or instruction must be
-          # specified.
-          #
-          # Use this field to provide instructions, such as "Mail your application
-          # to ...", that a candidate can follow to apply for the job.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 3,000.
-      "uris": [ # Optional but at least one of uris,
+      &quot;uris&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
           #
@@ -3060,9 +3187,9 @@
           # link to an online application form.
           #
           # The maximum number of allowed characters for each entry is 2,000.
-        "A String",
+        &quot;A String&quot;,
       ],
-      "emails": [ # Optional but at least one of uris,
+      &quot;emails&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
           #
@@ -3070,15 +3197,26 @@
           # applications can be sent.
           #
           # The maximum number of allowed characters for each entry is 255.
-        "A String",
+        &quot;A String&quot;,
       ],
+      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+          # emails or instruction must be
+          # specified.
+          #
+          # Use this field to provide instructions, such as &quot;Mail your application
+          # to ...&quot;, that a candidate can follow to apply for the job.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 3,000.
     },
-    "postingExpireTime": "A String", # Optional but strongly recommended for the best service
+    &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
         # experience.
         #
         # The expiration timestamp of the job. After this timestamp, the
         # job is marked as expired, and it no longer appears in search results. The
-        # expired job can't be deleted or listed by the DeleteJob and
+        # expired job can&#x27;t be deleted or listed by the DeleteJob and
         # ListJobs APIs, but it can be retrieved with the GetJob API or
         # updated with the UpdateJob API. An expired job can be updated and
         # opened again by using a future expiration timestamp. Updating an expired
@@ -3097,226 +3235,155 @@
         # will be treated as expired immediately.
         #
         # If this value is not provided at the time of job creation or is invalid,
-        # the job posting expires after 30 days from the job's creation time. For
+        # the job posting expires after 30 days from the job&#x27;s creation time. For
         # example, if the job was created on 2017/01/01 13:00AM UTC with an
         # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
         #
         # If this value is not provided on job update, it depends on the field masks
         # set by UpdateJobRequest.update_mask. If the field masks include
         # expiry_time, or the masks are empty meaning that every field is
-        # updated, the job posting expires after 30 days from the job's last
-        # update time. Otherwise the expiration date isn't updated.
-    "title": "A String", # Required. The title of the job, such as "Software Engineer"
+        # updated, the job posting expires after 30 days from the job&#x27;s last
+        # update time. Otherwise the expiration date isn&#x27;t updated.
+    &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+        # the job is available. If this field is set, a
+        # LocationFilter in a search query within the job region
+        # finds this job posting if an exact location match isn&#x27;t specified.
+        # If this field is set to PostingRegion.NATION or
+        # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+        # to the same location level as this field is strongly recommended.
+    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+        # value is the time the request arrives at the server. Invalid timestamps are
+        # ignored.
+    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+        # attributes that are not covered by the provided structured fields.
+        #
+        # The keys of the map are strings up to 64 bytes and must match the
+        # pattern: a-zA-Z*. For example, key0LikeThis or
+        # KEY_1_LIKE_THIS.
+        #
+        # At most 100 filterable and at most 100 unfilterable keys are supported.
+        # For filterable `string_values`, across all keys at most 200 values are
+        # allowed, with each string no more than 255 characters. For unfilterable
+        # `string_values`, the maximum total size of `string_values` across all keys
+        # is 50KB.
+      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+            # custom attribute filters JobQuery.custom_attribute_filter.
+            # If false, these values may not be used for custom attribute filters.
+            #
+            # Default is false.
+        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform number range search.
+            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+            #
+            # Currently at most 1 long_values is supported.
+          &quot;A String&quot;,
+        ],
+        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+            # `CASE_INSENSITIVE_MATCH`) search.
+            # For filterable `string_value`s, a maximum total number of 200 values
+            # is allowed, with each `string_value` has a byte size of no more than
+            # 500B. For unfilterable `string_values`, the maximum total byte size of
+            # unfilterable `string_values` is 50KB.
+            #
+            # Empty string is not allowed.
+          &quot;A String&quot;,
+        ],
+      },
+    },
+    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+        # any requirements for fluency that are associated with the job.
+        #
+        # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+        # For more information, see
+        # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+        # class=&quot;external&quot; target=&quot;_blank&quot; }.
+        #
+        # If this field is unspecified and Job.description is present, detected
+        # language code based on Job.description is assigned, otherwise
+        # defaults to &#x27;en_US&#x27;.
+    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        #
+        # The visibility of the job.
+        #
+        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+        #
+        # The resource name for the job. This is generated by the service when a
+        # job is created.
+        #
+        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+        #
+        # Use of this field in job queries and API calls is preferred over the use of
+        # requisition_id since this value is unique.
+    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+      &quot;A String&quot;,
+    ],
+    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+        # The value determines the sort order of the jobs returned when searching for
+        # jobs using the featured jobs search call, with higher promotional values
+        # being returned first and ties being resolved by relevance sort. Only the
+        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
         #
         # The maximum number of allowed characters is 500.
-    "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-        # recommended as an alternative to using the more general description
-        # field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-        # is used for contracting engagements. Invalid timestamps are ignored.
-    "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-      "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-          # all compensation entries' CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-        "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-          # base compensation entry's CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-        "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          "units": "A String", # The whole units of the amount.
-              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-          "nanos": 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      "entries": [ # Optional. Job compensation information.
-          #
-          # At most one entry can be of type
-          # CompensationInfo.CompensationType.BASE, which is
-          # referred as ** base compensation entry ** for the job.
-        { # A compensation entry that represents one component of compensation, such
-            # as base pay, bonus, or other compensation type.
-            #
-            # Annualization: One compensation entry can be annualized if
-            # - it contains valid amount or range.
-            # - and its expected_units_per_year is set or can be derived.
-            # Its annualized range is determined as (amount or range) times
-            # expected_units_per_year.
-          "description": "A String", # Optional. Compensation description.  For example, could
-              # indicate equity terms or provide additional context to an estimated
-              # bonus.
-          "range": { # Compensation range. # Optional. Compensation range.
-            "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-            "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "nanos": 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-              # Job.employment_types is FULLTIME, a default value is inferred
-              # based on unit. Default values:
-              # - HOURLY: 2080
-              # - DAILY: 260
-              # - WEEKLY: 52
-              # - MONTHLY: 12
-              # - ANNUAL: 1
-          "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "type": "A String", # Optional. Compensation type.
-              #
-              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-          "unit": "A String", # Optional. Frequency of the specified amount.
-              #
-              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-        },
-      ],
-    },
-    "department": "A String", # Optional. The department or functional area within the company with the open
-        # position.
-        #
-        # The maximum number of allowed characters is 255.
-    "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-    "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
+    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
         # client to identify a job. This field is intended to be used by clients
         # for client identification and tracking of postings. A job is not allowed
         # to be created if there is another job with the same [company_name],
         # language_code and requisition_id.
         #
         # The maximum number of allowed characters is 255.
-    "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-        # value is the time the request arrives at the server. Invalid timestamps are
-        # ignored.
-    "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-        # description of the company and related information. Separate fields are
-        # provided on the job object for responsibilities,
-        # qualifications, and other job characteristics. Use of
-        # these separate job fields is recommended.
+    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+        # job. The use of this field is recommended
+        # as an alternative to using the more general description field.
         #
         # This field accepts and sanitizes HTML input, and also accepts
         # bold, italic, ordered list, and unordered list markup tags.
         #
-        # The maximum number of allowed characters is 100,000.
-    "companyName": "A String", # Required. The resource name of the company listing the job, such as
-        # "projects/api-test-project/companies/foo".
-    "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
+        # The maximum number of allowed characters is 10,000.
+    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+        #
+        # Options for job processing.
+      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+          #
+          # * description
+          # * applicationInfo.instruction
+          # * incentives
+          # * qualifications
+          # * responsibilities
+          #
+          # HTML tags in these fields may be stripped if sanitiazation is not
+          # disabled.
+          #
+          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+          # more precise address for the job.
+    },
+    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+        # engagements. Invalid timestamps are ignored.
+    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
         #
         # Derived details about the job posting.
-      "jobCategories": [ # Job categories derived from Job.title and Job.description.
-        "A String",
-      ],
-      "locations": [ # Structured locations of the job, resolved from Job.addresses.
+      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
           #
           # locations are exactly matched to Job.addresses in the same
           # order.
         { # Output only.
             #
             # A resource that represents a location with full geographic information.
-          "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-              # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-              # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-              # LocationType#LOCALITY.
-          "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-              # location bounding box in which a circle with the specified radius
-              # centered from LatLng covers the area associated with the job location.
-              # For example, currently, "Mountain View, CA, USA" has a radius of
-              # 6.17 miles.
-          "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
               # such as postal delivery and payments addresses. Given a postal address,
               # a postal service can deliver items to a premises, P.O. Box, or other
               # delivery location.
@@ -3336,53 +3403,36 @@
               #
               # For more guidance on how to use this schema, please see:
               # https://support.google.com/business/answer/6397478
-            "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                # known). This is often the UI language of the input form or is expected
-                # to match one of the languages used in the address' country/region, or their
-                # transliterated equivalents.
-                # This can affect formatting in certain countries, but is not critical
-                # to the correctness of the data and will never affect any validation or
-                # other non-formatting related operations.
+            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                # the latest revision.
                 #
-                # If this value is not known, it should be omitted (rather than specifying a
-                # possibly incorrect default).
-                #
-                # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-            "recipients": [ # Optional. The recipient at the address.
-                # This field may, under certain circumstances, contain multiline information.
-                # For example, it might contain "care of" information.
-              "A String",
-            ],
-            "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+                # All new revisions **must** be backward compatible with old revisions.
+            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
                 # Examples: US city, IT comune, UK post town.
                 # In regions of the world where localities are not well defined or do not fit
                 # into this structure well, leave locality empty and use address_lines.
-            "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                # in most regions. Where it is used, the value is either a string like
-                # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-            "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                # is never inferred and it is up to the user to ensure the value is
-                # correct. See http://cldr.unicode.org/ and
-                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                # for details. Example: "CH" for Switzerland.
-            "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                 # addresses of a country or region.
                 # For example, this can be a state, a province, an oblast, or a prefecture.
                 # Specifically, for Spain this is the province and not the autonomous
-                # community (e.g. "Barcelona" and not "Catalonia").
-                # Many countries don't use an administrative area in postal addresses. E.g.
+                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                 # in Switzerland this should be left unpopulated.
-            "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                # is never inferred and it is up to the user to ensure the value is
+                # correct. See http://cldr.unicode.org/ and
+                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                # for details. Example: &quot;CH&quot; for Switzerland.
+            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                 #
                 # Because values in address_lines do not have type information and may
                 # sometimes contain multiple values in a single field (e.g.
-                # "Austin, TX"), it is important that the line order is clear. The order of
-                # address lines should be "envelope order" for the country/region of the
+                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                # address lines should be &quot;envelope order&quot; for the country/region of the
                 # address. In places where this can vary (e.g. Japan), address_language is
-                # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
                 # an address can be selected based on the language.
                 #
                 # The minimum permitted structural representation of an address consists
@@ -3396,113 +3446,69 @@
                 # then geocoding is the recommended way to handle completely unstructured
                 # addresses (as opposed to guessing which parts of the address should be
                 # localities or administrative areas).
-              "A String",
+              &quot;A String&quot;,
             ],
-            "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
                 # postal codes to be present, but where they are used, they may trigger
                 # additional validation with other parts of the address (e.g. state/zip
                 # validation in the U.S.A.).
-            "organization": "A String", # Optional. The name of the organization at the address.
-            "sublocality": "A String", # Optional. Sublocality of the address.
-                # For example, this can be neighborhoods, boroughs, districts.
-            "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                # the latest revision.
+            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                # known). This is often the UI language of the input form or is expected
+                # to match one of the languages used in the address&#x27; country/region, or their
+                # transliterated equivalents.
+                # This can affect formatting in certain countries, but is not critical
+                # to the correctness of the data and will never affect any validation or
+                # other non-formatting related operations.
                 #
-                # All new revisions **must** be backward compatible with old revisions.
+                # If this value is not known, it should be omitted (rather than specifying a
+                # possibly incorrect default).
+                #
+                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                # in most regions. Where it is used, the value is either a string like
+                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+            &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                # This field may, under certain circumstances, contain multiline information.
+                # For example, it might contain &quot;care of&quot; information.
+              &quot;A String&quot;,
+            ],
+            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                # For example, this can be neighborhoods, boroughs, districts.
+          },
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+              # LocationType#LOCALITY.
+          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+              # location bounding box in which a circle with the specified radius
+              # centered from LatLng covers the area associated with the job location.
+              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+              # 6.17 miles.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
           },
         },
       ],
+      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+        &quot;A String&quot;,
+      ],
     },
-    "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
+    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+        # full time or
+        # part time.
+      &quot;A String&quot;,
+    ],
+    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
         # incentives associated with the job not including salary or pay.
         #
         # The maximum number of allowed characters is 10,000.
-    "jobBenefits": [ # Optional. The benefits included with the job.
-      "A String",
-    ],
-    "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-        # job. The use of this field is recommended
-        # as an alternative to using the more general description field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    "visibility": "A String", # Deprecated. The job is only visible to the owner.
-        #
-        # The visibility of the job.
-        #
-        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-    "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-    "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-        # the job is available. If this field is set, a
-        # LocationFilter in a search query within the job region
-        # finds this job posting if an exact location match isn't specified.
-        # If this field is set to PostingRegion.NATION or
-        # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-        # to the same location level as this field is strongly recommended.
-    "name": "A String", # Required during job update.
-        #
-        # The resource name for the job. This is generated by the service when a
-        # job is created.
-        #
-        # The format is "projects/{project_id}/jobs/{job_id}",
-        # for example, "projects/api-test-project/jobs/1234".
-        #
-        # Use of this field in job queries and API calls is preferred over the use of
-        # requisition_id since this value is unique.
-    "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-        # The value determines the sort order of the jobs returned when searching for
-        # jobs using the featured jobs search call, with higher promotional values
-        # being returned first and ties being resolved by relevance sort. Only the
-        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-        #
-        # Default value is 0, and negative values are treated as 0.
-    "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-      "A String",
-    ],
-    "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-        # attributes that are not covered by the provided structured fields.
-        #
-        # The keys of the map are strings up to 64 bytes and must match the
-        # pattern: a-zA-Z*. For example, key0LikeThis or
-        # KEY_1_LIKE_THIS.
-        #
-        # At most 100 filterable and at most 100 unfilterable keys are supported.
-        # For filterable `string_values`, across all keys at most 200 values are
-        # allowed, with each string no more than 255 characters. For unfilterable
-        # `string_values`, the maximum total size of `string_values` across all keys
-        # is 50KB.
-      "a_key": { # Custom attribute values that are either filterable or non-filterable.
-        "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-            # If false, values are not searchable.
-            #
-            # Default is false.
-        "stringValues": [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-            # `CASE_INSENSITIVE_MATCH`) search.
-            # For filterable `string_value`s, a maximum total number of 200 values
-            # is allowed, with each `string_value` has a byte size of no more than
-            # 500B. For unfilterable `string_values`, the maximum total byte size of
-            # unfilterable `string_values` is 50KB.
-            #
-            # Empty string is not allowed.
-          "A String",
-        ],
-        "longValues": [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform number range search.
-            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-            #
-            # Currently at most 1 long_values is supported.
-          "A String",
-        ],
-      },
-    },
-    "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
   }</pre>
 </div>
 
@@ -3517,133 +3523,26 @@
 Args:
   parent: string, Required. The resource name of the project to search within.
 
-The format is "projects/{project_id}", for example,
-"projects/api-test-project". (required)
+The format is &quot;projects/{project_id}&quot;, for example,
+&quot;projects/api-test-project&quot;. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Input only.
       # 
       # The Request body of the `SearchJobs` call.
-    "orderBy": "A String", # Optional. The criteria determining how search results are sorted. Default is
-        # "relevance desc".
-        # 
-        # Supported options are:
-        # 
-        # * `"relevance desc"`: By relevance descending, as determined by the API
-        # algorithms. Relevance thresholding of query results is only available
-        # with this ordering.
-        # * `"posting_publish_time desc"`: By Job.posting_publish_time
-        # descending.
-        # * `"posting_update_time desc"`: By Job.posting_update_time
-        # descending.
-        # * `"title"`: By Job.title ascending.
-        # * `"title desc"`: By Job.title descending.
-        # * `"annualized_base_compensation"`: By job's
-        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"annualized_base_compensation desc"`: By job's
-        # CompensationInfo.annualized_base_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"annualized_total_compensation"`: By job's
-        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"annualized_total_compensation desc"`: By job's
-        # CompensationInfo.annualized_total_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"custom_ranking desc"`: By the relevance score adjusted to the
-        # SearchJobsRequest.custom_ranking_info.ranking_expression with weight
-        # factor assigned by
-        # SearchJobsRequest.custom_ranking_info.importance_level in descending
-        # order.
-        # * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
-        # "`distance_from('Hawaii')`": Order by distance from Hawaii.&lt;br&gt;
-        # "`distance_from(19.89, 155.5)`": Order by distance from a coordinate.&lt;br&gt;
-        # "`distance_from('Hawaii'), distance_from('Puerto Rico')`": Order by
-        # multiple locations. See details below.&lt;br&gt;
-        # "`distance_from('Hawaii'), distance_from(19.89, 155.5)`": Order by
-        # multiple locations. See details below.&lt;br&gt;
-        # The string can have a maximum of 256 characters. When multiple distance
-        # centers are provided, a job that is close to any of the distance centers
-        # would have a high rank. When a job has multiple locations, the job location
-        # closest to one of the distance centers will be used. Jobs that don't have
-        # locations will be ranked at the bottom. Distance is calculated with a
-        # precision of 11.3 meters (37.4 feet). Diversification strategy is still
-        # applied unless explicitly disabled in
-        # diversification_level.
-    "histogramFacets": { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
-        #
-        # Histogram facets to be specified in SearchJobsRequest.
-      "simpleHistogramFacets": [ # Optional. Specifies the simple type of histogram facets, for example,
-          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
-        "A String",
-      ],
-      "customAttributeHistogramFacets": [ # Optional. Specifies the custom attributes histogram requests.
-          # Duplicate values of CustomAttributeHistogramRequest.key are not
-          # allowed.
-        { # Custom attributes histogram request. An error is thrown if neither
-            # string_value_histogram or long_value_histogram_bucketing_option has
-            # been defined.
-          "stringValueHistogram": True or False, # Optional. If set to true, the response includes the histogram value for
-              # each key as a string.
-          "longValueHistogramBucketingOption": { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job's
-              # filterable long custom field values, or min/max value requirements.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            "bucketBounds": [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            "requiresMinMax": True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          "key": "A String", # Required. Specifies the custom field key to perform a histogram on. If specified
-              # without `long_value_histogram_bucketing_option`, histogram on string values
-              # of the given `key` is triggered, otherwise histogram is performed on long
-              # values.
-        },
-      ],
-      "compensationHistogramFacets": [ # Optional. Specifies compensation field-based histogram requests.
-          # Duplicate values of CompensationHistogramRequest.type are not allowed.
-        { # Input only.
-            #
-            # Compensation based histogram request.
-          "bucketingOption": { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            "bucketBounds": [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            "requiresMinMax": True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          "type": "A String", # Required. Type of the request, representing which field the histogramming should be
-              # performed over. A single request can only specify one histogram of each
-              # `CompensationHistogramRequestType`.
-        },
-      ],
-    },
-    "disableKeywordMatch": True or False, # Optional. Controls whether to disable exact keyword match on Job.job_title,
+    &quot;disableKeywordMatch&quot;: True or False, # Optional. Controls whether to disable exact keyword match on Job.job_title,
         # Job.description, Job.company_display_name, Job.locations,
         # Job.qualifications. When disable keyword match is turned off, a
         # keyword match returns jobs that do not match given category filters when
-        # there are matching keywords. For example, the query "program manager," a
-        # result is returned even if the job posting has the title "software
-        # developer," which does not fall into "program manager" ontology, but does
-        # have "program manager" appearing in its description.
+        # there are matching keywords. For example, the query &quot;program manager,&quot; a
+        # result is returned even if the job posting has the title &quot;software
+        # developer,&quot; which does not fall into &quot;program manager&quot; ontology, but does
+        # have &quot;program manager&quot; appearing in its description.
         # 
-        # For queries like "cloud" that does not contain title or
-        # location specific ontology, jobs with "cloud" keyword matches are returned
-        # regardless of this flag's value.
+        # For queries like &quot;cloud&quot; that does not contain title or
+        # location specific ontology, jobs with &quot;cloud&quot; keyword matches are returned
+        # regardless of this flag&#x27;s value.
         # 
         # Please use Company.keyword_searchable_custom_fields or
         # Company.keyword_searchable_custom_attributes if company specific
@@ -3651,168 +3550,234 @@
         # keyword match improves recall of subsequent search requests.
         # 
         # Defaults to false.
-    "jobQuery": { # Input only. # Optional. Query used to search against jobs, such as keyword, location filters, etc.
+    &quot;enableBroadening&quot;: True or False, # Optional. Controls whether to broaden the search when it produces sparse results.
+        # Broadened queries append results to the end of the matching results
+        # list.
+        # 
+        # Defaults to false.
+    &quot;offset&quot;: 42, # Optional. An integer that specifies the current offset (that is, starting result
+        # location, amongst the jobs deemed by the API as relevant) in search
+        # results. This field is only considered if page_token is unset.
+        # 
+        # The maximum allowed value is 5000. Otherwise an error is thrown.
+        # 
+        # For example, 0 means to  return results starting from the first matching
+        # job, and 10 means to return from the 11th job. This can be used for
+        # pagination, (for example, pageSize = 10 and offset = 10 means to return
+        # from the second page).
+    &quot;histogramQueries&quot;: [ # Optional. Expression based histogram requests for jobs matching JobQuery.
+      { # Input Only.
+          #
+          # The histogram request.
+        &quot;histogramQuery&quot;: &quot;A String&quot;, # An expression specifies a histogram request against matching resources
+            # (for example, jobs) for searches.
+            #
+            # Expression syntax is a aggregation function call with histogram facets and
+            # other options.
+            #
+            # Available aggregation function calls are:
+            # * `count(string_histogram_facet)`: Count the number of matching entity, for
+            #   each distinct attribute value.
+            # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
+            #    matching entity within each bucket.
+            #
+            # Data types:
+            #
+            # * Histogram facet: facet names with format a-zA-Z+.
+            # * String: string like &quot;any string with backslash escape for quote(\&quot;).&quot;
+            # * Number: whole number and floating point number like 10, -1 and -0.01.
+            # * List: list of elements with comma(,) separator surrounded by square
+            # brackets. For example, [1, 2, 3] and [&quot;one&quot;, &quot;two&quot;, &quot;three&quot;].
+            #
+            # Built-in constants:
+            #
+            # * MIN (minimum number similar to java Double.MIN_VALUE)
+            # * MAX (maximum number similar to java Double.MAX_VALUE)
+            #
+            # Built-in functions:
+            #
+            # * bucket(start, end[, label]): bucket built-in function creates a bucket
+            # with range of start, end). Note that the end is exclusive. For example,
+            # bucket(1, MAX, &quot;positive number&quot;) or bucket(1, 10).
+            #
+            # Job histogram facets:
+            #
+            # * company_id: histogram by [Job.distributor_company_id.
+            # * company_display_name: histogram by Job.company_display_name.
+            # * employment_type: histogram by Job.employment_types. For example,
+            # &quot;FULL_TIME&quot;, &quot;PART_TIME&quot;.
+            # * company_size: histogram by CompanySize, for example, &quot;SMALL&quot;,
+            # &quot;MEDIUM&quot;, &quot;BIG&quot;.
+            # * publish_time_in_month: histogram by the Job.publish_time in months.
+            # Must specify list of numeric buckets in spec.
+            # * publish_time_in_year: histogram by the Job.publish_time in years.
+            # Must specify list of numeric buckets in spec.
+            # * degree_type: histogram by the Job.degree_type. For example,
+            # &quot;Bachelors&quot;, &quot;Masters&quot;.
+            # * job_level: histogram by the Job.job_level. For example, &quot;Entry
+            # Level&quot;.
+            # * country: histogram by the country code of jobs. For example, &quot;US&quot;, &quot;FR&quot;.
+            # * admin1: histogram by the admin1 code of jobs, which is a global
+            # placeholder referring to the state, province, or the particular term a
+            # country uses to define the geographic structure below the country level.
+            # For example, &quot;CA&quot;, &quot;IL&quot;.
+            # * city: histogram by a combination of the &quot;city name, admin1 code&quot;. For
+            # example,  &quot;Mountain View, CA&quot;, &quot;New York, NY&quot;.
+            # * admin1_country: histogram by a combination of the &quot;admin1 code, country&quot;.
+            # For example, &quot;CA, US&quot;, &quot;IL, US&quot;.
+            # * city_coordinate: histogram by the city center&#x27;s GPS coordinates (latitude
+            # and longitude). For example, 37.4038522,-122.0987765. Since the coordinates
+            # of a city center can change, customers may need to refresh them
+            # periodically.
+            # * locale: histogram by the Job.language_code. For example, &quot;en-US&quot;,
+            # &quot;fr-FR&quot;.
+            # * language: histogram by the language subtag of the Job.language_code.
+            # For example, &quot;en&quot;, &quot;fr&quot;.
+            # * category: histogram by the JobCategory. For example,
+            # &quot;COMPUTER_AND_IT&quot;, &quot;HEALTHCARE&quot;.
+            # * base_compensation_unit: histogram by the CompensationUnit of base
+            # salary. For example, &quot;WEEKLY&quot;, &quot;MONTHLY&quot;.
+            # * base_compensation: histogram by the base salary. Must specify list of
+            # numeric buckets to group results by.
+            # * annualized_base_compensation: histogram by the base annualized salary.
+            # Must specify list of numeric buckets to group results by.
+            # * annualized_total_compensation: histogram by the total annualized salary.
+            # Must specify list of numeric buckets to group results by.
+            # * string_custom_attribute: histogram by string Job.custom_attributes.
+            # Values can be accessed via square bracket notations like
+            # string_custom_attribute[&quot;key1&quot;].
+            # * numeric_custom_attribute: histogram by numeric Job.custom_attributes.
+            # Values can be accessed via square bracket notations like
+            # numeric_custom_attribute[&quot;key1&quot;]. Must specify list of numeric buckets to
+            # group results by.
+            #
+            # Example expressions:
+            # * count(admin1)
+            # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
+            # bucket(100000, MAX)])
+            # * count(string_custom_attribute[&quot;some-string-custom-attribute&quot;])
+            # * count(numeric_custom_attribute[&quot;some-numeric-custom-attribute&quot;],
+            # [bucket(MIN, 0, &quot;negative&quot;), bucket(0, MAX, &quot;non-negative&quot;])
+      },
+    ],
+    &quot;pageSize&quot;: 42, # Optional. A limit on the number of jobs returned in the search results.
+        # Increasing this value above the default value of 10 can increase search
+        # response time. The value can be between 1 and 100.
+    &quot;histogramFacets&quot;: { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
+        #
+        # Histogram facets to be specified in SearchJobsRequest.
+      &quot;compensationHistogramFacets&quot;: [ # Optional. Specifies compensation field-based histogram requests.
+          # Duplicate values of CompensationHistogramRequest.type are not allowed.
+        { # Input only.
+            #
+            # Compensation based histogram request.
+          &quot;bucketingOption&quot;: { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Required. Type of the request, representing which field the histogramming should be
+              # performed over. A single request can only specify one histogram of each
+              # `CompensationHistogramRequestType`.
+        },
+      ],
+      &quot;customAttributeHistogramFacets&quot;: [ # Optional. Specifies the custom attributes histogram requests.
+          # Duplicate values of CustomAttributeHistogramRequest.key are not
+          # allowed.
+        { # Custom attributes histogram request. An error is thrown if neither
+            # string_value_histogram or long_value_histogram_bucketing_option has
+            # been defined.
+          &quot;longValueHistogramBucketingOption&quot;: { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job&#x27;s
+              # filterable long custom field values, or min/max value requirements.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+          &quot;key&quot;: &quot;A String&quot;, # Required. Specifies the custom field key to perform a histogram on. If specified
+              # without `long_value_histogram_bucketing_option`, histogram on string values
+              # of the given `key` is triggered, otherwise histogram is performed on long
+              # values.
+          &quot;stringValueHistogram&quot;: True or False, # Optional. If set to true, the response includes the histogram value for
+              # each key as a string.
+        },
+      ],
+      &quot;simpleHistogramFacets&quot;: [ # Optional. Specifies the simple type of histogram facets, for example,
+          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;orderBy&quot;: &quot;A String&quot;, # Optional. The criteria determining how search results are sorted. Default is
+        # &quot;relevance desc&quot;.
+        # 
+        # Supported options are:
+        # 
+        # * `&quot;relevance desc&quot;`: By relevance descending, as determined by the API
+        # algorithms. Relevance thresholding of query results is only available
+        # with this ordering.
+        # * `&quot;posting_publish_time desc&quot;`: By Job.posting_publish_time
+        # descending.
+        # * `&quot;posting_update_time desc&quot;`: By Job.posting_update_time
+        # descending.
+        # * `&quot;title&quot;`: By Job.title ascending.
+        # * `&quot;title desc&quot;`: By Job.title descending.
+        # * `&quot;annualized_base_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_base_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;custom_ranking desc&quot;`: By the relevance score adjusted to the
+        # SearchJobsRequest.custom_ranking_info.ranking_expression with weight
+        # factor assigned by
+        # SearchJobsRequest.custom_ranking_info.importance_level in descending
+        # order.
+        # * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
+        # &quot;`distance_from(&#x27;Hawaii&#x27;)`&quot;: Order by distance from Hawaii.&lt;br&gt;
+        # &quot;`distance_from(19.89, 155.5)`&quot;: Order by distance from a coordinate.&lt;br&gt;
+        # &quot;`distance_from(&#x27;Hawaii&#x27;), distance_from(&#x27;Puerto Rico&#x27;)`&quot;: Order by
+        # multiple locations. See details below.&lt;br&gt;
+        # &quot;`distance_from(&#x27;Hawaii&#x27;), distance_from(19.89, 155.5)`&quot;: Order by
+        # multiple locations. See details below.&lt;br&gt;
+        # The string can have a maximum of 256 characters. When multiple distance
+        # centers are provided, a job that is close to any of the distance centers
+        # would have a high rank. When a job has multiple locations, the job location
+        # closest to one of the distance centers will be used. Jobs that don&#x27;t have
+        # locations will be ranked at the bottom. Distance is calculated with a
+        # precision of 11.3 meters (37.4 feet). Diversification strategy is still
+        # applied unless explicitly disabled in
+        # diversification_level.
+    &quot;jobQuery&quot;: { # Input only. # Optional. Query used to search against jobs, such as keyword, location filters, etc.
         #
         # The query required to perform a search query.
-      "excludedJobs": [ # Optional. This filter specifies a list of job names to be excluded during search.
-          #
-          # At most 400 excluded job names are allowed.
-        "A String",
-      ],
-      "disableSpellCheck": True or False, # Optional. This flag controls the spell-check feature. If false, the
-          # service attempts to correct a misspelled query,
-          # for example, "enginee" is corrected to "engineer".
-          #
-          # Defaults to false: a spell check is performed.
-      "customAttributeFilter": "A String", # Optional. This filter specifies a structured syntax to match against the
-          # Job.custom_attributes marked as `filterable`.
-          #
-          # The syntax for this expression is a subset of SQL syntax.
-          #
-          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
-          # left of the operator is a custom field key and the right of the operator
-          # is a number or a quoted string. You must escape backslash (\\) and
-          # quote (\") characters.
-          #
-          # Supported functions are `LOWER([field_name])` to
-          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
-          # existence of a key.
-          #
-          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
-          # nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
-          # comparisons or functions are allowed in the expression. The expression
-          # must be &lt; 6000 bytes in length.
-          #
-          # Sample Query:
-          # `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
-          # driving_years &gt; 10`
-      "commuteFilter": { # Input only. # Optional. Allows filtering jobs by commute time with different travel methods (for
-          #  example, driving or public transit). Note: This only works with COMMUTE
-          #  MODE. When specified, [JobQuery.location_filters] is
-          #  ignored.
-          #
-          #  Currently we don't support sorting by commute time.
-          #
-          # Parameters needed for commute search.
-        "departureTime": { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
-            # google.type.TimeOfDay in local time zone.
-            #
-            # Currently traffic model is restricted to hour level resolution.
-            # or are specified elsewhere. An API may choose to allow leap seconds. Related
-            # types are google.type.Date and `google.protobuf.Timestamp`.
-          "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-              # to allow the value "24:00:00" for scenarios like business closing time.
-          "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-          "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-              # allow the value 60 if it allows leap-seconds.
-          "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-        },
-        "roadTraffic": "A String", # Optional. Specifies the traffic density to use when calculating commute time.
-        "startCoordinates": { # An object representing a latitude/longitude pair. This is expressed as a pair # Required. The latitude and longitude of the location from which to calculate the
-            # commute time.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "allowImpreciseAddresses": True or False, # Optional. If true, jobs without "precise" addresses (street level addresses or GPS
-            # coordinates) might also be returned. For city and coarser level addresses,
-            # text matching is used. If this field is set to false or is not specified,
-            # only jobs that include precise addresses are returned by Commute
-            # Search.
-            #
-            # Note: If `allow_imprecise_addresses` is set to true, Commute Search is not
-            # able to calculate accurate commute times to jobs with city level and
-            # coarser address information. Jobs with imprecise addresses will return a
-            # `travel_duration` time of 0 regardless of distance from the job seeker.
-        "travelDuration": "A String", # Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
-            # (one hour). Format is `123s`.
-        "commuteMethod": "A String", # Required. The method of transportation for which to calculate the commute time.
-      },
-      "employmentTypes": [ # Optional. The employment type filter specifies the employment type of jobs to
-          # search against, such as EmploymentType.FULL_TIME.
-          #
-          # If a value is not specified, jobs in the search results includes any
-          # employment type.
-          #
-          # If multiple values are specified, jobs in the search results include
-          # any of the specified employment types.
-        "A String",
-      ],
-      "queryLanguageCode": "A String", # The language code of query. For example, "en-US". This field helps to
-          # better interpret the query.
-          #
-          # If a value isn't specified, the query language code is automatically
-          # detected, which may not be accurate.
-          #
-          # Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
-      "publishTimeRange": { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
-          # against.
-        "endTime": "A String", # End of the period.
-        "startTime": "A String", # Begin of the period.
-      },
-      "query": "A String", # Optional. The query string that matches against the job title, description, and
-          # location fields.
-          #
-          # The maximum number of allowed characters is 255.
-      "jobCategories": [ # Optional. The category filter specifies the categories of jobs to search against.
-          # See Category for more information.
-          #
-          # If a value is not specified, jobs from any category are searched against.
-          #
-          # If multiple values are specified, jobs from any of the specified
-          # categories are searched against.
-        "A String",
-      ],
-      "languageCodes": [ # Optional. This filter specifies the locale of jobs to search against,
-          # for example, "en-US".
-          #
-          # If a value isn't specified, the search results can contain jobs in any
-          # locale.
-          #
-          #
-          # Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
-          #
-          # At most 10 language code filters are allowed.
-        "A String",
-      ],
-      "companyNames": [ # Optional. This filter specifies the company entities to search against.
-          #
-          # If a value isn't specified, jobs are searched for against all
-          # companies.
-          #
-          # If multiple values are specified, jobs are searched against the
-          # companies specified.
-          #
-          # The format is "projects/{project_id}/companies/{company_id}", for example,
-          # "projects/api-test-project/companies/foo".
-          #
-          # At most 20 company filters are allowed.
-        "A String",
-      ],
-      "companyDisplayNames": [ # Optional. This filter specifies the exact company display
-          # name of the jobs to search against.
-          #
-          # If a value isn't specified, jobs within the search results are
-          # associated with any company.
-          #
-          # If multiple values are specified, jobs within the search results may be
-          # associated with any of the specified companies.
-          #
-          # At most 20 company display name filters are allowed.
-        "A String",
-      ],
-      "locationFilters": [ # Optional. The location filter specifies geo-regions containing the jobs to
+      &quot;locationFilters&quot;: [ # Optional. The location filter specifies geo-regions containing the jobs to
           # search against. See LocationFilter for more information.
           #
-          # If a location value isn't specified, jobs fitting the other search
-          # criteria are retrieved regardless of where they're located.
+          # If a location value isn&#x27;t specified, jobs fitting the other search
+          # criteria are retrieved regardless of where they&#x27;re located.
           #
           # If multiple values are specified, jobs are retrieved from any of the
           # specified locations. If different values are specified for the
@@ -3823,29 +3788,7 @@
         { # Input only.
             #
             # Geographic region of the search.
-          "regionCode": "A String", # Optional. CLDR region code of the country/region of the address. This is used
-              # to address ambiguity of the user-input location, for example, "Liverpool"
-              # against "Liverpool, NY, US" or "Liverpool, UK".
-              #
-              # Set this field if all the jobs to search against are from a same region,
-              # or jobs are world-wide, but the job seeker is from a specific region.
-              #
-              # See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: "CH" for Switzerland.
-          "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
-              # search. This field's ignored if `address` is provided.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "distanceInMiles": 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
-              # identified as a city or smaller. When the location being searched for is a
-              # state or larger, this field is ignored.
-          "telecommutePreference": "A String", # Optional. Allows the client to return jobs without a
+          &quot;telecommutePreference&quot;: &quot;A String&quot;, # Optional. Allows the client to return jobs without a
               # set location, specifically, telecommuting jobs (telecommuting is considered
               # by the service as a special location.
               # Job.posting_region indicates if a job permits telecommuting.
@@ -3858,76 +3801,259 @@
               # This filter can be used by itself to search exclusively for telecommuting
               # jobs, or it can be combined with another location
               # filter to search for a combination of job locations,
-              # such as "Mountain View" or "telecommuting" jobs. However, when used in
+              # such as &quot;Mountain View&quot; or &quot;telecommuting&quot; jobs. However, when used in
               # combination with other location filters, telecommuting jobs can be
               # treated as less relevant than other jobs in the search response.
-          "address": "A String", # Optional. The address name, such as "Mountain View" or "Bay Area".
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
+              # search. This field&#x27;s ignored if `address` is provided.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          },
+          &quot;regionCode&quot;: &quot;A String&quot;, # Optional. CLDR region code of the country/region of the address. This is used
+              # to address ambiguity of the user-input location, for example, &quot;Liverpool&quot;
+              # against &quot;Liverpool, NY, US&quot; or &quot;Liverpool, UK&quot;.
+              #
+              # Set this field if all the jobs to search against are from a same region,
+              # or jobs are world-wide, but the job seeker is from a specific region.
+              #
+              # See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
+          &quot;address&quot;: &quot;A String&quot;, # Optional. The address name, such as &quot;Mountain View&quot; or &quot;Bay Area&quot;.
+          &quot;distanceInMiles&quot;: 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
+              # identified as a city or smaller. When the location being searched for is a
+              # state or larger, this field is ignored.
         },
       ],
-      "compensationFilter": { # Input only. # Optional. This search filter is applied only to
+      &quot;commuteFilter&quot;: { # Input only. # Optional. Allows filtering jobs by commute time with different travel methods (for
+          #  example, driving or public transit). Note: This only works with COMMUTE
+          #  MODE. When specified, [JobQuery.location_filters] is
+          #  ignored.
+          #
+          #  Currently we don&#x27;t support sorting by commute time.
+          #
+          # Parameters needed for commute search.
+        &quot;departureTime&quot;: { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
+            # google.type.TimeOfDay in local time zone.
+            #
+            # Currently traffic model is restricted to hour level resolution.
+            # or are specified elsewhere. An API may choose to allow leap seconds. Related
+            # types are google.type.Date and `google.protobuf.Timestamp`.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+              # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+          &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+              # allow the value 60 if it allows leap-seconds.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+        },
+        &quot;travelDuration&quot;: &quot;A String&quot;, # Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
+            # (one hour). Format is `123s`.
+        &quot;startCoordinates&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Required. The latitude and longitude of the location from which to calculate the
+            # commute time.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        },
+        &quot;commuteMethod&quot;: &quot;A String&quot;, # Required. The method of transportation for which to calculate the commute time.
+        &quot;roadTraffic&quot;: &quot;A String&quot;, # Optional. Specifies the traffic density to use when calculating commute time.
+        &quot;allowImpreciseAddresses&quot;: True or False, # Optional. If true, jobs without &quot;precise&quot; addresses (street level addresses or GPS
+            # coordinates) might also be returned. For city and coarser level addresses,
+            # text matching is used. If this field is set to false or is not specified,
+            # only jobs that include precise addresses are returned by Commute
+            # Search.
+            #
+            # Note: If `allow_imprecise_addresses` is set to true, Commute Search is not
+            # able to calculate accurate commute times to jobs with city level and
+            # coarser address information. Jobs with imprecise addresses will return a
+            # `travel_duration` time of 0 regardless of distance from the job seeker.
+      },
+      &quot;languageCodes&quot;: [ # Optional. This filter specifies the locale of jobs to search against,
+          # for example, &quot;en-US&quot;.
+          #
+          # If a value isn&#x27;t specified, the search results can contain jobs in any
+          # locale.
+          #
+          #
+          # Language codes should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+          #
+          # At most 10 language code filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;compensationFilter&quot;: { # Input only. # Optional. This search filter is applied only to
           # Job.compensation_info. For example, if the filter is specified
-          # as "Hourly job with per-hour compensation &gt; $15", only jobs meeting
-          # these criteria are searched. If a filter isn't defined, all open jobs
+          # as &quot;Hourly job with per-hour compensation &gt; $15&quot;, only jobs meeting
+          # these criteria are searched. If a filter isn&#x27;t defined, all open jobs
           # are searched.
           #
           # Filter on job compensation type and amount.
-        "units": [ # Required. Specify desired `base compensation entry's`
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of filter.
+        &quot;includeJobsWithUnspecifiedCompensationRange&quot;: True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
+            # included.
+        &quot;units&quot;: [ # Required. Specify desired `base compensation entry&#x27;s`
             # CompensationInfo.CompensationUnit.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "range": { # Compensation range. # Optional. Compensation range.
-          "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+        &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
               # to a maximal compensation value and the currency code is set to
               # match the currency code of
               # min_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
                 # The value must be between -999,999,999 and +999,999,999 inclusive.
                 # If `units` is positive, `nanos` must be positive or zero.
                 # If `units` is zero, `nanos` can be positive, zero, or negative.
                 # If `units` is negative, `nanos` must be negative or zero.
                 # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
           },
         },
-        "type": "A String", # Required. Type of filter.
-        "includeJobsWithUnspecifiedCompensationRange": True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
-            # included.
+      },
+      &quot;query&quot;: &quot;A String&quot;, # Optional. The query string that matches against the job title, description, and
+          # location fields.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;companyDisplayNames&quot;: [ # Optional. This filter specifies the exact company display
+          # name of the jobs to search against.
+          #
+          # If a value isn&#x27;t specified, jobs within the search results are
+          # associated with any company.
+          #
+          # If multiple values are specified, jobs within the search results may be
+          # associated with any of the specified companies.
+          #
+          # At most 20 company display name filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;disableSpellCheck&quot;: True or False, # Optional. This flag controls the spell-check feature. If false, the
+          # service attempts to correct a misspelled query,
+          # for example, &quot;enginee&quot; is corrected to &quot;engineer&quot;.
+          #
+          # Defaults to false: a spell check is performed.
+      &quot;jobCategories&quot;: [ # Optional. The category filter specifies the categories of jobs to search against.
+          # See Category for more information.
+          #
+          # If a value is not specified, jobs from any category are searched against.
+          #
+          # If multiple values are specified, jobs from any of the specified
+          # categories are searched against.
+        &quot;A String&quot;,
+      ],
+      &quot;excludedJobs&quot;: [ # Optional. This filter specifies a list of job names to be excluded during search.
+          #
+          # At most 400 excluded job names are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;companyNames&quot;: [ # Optional. This filter specifies the company entities to search against.
+          #
+          # If a value isn&#x27;t specified, jobs are searched for against all
+          # companies.
+          #
+          # If multiple values are specified, jobs are searched against the
+          # companies specified.
+          #
+          # The format is &quot;projects/{project_id}/companies/{company_id}&quot;, for example,
+          # &quot;projects/api-test-project/companies/foo&quot;.
+          #
+          # At most 20 company filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;queryLanguageCode&quot;: &quot;A String&quot;, # The language code of query. For example, &quot;en-US&quot;. This field helps to
+          # better interpret the query.
+          #
+          # If a value isn&#x27;t specified, the query language code is automatically
+          # detected, which may not be accurate.
+          #
+          # Language code should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+      &quot;employmentTypes&quot;: [ # Optional. The employment type filter specifies the employment type of jobs to
+          # search against, such as EmploymentType.FULL_TIME.
+          #
+          # If a value is not specified, jobs in the search results includes any
+          # employment type.
+          #
+          # If multiple values are specified, jobs in the search results include
+          # any of the specified employment types.
+        &quot;A String&quot;,
+      ],
+      &quot;customAttributeFilter&quot;: &quot;A String&quot;, # Optional. This filter specifies a structured syntax to match against the
+          # Job.custom_attributes marked as `filterable`.
+          #
+          # The syntax for this expression is a subset of SQL syntax.
+          #
+          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
+          # left of the operator is a custom field key and the right of the operator
+          # is a number or a quoted string. You must escape backslash (\\) and
+          # quote (\&quot;) characters.
+          #
+          # Supported functions are `LOWER([field_name])` to
+          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
+          # existence of a key.
+          #
+          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
+          # nesting (for example, &quot;((A AND B AND C) OR NOT D) AND E&quot;), a maximum of 100
+          # comparisons or functions are allowed in the expression. The expression
+          # must be &lt; 6000 bytes in length.
+          #
+          # Sample Query:
+          # `(LOWER(driving_license)=&quot;class \&quot;a\&quot;&quot; OR EMPTY(driving_license)) AND
+          # driving_years &gt; 10`
+      &quot;publishTimeRange&quot;: { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
+          # against.
+        &quot;endTime&quot;: &quot;A String&quot;, # End of the period.
+        &quot;startTime&quot;: &quot;A String&quot;, # Begin of the period.
       },
     },
-    "pageSize": 42, # Optional. A limit on the number of jobs returned in the search results.
-        # Increasing this value above the default value of 10 can increase search
-        # response time. The value can be between 1 and 100.
-    "diversificationLevel": "A String", # Optional. Controls whether highly similar jobs are returned next to each other in
-        # the search results. Jobs are identified as highly similar based on
-        # their titles, job categories, and locations. Highly similar results are
-        # clustered so that only one representative job of the cluster is
-        # displayed to the job seeker higher up in the results, with the other jobs
-        # being displayed lower down in the results.
+    &quot;jobView&quot;: &quot;A String&quot;, # Optional. The desired job attributes returned for jobs in the
+        # search response. Defaults to JobView.SMALL if no value is specified.
+    &quot;requirePreciseResultSize&quot;: True or False, # Optional. Controls if the search job request requires the return of a precise
+        # count of the first 300 results. Setting this to `true` ensures
+        # consistency in the number of results per page. Best practice is to set this
+        # value to true if a client allows users to jump directly to a
+        # non-sequential search results page.
         # 
-        # Defaults to DiversificationLevel.SIMPLE if no value
-        # is specified.
-    "customRankingInfo": { # Input only. # Optional. Controls over how job documents get ranked on top of existing relevance
+        # Enabling this flag may adversely impact performance.
+        # 
+        # Defaults to false.
+    &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The token specifying the current offset within
+        # search results. See SearchJobsResponse.next_page_token for
+        # an explanation of how to obtain the next set of query results.
+    &quot;customRankingInfo&quot;: { # Input only. # Optional. Controls over how job documents get ranked on top of existing relevance
         # score (determined by API algorithm).
         #
         # Custom ranking information for SearchJobsRequest.
-      "rankingExpression": "A String", # Required. Controls over how job documents get ranked on top of existing relevance
+      &quot;importanceLevel&quot;: &quot;A String&quot;, # Required. Controls over how important the score of
+          # CustomRankingInfo.ranking_expression gets applied to job&#x27;s final
+          # ranking position.
+          #
+          # An error is thrown if not specified.
+      &quot;rankingExpression&quot;: &quot;A String&quot;, # Required. Controls over how job documents get ranked on top of existing relevance
           # score (determined by API algorithm). A combination of the ranking
-          # expression and relevance score is used to determine job's final ranking
+          # expression and relevance score is used to determine job&#x27;s final ranking
           # position.
           #
           # The syntax for this expression is a subset of Google SQL syntax.
@@ -3946,191 +4072,71 @@
           #
           # Sample ranking expression
           # (year + 25) * 0.25 - (freshness / 0.5)
-      "importanceLevel": "A String", # Required. Controls over how important the score of
-          # CustomRankingInfo.ranking_expression gets applied to job's final
-          # ranking position.
-          #
-          # An error is thrown if not specified.
     },
-    "enableBroadening": True or False, # Optional. Controls whether to broaden the search when it produces sparse results.
-        # Broadened queries append results to the end of the matching results
-        # list.
+    &quot;diversificationLevel&quot;: &quot;A String&quot;, # Optional. Controls whether highly similar jobs are returned next to each other in
+        # the search results. Jobs are identified as highly similar based on
+        # their titles, job categories, and locations. Highly similar results are
+        # clustered so that only one representative job of the cluster is
+        # displayed to the job seeker higher up in the results, with the other jobs
+        # being displayed lower down in the results.
         # 
-        # Defaults to false.
-    "searchMode": "A String", # Optional. Mode of a search.
+        # Defaults to DiversificationLevel.SIMPLE if no value
+        # is specified.
+    &quot;searchMode&quot;: &quot;A String&quot;, # Optional. Mode of a search.
         # 
         # Defaults to SearchMode.JOB_SEARCH.
-    "pageToken": "A String", # Optional. The token specifying the current offset within
-        # search results. See SearchJobsResponse.next_page_token for
-        # an explanation of how to obtain the next set of query results.
-    "histogramQueries": [ # Optional. Expression based histogram requests for jobs matching JobQuery.
-      { # Input Only.
-          #
-          # The histogram request.
-        "histogramQuery": "A String", # An expression specifies a histogram request against matching resources
-            # (for example, jobs) for searches.
-            #
-            # Expression syntax is a aggregation function call with histogram facets and
-            # other options.
-            #
-            # Available aggregation function calls are:
-            # * `count(string_histogram_facet)`: Count the number of matching entity, for
-            #   each distinct attribute value.
-            # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
-            #    matching entity within each bucket.
-            #
-            # Data types:
-            #
-            # * Histogram facet: facet names with format a-zA-Z+.
-            # * String: string like "any string with backslash escape for quote(\")."
-            # * Number: whole number and floating point number like 10, -1 and -0.01.
-            # * List: list of elements with comma(,) separator surrounded by square
-            # brackets. For example, [1, 2, 3] and ["one", "two", "three"].
-            #
-            # Built-in constants:
-            #
-            # * MIN (minimum number similar to java Double.MIN_VALUE)
-            # * MAX (maximum number similar to java Double.MAX_VALUE)
-            #
-            # Built-in functions:
-            #
-            # * bucket(start, end[, label]): bucket built-in function creates a bucket
-            # with range of start, end). Note that the end is exclusive. For example,
-            # bucket(1, MAX, "positive number") or bucket(1, 10).
-            #
-            # Job histogram facets:
-            #
-            # * company_id: histogram by [Job.distributor_company_id.
-            # * company_display_name: histogram by Job.company_display_name.
-            # * employment_type: histogram by Job.employment_types. For example,
-            # "FULL_TIME", "PART_TIME".
-            # * company_size: histogram by CompanySize, for example, "SMALL",
-            # "MEDIUM", "BIG".
-            # * publish_time_in_month: histogram by the Job.publish_time in months.
-            # Must specify list of numeric buckets in spec.
-            # * publish_time_in_year: histogram by the Job.publish_time in years.
-            # Must specify list of numeric buckets in spec.
-            # * degree_type: histogram by the Job.degree_type. For example,
-            # "Bachelors", "Masters".
-            # * job_level: histogram by the Job.job_level. For example, "Entry
-            # Level".
-            # * country: histogram by the country code of jobs. For example, "US", "FR".
-            # * admin1: histogram by the admin1 code of jobs, which is a global
-            # placeholder referring to the state, province, or the particular term a
-            # country uses to define the geographic structure below the country level.
-            # For example, "CA", "IL".
-            # * city: histogram by a combination of the "city name, admin1 code". For
-            # example,  "Mountain View, CA", "New York, NY".
-            # * admin1_country: histogram by a combination of the "admin1 code, country".
-            # For example, "CA, US", "IL, US".
-            # * city_coordinate: histogram by the city center's GPS coordinates (latitude
-            # and longitude). For example, 37.4038522,-122.0987765. Since the coordinates
-            # of a city center can change, customers may need to refresh them
-            # periodically.
-            # * locale: histogram by the Job.language_code. For example, "en-US",
-            # "fr-FR".
-            # * language: histogram by the language subtag of the Job.language_code.
-            # For example, "en", "fr".
-            # * category: histogram by the JobCategory. For example,
-            # "COMPUTER_AND_IT", "HEALTHCARE".
-            # * base_compensation_unit: histogram by the CompensationUnit of base
-            # salary. For example, "WEEKLY", "MONTHLY".
-            # * base_compensation: histogram by the base salary. Must specify list of
-            # numeric buckets to group results by.
-            # * annualized_base_compensation: histogram by the base annualized salary.
-            # Must specify list of numeric buckets to group results by.
-            # * annualized_total_compensation: histogram by the total annualized salary.
-            # Must specify list of numeric buckets to group results by.
-            # * string_custom_attribute: histogram by string Job.custom_attributes.
-            # Values can be accessed via square bracket notations like
-            # string_custom_attribute["key1"].
-            # * numeric_custom_attribute: histogram by numeric Job.custom_attributes.
-            # Values can be accessed via square bracket notations like
-            # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
-            # group results by.
-            #
-            # Example expressions:
-            # * count(admin1)
-            # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
-            # bucket(100000, MAX)])
-            # * count(string_custom_attribute["some-string-custom-attribute"])
-            # * count(numeric_custom_attribute["some-numeric-custom-attribute"],
-            # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
-      },
-    ],
-    "requestMetadata": { # Input only. # Required. The meta information collected about the job searcher, used to improve the
+    &quot;requestMetadata&quot;: { # Input only. # Required. The meta information collected about the job searcher, used to improve the
         # search quality of the service. The identifiers (such as `user_id`) are
         # provided by users, and must be unique and consistent.
         #
         # Meta information related to the job searcher or entity
         # conducting the job search. This information is used to improve the
         # performance of the service.
-      "userId": "A String", # Required. A unique user identification string, as determined by the client.
-          # To have the strongest positive impact on search quality
-          # make sure the client-level is unique.
-          # Obfuscate this field for privacy concerns before
-          # providing it to the service.
-          #
-          # If this field is not available for some reason, send "UNKNOWN". Note
-          # that any improvements to the model for a particular tenant
-          # site, rely on this field being set correctly to a unique user_id.
-          #
-          # The maximum number of allowed characters is 255.
-      "sessionId": "A String", # Required. A unique session identification string. A session is defined as the
-          # duration of an end user's interaction with the service over a certain
+      &quot;deviceInfo&quot;: { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
+          # service.
+          # other entity conducting the job search. Providing this information improves
+          # the quality of the search results across devices.
+        &quot;id&quot;: &quot;A String&quot;, # Optional. A device-specific ID. The ID must be a unique identifier that
+            # distinguishes the device from other devices.
+        &quot;deviceType&quot;: &quot;A String&quot;, # Optional. Type of the device.
+      },
+      &quot;sessionId&quot;: &quot;A String&quot;, # Required. A unique session identification string. A session is defined as the
+          # duration of an end user&#x27;s interaction with the service over a certain
           # period.
           # Obfuscate this field for privacy concerns before
           # providing it to the service.
           #
-          # If this field is not available for some reason, send "UNKNOWN". Note
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
           # that any improvements to the model for a particular tenant
           # site, rely on this field being set correctly to some unique session_id.
           #
           # The maximum number of allowed characters is 255.
-      "deviceInfo": { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
-          # service.
-          # other entity conducting the job search. Providing this information improves
-          # the quality of the search results across devices.
-        "deviceType": "A String", # Optional. Type of the device.
-        "id": "A String", # Optional. A device-specific ID. The ID must be a unique identifier that
-            # distinguishes the device from other devices.
-      },
-      "domain": "A String", # Required. The client-defined scope or source of the service call, which typically
+      &quot;domain&quot;: &quot;A String&quot;, # Required. The client-defined scope or source of the service call, which typically
           # is the domain on
           # which the service has been implemented and is currently being run.
           #
           # For example, if the service is being run by client &lt;em&gt;Foo, Inc.&lt;/em&gt;, on
           # job board www.foo.com and career site www.bar.com, then this field is
-          # set to "foo.com" for use on the job board, and "bar.com" for use on the
+          # set to &quot;foo.com&quot; for use on the job board, and &quot;bar.com&quot; for use on the
           # career site.
           #
-          # If this field isn't available for some reason, send "UNKNOWN".
+          # If this field isn&#x27;t available for some reason, send &quot;UNKNOWN&quot;.
           # Any improvements to the model for a particular tenant site rely on this
           # field being set correctly to a domain.
           #
           # The maximum number of allowed characters is 255.
+      &quot;userId&quot;: &quot;A String&quot;, # Required. A unique user identification string, as determined by the client.
+          # To have the strongest positive impact on search quality
+          # make sure the client-level is unique.
+          # Obfuscate this field for privacy concerns before
+          # providing it to the service.
+          #
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
+          # that any improvements to the model for a particular tenant
+          # site, rely on this field being set correctly to a unique user_id.
+          #
+          # The maximum number of allowed characters is 255.
     },
-    "requirePreciseResultSize": True or False, # Optional. Controls if the search job request requires the return of a precise
-        # count of the first 300 results. Setting this to `true` ensures
-        # consistency in the number of results per page. Best practice is to set this
-        # value to true if a client allows users to jump directly to a
-        # non-sequential search results page.
-        # 
-        # Enabling this flag may adversely impact performance.
-        # 
-        # Defaults to false.
-    "jobView": "A String", # Optional. The desired job attributes returned for jobs in the
-        # search response. Defaults to JobView.SMALL if no value is specified.
-    "offset": 42, # Optional. An integer that specifies the current offset (that is, starting result
-        # location, amongst the jobs deemed by the API as relevant) in search
-        # results. This field is only considered if page_token is unset.
-        # 
-        # The maximum allowed value is 5000. Otherwise an error is thrown.
-        # 
-        # For example, 0 means to  return results starting from the first matching
-        # job, and 10 means to return from the 11th job. This can be used for
-        # pagination, (for example, pageSize = 10 and offset = 10 means to return
-        # from the second page).
   }
 
   x__xgafv: string, V1 error format.
@@ -4144,820 +4150,13 @@
     { # Output only.
       #
       # Response for SearchJob method.
-    "nextPageToken": "A String", # The token that specifies the starting position of the next page of results.
-        # This field is empty if there are no more results.
-    "histogramQueryResults": [ # The histogram results that match with specified
-        # SearchJobsRequest.histogram_queries.
-      { # Output only.
-          #
-          # Histogram result that matches HistogramSpec specified in searches.
-        "histogramQuery": "A String", # Requested histogram expression.
-        "histogram": { # A map from the values of the facet associated with distinct values to the
-            # number of matching entries with corresponding value.
-            #
-            # The key format is:
-            # * (for string histogram) string values stored in the field.
-            # * (for named numeric bucket) name specified in `bucket()` function, like
-            #   for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`.
-            # * (for anonymous numeric bucket) range formatted as `&lt;low&gt;-&lt;high&gt;`, for
-            # example, `0-1000`, `MIN-0`, and `0-MAX`.
-          "a_key": "A String",
-        },
-      },
-    ],
-    "spellCorrection": { # Output only. # The spell checking result, and correction.
-        #
-        # Spell check result.
-      "corrected": True or False, # Indicates if the query was corrected by the spell checker.
-      "correctedText": "A String", # Correction output consisting of the corrected keyword string.
-    },
-    "totalSize": 42, # The precise result count, which is available only if the client set
-        # enable_precise_result_size to `true`, or if the response
-        # is the last page of results. Otherwise, the value is `-1`.
-    "matchingJobs": [ # The Job entities that match the specified SearchJobsRequest.
-      { # Output only.
-          #
-          # Job entry with metadata inside SearchJobsResponse.
-        "searchTextSnippet": "A String", # Contains snippets of text from the Job.description and similar
-            # fields that most closely match a search query's keywords, if available.
-            # All HTML tags in the original fields are stripped when returned in this
-            # field, and matching query keywords are enclosed in HTML bold tags.
-        "job": { # A Job resource represents a job posting (also referred to as a "job listing" # Job resource that matches the specified SearchJobsRequest.
-            # or "job requisition"). A job belongs to a Company, which is the hiring
-            # entity responsible for the job.
-          "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-              # any requirements for fluency that are associated with the job.
-              #
-              # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-              # For more information, see
-              # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-              # class="external" target="_blank" }.
-              #
-              # If this field is unspecified and Job.description is present, detected
-              # language code based on Job.description is assigned, otherwise
-              # defaults to 'en_US'.
-          "addresses": [ # Optional but strongly recommended for the best service experience.
-              #
-              # Location(s) where the employer is looking to hire for this job posting.
-              #
-              # Specifying the full street address(es) of the hiring location enables
-              # better API results, especially job searches by commute time.
-              #
-              # At most 50 locations are allowed for best search performance. If a job has
-              # more locations, it is suggested to split it into multiple jobs with unique
-              # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
-              # multiple jobs with the same company_name, language_code and
-              # requisition_id are not allowed. If the original requisition_id must
-              # be preserved, a custom field should be used for storage. It is also
-              # suggested to group the locations that close to each other in the same job
-              # for better search experience.
-              #
-              # The maximum number of allowed characters is 500.
-            "A String",
-          ],
-          "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-          "processingOptions": { # Input only. # Optional. Options for job processing.
-              #
-              # Options for job processing.
-            "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-                #
-                # * description
-                # * applicationInfo.instruction
-                # * incentives
-                # * qualifications
-                # * responsibilities
-                #
-                # HTML tags in these fields may be stripped if sanitiazation is not
-                # disabled.
-                #
-                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-            "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-                # more precise address for the job.
-          },
-          "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-              # full time or
-              # part time.
-            "A String",
-          ],
-          "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-              # engagements. Invalid timestamps are ignored.
-          "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
-              #
-              # Job application information.
-            "instruction": "A String", # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this field to provide instructions, such as "Mail your application
-                # to ...", that a candidate can follow to apply for the job.
-                #
-                # This field accepts and sanitizes HTML input, and also accepts
-                # bold, italic, ordered list, and unordered list markup tags.
-                #
-                # The maximum number of allowed characters is 3,000.
-            "uris": [ # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this URI field to direct an applicant to a website, for example to
-                # link to an online application form.
-                #
-                # The maximum number of allowed characters for each entry is 2,000.
-              "A String",
-            ],
-            "emails": [ # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this field to specify email address(es) to which resumes or
-                # applications can be sent.
-                #
-                # The maximum number of allowed characters for each entry is 255.
-              "A String",
-            ],
-          },
-          "postingExpireTime": "A String", # Optional but strongly recommended for the best service
-              # experience.
-              #
-              # The expiration timestamp of the job. After this timestamp, the
-              # job is marked as expired, and it no longer appears in search results. The
-              # expired job can't be deleted or listed by the DeleteJob and
-              # ListJobs APIs, but it can be retrieved with the GetJob API or
-              # updated with the UpdateJob API. An expired job can be updated and
-              # opened again by using a future expiration timestamp. Updating an expired
-              # job fails if there is another existing open job with same company_name,
-              # language_code and requisition_id.
-              #
-              # The expired jobs are retained in our system for 90 days. However, the
-              # overall expired job count cannot exceed 3 times the maximum of open jobs
-              # count over the past week, otherwise jobs with earlier expire time are
-              # cleaned first. Expired jobs are no longer accessible after they are cleaned
-              # out.
-              #
-              # Invalid timestamps are ignored, and treated as expire time not provided.
-              #
-              # Timestamp before the instant request is made is considered valid, the job
-              # will be treated as expired immediately.
-              #
-              # If this value is not provided at the time of job creation or is invalid,
-              # the job posting expires after 30 days from the job's creation time. For
-              # example, if the job was created on 2017/01/01 13:00AM UTC with an
-              # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
-              #
-              # If this value is not provided on job update, it depends on the field masks
-              # set by UpdateJobRequest.update_mask. If the field masks include
-              # expiry_time, or the masks are empty meaning that every field is
-              # updated, the job posting expires after 30 days from the job's last
-              # update time. Otherwise the expiration date isn't updated.
-          "title": "A String", # Required. The title of the job, such as "Software Engineer"
-              #
-              # The maximum number of allowed characters is 500.
-          "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-              # recommended as an alternative to using the more general description
-              # field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-              # is used for contracting engagements. Invalid timestamps are ignored.
-          "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-            "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-                # all compensation entries' CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-                # base compensation entry's CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            "entries": [ # Optional. Job compensation information.
-                #
-                # At most one entry can be of type
-                # CompensationInfo.CompensationType.BASE, which is
-                # referred as ** base compensation entry ** for the job.
-              { # A compensation entry that represents one component of compensation, such
-                  # as base pay, bonus, or other compensation type.
-                  #
-                  # Annualization: One compensation entry can be annualized if
-                  # - it contains valid amount or range.
-                  # - and its expected_units_per_year is set or can be derived.
-                  # Its annualized range is determined as (amount or range) times
-                  # expected_units_per_year.
-                "description": "A String", # Optional. Compensation description.  For example, could
-                    # indicate equity terms or provide additional context to an estimated
-                    # bonus.
-                "range": { # Compensation range. # Optional. Compensation range.
-                  "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                      # to zero and the currency code is set to match the
-                      # currency code of max_compensation.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "nanos": 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                  "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                      # to a maximal compensation value and the currency code is set to
-                      # match the currency code of
-                      # min_compensation.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "nanos": 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-                "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                    # Job.employment_types is FULLTIME, a default value is inferred
-                    # based on unit. Default values:
-                    # - HOURLY: 2080
-                    # - DAILY: 260
-                    # - WEEKLY: 52
-                    # - MONTHLY: 12
-                    # - ANNUAL: 1
-                "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "nanos": 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-                "type": "A String", # Optional. Compensation type.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-                "unit": "A String", # Optional. Frequency of the specified amount.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-              },
-            ],
-          },
-          "department": "A String", # Optional. The department or functional area within the company with the open
-              # position.
-              #
-              # The maximum number of allowed characters is 255.
-          "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-          "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
-              # client to identify a job. This field is intended to be used by clients
-              # for client identification and tracking of postings. A job is not allowed
-              # to be created if there is another job with the same [company_name],
-              # language_code and requisition_id.
-              #
-              # The maximum number of allowed characters is 255.
-          "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-              # value is the time the request arrives at the server. Invalid timestamps are
-              # ignored.
-          "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-              # description of the company and related information. Separate fields are
-              # provided on the job object for responsibilities,
-              # qualifications, and other job characteristics. Use of
-              # these separate job fields is recommended.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 100,000.
-          "companyName": "A String", # Required. The resource name of the company listing the job, such as
-              # "projects/api-test-project/companies/foo".
-          "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
-              #
-              # Derived details about the job posting.
-            "jobCategories": [ # Job categories derived from Job.title and Job.description.
-              "A String",
-            ],
-            "locations": [ # Structured locations of the job, resolved from Job.addresses.
-                #
-                # locations are exactly matched to Job.addresses in the same
-                # order.
-              { # Output only.
-                  #
-                  # A resource that represents a location with full geographic information.
-                "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                    # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                    # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                    # LocationType#LOCALITY.
-                "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                    # location bounding box in which a circle with the specified radius
-                    # centered from LatLng covers the area associated with the job location.
-                    # For example, currently, "Mountain View, CA, USA" has a radius of
-                    # 6.17 miles.
-                "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                    # such as postal delivery and payments addresses. Given a postal address,
-                    # a postal service can deliver items to a premises, P.O. Box, or other
-                    # delivery location.
-                    # Given a postal address, a postal service can deliver items to a premise, P.O.
-                    # Box or similar.
-                    # It is not intended to model geographical locations (roads, towns,
-                    # mountains).
-                    #
-                    # In typical usage an address would be created via user input or from importing
-                    # existing data, depending on the type of process.
-                    #
-                    # Advice on address input / editing:
-                    #  - Use an i18n-ready address widget such as
-                    #    https://github.com/google/libaddressinput)
-                    # - Users should not be presented with UI elements for input or editing of
-                    #   fields outside countries where that field is used.
-                    #
-                    # For more guidance on how to use this schema, please see:
-                    # https://support.google.com/business/answer/6397478
-                  "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                      # known). This is often the UI language of the input form or is expected
-                      # to match one of the languages used in the address' country/region, or their
-                      # transliterated equivalents.
-                      # This can affect formatting in certain countries, but is not critical
-                      # to the correctness of the data and will never affect any validation or
-                      # other non-formatting related operations.
-                      #
-                      # If this value is not known, it should be omitted (rather than specifying a
-                      # possibly incorrect default).
-                      #
-                      # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-                  "recipients": [ # Optional. The recipient at the address.
-                      # This field may, under certain circumstances, contain multiline information.
-                      # For example, it might contain "care of" information.
-                    "A String",
-                  ],
-                  "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
-                      # Examples: US city, IT comune, UK post town.
-                      # In regions of the world where localities are not well defined or do not fit
-                      # into this structure well, leave locality empty and use address_lines.
-                  "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                      # in most regions. Where it is used, the value is either a string like
-                      # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                      # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                      # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-                  "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                      # is never inferred and it is up to the user to ensure the value is
-                      # correct. See http://cldr.unicode.org/ and
-                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                      # for details. Example: "CH" for Switzerland.
-                  "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
-                      # addresses of a country or region.
-                      # For example, this can be a state, a province, an oblast, or a prefecture.
-                      # Specifically, for Spain this is the province and not the autonomous
-                      # community (e.g. "Barcelona" and not "Catalonia").
-                      # Many countries don't use an administrative area in postal addresses. E.g.
-                      # in Switzerland this should be left unpopulated.
-                  "addressLines": [ # Unstructured address lines describing the lower levels of an address.
-                      #
-                      # Because values in address_lines do not have type information and may
-                      # sometimes contain multiple values in a single field (e.g.
-                      # "Austin, TX"), it is important that the line order is clear. The order of
-                      # address lines should be "envelope order" for the country/region of the
-                      # address. In places where this can vary (e.g. Japan), address_language is
-                      # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                      # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-                      # an address can be selected based on the language.
-                      #
-                      # The minimum permitted structural representation of an address consists
-                      # of a region_code with all remaining information placed in the
-                      # address_lines. It would be possible to format such an address very
-                      # approximately without geocoding, but no semantic reasoning could be
-                      # made about any of the address components until it was at least
-                      # partially resolved.
-                      #
-                      # Creating an address only containing a region_code and address_lines, and
-                      # then geocoding is the recommended way to handle completely unstructured
-                      # addresses (as opposed to guessing which parts of the address should be
-                      # localities or administrative areas).
-                    "A String",
-                  ],
-                  "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
-                      # postal codes to be present, but where they are used, they may trigger
-                      # additional validation with other parts of the address (e.g. state/zip
-                      # validation in the U.S.A.).
-                  "organization": "A String", # Optional. The name of the organization at the address.
-                  "sublocality": "A String", # Optional. Sublocality of the address.
-                      # For example, this can be neighborhoods, boroughs, districts.
-                  "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                      # the latest revision.
-                      #
-                      # All new revisions **must** be backward compatible with old revisions.
-                },
-              },
-            ],
-          },
-          "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
-              # incentives associated with the job not including salary or pay.
-              #
-              # The maximum number of allowed characters is 10,000.
-          "jobBenefits": [ # Optional. The benefits included with the job.
-            "A String",
-          ],
-          "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-              # job. The use of this field is recommended
-              # as an alternative to using the more general description field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          "visibility": "A String", # Deprecated. The job is only visible to the owner.
-              #
-              # The visibility of the job.
-              #
-              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-          "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-          "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-              # the job is available. If this field is set, a
-              # LocationFilter in a search query within the job region
-              # finds this job posting if an exact location match isn't specified.
-              # If this field is set to PostingRegion.NATION or
-              # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-              # to the same location level as this field is strongly recommended.
-          "name": "A String", # Required during job update.
-              #
-              # The resource name for the job. This is generated by the service when a
-              # job is created.
-              #
-              # The format is "projects/{project_id}/jobs/{job_id}",
-              # for example, "projects/api-test-project/jobs/1234".
-              #
-              # Use of this field in job queries and API calls is preferred over the use of
-              # requisition_id since this value is unique.
-          "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-              # The value determines the sort order of the jobs returned when searching for
-              # jobs using the featured jobs search call, with higher promotional values
-              # being returned first and ties being resolved by relevance sort. Only the
-              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-              #
-              # Default value is 0, and negative values are treated as 0.
-          "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-            "A String",
-          ],
-          "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-              # attributes that are not covered by the provided structured fields.
-              #
-              # The keys of the map are strings up to 64 bytes and must match the
-              # pattern: a-zA-Z*. For example, key0LikeThis or
-              # KEY_1_LIKE_THIS.
-              #
-              # At most 100 filterable and at most 100 unfilterable keys are supported.
-              # For filterable `string_values`, across all keys at most 200 values are
-              # allowed, with each string no more than 255 characters. For unfilterable
-              # `string_values`, the maximum total size of `string_values` across all keys
-              # is 50KB.
-            "a_key": { # Custom attribute values that are either filterable or non-filterable.
-              "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-                  # If false, values are not searchable.
-                  #
-                  # Default is false.
-              "stringValues": [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
-                  #
-                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-                  # `CASE_INSENSITIVE_MATCH`) search.
-                  # For filterable `string_value`s, a maximum total number of 200 values
-                  # is allowed, with each `string_value` has a byte size of no more than
-                  # 500B. For unfilterable `string_values`, the maximum total byte size of
-                  # unfilterable `string_values` is 50KB.
-                  #
-                  # Empty string is not allowed.
-                "A String",
-              ],
-              "longValues": [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
-                  #
-                  # This field is used to perform number range search.
-                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-                  #
-                  # Currently at most 1 long_values is supported.
-                "A String",
-              ],
-            },
-          },
-          "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
-        },
-        "commuteInfo": { # Output only. # Commute information which is generated based on specified
-            #  CommuteFilter.
-            #
-            # Commute details related to this job.
-          "travelDuration": "A String", # The number of seconds required to travel to the job location from the
-              # query location. A duration of 0 seconds indicates that the job is not
-              # reachable within the requested duration, but was returned as part of an
-              # expanded query.
-          "jobLocation": { # Output only. # Location used as the destination in the commute calculation.
-              #
-              # A resource that represents a location with full geographic information.
-            "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                # LocationType#LOCALITY.
-            "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, "Mountain View, CA, USA" has a radius of
-                # 6.17 miles.
-            "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                # such as postal delivery and payments addresses. Given a postal address,
-                # a postal service can deliver items to a premises, P.O. Box, or other
-                # delivery location.
-                # Given a postal address, a postal service can deliver items to a premise, P.O.
-                # Box or similar.
-                # It is not intended to model geographical locations (roads, towns,
-                # mountains).
-                #
-                # In typical usage an address would be created via user input or from importing
-                # existing data, depending on the type of process.
-                #
-                # Advice on address input / editing:
-                #  - Use an i18n-ready address widget such as
-                #    https://github.com/google/libaddressinput)
-                # - Users should not be presented with UI elements for input or editing of
-                #   fields outside countries where that field is used.
-                #
-                # For more guidance on how to use this schema, please see:
-                # https://support.google.com/business/answer/6397478
-              "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                  # known). This is often the UI language of the input form or is expected
-                  # to match one of the languages used in the address' country/region, or their
-                  # transliterated equivalents.
-                  # This can affect formatting in certain countries, but is not critical
-                  # to the correctness of the data and will never affect any validation or
-                  # other non-formatting related operations.
-                  #
-                  # If this value is not known, it should be omitted (rather than specifying a
-                  # possibly incorrect default).
-                  #
-                  # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-              "recipients": [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain "care of" information.
-                "A String",
-              ],
-              "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
-                  # Examples: US city, IT comune, UK post town.
-                  # In regions of the world where localities are not well defined or do not fit
-                  # into this structure well, leave locality empty and use address_lines.
-              "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                  # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                  # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-              "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: "CH" for Switzerland.
-              "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
-                  # addresses of a country or region.
-                  # For example, this can be a state, a province, an oblast, or a prefecture.
-                  # Specifically, for Spain this is the province and not the autonomous
-                  # community (e.g. "Barcelona" and not "Catalonia").
-                  # Many countries don't use an administrative area in postal addresses. E.g.
-                  # in Switzerland this should be left unpopulated.
-              "addressLines": [ # Unstructured address lines describing the lower levels of an address.
-                  #
-                  # Because values in address_lines do not have type information and may
-                  # sometimes contain multiple values in a single field (e.g.
-                  # "Austin, TX"), it is important that the line order is clear. The order of
-                  # address lines should be "envelope order" for the country/region of the
-                  # address. In places where this can vary (e.g. Japan), address_language is
-                  # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                  # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-                  # an address can be selected based on the language.
-                  #
-                  # The minimum permitted structural representation of an address consists
-                  # of a region_code with all remaining information placed in the
-                  # address_lines. It would be possible to format such an address very
-                  # approximately without geocoding, but no semantic reasoning could be
-                  # made about any of the address components until it was at least
-                  # partially resolved.
-                  #
-                  # Creating an address only containing a region_code and address_lines, and
-                  # then geocoding is the recommended way to handle completely unstructured
-                  # addresses (as opposed to guessing which parts of the address should be
-                  # localities or administrative areas).
-                "A String",
-              ],
-              "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
-                  # postal codes to be present, but where they are used, they may trigger
-                  # additional validation with other parts of the address (e.g. state/zip
-                  # validation in the U.S.A.).
-              "organization": "A String", # Optional. The name of the organization at the address.
-              "sublocality": "A String", # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
-                  #
-                  # All new revisions **must** be backward compatible with old revisions.
-            },
-          },
-        },
-        "jobSummary": "A String", # A summary of the job with core information that's displayed on the search
-            # results listing page.
-        "jobTitleSnippet": "A String", # Contains snippets of text from the Job.job_title field most
-            # closely matching a search query's keywords, if available. The matching
-            # query keywords are enclosed in HTML bold tags.
-      },
-    ],
-    "histogramResults": { # Output only. # The histogram results that match specified
-        # SearchJobsRequest.histogram_facets.
-        #
-        # Histogram results that match HistogramFacets specified in
-        # SearchJobsRequest.
-      "customAttributeHistogramResults": [ # Specifies histogram results for custom attributes that match
-          # HistogramFacets.custom_attribute_histogram_facets.
-        { # Output only.
-            #
-            # Custom attribute histogram result.
-          "longValueHistogramResult": { # Output only. # Stores bucketed histogram counting result or min/max values for
-              # custom attribute long values associated with `key`.
-              #
-              # Custom numeric bucketing result.
-            "counts": [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                "count": 42, # Number of jobs whose numeric field value fall into `range`.
-                "range": { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  "to": 3.14, # Ending value of the bucket range.
-                  "from": 3.14, # Starting value of the bucket range.
-                },
-              },
-            ],
-            "maxValue": 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            "minValue": 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-          "stringValueHistogramResult": { # Stores a map from the values of string custom field associated
-              # with `key` to the number of jobs with that value in this histogram result.
-            "a_key": 42,
-          },
-          "key": "A String", # Stores the key of custom attribute the histogram is performed on.
-        },
-      ],
-      "simpleHistogramResults": [ # Specifies histogram results that matches
-          # HistogramFacets.simple_histogram_facets.
-        { # Output only.
-            #
-            # Result of a histogram call. The response contains the histogram map for the
-            # search type specified by HistogramResult.field.
-            # The response is a map of each filter value to the corresponding count of
-            # jobs for that filter.
-          "values": { # A map from the values of field to the number of jobs with that value
-              # in this search result.
-              #
-              # Key: search type (filter names, such as the companyName).
-              #
-              # Values: the count of jobs that match the filter for this search.
-            "a_key": 42,
-          },
-          "searchType": "A String", # The Histogram search filters.
-        },
-      ],
-      "compensationHistogramResults": [ # Specifies compensation field-based histogram results that match
-          # HistogramFacets.compensation_histogram_requests.
-        { # Output only.
-            #
-            # Compensation based histogram result.
-          "type": "A String", # Type of the request, corresponding to
-              # CompensationHistogramRequest.type.
-          "result": { # Output only. # Histogram result.
-              #
-              # Custom numeric bucketing result.
-            "counts": [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                "count": 42, # Number of jobs whose numeric field value fall into `range`.
-                "range": { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  "to": 3.14, # Ending value of the bucket range.
-                  "from": 3.14, # Starting value of the bucket range.
-                },
-              },
-            ],
-            "maxValue": 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            "minValue": 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-        },
-      ],
-    },
-    "estimatedTotalSize": 42, # An estimation of the number of jobs that match the specified query.
-        #
-        # This number is not guaranteed to be accurate. For accurate results,
-        # see enable_precise_result_size.
-    "broadenedQueryJobsCount": 42, # If query broadening is enabled, we may append additional results from the
-        # broadened query. This number indicates how many of the jobs returned in the
-        # jobs field are from the broadened query. These results are always at the
-        # end of the jobs list. In particular, a value of 0, or if the field isn't
-        # set, all the jobs in the jobs list are from the original
-        # (without broadening) query. If this field is non-zero, subsequent requests
-        # with offset after this result set should contain all broadened results.
-    "locationFilters": [ # The location filters that the service applied to the specified query. If
+    &quot;locationFilters&quot;: [ # The location filters that the service applied to the specified query. If
         # any filters are lat-lng based, the JobLocation.location_type is
         # JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
       { # Output only.
           #
           # A resource that represents a location with full geographic information.
-        "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-            # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-            # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-            # LocationType#LOCALITY.
-        "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-            # location bounding box in which a circle with the specified radius
-            # centered from LatLng covers the area associated with the job location.
-            # For example, currently, "Mountain View, CA, USA" has a radius of
-            # 6.17 miles.
-        "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+        &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
             # such as postal delivery and payments addresses. Given a postal address,
             # a postal service can deliver items to a premises, P.O. Box, or other
             # delivery location.
@@ -4977,53 +4176,36 @@
             #
             # For more guidance on how to use this schema, please see:
             # https://support.google.com/business/answer/6397478
-          "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-              # known). This is often the UI language of the input form or is expected
-              # to match one of the languages used in the address' country/region, or their
-              # transliterated equivalents.
-              # This can affect formatting in certain countries, but is not critical
-              # to the correctness of the data and will never affect any validation or
-              # other non-formatting related operations.
+          &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+              # the latest revision.
               #
-              # If this value is not known, it should be omitted (rather than specifying a
-              # possibly incorrect default).
-              #
-              # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-          "recipients": [ # Optional. The recipient at the address.
-              # This field may, under certain circumstances, contain multiline information.
-              # For example, it might contain "care of" information.
-            "A String",
-          ],
-          "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+              # All new revisions **must** be backward compatible with old revisions.
+          &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
               # Examples: US city, IT comune, UK post town.
               # In regions of the world where localities are not well defined or do not fit
               # into this structure well, leave locality empty and use address_lines.
-          "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-              # in most regions. Where it is used, the value is either a string like
-              # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-              # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-              # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-          "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-              # is never inferred and it is up to the user to ensure the value is
-              # correct. See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: "CH" for Switzerland.
-          "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+          &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
               # addresses of a country or region.
               # For example, this can be a state, a province, an oblast, or a prefecture.
               # Specifically, for Spain this is the province and not the autonomous
-              # community (e.g. "Barcelona" and not "Catalonia").
-              # Many countries don't use an administrative area in postal addresses. E.g.
+              # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+              # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
               # in Switzerland this should be left unpopulated.
-          "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+          &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+          &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+              # is never inferred and it is up to the user to ensure the value is
+              # correct. See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
+          &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
               #
               # Because values in address_lines do not have type information and may
               # sometimes contain multiple values in a single field (e.g.
-              # "Austin, TX"), it is important that the line order is clear. The order of
-              # address lines should be "envelope order" for the country/region of the
+              # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+              # address lines should be &quot;envelope order&quot; for the country/region of the
               # address. In places where this can vary (e.g. Japan), address_language is
-              # used to make it explicit (e.g. "ja" for large-to-small ordering and
-              # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+              # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+              # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
               # an address can be selected based on the language.
               #
               # The minimum permitted structural representation of an address consists
@@ -5037,29 +4219,854 @@
               # then geocoding is the recommended way to handle completely unstructured
               # addresses (as opposed to guessing which parts of the address should be
               # localities or administrative areas).
-            "A String",
+            &quot;A String&quot;,
           ],
-          "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+          &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
               # postal codes to be present, but where they are used, they may trigger
               # additional validation with other parts of the address (e.g. state/zip
               # validation in the U.S.A.).
-          "organization": "A String", # Optional. The name of the organization at the address.
-          "sublocality": "A String", # Optional. Sublocality of the address.
-              # For example, this can be neighborhoods, boroughs, districts.
-          "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-              # the latest revision.
+          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+              # known). This is often the UI language of the input form or is expected
+              # to match one of the languages used in the address&#x27; country/region, or their
+              # transliterated equivalents.
+              # This can affect formatting in certain countries, but is not critical
+              # to the correctness of the data and will never affect any validation or
+              # other non-formatting related operations.
               #
-              # All new revisions **must** be backward compatible with old revisions.
+              # If this value is not known, it should be omitted (rather than specifying a
+              # possibly incorrect default).
+              #
+              # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+          &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+              # in most regions. Where it is used, the value is either a string like
+              # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+              # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+              # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+          &quot;recipients&quot;: [ # Optional. The recipient at the address.
+              # This field may, under certain circumstances, contain multiline information.
+              # For example, it might contain &quot;care of&quot; information.
+            &quot;A String&quot;,
+          ],
+          &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+              # For example, this can be neighborhoods, boroughs, districts.
+        },
+        &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+            # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+            # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+            # LocationType#LOCALITY.
+        &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+            # location bounding box in which a circle with the specified radius
+            # centered from LatLng covers the area associated with the job location.
+            # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+            # 6.17 miles.
+        &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
         },
       },
     ],
-    "metadata": { # Output only. # Additional information for the API invocation, such as the request
+    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
         # tracking id.
         #
         # Additional information returned to client, such as debugging information.
-      "requestId": "A String", # A unique id associated with this call.
+      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
           # This id is logged for tracking purposes.
     },
+    &quot;histogramResults&quot;: { # Output only. # The histogram results that match specified
+        # SearchJobsRequest.histogram_facets.
+        #
+        # Histogram results that match HistogramFacets specified in
+        # SearchJobsRequest.
+      &quot;compensationHistogramResults&quot;: [ # Specifies compensation field-based histogram results that match
+          # HistogramFacets.compensation_histogram_requests.
+        { # Output only.
+            #
+            # Compensation based histogram result.
+          &quot;result&quot;: { # Output only. # Histogram result.
+              #
+              # Custom numeric bucketing result.
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                },
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+              },
+            ],
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Type of the request, corresponding to
+              # CompensationHistogramRequest.type.
+        },
+      ],
+      &quot;customAttributeHistogramResults&quot;: [ # Specifies histogram results for custom attributes that match
+          # HistogramFacets.custom_attribute_histogram_facets.
+        { # Output only.
+            #
+            # Custom attribute histogram result.
+          &quot;longValueHistogramResult&quot;: { # Output only. # Stores bucketed histogram counting result or min/max values for
+              # custom attribute long values associated with `key`.
+              #
+              # Custom numeric bucketing result.
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                },
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+              },
+            ],
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;stringValueHistogramResult&quot;: { # Stores a map from the values of string custom field associated
+              # with `key` to the number of jobs with that value in this histogram result.
+            &quot;a_key&quot;: 42,
+          },
+          &quot;key&quot;: &quot;A String&quot;, # Stores the key of custom attribute the histogram is performed on.
+        },
+      ],
+      &quot;simpleHistogramResults&quot;: [ # Specifies histogram results that matches
+          # HistogramFacets.simple_histogram_facets.
+        { # Output only.
+            #
+            # Result of a histogram call. The response contains the histogram map for the
+            # search type specified by HistogramResult.field.
+            # The response is a map of each filter value to the corresponding count of
+            # jobs for that filter.
+          &quot;values&quot;: { # A map from the values of field to the number of jobs with that value
+              # in this search result.
+              #
+              # Key: search type (filter names, such as the companyName).
+              #
+              # Values: the count of jobs that match the filter for this search.
+            &quot;a_key&quot;: 42,
+          },
+          &quot;searchType&quot;: &quot;A String&quot;, # The Histogram search filters.
+        },
+      ],
+    },
+    &quot;matchingJobs&quot;: [ # The Job entities that match the specified SearchJobsRequest.
+      { # Output only.
+          #
+          # Job entry with metadata inside SearchJobsResponse.
+        &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Job resource that matches the specified SearchJobsRequest.
+            # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
+            # entity responsible for the job.
+          &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+          &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+              #
+              # Location(s) where the employer is looking to hire for this job posting.
+              #
+              # Specifying the full street address(es) of the hiring location enables
+              # better API results, especially job searches by commute time.
+              #
+              # At most 50 locations are allowed for best search performance. If a job has
+              # more locations, it is suggested to split it into multiple jobs with unique
+              # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+              # multiple jobs with the same company_name, language_code and
+              # requisition_id are not allowed. If the original requisition_id must
+              # be preserved, a custom field should be used for storage. It is also
+              # suggested to group the locations that close to each other in the same job
+              # for better search experience.
+              #
+              # The maximum number of allowed characters is 500.
+            &quot;A String&quot;,
+          ],
+          &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+              # &quot;projects/api-test-project/companies/foo&quot;.
+          &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+              # description of the company and related information. Separate fields are
+              # provided on the job object for responsibilities,
+              # qualifications, and other job characteristics. Use of
+              # these separate job fields is recommended.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 100,000.
+          &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+              # is used for contracting engagements. Invalid timestamps are ignored.
+          &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+            &quot;A String&quot;,
+          ],
+          &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+            &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+                # base compensation entry&#x27;s CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+            &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+                # all compensation entries&#x27; CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+            &quot;entries&quot;: [ # Optional. Job compensation information.
+                #
+                # At most one entry can be of type
+                # CompensationInfo.CompensationType.BASE, which is
+                # referred as ** base compensation entry ** for the job.
+              { # A compensation entry that represents one component of compensation, such
+                  # as base pay, bonus, or other compensation type.
+                  #
+                  # Annualization: One compensation entry can be annualized if
+                  # - it contains valid amount or range.
+                  # - and its expected_units_per_year is set or can be derived.
+                  # Its annualized range is determined as (amount or range) times
+                  # expected_units_per_year.
+                &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+                  &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                      # to a maximal compensation value and the currency code is set to
+                      # match the currency code of
+                      # min_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  },
+                  &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                      # to zero and the currency code is set to match the
+                      # currency code of max_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+                &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                    # Job.employment_types is FULLTIME, a default value is inferred
+                    # based on unit. Default values:
+                    # - HOURLY: 2080
+                    # - DAILY: 260
+                    # - WEEKLY: 52
+                    # - MONTHLY: 12
+                    # - ANNUAL: 1
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                    # indicate equity terms or provide additional context to an estimated
+                    # bonus.
+                &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                },
+                &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+              },
+            ],
+          },
+          &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+              # recommended as an alternative to using the more general description
+              # field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+              # position.
+              #
+              # The maximum number of allowed characters is 255.
+          &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+              #
+              # Job application information.
+            &quot;uris&quot;: [ # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this URI field to direct an applicant to a website, for example to
+                # link to an online application form.
+                #
+                # The maximum number of allowed characters for each entry is 2,000.
+              &quot;A String&quot;,
+            ],
+            &quot;emails&quot;: [ # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this field to specify email address(es) to which resumes or
+                # applications can be sent.
+                #
+                # The maximum number of allowed characters for each entry is 255.
+              &quot;A String&quot;,
+            ],
+            &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this field to provide instructions, such as &quot;Mail your application
+                # to ...&quot;, that a candidate can follow to apply for the job.
+                #
+                # This field accepts and sanitizes HTML input, and also accepts
+                # bold, italic, ordered list, and unordered list markup tags.
+                #
+                # The maximum number of allowed characters is 3,000.
+          },
+          &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
+              # experience.
+              #
+              # The expiration timestamp of the job. After this timestamp, the
+              # job is marked as expired, and it no longer appears in search results. The
+              # expired job can&#x27;t be deleted or listed by the DeleteJob and
+              # ListJobs APIs, but it can be retrieved with the GetJob API or
+              # updated with the UpdateJob API. An expired job can be updated and
+              # opened again by using a future expiration timestamp. Updating an expired
+              # job fails if there is another existing open job with same company_name,
+              # language_code and requisition_id.
+              #
+              # The expired jobs are retained in our system for 90 days. However, the
+              # overall expired job count cannot exceed 3 times the maximum of open jobs
+              # count over the past week, otherwise jobs with earlier expire time are
+              # cleaned first. Expired jobs are no longer accessible after they are cleaned
+              # out.
+              #
+              # Invalid timestamps are ignored, and treated as expire time not provided.
+              #
+              # Timestamp before the instant request is made is considered valid, the job
+              # will be treated as expired immediately.
+              #
+              # If this value is not provided at the time of job creation or is invalid,
+              # the job posting expires after 30 days from the job&#x27;s creation time. For
+              # example, if the job was created on 2017/01/01 13:00AM UTC with an
+              # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
+              #
+              # If this value is not provided on job update, it depends on the field masks
+              # set by UpdateJobRequest.update_mask. If the field masks include
+              # expiry_time, or the masks are empty meaning that every field is
+              # updated, the job posting expires after 30 days from the job&#x27;s last
+              # update time. Otherwise the expiration date isn&#x27;t updated.
+          &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+              # the job is available. If this field is set, a
+              # LocationFilter in a search query within the job region
+              # finds this job posting if an exact location match isn&#x27;t specified.
+              # If this field is set to PostingRegion.NATION or
+              # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+              # to the same location level as this field is strongly recommended.
+          &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+              # value is the time the request arrives at the server. Invalid timestamps are
+              # ignored.
+          &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+              # attributes that are not covered by the provided structured fields.
+              #
+              # The keys of the map are strings up to 64 bytes and must match the
+              # pattern: a-zA-Z*. For example, key0LikeThis or
+              # KEY_1_LIKE_THIS.
+              #
+              # At most 100 filterable and at most 100 unfilterable keys are supported.
+              # For filterable `string_values`, across all keys at most 200 values are
+              # allowed, with each string no more than 255 characters. For unfilterable
+              # `string_values`, the maximum total size of `string_values` across all keys
+              # is 50KB.
+            &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+              &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+                  # custom attribute filters JobQuery.custom_attribute_filter.
+                  # If false, these values may not be used for custom attribute filters.
+                  #
+                  # Default is false.
+              &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform number range search.
+                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+                  #
+                  # Currently at most 1 long_values is supported.
+                &quot;A String&quot;,
+              ],
+              &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+                  # `CASE_INSENSITIVE_MATCH`) search.
+                  # For filterable `string_value`s, a maximum total number of 200 values
+                  # is allowed, with each `string_value` has a byte size of no more than
+                  # 500B. For unfilterable `string_values`, the maximum total byte size of
+                  # unfilterable `string_values` is 50KB.
+                  #
+                  # Empty string is not allowed.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+              # any requirements for fluency that are associated with the job.
+              #
+              # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+              # For more information, see
+              # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+              # class=&quot;external&quot; target=&quot;_blank&quot; }.
+              #
+              # If this field is unspecified and Job.description is present, detected
+              # language code based on Job.description is assigned, otherwise
+              # defaults to &#x27;en_US&#x27;.
+          &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+          &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+              #
+              # The visibility of the job.
+              #
+              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+          &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+              #
+              # The resource name for the job. This is generated by the service when a
+              # job is created.
+              #
+              # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+              # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+              #
+              # Use of this field in job queries and API calls is preferred over the use of
+              # requisition_id since this value is unique.
+          &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+            &quot;A String&quot;,
+          ],
+          &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+              # The value determines the sort order of the jobs returned when searching for
+              # jobs using the featured jobs search call, with higher promotional values
+              # being returned first and ties being resolved by relevance sort. Only the
+              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+              #
+              # Default value is 0, and negative values are treated as 0.
+          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+              #
+              # The maximum number of allowed characters is 500.
+          &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+          &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+              # client to identify a job. This field is intended to be used by clients
+              # for client identification and tracking of postings. A job is not allowed
+              # to be created if there is another job with the same [company_name],
+              # language_code and requisition_id.
+              #
+              # The maximum number of allowed characters is 255.
+          &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+              # job. The use of this field is recommended
+              # as an alternative to using the more general description field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+              #
+              # Options for job processing.
+            &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+                #
+                # * description
+                # * applicationInfo.instruction
+                # * incentives
+                # * qualifications
+                # * responsibilities
+                #
+                # HTML tags in these fields may be stripped if sanitiazation is not
+                # disabled.
+                #
+                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+            &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+                # more precise address for the job.
+          },
+          &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+              # engagements. Invalid timestamps are ignored.
+          &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
+              #
+              # Derived details about the job posting.
+            &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+                #
+                # locations are exactly matched to Job.addresses in the same
+                # order.
+              { # Output only.
+                  #
+                  # A resource that represents a location with full geographic information.
+                &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                    # such as postal delivery and payments addresses. Given a postal address,
+                    # a postal service can deliver items to a premises, P.O. Box, or other
+                    # delivery location.
+                    # Given a postal address, a postal service can deliver items to a premise, P.O.
+                    # Box or similar.
+                    # It is not intended to model geographical locations (roads, towns,
+                    # mountains).
+                    #
+                    # In typical usage an address would be created via user input or from importing
+                    # existing data, depending on the type of process.
+                    #
+                    # Advice on address input / editing:
+                    #  - Use an i18n-ready address widget such as
+                    #    https://github.com/google/libaddressinput)
+                    # - Users should not be presented with UI elements for input or editing of
+                    #   fields outside countries where that field is used.
+                    #
+                    # For more guidance on how to use this schema, please see:
+                    # https://support.google.com/business/answer/6397478
+                  &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                      # the latest revision.
+                      #
+                      # All new revisions **must** be backward compatible with old revisions.
+                  &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                      # Examples: US city, IT comune, UK post town.
+                      # In regions of the world where localities are not well defined or do not fit
+                      # into this structure well, leave locality empty and use address_lines.
+                  &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                      # addresses of a country or region.
+                      # For example, this can be a state, a province, an oblast, or a prefecture.
+                      # Specifically, for Spain this is the province and not the autonomous
+                      # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                      # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                      # in Switzerland this should be left unpopulated.
+                  &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+                  &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                      # is never inferred and it is up to the user to ensure the value is
+                      # correct. See http://cldr.unicode.org/ and
+                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                      # for details. Example: &quot;CH&quot; for Switzerland.
+                  &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                      #
+                      # Because values in address_lines do not have type information and may
+                      # sometimes contain multiple values in a single field (e.g.
+                      # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                      # address lines should be &quot;envelope order&quot; for the country/region of the
+                      # address. In places where this can vary (e.g. Japan), address_language is
+                      # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                      # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                      # an address can be selected based on the language.
+                      #
+                      # The minimum permitted structural representation of an address consists
+                      # of a region_code with all remaining information placed in the
+                      # address_lines. It would be possible to format such an address very
+                      # approximately without geocoding, but no semantic reasoning could be
+                      # made about any of the address components until it was at least
+                      # partially resolved.
+                      #
+                      # Creating an address only containing a region_code and address_lines, and
+                      # then geocoding is the recommended way to handle completely unstructured
+                      # addresses (as opposed to guessing which parts of the address should be
+                      # localities or administrative areas).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                      # postal codes to be present, but where they are used, they may trigger
+                      # additional validation with other parts of the address (e.g. state/zip
+                      # validation in the U.S.A.).
+                  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                      # known). This is often the UI language of the input form or is expected
+                      # to match one of the languages used in the address&#x27; country/region, or their
+                      # transliterated equivalents.
+                      # This can affect formatting in certain countries, but is not critical
+                      # to the correctness of the data and will never affect any validation or
+                      # other non-formatting related operations.
+                      #
+                      # If this value is not known, it should be omitted (rather than specifying a
+                      # possibly incorrect default).
+                      #
+                      # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+                  &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                      # in most regions. Where it is used, the value is either a string like
+                      # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                      # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                      # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+                  &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                      # This field may, under certain circumstances, contain multiline information.
+                      # For example, it might contain &quot;care of&quot; information.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                      # For example, this can be neighborhoods, boroughs, districts.
+                },
+                &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                    # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                    # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                    # LocationType#LOCALITY.
+                &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                    # location bounding box in which a circle with the specified radius
+                    # centered from LatLng covers the area associated with the job location.
+                    # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                    # 6.17 miles.
+                &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            ],
+            &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+              # full time or
+              # part time.
+            &quot;A String&quot;,
+          ],
+          &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+              # incentives associated with the job not including salary or pay.
+              #
+              # The maximum number of allowed characters is 10,000.
+        },
+        &quot;searchTextSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.description and similar
+            # fields that most closely match a search query&#x27;s keywords, if available.
+            # All HTML tags in the original fields are stripped when returned in this
+            # field, and matching query keywords are enclosed in HTML bold tags.
+        &quot;jobTitleSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.job_title field most
+            # closely matching a search query&#x27;s keywords, if available. The matching
+            # query keywords are enclosed in HTML bold tags.
+        &quot;jobSummary&quot;: &quot;A String&quot;, # A summary of the job with core information that&#x27;s displayed on the search
+            # results listing page.
+        &quot;commuteInfo&quot;: { # Output only. # Commute information which is generated based on specified
+            #  CommuteFilter.
+            #
+            # Commute details related to this job.
+          &quot;travelDuration&quot;: &quot;A String&quot;, # The number of seconds required to travel to the job location from the
+              # query location. A duration of 0 seconds indicates that the job is not
+              # reachable within the requested duration, but was returned as part of an
+              # expanded query.
+          &quot;jobLocation&quot;: { # Output only. # Location used as the destination in the commute calculation.
+              #
+              # A resource that represents a location with full geographic information.
+            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                # such as postal delivery and payments addresses. Given a postal address,
+                # a postal service can deliver items to a premises, P.O. Box, or other
+                # delivery location.
+                # Given a postal address, a postal service can deliver items to a premise, P.O.
+                # Box or similar.
+                # It is not intended to model geographical locations (roads, towns,
+                # mountains).
+                #
+                # In typical usage an address would be created via user input or from importing
+                # existing data, depending on the type of process.
+                #
+                # Advice on address input / editing:
+                #  - Use an i18n-ready address widget such as
+                #    https://github.com/google/libaddressinput)
+                # - Users should not be presented with UI elements for input or editing of
+                #   fields outside countries where that field is used.
+                #
+                # For more guidance on how to use this schema, please see:
+                # https://support.google.com/business/answer/6397478
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
+                  #
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                  # Examples: US city, IT comune, UK post town.
+                  # In regions of the world where localities are not well defined or do not fit
+                  # into this structure well, leave locality empty and use address_lines.
+              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                  # addresses of a country or region.
+                  # For example, this can be a state, a province, an oblast, or a prefecture.
+                  # Specifically, for Spain this is the province and not the autonomous
+                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                  # in Switzerland this should be left unpopulated.
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
+              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                  #
+                  # Because values in address_lines do not have type information and may
+                  # sometimes contain multiple values in a single field (e.g.
+                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                  # address lines should be &quot;envelope order&quot; for the country/region of the
+                  # address. In places where this can vary (e.g. Japan), address_language is
+                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                  # an address can be selected based on the language.
+                  #
+                  # The minimum permitted structural representation of an address consists
+                  # of a region_code with all remaining information placed in the
+                  # address_lines. It would be possible to format such an address very
+                  # approximately without geocoding, but no semantic reasoning could be
+                  # made about any of the address components until it was at least
+                  # partially resolved.
+                  #
+                  # Creating an address only containing a region_code and address_lines, and
+                  # then geocoding is the recommended way to handle completely unstructured
+                  # addresses (as opposed to guessing which parts of the address should be
+                  # localities or administrative areas).
+                &quot;A String&quot;,
+              ],
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                  # postal codes to be present, but where they are used, they may trigger
+                  # additional validation with other parts of the address (e.g. state/zip
+                  # validation in the U.S.A.).
+              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                  # known). This is often the UI language of the input form or is expected
+                  # to match one of the languages used in the address&#x27; country/region, or their
+                  # transliterated equivalents.
+                  # This can affect formatting in certain countries, but is not critical
+                  # to the correctness of the data and will never affect any validation or
+                  # other non-formatting related operations.
+                  #
+                  # If this value is not known, it should be omitted (rather than specifying a
+                  # possibly incorrect default).
+                  #
+                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
+            },
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                # LocationType#LOCALITY.
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+        },
+      },
+    ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token that specifies the starting position of the next page of results.
+        # This field is empty if there are no more results.
+    &quot;spellCorrection&quot;: { # Output only. # The spell checking result, and correction.
+        #
+        # Spell check result.
+      &quot;corrected&quot;: True or False, # Indicates if the query was corrected by the spell checker.
+      &quot;correctedText&quot;: &quot;A String&quot;, # Correction output consisting of the corrected keyword string.
+    },
+    &quot;broadenedQueryJobsCount&quot;: 42, # If query broadening is enabled, we may append additional results from the
+        # broadened query. This number indicates how many of the jobs returned in the
+        # jobs field are from the broadened query. These results are always at the
+        # end of the jobs list. In particular, a value of 0, or if the field isn&#x27;t
+        # set, all the jobs in the jobs list are from the original
+        # (without broadening) query. If this field is non-zero, subsequent requests
+        # with offset after this result set should contain all broadened results.
+    &quot;estimatedTotalSize&quot;: 42, # An estimation of the number of jobs that match the specified query.
+        #
+        # This number is not guaranteed to be accurate. For accurate results,
+        # see enable_precise_result_size.
+    &quot;histogramQueryResults&quot;: [ # The histogram results that match with specified
+        # SearchJobsRequest.histogram_queries.
+      { # Output only.
+          #
+          # Histogram result that matches HistogramSpec specified in searches.
+        &quot;histogram&quot;: { # A map from the values of the facet associated with distinct values to the
+            # number of matching entries with corresponding value.
+            #
+            # The key format is:
+            # * (for string histogram) string values stored in the field.
+            # * (for named numeric bucket) name specified in `bucket()` function, like
+            #   for `bucket(0, MAX, &quot;non-negative&quot;)`, the key will be `non-negative`.
+            # * (for anonymous numeric bucket) range formatted as `&lt;low&gt;-&lt;high&gt;`, for
+            # example, `0-1000`, `MIN-0`, and `0-MAX`.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;histogramQuery&quot;: &quot;A String&quot;, # Requested histogram expression.
+      },
+    ],
+    &quot;totalSize&quot;: 42, # The precise result count, which is available only if the client set
+        # enable_precise_result_size to `true`, or if the response
+        # is the last page of results. Otherwise, the value is `-1`.
   }</pre>
 </div>
 
@@ -5079,133 +5086,26 @@
 Args:
   parent: string, Required. The resource name of the project to search within.
 
-The format is "projects/{project_id}", for example,
-"projects/api-test-project". (required)
+The format is &quot;projects/{project_id}&quot;, for example,
+&quot;projects/api-test-project&quot;. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Input only.
       # 
       # The Request body of the `SearchJobs` call.
-    "orderBy": "A String", # Optional. The criteria determining how search results are sorted. Default is
-        # "relevance desc".
-        # 
-        # Supported options are:
-        # 
-        # * `"relevance desc"`: By relevance descending, as determined by the API
-        # algorithms. Relevance thresholding of query results is only available
-        # with this ordering.
-        # * `"posting_publish_time desc"`: By Job.posting_publish_time
-        # descending.
-        # * `"posting_update_time desc"`: By Job.posting_update_time
-        # descending.
-        # * `"title"`: By Job.title ascending.
-        # * `"title desc"`: By Job.title descending.
-        # * `"annualized_base_compensation"`: By job's
-        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"annualized_base_compensation desc"`: By job's
-        # CompensationInfo.annualized_base_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"annualized_total_compensation"`: By job's
-        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"annualized_total_compensation desc"`: By job's
-        # CompensationInfo.annualized_total_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `"custom_ranking desc"`: By the relevance score adjusted to the
-        # SearchJobsRequest.custom_ranking_info.ranking_expression with weight
-        # factor assigned by
-        # SearchJobsRequest.custom_ranking_info.importance_level in descending
-        # order.
-        # * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
-        # "`distance_from('Hawaii')`": Order by distance from Hawaii.&lt;br&gt;
-        # "`distance_from(19.89, 155.5)`": Order by distance from a coordinate.&lt;br&gt;
-        # "`distance_from('Hawaii'), distance_from('Puerto Rico')`": Order by
-        # multiple locations. See details below.&lt;br&gt;
-        # "`distance_from('Hawaii'), distance_from(19.89, 155.5)`": Order by
-        # multiple locations. See details below.&lt;br&gt;
-        # The string can have a maximum of 256 characters. When multiple distance
-        # centers are provided, a job that is close to any of the distance centers
-        # would have a high rank. When a job has multiple locations, the job location
-        # closest to one of the distance centers will be used. Jobs that don't have
-        # locations will be ranked at the bottom. Distance is calculated with a
-        # precision of 11.3 meters (37.4 feet). Diversification strategy is still
-        # applied unless explicitly disabled in
-        # diversification_level.
-    "histogramFacets": { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
-        #
-        # Histogram facets to be specified in SearchJobsRequest.
-      "simpleHistogramFacets": [ # Optional. Specifies the simple type of histogram facets, for example,
-          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
-        "A String",
-      ],
-      "customAttributeHistogramFacets": [ # Optional. Specifies the custom attributes histogram requests.
-          # Duplicate values of CustomAttributeHistogramRequest.key are not
-          # allowed.
-        { # Custom attributes histogram request. An error is thrown if neither
-            # string_value_histogram or long_value_histogram_bucketing_option has
-            # been defined.
-          "stringValueHistogram": True or False, # Optional. If set to true, the response includes the histogram value for
-              # each key as a string.
-          "longValueHistogramBucketingOption": { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job's
-              # filterable long custom field values, or min/max value requirements.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            "bucketBounds": [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            "requiresMinMax": True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          "key": "A String", # Required. Specifies the custom field key to perform a histogram on. If specified
-              # without `long_value_histogram_bucketing_option`, histogram on string values
-              # of the given `key` is triggered, otherwise histogram is performed on long
-              # values.
-        },
-      ],
-      "compensationHistogramFacets": [ # Optional. Specifies compensation field-based histogram requests.
-          # Duplicate values of CompensationHistogramRequest.type are not allowed.
-        { # Input only.
-            #
-            # Compensation based histogram request.
-          "bucketingOption": { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            "bucketBounds": [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            "requiresMinMax": True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          "type": "A String", # Required. Type of the request, representing which field the histogramming should be
-              # performed over. A single request can only specify one histogram of each
-              # `CompensationHistogramRequestType`.
-        },
-      ],
-    },
-    "disableKeywordMatch": True or False, # Optional. Controls whether to disable exact keyword match on Job.job_title,
+    &quot;disableKeywordMatch&quot;: True or False, # Optional. Controls whether to disable exact keyword match on Job.job_title,
         # Job.description, Job.company_display_name, Job.locations,
         # Job.qualifications. When disable keyword match is turned off, a
         # keyword match returns jobs that do not match given category filters when
-        # there are matching keywords. For example, the query "program manager," a
-        # result is returned even if the job posting has the title "software
-        # developer," which does not fall into "program manager" ontology, but does
-        # have "program manager" appearing in its description.
+        # there are matching keywords. For example, the query &quot;program manager,&quot; a
+        # result is returned even if the job posting has the title &quot;software
+        # developer,&quot; which does not fall into &quot;program manager&quot; ontology, but does
+        # have &quot;program manager&quot; appearing in its description.
         # 
-        # For queries like "cloud" that does not contain title or
-        # location specific ontology, jobs with "cloud" keyword matches are returned
-        # regardless of this flag's value.
+        # For queries like &quot;cloud&quot; that does not contain title or
+        # location specific ontology, jobs with &quot;cloud&quot; keyword matches are returned
+        # regardless of this flag&#x27;s value.
         # 
         # Please use Company.keyword_searchable_custom_fields or
         # Company.keyword_searchable_custom_attributes if company specific
@@ -5213,168 +5113,234 @@
         # keyword match improves recall of subsequent search requests.
         # 
         # Defaults to false.
-    "jobQuery": { # Input only. # Optional. Query used to search against jobs, such as keyword, location filters, etc.
+    &quot;enableBroadening&quot;: True or False, # Optional. Controls whether to broaden the search when it produces sparse results.
+        # Broadened queries append results to the end of the matching results
+        # list.
+        # 
+        # Defaults to false.
+    &quot;offset&quot;: 42, # Optional. An integer that specifies the current offset (that is, starting result
+        # location, amongst the jobs deemed by the API as relevant) in search
+        # results. This field is only considered if page_token is unset.
+        # 
+        # The maximum allowed value is 5000. Otherwise an error is thrown.
+        # 
+        # For example, 0 means to  return results starting from the first matching
+        # job, and 10 means to return from the 11th job. This can be used for
+        # pagination, (for example, pageSize = 10 and offset = 10 means to return
+        # from the second page).
+    &quot;histogramQueries&quot;: [ # Optional. Expression based histogram requests for jobs matching JobQuery.
+      { # Input Only.
+          #
+          # The histogram request.
+        &quot;histogramQuery&quot;: &quot;A String&quot;, # An expression specifies a histogram request against matching resources
+            # (for example, jobs) for searches.
+            #
+            # Expression syntax is a aggregation function call with histogram facets and
+            # other options.
+            #
+            # Available aggregation function calls are:
+            # * `count(string_histogram_facet)`: Count the number of matching entity, for
+            #   each distinct attribute value.
+            # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
+            #    matching entity within each bucket.
+            #
+            # Data types:
+            #
+            # * Histogram facet: facet names with format a-zA-Z+.
+            # * String: string like &quot;any string with backslash escape for quote(\&quot;).&quot;
+            # * Number: whole number and floating point number like 10, -1 and -0.01.
+            # * List: list of elements with comma(,) separator surrounded by square
+            # brackets. For example, [1, 2, 3] and [&quot;one&quot;, &quot;two&quot;, &quot;three&quot;].
+            #
+            # Built-in constants:
+            #
+            # * MIN (minimum number similar to java Double.MIN_VALUE)
+            # * MAX (maximum number similar to java Double.MAX_VALUE)
+            #
+            # Built-in functions:
+            #
+            # * bucket(start, end[, label]): bucket built-in function creates a bucket
+            # with range of start, end). Note that the end is exclusive. For example,
+            # bucket(1, MAX, &quot;positive number&quot;) or bucket(1, 10).
+            #
+            # Job histogram facets:
+            #
+            # * company_id: histogram by [Job.distributor_company_id.
+            # * company_display_name: histogram by Job.company_display_name.
+            # * employment_type: histogram by Job.employment_types. For example,
+            # &quot;FULL_TIME&quot;, &quot;PART_TIME&quot;.
+            # * company_size: histogram by CompanySize, for example, &quot;SMALL&quot;,
+            # &quot;MEDIUM&quot;, &quot;BIG&quot;.
+            # * publish_time_in_month: histogram by the Job.publish_time in months.
+            # Must specify list of numeric buckets in spec.
+            # * publish_time_in_year: histogram by the Job.publish_time in years.
+            # Must specify list of numeric buckets in spec.
+            # * degree_type: histogram by the Job.degree_type. For example,
+            # &quot;Bachelors&quot;, &quot;Masters&quot;.
+            # * job_level: histogram by the Job.job_level. For example, &quot;Entry
+            # Level&quot;.
+            # * country: histogram by the country code of jobs. For example, &quot;US&quot;, &quot;FR&quot;.
+            # * admin1: histogram by the admin1 code of jobs, which is a global
+            # placeholder referring to the state, province, or the particular term a
+            # country uses to define the geographic structure below the country level.
+            # For example, &quot;CA&quot;, &quot;IL&quot;.
+            # * city: histogram by a combination of the &quot;city name, admin1 code&quot;. For
+            # example,  &quot;Mountain View, CA&quot;, &quot;New York, NY&quot;.
+            # * admin1_country: histogram by a combination of the &quot;admin1 code, country&quot;.
+            # For example, &quot;CA, US&quot;, &quot;IL, US&quot;.
+            # * city_coordinate: histogram by the city center&#x27;s GPS coordinates (latitude
+            # and longitude). For example, 37.4038522,-122.0987765. Since the coordinates
+            # of a city center can change, customers may need to refresh them
+            # periodically.
+            # * locale: histogram by the Job.language_code. For example, &quot;en-US&quot;,
+            # &quot;fr-FR&quot;.
+            # * language: histogram by the language subtag of the Job.language_code.
+            # For example, &quot;en&quot;, &quot;fr&quot;.
+            # * category: histogram by the JobCategory. For example,
+            # &quot;COMPUTER_AND_IT&quot;, &quot;HEALTHCARE&quot;.
+            # * base_compensation_unit: histogram by the CompensationUnit of base
+            # salary. For example, &quot;WEEKLY&quot;, &quot;MONTHLY&quot;.
+            # * base_compensation: histogram by the base salary. Must specify list of
+            # numeric buckets to group results by.
+            # * annualized_base_compensation: histogram by the base annualized salary.
+            # Must specify list of numeric buckets to group results by.
+            # * annualized_total_compensation: histogram by the total annualized salary.
+            # Must specify list of numeric buckets to group results by.
+            # * string_custom_attribute: histogram by string Job.custom_attributes.
+            # Values can be accessed via square bracket notations like
+            # string_custom_attribute[&quot;key1&quot;].
+            # * numeric_custom_attribute: histogram by numeric Job.custom_attributes.
+            # Values can be accessed via square bracket notations like
+            # numeric_custom_attribute[&quot;key1&quot;]. Must specify list of numeric buckets to
+            # group results by.
+            #
+            # Example expressions:
+            # * count(admin1)
+            # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
+            # bucket(100000, MAX)])
+            # * count(string_custom_attribute[&quot;some-string-custom-attribute&quot;])
+            # * count(numeric_custom_attribute[&quot;some-numeric-custom-attribute&quot;],
+            # [bucket(MIN, 0, &quot;negative&quot;), bucket(0, MAX, &quot;non-negative&quot;])
+      },
+    ],
+    &quot;pageSize&quot;: 42, # Optional. A limit on the number of jobs returned in the search results.
+        # Increasing this value above the default value of 10 can increase search
+        # response time. The value can be between 1 and 100.
+    &quot;histogramFacets&quot;: { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
+        #
+        # Histogram facets to be specified in SearchJobsRequest.
+      &quot;compensationHistogramFacets&quot;: [ # Optional. Specifies compensation field-based histogram requests.
+          # Duplicate values of CompensationHistogramRequest.type are not allowed.
+        { # Input only.
+            #
+            # Compensation based histogram request.
+          &quot;bucketingOption&quot;: { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Required. Type of the request, representing which field the histogramming should be
+              # performed over. A single request can only specify one histogram of each
+              # `CompensationHistogramRequestType`.
+        },
+      ],
+      &quot;customAttributeHistogramFacets&quot;: [ # Optional. Specifies the custom attributes histogram requests.
+          # Duplicate values of CustomAttributeHistogramRequest.key are not
+          # allowed.
+        { # Custom attributes histogram request. An error is thrown if neither
+            # string_value_histogram or long_value_histogram_bucketing_option has
+            # been defined.
+          &quot;longValueHistogramBucketingOption&quot;: { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job&#x27;s
+              # filterable long custom field values, or min/max value requirements.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+          &quot;key&quot;: &quot;A String&quot;, # Required. Specifies the custom field key to perform a histogram on. If specified
+              # without `long_value_histogram_bucketing_option`, histogram on string values
+              # of the given `key` is triggered, otherwise histogram is performed on long
+              # values.
+          &quot;stringValueHistogram&quot;: True or False, # Optional. If set to true, the response includes the histogram value for
+              # each key as a string.
+        },
+      ],
+      &quot;simpleHistogramFacets&quot;: [ # Optional. Specifies the simple type of histogram facets, for example,
+          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;orderBy&quot;: &quot;A String&quot;, # Optional. The criteria determining how search results are sorted. Default is
+        # &quot;relevance desc&quot;.
+        # 
+        # Supported options are:
+        # 
+        # * `&quot;relevance desc&quot;`: By relevance descending, as determined by the API
+        # algorithms. Relevance thresholding of query results is only available
+        # with this ordering.
+        # * `&quot;posting_publish_time desc&quot;`: By Job.posting_publish_time
+        # descending.
+        # * `&quot;posting_update_time desc&quot;`: By Job.posting_update_time
+        # descending.
+        # * `&quot;title&quot;`: By Job.title ascending.
+        # * `&quot;title desc&quot;`: By Job.title descending.
+        # * `&quot;annualized_base_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_base_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;custom_ranking desc&quot;`: By the relevance score adjusted to the
+        # SearchJobsRequest.custom_ranking_info.ranking_expression with weight
+        # factor assigned by
+        # SearchJobsRequest.custom_ranking_info.importance_level in descending
+        # order.
+        # * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
+        # &quot;`distance_from(&#x27;Hawaii&#x27;)`&quot;: Order by distance from Hawaii.&lt;br&gt;
+        # &quot;`distance_from(19.89, 155.5)`&quot;: Order by distance from a coordinate.&lt;br&gt;
+        # &quot;`distance_from(&#x27;Hawaii&#x27;), distance_from(&#x27;Puerto Rico&#x27;)`&quot;: Order by
+        # multiple locations. See details below.&lt;br&gt;
+        # &quot;`distance_from(&#x27;Hawaii&#x27;), distance_from(19.89, 155.5)`&quot;: Order by
+        # multiple locations. See details below.&lt;br&gt;
+        # The string can have a maximum of 256 characters. When multiple distance
+        # centers are provided, a job that is close to any of the distance centers
+        # would have a high rank. When a job has multiple locations, the job location
+        # closest to one of the distance centers will be used. Jobs that don&#x27;t have
+        # locations will be ranked at the bottom. Distance is calculated with a
+        # precision of 11.3 meters (37.4 feet). Diversification strategy is still
+        # applied unless explicitly disabled in
+        # diversification_level.
+    &quot;jobQuery&quot;: { # Input only. # Optional. Query used to search against jobs, such as keyword, location filters, etc.
         #
         # The query required to perform a search query.
-      "excludedJobs": [ # Optional. This filter specifies a list of job names to be excluded during search.
-          #
-          # At most 400 excluded job names are allowed.
-        "A String",
-      ],
-      "disableSpellCheck": True or False, # Optional. This flag controls the spell-check feature. If false, the
-          # service attempts to correct a misspelled query,
-          # for example, "enginee" is corrected to "engineer".
-          #
-          # Defaults to false: a spell check is performed.
-      "customAttributeFilter": "A String", # Optional. This filter specifies a structured syntax to match against the
-          # Job.custom_attributes marked as `filterable`.
-          #
-          # The syntax for this expression is a subset of SQL syntax.
-          #
-          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
-          # left of the operator is a custom field key and the right of the operator
-          # is a number or a quoted string. You must escape backslash (\\) and
-          # quote (\") characters.
-          #
-          # Supported functions are `LOWER([field_name])` to
-          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
-          # existence of a key.
-          #
-          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
-          # nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
-          # comparisons or functions are allowed in the expression. The expression
-          # must be &lt; 6000 bytes in length.
-          #
-          # Sample Query:
-          # `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
-          # driving_years &gt; 10`
-      "commuteFilter": { # Input only. # Optional. Allows filtering jobs by commute time with different travel methods (for
-          #  example, driving or public transit). Note: This only works with COMMUTE
-          #  MODE. When specified, [JobQuery.location_filters] is
-          #  ignored.
-          #
-          #  Currently we don't support sorting by commute time.
-          #
-          # Parameters needed for commute search.
-        "departureTime": { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
-            # google.type.TimeOfDay in local time zone.
-            #
-            # Currently traffic model is restricted to hour level resolution.
-            # or are specified elsewhere. An API may choose to allow leap seconds. Related
-            # types are google.type.Date and `google.protobuf.Timestamp`.
-          "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-              # to allow the value "24:00:00" for scenarios like business closing time.
-          "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-          "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-              # allow the value 60 if it allows leap-seconds.
-          "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-        },
-        "roadTraffic": "A String", # Optional. Specifies the traffic density to use when calculating commute time.
-        "startCoordinates": { # An object representing a latitude/longitude pair. This is expressed as a pair # Required. The latitude and longitude of the location from which to calculate the
-            # commute time.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "allowImpreciseAddresses": True or False, # Optional. If true, jobs without "precise" addresses (street level addresses or GPS
-            # coordinates) might also be returned. For city and coarser level addresses,
-            # text matching is used. If this field is set to false or is not specified,
-            # only jobs that include precise addresses are returned by Commute
-            # Search.
-            #
-            # Note: If `allow_imprecise_addresses` is set to true, Commute Search is not
-            # able to calculate accurate commute times to jobs with city level and
-            # coarser address information. Jobs with imprecise addresses will return a
-            # `travel_duration` time of 0 regardless of distance from the job seeker.
-        "travelDuration": "A String", # Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
-            # (one hour). Format is `123s`.
-        "commuteMethod": "A String", # Required. The method of transportation for which to calculate the commute time.
-      },
-      "employmentTypes": [ # Optional. The employment type filter specifies the employment type of jobs to
-          # search against, such as EmploymentType.FULL_TIME.
-          #
-          # If a value is not specified, jobs in the search results includes any
-          # employment type.
-          #
-          # If multiple values are specified, jobs in the search results include
-          # any of the specified employment types.
-        "A String",
-      ],
-      "queryLanguageCode": "A String", # The language code of query. For example, "en-US". This field helps to
-          # better interpret the query.
-          #
-          # If a value isn't specified, the query language code is automatically
-          # detected, which may not be accurate.
-          #
-          # Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
-      "publishTimeRange": { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
-          # against.
-        "endTime": "A String", # End of the period.
-        "startTime": "A String", # Begin of the period.
-      },
-      "query": "A String", # Optional. The query string that matches against the job title, description, and
-          # location fields.
-          #
-          # The maximum number of allowed characters is 255.
-      "jobCategories": [ # Optional. The category filter specifies the categories of jobs to search against.
-          # See Category for more information.
-          #
-          # If a value is not specified, jobs from any category are searched against.
-          #
-          # If multiple values are specified, jobs from any of the specified
-          # categories are searched against.
-        "A String",
-      ],
-      "languageCodes": [ # Optional. This filter specifies the locale of jobs to search against,
-          # for example, "en-US".
-          #
-          # If a value isn't specified, the search results can contain jobs in any
-          # locale.
-          #
-          #
-          # Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
-          #
-          # At most 10 language code filters are allowed.
-        "A String",
-      ],
-      "companyNames": [ # Optional. This filter specifies the company entities to search against.
-          #
-          # If a value isn't specified, jobs are searched for against all
-          # companies.
-          #
-          # If multiple values are specified, jobs are searched against the
-          # companies specified.
-          #
-          # The format is "projects/{project_id}/companies/{company_id}", for example,
-          # "projects/api-test-project/companies/foo".
-          #
-          # At most 20 company filters are allowed.
-        "A String",
-      ],
-      "companyDisplayNames": [ # Optional. This filter specifies the exact company display
-          # name of the jobs to search against.
-          #
-          # If a value isn't specified, jobs within the search results are
-          # associated with any company.
-          #
-          # If multiple values are specified, jobs within the search results may be
-          # associated with any of the specified companies.
-          #
-          # At most 20 company display name filters are allowed.
-        "A String",
-      ],
-      "locationFilters": [ # Optional. The location filter specifies geo-regions containing the jobs to
+      &quot;locationFilters&quot;: [ # Optional. The location filter specifies geo-regions containing the jobs to
           # search against. See LocationFilter for more information.
           #
-          # If a location value isn't specified, jobs fitting the other search
-          # criteria are retrieved regardless of where they're located.
+          # If a location value isn&#x27;t specified, jobs fitting the other search
+          # criteria are retrieved regardless of where they&#x27;re located.
           #
           # If multiple values are specified, jobs are retrieved from any of the
           # specified locations. If different values are specified for the
@@ -5385,29 +5351,7 @@
         { # Input only.
             #
             # Geographic region of the search.
-          "regionCode": "A String", # Optional. CLDR region code of the country/region of the address. This is used
-              # to address ambiguity of the user-input location, for example, "Liverpool"
-              # against "Liverpool, NY, US" or "Liverpool, UK".
-              #
-              # Set this field if all the jobs to search against are from a same region,
-              # or jobs are world-wide, but the job seeker is from a specific region.
-              #
-              # See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: "CH" for Switzerland.
-          "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
-              # search. This field's ignored if `address` is provided.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          },
-          "distanceInMiles": 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
-              # identified as a city or smaller. When the location being searched for is a
-              # state or larger, this field is ignored.
-          "telecommutePreference": "A String", # Optional. Allows the client to return jobs without a
+          &quot;telecommutePreference&quot;: &quot;A String&quot;, # Optional. Allows the client to return jobs without a
               # set location, specifically, telecommuting jobs (telecommuting is considered
               # by the service as a special location.
               # Job.posting_region indicates if a job permits telecommuting.
@@ -5420,76 +5364,259 @@
               # This filter can be used by itself to search exclusively for telecommuting
               # jobs, or it can be combined with another location
               # filter to search for a combination of job locations,
-              # such as "Mountain View" or "telecommuting" jobs. However, when used in
+              # such as &quot;Mountain View&quot; or &quot;telecommuting&quot; jobs. However, when used in
               # combination with other location filters, telecommuting jobs can be
               # treated as less relevant than other jobs in the search response.
-          "address": "A String", # Optional. The address name, such as "Mountain View" or "Bay Area".
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
+              # search. This field&#x27;s ignored if `address` is provided.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          },
+          &quot;regionCode&quot;: &quot;A String&quot;, # Optional. CLDR region code of the country/region of the address. This is used
+              # to address ambiguity of the user-input location, for example, &quot;Liverpool&quot;
+              # against &quot;Liverpool, NY, US&quot; or &quot;Liverpool, UK&quot;.
+              #
+              # Set this field if all the jobs to search against are from a same region,
+              # or jobs are world-wide, but the job seeker is from a specific region.
+              #
+              # See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
+          &quot;address&quot;: &quot;A String&quot;, # Optional. The address name, such as &quot;Mountain View&quot; or &quot;Bay Area&quot;.
+          &quot;distanceInMiles&quot;: 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
+              # identified as a city or smaller. When the location being searched for is a
+              # state or larger, this field is ignored.
         },
       ],
-      "compensationFilter": { # Input only. # Optional. This search filter is applied only to
+      &quot;commuteFilter&quot;: { # Input only. # Optional. Allows filtering jobs by commute time with different travel methods (for
+          #  example, driving or public transit). Note: This only works with COMMUTE
+          #  MODE. When specified, [JobQuery.location_filters] is
+          #  ignored.
+          #
+          #  Currently we don&#x27;t support sorting by commute time.
+          #
+          # Parameters needed for commute search.
+        &quot;departureTime&quot;: { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
+            # google.type.TimeOfDay in local time zone.
+            #
+            # Currently traffic model is restricted to hour level resolution.
+            # or are specified elsewhere. An API may choose to allow leap seconds. Related
+            # types are google.type.Date and `google.protobuf.Timestamp`.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+              # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+          &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+              # allow the value 60 if it allows leap-seconds.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+        },
+        &quot;travelDuration&quot;: &quot;A String&quot;, # Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
+            # (one hour). Format is `123s`.
+        &quot;startCoordinates&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Required. The latitude and longitude of the location from which to calculate the
+            # commute time.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+        },
+        &quot;commuteMethod&quot;: &quot;A String&quot;, # Required. The method of transportation for which to calculate the commute time.
+        &quot;roadTraffic&quot;: &quot;A String&quot;, # Optional. Specifies the traffic density to use when calculating commute time.
+        &quot;allowImpreciseAddresses&quot;: True or False, # Optional. If true, jobs without &quot;precise&quot; addresses (street level addresses or GPS
+            # coordinates) might also be returned. For city and coarser level addresses,
+            # text matching is used. If this field is set to false or is not specified,
+            # only jobs that include precise addresses are returned by Commute
+            # Search.
+            #
+            # Note: If `allow_imprecise_addresses` is set to true, Commute Search is not
+            # able to calculate accurate commute times to jobs with city level and
+            # coarser address information. Jobs with imprecise addresses will return a
+            # `travel_duration` time of 0 regardless of distance from the job seeker.
+      },
+      &quot;languageCodes&quot;: [ # Optional. This filter specifies the locale of jobs to search against,
+          # for example, &quot;en-US&quot;.
+          #
+          # If a value isn&#x27;t specified, the search results can contain jobs in any
+          # locale.
+          #
+          #
+          # Language codes should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+          #
+          # At most 10 language code filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;compensationFilter&quot;: { # Input only. # Optional. This search filter is applied only to
           # Job.compensation_info. For example, if the filter is specified
-          # as "Hourly job with per-hour compensation &gt; $15", only jobs meeting
-          # these criteria are searched. If a filter isn't defined, all open jobs
+          # as &quot;Hourly job with per-hour compensation &gt; $15&quot;, only jobs meeting
+          # these criteria are searched. If a filter isn&#x27;t defined, all open jobs
           # are searched.
           #
           # Filter on job compensation type and amount.
-        "units": [ # Required. Specify desired `base compensation entry's`
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of filter.
+        &quot;includeJobsWithUnspecifiedCompensationRange&quot;: True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
+            # included.
+        &quot;units&quot;: [ # Required. Specify desired `base compensation entry&#x27;s`
             # CompensationInfo.CompensationUnit.
-          "A String",
+          &quot;A String&quot;,
         ],
-        "range": { # Compensation range. # Optional. Compensation range.
-          "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-          "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+        &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
               # to a maximal compensation value and the currency code is set to
               # match the currency code of
               # min_compensation.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "nanos": 42, # Number of nano (10^-9) units of the amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
                 # The value must be between -999,999,999 and +999,999,999 inclusive.
                 # If `units` is positive, `nanos` must be positive or zero.
                 # If `units` is zero, `nanos` can be positive, zero, or negative.
                 # If `units` is negative, `nanos` must be negative or zero.
                 # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
           },
         },
-        "type": "A String", # Required. Type of filter.
-        "includeJobsWithUnspecifiedCompensationRange": True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
-            # included.
+      },
+      &quot;query&quot;: &quot;A String&quot;, # Optional. The query string that matches against the job title, description, and
+          # location fields.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;companyDisplayNames&quot;: [ # Optional. This filter specifies the exact company display
+          # name of the jobs to search against.
+          #
+          # If a value isn&#x27;t specified, jobs within the search results are
+          # associated with any company.
+          #
+          # If multiple values are specified, jobs within the search results may be
+          # associated with any of the specified companies.
+          #
+          # At most 20 company display name filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;disableSpellCheck&quot;: True or False, # Optional. This flag controls the spell-check feature. If false, the
+          # service attempts to correct a misspelled query,
+          # for example, &quot;enginee&quot; is corrected to &quot;engineer&quot;.
+          #
+          # Defaults to false: a spell check is performed.
+      &quot;jobCategories&quot;: [ # Optional. The category filter specifies the categories of jobs to search against.
+          # See Category for more information.
+          #
+          # If a value is not specified, jobs from any category are searched against.
+          #
+          # If multiple values are specified, jobs from any of the specified
+          # categories are searched against.
+        &quot;A String&quot;,
+      ],
+      &quot;excludedJobs&quot;: [ # Optional. This filter specifies a list of job names to be excluded during search.
+          #
+          # At most 400 excluded job names are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;companyNames&quot;: [ # Optional. This filter specifies the company entities to search against.
+          #
+          # If a value isn&#x27;t specified, jobs are searched for against all
+          # companies.
+          #
+          # If multiple values are specified, jobs are searched against the
+          # companies specified.
+          #
+          # The format is &quot;projects/{project_id}/companies/{company_id}&quot;, for example,
+          # &quot;projects/api-test-project/companies/foo&quot;.
+          #
+          # At most 20 company filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;queryLanguageCode&quot;: &quot;A String&quot;, # The language code of query. For example, &quot;en-US&quot;. This field helps to
+          # better interpret the query.
+          #
+          # If a value isn&#x27;t specified, the query language code is automatically
+          # detected, which may not be accurate.
+          #
+          # Language code should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+      &quot;employmentTypes&quot;: [ # Optional. The employment type filter specifies the employment type of jobs to
+          # search against, such as EmploymentType.FULL_TIME.
+          #
+          # If a value is not specified, jobs in the search results includes any
+          # employment type.
+          #
+          # If multiple values are specified, jobs in the search results include
+          # any of the specified employment types.
+        &quot;A String&quot;,
+      ],
+      &quot;customAttributeFilter&quot;: &quot;A String&quot;, # Optional. This filter specifies a structured syntax to match against the
+          # Job.custom_attributes marked as `filterable`.
+          #
+          # The syntax for this expression is a subset of SQL syntax.
+          #
+          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
+          # left of the operator is a custom field key and the right of the operator
+          # is a number or a quoted string. You must escape backslash (\\) and
+          # quote (\&quot;) characters.
+          #
+          # Supported functions are `LOWER([field_name])` to
+          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
+          # existence of a key.
+          #
+          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
+          # nesting (for example, &quot;((A AND B AND C) OR NOT D) AND E&quot;), a maximum of 100
+          # comparisons or functions are allowed in the expression. The expression
+          # must be &lt; 6000 bytes in length.
+          #
+          # Sample Query:
+          # `(LOWER(driving_license)=&quot;class \&quot;a\&quot;&quot; OR EMPTY(driving_license)) AND
+          # driving_years &gt; 10`
+      &quot;publishTimeRange&quot;: { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
+          # against.
+        &quot;endTime&quot;: &quot;A String&quot;, # End of the period.
+        &quot;startTime&quot;: &quot;A String&quot;, # Begin of the period.
       },
     },
-    "pageSize": 42, # Optional. A limit on the number of jobs returned in the search results.
-        # Increasing this value above the default value of 10 can increase search
-        # response time. The value can be between 1 and 100.
-    "diversificationLevel": "A String", # Optional. Controls whether highly similar jobs are returned next to each other in
-        # the search results. Jobs are identified as highly similar based on
-        # their titles, job categories, and locations. Highly similar results are
-        # clustered so that only one representative job of the cluster is
-        # displayed to the job seeker higher up in the results, with the other jobs
-        # being displayed lower down in the results.
+    &quot;jobView&quot;: &quot;A String&quot;, # Optional. The desired job attributes returned for jobs in the
+        # search response. Defaults to JobView.SMALL if no value is specified.
+    &quot;requirePreciseResultSize&quot;: True or False, # Optional. Controls if the search job request requires the return of a precise
+        # count of the first 300 results. Setting this to `true` ensures
+        # consistency in the number of results per page. Best practice is to set this
+        # value to true if a client allows users to jump directly to a
+        # non-sequential search results page.
         # 
-        # Defaults to DiversificationLevel.SIMPLE if no value
-        # is specified.
-    "customRankingInfo": { # Input only. # Optional. Controls over how job documents get ranked on top of existing relevance
+        # Enabling this flag may adversely impact performance.
+        # 
+        # Defaults to false.
+    &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The token specifying the current offset within
+        # search results. See SearchJobsResponse.next_page_token for
+        # an explanation of how to obtain the next set of query results.
+    &quot;customRankingInfo&quot;: { # Input only. # Optional. Controls over how job documents get ranked on top of existing relevance
         # score (determined by API algorithm).
         #
         # Custom ranking information for SearchJobsRequest.
-      "rankingExpression": "A String", # Required. Controls over how job documents get ranked on top of existing relevance
+      &quot;importanceLevel&quot;: &quot;A String&quot;, # Required. Controls over how important the score of
+          # CustomRankingInfo.ranking_expression gets applied to job&#x27;s final
+          # ranking position.
+          #
+          # An error is thrown if not specified.
+      &quot;rankingExpression&quot;: &quot;A String&quot;, # Required. Controls over how job documents get ranked on top of existing relevance
           # score (determined by API algorithm). A combination of the ranking
-          # expression and relevance score is used to determine job's final ranking
+          # expression and relevance score is used to determine job&#x27;s final ranking
           # position.
           #
           # The syntax for this expression is a subset of Google SQL syntax.
@@ -5508,191 +5635,71 @@
           #
           # Sample ranking expression
           # (year + 25) * 0.25 - (freshness / 0.5)
-      "importanceLevel": "A String", # Required. Controls over how important the score of
-          # CustomRankingInfo.ranking_expression gets applied to job's final
-          # ranking position.
-          #
-          # An error is thrown if not specified.
     },
-    "enableBroadening": True or False, # Optional. Controls whether to broaden the search when it produces sparse results.
-        # Broadened queries append results to the end of the matching results
-        # list.
+    &quot;diversificationLevel&quot;: &quot;A String&quot;, # Optional. Controls whether highly similar jobs are returned next to each other in
+        # the search results. Jobs are identified as highly similar based on
+        # their titles, job categories, and locations. Highly similar results are
+        # clustered so that only one representative job of the cluster is
+        # displayed to the job seeker higher up in the results, with the other jobs
+        # being displayed lower down in the results.
         # 
-        # Defaults to false.
-    "searchMode": "A String", # Optional. Mode of a search.
+        # Defaults to DiversificationLevel.SIMPLE if no value
+        # is specified.
+    &quot;searchMode&quot;: &quot;A String&quot;, # Optional. Mode of a search.
         # 
         # Defaults to SearchMode.JOB_SEARCH.
-    "pageToken": "A String", # Optional. The token specifying the current offset within
-        # search results. See SearchJobsResponse.next_page_token for
-        # an explanation of how to obtain the next set of query results.
-    "histogramQueries": [ # Optional. Expression based histogram requests for jobs matching JobQuery.
-      { # Input Only.
-          #
-          # The histogram request.
-        "histogramQuery": "A String", # An expression specifies a histogram request against matching resources
-            # (for example, jobs) for searches.
-            #
-            # Expression syntax is a aggregation function call with histogram facets and
-            # other options.
-            #
-            # Available aggregation function calls are:
-            # * `count(string_histogram_facet)`: Count the number of matching entity, for
-            #   each distinct attribute value.
-            # * `count(numeric_histogram_facet, list of buckets)`: Count the number of
-            #    matching entity within each bucket.
-            #
-            # Data types:
-            #
-            # * Histogram facet: facet names with format a-zA-Z+.
-            # * String: string like "any string with backslash escape for quote(\")."
-            # * Number: whole number and floating point number like 10, -1 and -0.01.
-            # * List: list of elements with comma(,) separator surrounded by square
-            # brackets. For example, [1, 2, 3] and ["one", "two", "three"].
-            #
-            # Built-in constants:
-            #
-            # * MIN (minimum number similar to java Double.MIN_VALUE)
-            # * MAX (maximum number similar to java Double.MAX_VALUE)
-            #
-            # Built-in functions:
-            #
-            # * bucket(start, end[, label]): bucket built-in function creates a bucket
-            # with range of start, end). Note that the end is exclusive. For example,
-            # bucket(1, MAX, "positive number") or bucket(1, 10).
-            #
-            # Job histogram facets:
-            #
-            # * company_id: histogram by [Job.distributor_company_id.
-            # * company_display_name: histogram by Job.company_display_name.
-            # * employment_type: histogram by Job.employment_types. For example,
-            # "FULL_TIME", "PART_TIME".
-            # * company_size: histogram by CompanySize, for example, "SMALL",
-            # "MEDIUM", "BIG".
-            # * publish_time_in_month: histogram by the Job.publish_time in months.
-            # Must specify list of numeric buckets in spec.
-            # * publish_time_in_year: histogram by the Job.publish_time in years.
-            # Must specify list of numeric buckets in spec.
-            # * degree_type: histogram by the Job.degree_type. For example,
-            # "Bachelors", "Masters".
-            # * job_level: histogram by the Job.job_level. For example, "Entry
-            # Level".
-            # * country: histogram by the country code of jobs. For example, "US", "FR".
-            # * admin1: histogram by the admin1 code of jobs, which is a global
-            # placeholder referring to the state, province, or the particular term a
-            # country uses to define the geographic structure below the country level.
-            # For example, "CA", "IL".
-            # * city: histogram by a combination of the "city name, admin1 code". For
-            # example,  "Mountain View, CA", "New York, NY".
-            # * admin1_country: histogram by a combination of the "admin1 code, country".
-            # For example, "CA, US", "IL, US".
-            # * city_coordinate: histogram by the city center's GPS coordinates (latitude
-            # and longitude). For example, 37.4038522,-122.0987765. Since the coordinates
-            # of a city center can change, customers may need to refresh them
-            # periodically.
-            # * locale: histogram by the Job.language_code. For example, "en-US",
-            # "fr-FR".
-            # * language: histogram by the language subtag of the Job.language_code.
-            # For example, "en", "fr".
-            # * category: histogram by the JobCategory. For example,
-            # "COMPUTER_AND_IT", "HEALTHCARE".
-            # * base_compensation_unit: histogram by the CompensationUnit of base
-            # salary. For example, "WEEKLY", "MONTHLY".
-            # * base_compensation: histogram by the base salary. Must specify list of
-            # numeric buckets to group results by.
-            # * annualized_base_compensation: histogram by the base annualized salary.
-            # Must specify list of numeric buckets to group results by.
-            # * annualized_total_compensation: histogram by the total annualized salary.
-            # Must specify list of numeric buckets to group results by.
-            # * string_custom_attribute: histogram by string Job.custom_attributes.
-            # Values can be accessed via square bracket notations like
-            # string_custom_attribute["key1"].
-            # * numeric_custom_attribute: histogram by numeric Job.custom_attributes.
-            # Values can be accessed via square bracket notations like
-            # numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
-            # group results by.
-            #
-            # Example expressions:
-            # * count(admin1)
-            # * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
-            # bucket(100000, MAX)])
-            # * count(string_custom_attribute["some-string-custom-attribute"])
-            # * count(numeric_custom_attribute["some-numeric-custom-attribute"],
-            # [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])
-      },
-    ],
-    "requestMetadata": { # Input only. # Required. The meta information collected about the job searcher, used to improve the
+    &quot;requestMetadata&quot;: { # Input only. # Required. The meta information collected about the job searcher, used to improve the
         # search quality of the service. The identifiers (such as `user_id`) are
         # provided by users, and must be unique and consistent.
         #
         # Meta information related to the job searcher or entity
         # conducting the job search. This information is used to improve the
         # performance of the service.
-      "userId": "A String", # Required. A unique user identification string, as determined by the client.
-          # To have the strongest positive impact on search quality
-          # make sure the client-level is unique.
-          # Obfuscate this field for privacy concerns before
-          # providing it to the service.
-          #
-          # If this field is not available for some reason, send "UNKNOWN". Note
-          # that any improvements to the model for a particular tenant
-          # site, rely on this field being set correctly to a unique user_id.
-          #
-          # The maximum number of allowed characters is 255.
-      "sessionId": "A String", # Required. A unique session identification string. A session is defined as the
-          # duration of an end user's interaction with the service over a certain
+      &quot;deviceInfo&quot;: { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
+          # service.
+          # other entity conducting the job search. Providing this information improves
+          # the quality of the search results across devices.
+        &quot;id&quot;: &quot;A String&quot;, # Optional. A device-specific ID. The ID must be a unique identifier that
+            # distinguishes the device from other devices.
+        &quot;deviceType&quot;: &quot;A String&quot;, # Optional. Type of the device.
+      },
+      &quot;sessionId&quot;: &quot;A String&quot;, # Required. A unique session identification string. A session is defined as the
+          # duration of an end user&#x27;s interaction with the service over a certain
           # period.
           # Obfuscate this field for privacy concerns before
           # providing it to the service.
           #
-          # If this field is not available for some reason, send "UNKNOWN". Note
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
           # that any improvements to the model for a particular tenant
           # site, rely on this field being set correctly to some unique session_id.
           #
           # The maximum number of allowed characters is 255.
-      "deviceInfo": { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
-          # service.
-          # other entity conducting the job search. Providing this information improves
-          # the quality of the search results across devices.
-        "deviceType": "A String", # Optional. Type of the device.
-        "id": "A String", # Optional. A device-specific ID. The ID must be a unique identifier that
-            # distinguishes the device from other devices.
-      },
-      "domain": "A String", # Required. The client-defined scope or source of the service call, which typically
+      &quot;domain&quot;: &quot;A String&quot;, # Required. The client-defined scope or source of the service call, which typically
           # is the domain on
           # which the service has been implemented and is currently being run.
           #
           # For example, if the service is being run by client &lt;em&gt;Foo, Inc.&lt;/em&gt;, on
           # job board www.foo.com and career site www.bar.com, then this field is
-          # set to "foo.com" for use on the job board, and "bar.com" for use on the
+          # set to &quot;foo.com&quot; for use on the job board, and &quot;bar.com&quot; for use on the
           # career site.
           #
-          # If this field isn't available for some reason, send "UNKNOWN".
+          # If this field isn&#x27;t available for some reason, send &quot;UNKNOWN&quot;.
           # Any improvements to the model for a particular tenant site rely on this
           # field being set correctly to a domain.
           #
           # The maximum number of allowed characters is 255.
+      &quot;userId&quot;: &quot;A String&quot;, # Required. A unique user identification string, as determined by the client.
+          # To have the strongest positive impact on search quality
+          # make sure the client-level is unique.
+          # Obfuscate this field for privacy concerns before
+          # providing it to the service.
+          #
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
+          # that any improvements to the model for a particular tenant
+          # site, rely on this field being set correctly to a unique user_id.
+          #
+          # The maximum number of allowed characters is 255.
     },
-    "requirePreciseResultSize": True or False, # Optional. Controls if the search job request requires the return of a precise
-        # count of the first 300 results. Setting this to `true` ensures
-        # consistency in the number of results per page. Best practice is to set this
-        # value to true if a client allows users to jump directly to a
-        # non-sequential search results page.
-        # 
-        # Enabling this flag may adversely impact performance.
-        # 
-        # Defaults to false.
-    "jobView": "A String", # Optional. The desired job attributes returned for jobs in the
-        # search response. Defaults to JobView.SMALL if no value is specified.
-    "offset": 42, # Optional. An integer that specifies the current offset (that is, starting result
-        # location, amongst the jobs deemed by the API as relevant) in search
-        # results. This field is only considered if page_token is unset.
-        # 
-        # The maximum allowed value is 5000. Otherwise an error is thrown.
-        # 
-        # For example, 0 means to  return results starting from the first matching
-        # job, and 10 means to return from the 11th job. This can be used for
-        # pagination, (for example, pageSize = 10 and offset = 10 means to return
-        # from the second page).
   }
 
   x__xgafv: string, V1 error format.
@@ -5706,820 +5713,13 @@
     { # Output only.
       #
       # Response for SearchJob method.
-    "nextPageToken": "A String", # The token that specifies the starting position of the next page of results.
-        # This field is empty if there are no more results.
-    "histogramQueryResults": [ # The histogram results that match with specified
-        # SearchJobsRequest.histogram_queries.
-      { # Output only.
-          #
-          # Histogram result that matches HistogramSpec specified in searches.
-        "histogramQuery": "A String", # Requested histogram expression.
-        "histogram": { # A map from the values of the facet associated with distinct values to the
-            # number of matching entries with corresponding value.
-            #
-            # The key format is:
-            # * (for string histogram) string values stored in the field.
-            # * (for named numeric bucket) name specified in `bucket()` function, like
-            #   for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`.
-            # * (for anonymous numeric bucket) range formatted as `&lt;low&gt;-&lt;high&gt;`, for
-            # example, `0-1000`, `MIN-0`, and `0-MAX`.
-          "a_key": "A String",
-        },
-      },
-    ],
-    "spellCorrection": { # Output only. # The spell checking result, and correction.
-        #
-        # Spell check result.
-      "corrected": True or False, # Indicates if the query was corrected by the spell checker.
-      "correctedText": "A String", # Correction output consisting of the corrected keyword string.
-    },
-    "totalSize": 42, # The precise result count, which is available only if the client set
-        # enable_precise_result_size to `true`, or if the response
-        # is the last page of results. Otherwise, the value is `-1`.
-    "matchingJobs": [ # The Job entities that match the specified SearchJobsRequest.
-      { # Output only.
-          #
-          # Job entry with metadata inside SearchJobsResponse.
-        "searchTextSnippet": "A String", # Contains snippets of text from the Job.description and similar
-            # fields that most closely match a search query's keywords, if available.
-            # All HTML tags in the original fields are stripped when returned in this
-            # field, and matching query keywords are enclosed in HTML bold tags.
-        "job": { # A Job resource represents a job posting (also referred to as a "job listing" # Job resource that matches the specified SearchJobsRequest.
-            # or "job requisition"). A job belongs to a Company, which is the hiring
-            # entity responsible for the job.
-          "languageCode": "A String", # Optional. The language of the posting. This field is distinct from
-              # any requirements for fluency that are associated with the job.
-              #
-              # Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
-              # For more information, see
-              # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
-              # class="external" target="_blank" }.
-              #
-              # If this field is unspecified and Job.description is present, detected
-              # language code based on Job.description is assigned, otherwise
-              # defaults to 'en_US'.
-          "addresses": [ # Optional but strongly recommended for the best service experience.
-              #
-              # Location(s) where the employer is looking to hire for this job posting.
-              #
-              # Specifying the full street address(es) of the hiring location enables
-              # better API results, especially job searches by commute time.
-              #
-              # At most 50 locations are allowed for best search performance. If a job has
-              # more locations, it is suggested to split it into multiple jobs with unique
-              # requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as
-              # multiple jobs with the same company_name, language_code and
-              # requisition_id are not allowed. If the original requisition_id must
-              # be preserved, a custom field should be used for storage. It is also
-              # suggested to group the locations that close to each other in the same job
-              # for better search experience.
-              #
-              # The maximum number of allowed characters is 500.
-            "A String",
-          ],
-          "companyDisplayName": "A String", # Output only. Display name of the company listing the job.
-          "processingOptions": { # Input only. # Optional. Options for job processing.
-              #
-              # Options for job processing.
-            "htmlSanitization": "A String", # Optional. Option for job HTML content sanitization. Applied fields are:
-                #
-                # * description
-                # * applicationInfo.instruction
-                # * incentives
-                # * qualifications
-                # * responsibilities
-                #
-                # HTML tags in these fields may be stripped if sanitiazation is not
-                # disabled.
-                #
-                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-            "disableStreetAddressResolution": True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-                # more precise address for the job.
-          },
-          "employmentTypes": [ # Optional. The employment type(s) of a job, for example,
-              # full time or
-              # part time.
-            "A String",
-          ],
-          "jobEndTime": "A String", # Optional. The end timestamp of the job. Typically this field is used for contracting
-              # engagements. Invalid timestamps are ignored.
-          "applicationInfo": { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
-              #
-              # Job application information.
-            "instruction": "A String", # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this field to provide instructions, such as "Mail your application
-                # to ...", that a candidate can follow to apply for the job.
-                #
-                # This field accepts and sanitizes HTML input, and also accepts
-                # bold, italic, ordered list, and unordered list markup tags.
-                #
-                # The maximum number of allowed characters is 3,000.
-            "uris": [ # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this URI field to direct an applicant to a website, for example to
-                # link to an online application form.
-                #
-                # The maximum number of allowed characters for each entry is 2,000.
-              "A String",
-            ],
-            "emails": [ # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this field to specify email address(es) to which resumes or
-                # applications can be sent.
-                #
-                # The maximum number of allowed characters for each entry is 255.
-              "A String",
-            ],
-          },
-          "postingExpireTime": "A String", # Optional but strongly recommended for the best service
-              # experience.
-              #
-              # The expiration timestamp of the job. After this timestamp, the
-              # job is marked as expired, and it no longer appears in search results. The
-              # expired job can't be deleted or listed by the DeleteJob and
-              # ListJobs APIs, but it can be retrieved with the GetJob API or
-              # updated with the UpdateJob API. An expired job can be updated and
-              # opened again by using a future expiration timestamp. Updating an expired
-              # job fails if there is another existing open job with same company_name,
-              # language_code and requisition_id.
-              #
-              # The expired jobs are retained in our system for 90 days. However, the
-              # overall expired job count cannot exceed 3 times the maximum of open jobs
-              # count over the past week, otherwise jobs with earlier expire time are
-              # cleaned first. Expired jobs are no longer accessible after they are cleaned
-              # out.
-              #
-              # Invalid timestamps are ignored, and treated as expire time not provided.
-              #
-              # Timestamp before the instant request is made is considered valid, the job
-              # will be treated as expired immediately.
-              #
-              # If this value is not provided at the time of job creation or is invalid,
-              # the job posting expires after 30 days from the job's creation time. For
-              # example, if the job was created on 2017/01/01 13:00AM UTC with an
-              # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
-              #
-              # If this value is not provided on job update, it depends on the field masks
-              # set by UpdateJobRequest.update_mask. If the field masks include
-              # expiry_time, or the masks are empty meaning that every field is
-              # updated, the job posting expires after 30 days from the job's last
-              # update time. Otherwise the expiration date isn't updated.
-          "title": "A String", # Required. The title of the job, such as "Software Engineer"
-              #
-              # The maximum number of allowed characters is 500.
-          "responsibilities": "A String", # Optional. A description of job responsibilities. The use of this field is
-              # recommended as an alternative to using the more general description
-              # field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          "jobStartTime": "A String", # Optional. The start timestamp of the job in UTC time zone. Typically this field
-              # is used for contracting engagements. Invalid timestamps are ignored.
-          "compensationInfo": { # Job compensation details. # Optional. Job compensation information.
-            "annualizedTotalCompensationRange": { # Compensation range. # Output only. Annualized total compensation range. Computed as
-                # all compensation entries' CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            "annualizedBaseCompensationRange": { # Compensation range. # Output only. Annualized base compensation range. Computed as
-                # base compensation entry's CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-              "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                "units": "A String", # The whole units of the amount.
-                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                "nanos": 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            "entries": [ # Optional. Job compensation information.
-                #
-                # At most one entry can be of type
-                # CompensationInfo.CompensationType.BASE, which is
-                # referred as ** base compensation entry ** for the job.
-              { # A compensation entry that represents one component of compensation, such
-                  # as base pay, bonus, or other compensation type.
-                  #
-                  # Annualization: One compensation entry can be annualized if
-                  # - it contains valid amount or range.
-                  # - and its expected_units_per_year is set or can be derived.
-                  # Its annualized range is determined as (amount or range) times
-                  # expected_units_per_year.
-                "description": "A String", # Optional. Compensation description.  For example, could
-                    # indicate equity terms or provide additional context to an estimated
-                    # bonus.
-                "range": { # Compensation range. # Optional. Compensation range.
-                  "minCompensation": { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                      # to zero and the currency code is set to match the
-                      # currency code of max_compensation.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "nanos": 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                  "maxCompensation": { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                      # to a maximal compensation value and the currency code is set to
-                      # match the currency code of
-                      # min_compensation.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "nanos": 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-                "expectedUnitsPerYear": 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                    # Job.employment_types is FULLTIME, a default value is inferred
-                    # based on unit. Default values:
-                    # - HOURLY: 2080
-                    # - DAILY: 260
-                    # - WEEKLY: 52
-                    # - MONTHLY: 12
-                    # - ANNUAL: 1
-                "amount": { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "nanos": 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-                "type": "A String", # Optional. Compensation type.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-                "unit": "A String", # Optional. Frequency of the specified amount.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-              },
-            ],
-          },
-          "department": "A String", # Optional. The department or functional area within the company with the open
-              # position.
-              #
-              # The maximum number of allowed characters is 255.
-          "postingUpdateTime": "A String", # Output only. The timestamp when this job posting was last updated.
-          "requisitionId": "A String", # Required. The requisition ID, also referred to as the posting ID, assigned by the
-              # client to identify a job. This field is intended to be used by clients
-              # for client identification and tracking of postings. A job is not allowed
-              # to be created if there is another job with the same [company_name],
-              # language_code and requisition_id.
-              #
-              # The maximum number of allowed characters is 255.
-          "postingPublishTime": "A String", # Optional. The timestamp this job posting was most recently published. The default
-              # value is the time the request arrives at the server. Invalid timestamps are
-              # ignored.
-          "description": "A String", # Required. The description of the job, which typically includes a multi-paragraph
-              # description of the company and related information. Separate fields are
-              # provided on the job object for responsibilities,
-              # qualifications, and other job characteristics. Use of
-              # these separate job fields is recommended.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 100,000.
-          "companyName": "A String", # Required. The resource name of the company listing the job, such as
-              # "projects/api-test-project/companies/foo".
-          "derivedInfo": { # Output only. # Output only. Derived details about the job posting.
-              #
-              # Derived details about the job posting.
-            "jobCategories": [ # Job categories derived from Job.title and Job.description.
-              "A String",
-            ],
-            "locations": [ # Structured locations of the job, resolved from Job.addresses.
-                #
-                # locations are exactly matched to Job.addresses in the same
-                # order.
-              { # Output only.
-                  #
-                  # A resource that represents a location with full geographic information.
-                "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                    # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                    # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                    # LocationType#LOCALITY.
-                "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                    # location bounding box in which a circle with the specified radius
-                    # centered from LatLng covers the area associated with the job location.
-                    # For example, currently, "Mountain View, CA, USA" has a radius of
-                    # 6.17 miles.
-                "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                },
-                "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                    # such as postal delivery and payments addresses. Given a postal address,
-                    # a postal service can deliver items to a premises, P.O. Box, or other
-                    # delivery location.
-                    # Given a postal address, a postal service can deliver items to a premise, P.O.
-                    # Box or similar.
-                    # It is not intended to model geographical locations (roads, towns,
-                    # mountains).
-                    #
-                    # In typical usage an address would be created via user input or from importing
-                    # existing data, depending on the type of process.
-                    #
-                    # Advice on address input / editing:
-                    #  - Use an i18n-ready address widget such as
-                    #    https://github.com/google/libaddressinput)
-                    # - Users should not be presented with UI elements for input or editing of
-                    #   fields outside countries where that field is used.
-                    #
-                    # For more guidance on how to use this schema, please see:
-                    # https://support.google.com/business/answer/6397478
-                  "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                      # known). This is often the UI language of the input form or is expected
-                      # to match one of the languages used in the address' country/region, or their
-                      # transliterated equivalents.
-                      # This can affect formatting in certain countries, but is not critical
-                      # to the correctness of the data and will never affect any validation or
-                      # other non-formatting related operations.
-                      #
-                      # If this value is not known, it should be omitted (rather than specifying a
-                      # possibly incorrect default).
-                      #
-                      # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-                  "recipients": [ # Optional. The recipient at the address.
-                      # This field may, under certain circumstances, contain multiline information.
-                      # For example, it might contain "care of" information.
-                    "A String",
-                  ],
-                  "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
-                      # Examples: US city, IT comune, UK post town.
-                      # In regions of the world where localities are not well defined or do not fit
-                      # into this structure well, leave locality empty and use address_lines.
-                  "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                      # in most regions. Where it is used, the value is either a string like
-                      # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                      # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                      # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-                  "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                      # is never inferred and it is up to the user to ensure the value is
-                      # correct. See http://cldr.unicode.org/ and
-                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                      # for details. Example: "CH" for Switzerland.
-                  "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
-                      # addresses of a country or region.
-                      # For example, this can be a state, a province, an oblast, or a prefecture.
-                      # Specifically, for Spain this is the province and not the autonomous
-                      # community (e.g. "Barcelona" and not "Catalonia").
-                      # Many countries don't use an administrative area in postal addresses. E.g.
-                      # in Switzerland this should be left unpopulated.
-                  "addressLines": [ # Unstructured address lines describing the lower levels of an address.
-                      #
-                      # Because values in address_lines do not have type information and may
-                      # sometimes contain multiple values in a single field (e.g.
-                      # "Austin, TX"), it is important that the line order is clear. The order of
-                      # address lines should be "envelope order" for the country/region of the
-                      # address. In places where this can vary (e.g. Japan), address_language is
-                      # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                      # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-                      # an address can be selected based on the language.
-                      #
-                      # The minimum permitted structural representation of an address consists
-                      # of a region_code with all remaining information placed in the
-                      # address_lines. It would be possible to format such an address very
-                      # approximately without geocoding, but no semantic reasoning could be
-                      # made about any of the address components until it was at least
-                      # partially resolved.
-                      #
-                      # Creating an address only containing a region_code and address_lines, and
-                      # then geocoding is the recommended way to handle completely unstructured
-                      # addresses (as opposed to guessing which parts of the address should be
-                      # localities or administrative areas).
-                    "A String",
-                  ],
-                  "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
-                      # postal codes to be present, but where they are used, they may trigger
-                      # additional validation with other parts of the address (e.g. state/zip
-                      # validation in the U.S.A.).
-                  "organization": "A String", # Optional. The name of the organization at the address.
-                  "sublocality": "A String", # Optional. Sublocality of the address.
-                      # For example, this can be neighborhoods, boroughs, districts.
-                  "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                      # the latest revision.
-                      #
-                      # All new revisions **must** be backward compatible with old revisions.
-                },
-              },
-            ],
-          },
-          "incentives": "A String", # Optional. A description of bonus, commission, and other compensation
-              # incentives associated with the job not including salary or pay.
-              #
-              # The maximum number of allowed characters is 10,000.
-          "jobBenefits": [ # Optional. The benefits included with the job.
-            "A String",
-          ],
-          "qualifications": "A String", # Optional. A description of the qualifications required to perform the
-              # job. The use of this field is recommended
-              # as an alternative to using the more general description field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          "visibility": "A String", # Deprecated. The job is only visible to the owner.
-              #
-              # The visibility of the job.
-              #
-              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-          "postingCreateTime": "A String", # Output only. The timestamp when this job posting was created.
-          "postingRegion": "A String", # Optional. The job PostingRegion (for example, state, country) throughout which
-              # the job is available. If this field is set, a
-              # LocationFilter in a search query within the job region
-              # finds this job posting if an exact location match isn't specified.
-              # If this field is set to PostingRegion.NATION or
-              # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
-              # to the same location level as this field is strongly recommended.
-          "name": "A String", # Required during job update.
-              #
-              # The resource name for the job. This is generated by the service when a
-              # job is created.
-              #
-              # The format is "projects/{project_id}/jobs/{job_id}",
-              # for example, "projects/api-test-project/jobs/1234".
-              #
-              # Use of this field in job queries and API calls is preferred over the use of
-              # requisition_id since this value is unique.
-          "promotionValue": 42, # Optional. A promotion value of the job, as determined by the client.
-              # The value determines the sort order of the jobs returned when searching for
-              # jobs using the featured jobs search call, with higher promotional values
-              # being returned first and ties being resolved by relevance sort. Only the
-              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-              #
-              # Default value is 0, and negative values are treated as 0.
-          "degreeTypes": [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-            "A String",
-          ],
-          "customAttributes": { # Optional. A map of fields to hold both filterable and non-filterable custom job
-              # attributes that are not covered by the provided structured fields.
-              #
-              # The keys of the map are strings up to 64 bytes and must match the
-              # pattern: a-zA-Z*. For example, key0LikeThis or
-              # KEY_1_LIKE_THIS.
-              #
-              # At most 100 filterable and at most 100 unfilterable keys are supported.
-              # For filterable `string_values`, across all keys at most 200 values are
-              # allowed, with each string no more than 255 characters. For unfilterable
-              # `string_values`, the maximum total size of `string_values` across all keys
-              # is 50KB.
-            "a_key": { # Custom attribute values that are either filterable or non-filterable.
-              "filterable": True or False, # Optional. If the `filterable` flag is true, custom field values are searchable.
-                  # If false, values are not searchable.
-                  #
-                  # Default is false.
-              "stringValues": [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
-                  #
-                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-                  # `CASE_INSENSITIVE_MATCH`) search.
-                  # For filterable `string_value`s, a maximum total number of 200 values
-                  # is allowed, with each `string_value` has a byte size of no more than
-                  # 500B. For unfilterable `string_values`, the maximum total byte size of
-                  # unfilterable `string_values` is 50KB.
-                  #
-                  # Empty string is not allowed.
-                "A String",
-              ],
-              "longValues": [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
-                  #
-                  # This field is used to perform number range search.
-                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-                  #
-                  # Currently at most 1 long_values is supported.
-                "A String",
-              ],
-            },
-          },
-          "jobLevel": "A String", # Optional. The experience level associated with the job, such as "Entry Level".
-        },
-        "commuteInfo": { # Output only. # Commute information which is generated based on specified
-            #  CommuteFilter.
-            #
-            # Commute details related to this job.
-          "travelDuration": "A String", # The number of seconds required to travel to the job location from the
-              # query location. A duration of 0 seconds indicates that the job is not
-              # reachable within the requested duration, but was returned as part of an
-              # expanded query.
-          "jobLocation": { # Output only. # Location used as the destination in the commute calculation.
-              #
-              # A resource that represents a location with full geographic information.
-            "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-                # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-                # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-                # LocationType#LOCALITY.
-            "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, "Mountain View, CA, USA" has a radius of
-                # 6.17 miles.
-            "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                # such as postal delivery and payments addresses. Given a postal address,
-                # a postal service can deliver items to a premises, P.O. Box, or other
-                # delivery location.
-                # Given a postal address, a postal service can deliver items to a premise, P.O.
-                # Box or similar.
-                # It is not intended to model geographical locations (roads, towns,
-                # mountains).
-                #
-                # In typical usage an address would be created via user input or from importing
-                # existing data, depending on the type of process.
-                #
-                # Advice on address input / editing:
-                #  - Use an i18n-ready address widget such as
-                #    https://github.com/google/libaddressinput)
-                # - Users should not be presented with UI elements for input or editing of
-                #   fields outside countries where that field is used.
-                #
-                # For more guidance on how to use this schema, please see:
-                # https://support.google.com/business/answer/6397478
-              "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-                  # known). This is often the UI language of the input form or is expected
-                  # to match one of the languages used in the address' country/region, or their
-                  # transliterated equivalents.
-                  # This can affect formatting in certain countries, but is not critical
-                  # to the correctness of the data and will never affect any validation or
-                  # other non-formatting related operations.
-                  #
-                  # If this value is not known, it should be omitted (rather than specifying a
-                  # possibly incorrect default).
-                  #
-                  # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-              "recipients": [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain "care of" information.
-                "A String",
-              ],
-              "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
-                  # Examples: US city, IT comune, UK post town.
-                  # In regions of the world where localities are not well defined or do not fit
-                  # into this structure well, leave locality empty and use address_lines.
-              "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-                  # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-                  # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-              "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: "CH" for Switzerland.
-              "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
-                  # addresses of a country or region.
-                  # For example, this can be a state, a province, an oblast, or a prefecture.
-                  # Specifically, for Spain this is the province and not the autonomous
-                  # community (e.g. "Barcelona" and not "Catalonia").
-                  # Many countries don't use an administrative area in postal addresses. E.g.
-                  # in Switzerland this should be left unpopulated.
-              "addressLines": [ # Unstructured address lines describing the lower levels of an address.
-                  #
-                  # Because values in address_lines do not have type information and may
-                  # sometimes contain multiple values in a single field (e.g.
-                  # "Austin, TX"), it is important that the line order is clear. The order of
-                  # address lines should be "envelope order" for the country/region of the
-                  # address. In places where this can vary (e.g. Japan), address_language is
-                  # used to make it explicit (e.g. "ja" for large-to-small ordering and
-                  # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
-                  # an address can be selected based on the language.
-                  #
-                  # The minimum permitted structural representation of an address consists
-                  # of a region_code with all remaining information placed in the
-                  # address_lines. It would be possible to format such an address very
-                  # approximately without geocoding, but no semantic reasoning could be
-                  # made about any of the address components until it was at least
-                  # partially resolved.
-                  #
-                  # Creating an address only containing a region_code and address_lines, and
-                  # then geocoding is the recommended way to handle completely unstructured
-                  # addresses (as opposed to guessing which parts of the address should be
-                  # localities or administrative areas).
-                "A String",
-              ],
-              "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
-                  # postal codes to be present, but where they are used, they may trigger
-                  # additional validation with other parts of the address (e.g. state/zip
-                  # validation in the U.S.A.).
-              "organization": "A String", # Optional. The name of the organization at the address.
-              "sublocality": "A String", # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
-                  #
-                  # All new revisions **must** be backward compatible with old revisions.
-            },
-          },
-        },
-        "jobSummary": "A String", # A summary of the job with core information that's displayed on the search
-            # results listing page.
-        "jobTitleSnippet": "A String", # Contains snippets of text from the Job.job_title field most
-            # closely matching a search query's keywords, if available. The matching
-            # query keywords are enclosed in HTML bold tags.
-      },
-    ],
-    "histogramResults": { # Output only. # The histogram results that match specified
-        # SearchJobsRequest.histogram_facets.
-        #
-        # Histogram results that match HistogramFacets specified in
-        # SearchJobsRequest.
-      "customAttributeHistogramResults": [ # Specifies histogram results for custom attributes that match
-          # HistogramFacets.custom_attribute_histogram_facets.
-        { # Output only.
-            #
-            # Custom attribute histogram result.
-          "longValueHistogramResult": { # Output only. # Stores bucketed histogram counting result or min/max values for
-              # custom attribute long values associated with `key`.
-              #
-              # Custom numeric bucketing result.
-            "counts": [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                "count": 42, # Number of jobs whose numeric field value fall into `range`.
-                "range": { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  "to": 3.14, # Ending value of the bucket range.
-                  "from": 3.14, # Starting value of the bucket range.
-                },
-              },
-            ],
-            "maxValue": 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            "minValue": 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-          "stringValueHistogramResult": { # Stores a map from the values of string custom field associated
-              # with `key` to the number of jobs with that value in this histogram result.
-            "a_key": 42,
-          },
-          "key": "A String", # Stores the key of custom attribute the histogram is performed on.
-        },
-      ],
-      "simpleHistogramResults": [ # Specifies histogram results that matches
-          # HistogramFacets.simple_histogram_facets.
-        { # Output only.
-            #
-            # Result of a histogram call. The response contains the histogram map for the
-            # search type specified by HistogramResult.field.
-            # The response is a map of each filter value to the corresponding count of
-            # jobs for that filter.
-          "values": { # A map from the values of field to the number of jobs with that value
-              # in this search result.
-              #
-              # Key: search type (filter names, such as the companyName).
-              #
-              # Values: the count of jobs that match the filter for this search.
-            "a_key": 42,
-          },
-          "searchType": "A String", # The Histogram search filters.
-        },
-      ],
-      "compensationHistogramResults": [ # Specifies compensation field-based histogram results that match
-          # HistogramFacets.compensation_histogram_requests.
-        { # Output only.
-            #
-            # Compensation based histogram result.
-          "type": "A String", # Type of the request, corresponding to
-              # CompensationHistogramRequest.type.
-          "result": { # Output only. # Histogram result.
-              #
-              # Custom numeric bucketing result.
-            "counts": [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                "count": 42, # Number of jobs whose numeric field value fall into `range`.
-                "range": { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  "to": 3.14, # Ending value of the bucket range.
-                  "from": 3.14, # Starting value of the bucket range.
-                },
-              },
-            ],
-            "maxValue": 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            "minValue": 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-        },
-      ],
-    },
-    "estimatedTotalSize": 42, # An estimation of the number of jobs that match the specified query.
-        #
-        # This number is not guaranteed to be accurate. For accurate results,
-        # see enable_precise_result_size.
-    "broadenedQueryJobsCount": 42, # If query broadening is enabled, we may append additional results from the
-        # broadened query. This number indicates how many of the jobs returned in the
-        # jobs field are from the broadened query. These results are always at the
-        # end of the jobs list. In particular, a value of 0, or if the field isn't
-        # set, all the jobs in the jobs list are from the original
-        # (without broadening) query. If this field is non-zero, subsequent requests
-        # with offset after this result set should contain all broadened results.
-    "locationFilters": [ # The location filters that the service applied to the specified query. If
+    &quot;locationFilters&quot;: [ # The location filters that the service applied to the specified query. If
         # any filters are lat-lng based, the JobLocation.location_type is
         # JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
       { # Output only.
           #
           # A resource that represents a location with full geographic information.
-        "locationType": "A String", # The type of a location, which corresponds to the address lines field of
-            # PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of
-            # LocationType#NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of
-            # LocationType#LOCALITY.
-        "radiusInMiles": 3.14, # Radius in miles of the job location. This value is derived from the
-            # location bounding box in which a circle with the specified radius
-            # centered from LatLng covers the area associated with the job location.
-            # For example, currently, "Mountain View, CA, USA" has a radius of
-            # 6.17 miles.
-        "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf"&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-        },
-        "postalAddress": { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+        &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
             # such as postal delivery and payments addresses. Given a postal address,
             # a postal service can deliver items to a premises, P.O. Box, or other
             # delivery location.
@@ -6539,53 +5739,36 @@
             #
             # For more guidance on how to use this schema, please see:
             # https://support.google.com/business/answer/6397478
-          "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if
-              # known). This is often the UI language of the input form or is expected
-              # to match one of the languages used in the address' country/region, or their
-              # transliterated equivalents.
-              # This can affect formatting in certain countries, but is not critical
-              # to the correctness of the data and will never affect any validation or
-              # other non-formatting related operations.
+          &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+              # the latest revision.
               #
-              # If this value is not known, it should be omitted (rather than specifying a
-              # possibly incorrect default).
-              #
-              # Examples: "zh-Hant", "ja", "ja-Latn", "en".
-          "recipients": [ # Optional. The recipient at the address.
-              # This field may, under certain circumstances, contain multiline information.
-              # For example, it might contain "care of" information.
-            "A String",
-          ],
-          "locality": "A String", # Optional. Generally refers to the city/town portion of the address.
+              # All new revisions **must** be backward compatible with old revisions.
+          &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
               # Examples: US city, IT comune, UK post town.
               # In regions of the world where localities are not well defined or do not fit
               # into this structure well, leave locality empty and use address_lines.
-          "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used
-              # in most regions. Where it is used, the value is either a string like
-              # "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
-              # alone, representing the "sector code" (Jamaica), "delivery area indicator"
-              # (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
-          "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This
-              # is never inferred and it is up to the user to ensure the value is
-              # correct. See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: "CH" for Switzerland.
-          "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal
+          &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
               # addresses of a country or region.
               # For example, this can be a state, a province, an oblast, or a prefecture.
               # Specifically, for Spain this is the province and not the autonomous
-              # community (e.g. "Barcelona" and not "Catalonia").
-              # Many countries don't use an administrative area in postal addresses. E.g.
+              # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+              # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
               # in Switzerland this should be left unpopulated.
-          "addressLines": [ # Unstructured address lines describing the lower levels of an address.
+          &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+          &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+              # is never inferred and it is up to the user to ensure the value is
+              # correct. See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
+          &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
               #
               # Because values in address_lines do not have type information and may
               # sometimes contain multiple values in a single field (e.g.
-              # "Austin, TX"), it is important that the line order is clear. The order of
-              # address lines should be "envelope order" for the country/region of the
+              # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+              # address lines should be &quot;envelope order&quot; for the country/region of the
               # address. In places where this can vary (e.g. Japan), address_language is
-              # used to make it explicit (e.g. "ja" for large-to-small ordering and
-              # "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+              # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+              # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
               # an address can be selected based on the language.
               #
               # The minimum permitted structural representation of an address consists
@@ -6599,29 +5782,854 @@
               # then geocoding is the recommended way to handle completely unstructured
               # addresses (as opposed to guessing which parts of the address should be
               # localities or administrative areas).
-            "A String",
+            &quot;A String&quot;,
           ],
-          "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require
+          &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
               # postal codes to be present, but where they are used, they may trigger
               # additional validation with other parts of the address (e.g. state/zip
               # validation in the U.S.A.).
-          "organization": "A String", # Optional. The name of the organization at the address.
-          "sublocality": "A String", # Optional. Sublocality of the address.
-              # For example, this can be neighborhoods, boroughs, districts.
-          "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-              # the latest revision.
+          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+              # known). This is often the UI language of the input form or is expected
+              # to match one of the languages used in the address&#x27; country/region, or their
+              # transliterated equivalents.
+              # This can affect formatting in certain countries, but is not critical
+              # to the correctness of the data and will never affect any validation or
+              # other non-formatting related operations.
               #
-              # All new revisions **must** be backward compatible with old revisions.
+              # If this value is not known, it should be omitted (rather than specifying a
+              # possibly incorrect default).
+              #
+              # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+          &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+              # in most regions. Where it is used, the value is either a string like
+              # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+              # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+              # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+          &quot;recipients&quot;: [ # Optional. The recipient at the address.
+              # This field may, under certain circumstances, contain multiline information.
+              # For example, it might contain &quot;care of&quot; information.
+            &quot;A String&quot;,
+          ],
+          &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+              # For example, this can be neighborhoods, boroughs, districts.
+        },
+        &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+            # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+            # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+            # LocationType#LOCALITY.
+        &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+            # location bounding box in which a circle with the specified radius
+            # centered from LatLng covers the area associated with the job location.
+            # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+            # 6.17 miles.
+        &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
         },
       },
     ],
-    "metadata": { # Output only. # Additional information for the API invocation, such as the request
+    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
         # tracking id.
         #
         # Additional information returned to client, such as debugging information.
-      "requestId": "A String", # A unique id associated with this call.
+      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
           # This id is logged for tracking purposes.
     },
+    &quot;histogramResults&quot;: { # Output only. # The histogram results that match specified
+        # SearchJobsRequest.histogram_facets.
+        #
+        # Histogram results that match HistogramFacets specified in
+        # SearchJobsRequest.
+      &quot;compensationHistogramResults&quot;: [ # Specifies compensation field-based histogram results that match
+          # HistogramFacets.compensation_histogram_requests.
+        { # Output only.
+            #
+            # Compensation based histogram result.
+          &quot;result&quot;: { # Output only. # Histogram result.
+              #
+              # Custom numeric bucketing result.
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                },
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+              },
+            ],
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Type of the request, corresponding to
+              # CompensationHistogramRequest.type.
+        },
+      ],
+      &quot;customAttributeHistogramResults&quot;: [ # Specifies histogram results for custom attributes that match
+          # HistogramFacets.custom_attribute_histogram_facets.
+        { # Output only.
+            #
+            # Custom attribute histogram result.
+          &quot;longValueHistogramResult&quot;: { # Output only. # Stores bucketed histogram counting result or min/max values for
+              # custom attribute long values associated with `key`.
+              #
+              # Custom numeric bucketing result.
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                },
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+              },
+            ],
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;stringValueHistogramResult&quot;: { # Stores a map from the values of string custom field associated
+              # with `key` to the number of jobs with that value in this histogram result.
+            &quot;a_key&quot;: 42,
+          },
+          &quot;key&quot;: &quot;A String&quot;, # Stores the key of custom attribute the histogram is performed on.
+        },
+      ],
+      &quot;simpleHistogramResults&quot;: [ # Specifies histogram results that matches
+          # HistogramFacets.simple_histogram_facets.
+        { # Output only.
+            #
+            # Result of a histogram call. The response contains the histogram map for the
+            # search type specified by HistogramResult.field.
+            # The response is a map of each filter value to the corresponding count of
+            # jobs for that filter.
+          &quot;values&quot;: { # A map from the values of field to the number of jobs with that value
+              # in this search result.
+              #
+              # Key: search type (filter names, such as the companyName).
+              #
+              # Values: the count of jobs that match the filter for this search.
+            &quot;a_key&quot;: 42,
+          },
+          &quot;searchType&quot;: &quot;A String&quot;, # The Histogram search filters.
+        },
+      ],
+    },
+    &quot;matchingJobs&quot;: [ # The Job entities that match the specified SearchJobsRequest.
+      { # Output only.
+          #
+          # Job entry with metadata inside SearchJobsResponse.
+        &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Job resource that matches the specified SearchJobsRequest.
+            # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
+            # entity responsible for the job.
+          &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+          &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+              #
+              # Location(s) where the employer is looking to hire for this job posting.
+              #
+              # Specifying the full street address(es) of the hiring location enables
+              # better API results, especially job searches by commute time.
+              #
+              # At most 50 locations are allowed for best search performance. If a job has
+              # more locations, it is suggested to split it into multiple jobs with unique
+              # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+              # multiple jobs with the same company_name, language_code and
+              # requisition_id are not allowed. If the original requisition_id must
+              # be preserved, a custom field should be used for storage. It is also
+              # suggested to group the locations that close to each other in the same job
+              # for better search experience.
+              #
+              # The maximum number of allowed characters is 500.
+            &quot;A String&quot;,
+          ],
+          &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+              # &quot;projects/api-test-project/companies/foo&quot;.
+          &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+              # description of the company and related information. Separate fields are
+              # provided on the job object for responsibilities,
+              # qualifications, and other job characteristics. Use of
+              # these separate job fields is recommended.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 100,000.
+          &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+              # is used for contracting engagements. Invalid timestamps are ignored.
+          &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+            &quot;A String&quot;,
+          ],
+          &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+            &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+                # base compensation entry&#x27;s CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+            &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+                # all compensation entries&#x27; CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              },
+            },
+            &quot;entries&quot;: [ # Optional. Job compensation information.
+                #
+                # At most one entry can be of type
+                # CompensationInfo.CompensationType.BASE, which is
+                # referred as ** base compensation entry ** for the job.
+              { # A compensation entry that represents one component of compensation, such
+                  # as base pay, bonus, or other compensation type.
+                  #
+                  # Annualization: One compensation entry can be annualized if
+                  # - it contains valid amount or range.
+                  # - and its expected_units_per_year is set or can be derived.
+                  # Its annualized range is determined as (amount or range) times
+                  # expected_units_per_year.
+                &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+                  &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                      # to a maximal compensation value and the currency code is set to
+                      # match the currency code of
+                      # min_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  },
+                  &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                      # to zero and the currency code is set to match the
+                      # currency code of max_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+                &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                    # Job.employment_types is FULLTIME, a default value is inferred
+                    # based on unit. Default values:
+                    # - HOURLY: 2080
+                    # - DAILY: 260
+                    # - WEEKLY: 52
+                    # - MONTHLY: 12
+                    # - ANNUAL: 1
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                    # indicate equity terms or provide additional context to an estimated
+                    # bonus.
+                &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                },
+                &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+              },
+            ],
+          },
+          &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+              # recommended as an alternative to using the more general description
+              # field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+              # position.
+              #
+              # The maximum number of allowed characters is 255.
+          &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
+              #
+              # Job application information.
+            &quot;uris&quot;: [ # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this URI field to direct an applicant to a website, for example to
+                # link to an online application form.
+                #
+                # The maximum number of allowed characters for each entry is 2,000.
+              &quot;A String&quot;,
+            ],
+            &quot;emails&quot;: [ # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this field to specify email address(es) to which resumes or
+                # applications can be sent.
+                #
+                # The maximum number of allowed characters for each entry is 255.
+              &quot;A String&quot;,
+            ],
+            &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this field to provide instructions, such as &quot;Mail your application
+                # to ...&quot;, that a candidate can follow to apply for the job.
+                #
+                # This field accepts and sanitizes HTML input, and also accepts
+                # bold, italic, ordered list, and unordered list markup tags.
+                #
+                # The maximum number of allowed characters is 3,000.
+          },
+          &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
+              # experience.
+              #
+              # The expiration timestamp of the job. After this timestamp, the
+              # job is marked as expired, and it no longer appears in search results. The
+              # expired job can&#x27;t be deleted or listed by the DeleteJob and
+              # ListJobs APIs, but it can be retrieved with the GetJob API or
+              # updated with the UpdateJob API. An expired job can be updated and
+              # opened again by using a future expiration timestamp. Updating an expired
+              # job fails if there is another existing open job with same company_name,
+              # language_code and requisition_id.
+              #
+              # The expired jobs are retained in our system for 90 days. However, the
+              # overall expired job count cannot exceed 3 times the maximum of open jobs
+              # count over the past week, otherwise jobs with earlier expire time are
+              # cleaned first. Expired jobs are no longer accessible after they are cleaned
+              # out.
+              #
+              # Invalid timestamps are ignored, and treated as expire time not provided.
+              #
+              # Timestamp before the instant request is made is considered valid, the job
+              # will be treated as expired immediately.
+              #
+              # If this value is not provided at the time of job creation or is invalid,
+              # the job posting expires after 30 days from the job&#x27;s creation time. For
+              # example, if the job was created on 2017/01/01 13:00AM UTC with an
+              # unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
+              #
+              # If this value is not provided on job update, it depends on the field masks
+              # set by UpdateJobRequest.update_mask. If the field masks include
+              # expiry_time, or the masks are empty meaning that every field is
+              # updated, the job posting expires after 30 days from the job&#x27;s last
+              # update time. Otherwise the expiration date isn&#x27;t updated.
+          &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
+              # the job is available. If this field is set, a
+              # LocationFilter in a search query within the job region
+              # finds this job posting if an exact location match isn&#x27;t specified.
+              # If this field is set to PostingRegion.NATION or
+              # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
+              # to the same location level as this field is strongly recommended.
+          &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+              # value is the time the request arrives at the server. Invalid timestamps are
+              # ignored.
+          &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+              # attributes that are not covered by the provided structured fields.
+              #
+              # The keys of the map are strings up to 64 bytes and must match the
+              # pattern: a-zA-Z*. For example, key0LikeThis or
+              # KEY_1_LIKE_THIS.
+              #
+              # At most 100 filterable and at most 100 unfilterable keys are supported.
+              # For filterable `string_values`, across all keys at most 200 values are
+              # allowed, with each string no more than 255 characters. For unfilterable
+              # `string_values`, the maximum total size of `string_values` across all keys
+              # is 50KB.
+            &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+              &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+                  # custom attribute filters JobQuery.custom_attribute_filter.
+                  # If false, these values may not be used for custom attribute filters.
+                  #
+                  # Default is false.
+              &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform number range search.
+                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+                  #
+                  # Currently at most 1 long_values is supported.
+                &quot;A String&quot;,
+              ],
+              &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+                  # `CASE_INSENSITIVE_MATCH`) search.
+                  # For filterable `string_value`s, a maximum total number of 200 values
+                  # is allowed, with each `string_value` has a byte size of no more than
+                  # 500B. For unfilterable `string_values`, the maximum total byte size of
+                  # unfilterable `string_values` is 50KB.
+                  #
+                  # Empty string is not allowed.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
+              # any requirements for fluency that are associated with the job.
+              #
+              # Language codes must be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+              # For more information, see
+              # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+              # class=&quot;external&quot; target=&quot;_blank&quot; }.
+              #
+              # If this field is unspecified and Job.description is present, detected
+              # language code based on Job.description is assigned, otherwise
+              # defaults to &#x27;en_US&#x27;.
+          &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+          &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+              #
+              # The visibility of the job.
+              #
+              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+          &quot;name&quot;: &quot;A String&quot;, # Required during job update.
+              #
+              # The resource name for the job. This is generated by the service when a
+              # job is created.
+              #
+              # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+              # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+              #
+              # Use of this field in job queries and API calls is preferred over the use of
+              # requisition_id since this value is unique.
+          &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+            &quot;A String&quot;,
+          ],
+          &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+              # The value determines the sort order of the jobs returned when searching for
+              # jobs using the featured jobs search call, with higher promotional values
+              # being returned first and ties being resolved by relevance sort. Only the
+              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+              #
+              # Default value is 0, and negative values are treated as 0.
+          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+              #
+              # The maximum number of allowed characters is 500.
+          &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
+          &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+              # client to identify a job. This field is intended to be used by clients
+              # for client identification and tracking of postings. A job is not allowed
+              # to be created if there is another job with the same [company_name],
+              # language_code and requisition_id.
+              #
+              # The maximum number of allowed characters is 255.
+          &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+              # job. The use of this field is recommended
+              # as an alternative to using the more general description field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+              #
+              # Options for job processing.
+            &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+                #
+                # * description
+                # * applicationInfo.instruction
+                # * incentives
+                # * qualifications
+                # * responsibilities
+                #
+                # HTML tags in these fields may be stripped if sanitiazation is not
+                # disabled.
+                #
+                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+            &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+                # more precise address for the job.
+          },
+          &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+              # engagements. Invalid timestamps are ignored.
+          &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
+              #
+              # Derived details about the job posting.
+            &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+                #
+                # locations are exactly matched to Job.addresses in the same
+                # order.
+              { # Output only.
+                  #
+                  # A resource that represents a location with full geographic information.
+                &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                    # such as postal delivery and payments addresses. Given a postal address,
+                    # a postal service can deliver items to a premises, P.O. Box, or other
+                    # delivery location.
+                    # Given a postal address, a postal service can deliver items to a premise, P.O.
+                    # Box or similar.
+                    # It is not intended to model geographical locations (roads, towns,
+                    # mountains).
+                    #
+                    # In typical usage an address would be created via user input or from importing
+                    # existing data, depending on the type of process.
+                    #
+                    # Advice on address input / editing:
+                    #  - Use an i18n-ready address widget such as
+                    #    https://github.com/google/libaddressinput)
+                    # - Users should not be presented with UI elements for input or editing of
+                    #   fields outside countries where that field is used.
+                    #
+                    # For more guidance on how to use this schema, please see:
+                    # https://support.google.com/business/answer/6397478
+                  &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                      # the latest revision.
+                      #
+                      # All new revisions **must** be backward compatible with old revisions.
+                  &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                      # Examples: US city, IT comune, UK post town.
+                      # In regions of the world where localities are not well defined or do not fit
+                      # into this structure well, leave locality empty and use address_lines.
+                  &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                      # addresses of a country or region.
+                      # For example, this can be a state, a province, an oblast, or a prefecture.
+                      # Specifically, for Spain this is the province and not the autonomous
+                      # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                      # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                      # in Switzerland this should be left unpopulated.
+                  &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+                  &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                      # is never inferred and it is up to the user to ensure the value is
+                      # correct. See http://cldr.unicode.org/ and
+                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                      # for details. Example: &quot;CH&quot; for Switzerland.
+                  &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                      #
+                      # Because values in address_lines do not have type information and may
+                      # sometimes contain multiple values in a single field (e.g.
+                      # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                      # address lines should be &quot;envelope order&quot; for the country/region of the
+                      # address. In places where this can vary (e.g. Japan), address_language is
+                      # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                      # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                      # an address can be selected based on the language.
+                      #
+                      # The minimum permitted structural representation of an address consists
+                      # of a region_code with all remaining information placed in the
+                      # address_lines. It would be possible to format such an address very
+                      # approximately without geocoding, but no semantic reasoning could be
+                      # made about any of the address components until it was at least
+                      # partially resolved.
+                      #
+                      # Creating an address only containing a region_code and address_lines, and
+                      # then geocoding is the recommended way to handle completely unstructured
+                      # addresses (as opposed to guessing which parts of the address should be
+                      # localities or administrative areas).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                      # postal codes to be present, but where they are used, they may trigger
+                      # additional validation with other parts of the address (e.g. state/zip
+                      # validation in the U.S.A.).
+                  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                      # known). This is often the UI language of the input form or is expected
+                      # to match one of the languages used in the address&#x27; country/region, or their
+                      # transliterated equivalents.
+                      # This can affect formatting in certain countries, but is not critical
+                      # to the correctness of the data and will never affect any validation or
+                      # other non-formatting related operations.
+                      #
+                      # If this value is not known, it should be omitted (rather than specifying a
+                      # possibly incorrect default).
+                      #
+                      # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+                  &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                      # in most regions. Where it is used, the value is either a string like
+                      # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                      # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                      # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+                  &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                      # This field may, under certain circumstances, contain multiline information.
+                      # For example, it might contain &quot;care of&quot; information.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                      # For example, this can be neighborhoods, boroughs, districts.
+                },
+                &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                    # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                    # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                    # LocationType#LOCALITY.
+                &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                    # location bounding box in which a circle with the specified radius
+                    # centered from LatLng covers the area associated with the job location.
+                    # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                    # 6.17 miles.
+                &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            ],
+            &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+              # full time or
+              # part time.
+            &quot;A String&quot;,
+          ],
+          &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+              # incentives associated with the job not including salary or pay.
+              #
+              # The maximum number of allowed characters is 10,000.
+        },
+        &quot;searchTextSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.description and similar
+            # fields that most closely match a search query&#x27;s keywords, if available.
+            # All HTML tags in the original fields are stripped when returned in this
+            # field, and matching query keywords are enclosed in HTML bold tags.
+        &quot;jobTitleSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.job_title field most
+            # closely matching a search query&#x27;s keywords, if available. The matching
+            # query keywords are enclosed in HTML bold tags.
+        &quot;jobSummary&quot;: &quot;A String&quot;, # A summary of the job with core information that&#x27;s displayed on the search
+            # results listing page.
+        &quot;commuteInfo&quot;: { # Output only. # Commute information which is generated based on specified
+            #  CommuteFilter.
+            #
+            # Commute details related to this job.
+          &quot;travelDuration&quot;: &quot;A String&quot;, # The number of seconds required to travel to the job location from the
+              # query location. A duration of 0 seconds indicates that the job is not
+              # reachable within the requested duration, but was returned as part of an
+              # expanded query.
+          &quot;jobLocation&quot;: { # Output only. # Location used as the destination in the commute calculation.
+              #
+              # A resource that represents a location with full geographic information.
+            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                # such as postal delivery and payments addresses. Given a postal address,
+                # a postal service can deliver items to a premises, P.O. Box, or other
+                # delivery location.
+                # Given a postal address, a postal service can deliver items to a premise, P.O.
+                # Box or similar.
+                # It is not intended to model geographical locations (roads, towns,
+                # mountains).
+                #
+                # In typical usage an address would be created via user input or from importing
+                # existing data, depending on the type of process.
+                #
+                # Advice on address input / editing:
+                #  - Use an i18n-ready address widget such as
+                #    https://github.com/google/libaddressinput)
+                # - Users should not be presented with UI elements for input or editing of
+                #   fields outside countries where that field is used.
+                #
+                # For more guidance on how to use this schema, please see:
+                # https://support.google.com/business/answer/6397478
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
+                  #
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                  # Examples: US city, IT comune, UK post town.
+                  # In regions of the world where localities are not well defined or do not fit
+                  # into this structure well, leave locality empty and use address_lines.
+              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                  # addresses of a country or region.
+                  # For example, this can be a state, a province, an oblast, or a prefecture.
+                  # Specifically, for Spain this is the province and not the autonomous
+                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                  # in Switzerland this should be left unpopulated.
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
+              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                  #
+                  # Because values in address_lines do not have type information and may
+                  # sometimes contain multiple values in a single field (e.g.
+                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                  # address lines should be &quot;envelope order&quot; for the country/region of the
+                  # address. In places where this can vary (e.g. Japan), address_language is
+                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                  # an address can be selected based on the language.
+                  #
+                  # The minimum permitted structural representation of an address consists
+                  # of a region_code with all remaining information placed in the
+                  # address_lines. It would be possible to format such an address very
+                  # approximately without geocoding, but no semantic reasoning could be
+                  # made about any of the address components until it was at least
+                  # partially resolved.
+                  #
+                  # Creating an address only containing a region_code and address_lines, and
+                  # then geocoding is the recommended way to handle completely unstructured
+                  # addresses (as opposed to guessing which parts of the address should be
+                  # localities or administrative areas).
+                &quot;A String&quot;,
+              ],
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                  # postal codes to be present, but where they are used, they may trigger
+                  # additional validation with other parts of the address (e.g. state/zip
+                  # validation in the U.S.A.).
+              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                  # known). This is often the UI language of the input form or is expected
+                  # to match one of the languages used in the address&#x27; country/region, or their
+                  # transliterated equivalents.
+                  # This can affect formatting in certain countries, but is not critical
+                  # to the correctness of the data and will never affect any validation or
+                  # other non-formatting related operations.
+                  #
+                  # If this value is not known, it should be omitted (rather than specifying a
+                  # possibly incorrect default).
+                  #
+                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
+            },
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                # LocationType#LOCALITY.
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+        },
+      },
+    ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token that specifies the starting position of the next page of results.
+        # This field is empty if there are no more results.
+    &quot;spellCorrection&quot;: { # Output only. # The spell checking result, and correction.
+        #
+        # Spell check result.
+      &quot;corrected&quot;: True or False, # Indicates if the query was corrected by the spell checker.
+      &quot;correctedText&quot;: &quot;A String&quot;, # Correction output consisting of the corrected keyword string.
+    },
+    &quot;broadenedQueryJobsCount&quot;: 42, # If query broadening is enabled, we may append additional results from the
+        # broadened query. This number indicates how many of the jobs returned in the
+        # jobs field are from the broadened query. These results are always at the
+        # end of the jobs list. In particular, a value of 0, or if the field isn&#x27;t
+        # set, all the jobs in the jobs list are from the original
+        # (without broadening) query. If this field is non-zero, subsequent requests
+        # with offset after this result set should contain all broadened results.
+    &quot;estimatedTotalSize&quot;: 42, # An estimation of the number of jobs that match the specified query.
+        #
+        # This number is not guaranteed to be accurate. For accurate results,
+        # see enable_precise_result_size.
+    &quot;histogramQueryResults&quot;: [ # The histogram results that match with specified
+        # SearchJobsRequest.histogram_queries.
+      { # Output only.
+          #
+          # Histogram result that matches HistogramSpec specified in searches.
+        &quot;histogram&quot;: { # A map from the values of the facet associated with distinct values to the
+            # number of matching entries with corresponding value.
+            #
+            # The key format is:
+            # * (for string histogram) string values stored in the field.
+            # * (for named numeric bucket) name specified in `bucket()` function, like
+            #   for `bucket(0, MAX, &quot;non-negative&quot;)`, the key will be `non-negative`.
+            # * (for anonymous numeric bucket) range formatted as `&lt;low&gt;-&lt;high&gt;`, for
+            # example, `0-1000`, `MIN-0`, and `0-MAX`.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;histogramQuery&quot;: &quot;A String&quot;, # Requested histogram expression.
+      },
+    ],
+    &quot;totalSize&quot;: 42, # The precise result count, which is available only if the client set
+        # enable_precise_result_size to `true`, or if the response
+        # is the last page of results. Otherwise, the value is `-1`.
   }</pre>
 </div>
 
@@ -6634,7 +6642,7 @@
   previous_response: The response from the request for the previous page. (required)
 
 Returns:
-  A request object that you can call 'execute()' on to request the next
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -6648,7 +6656,7 @@
   previous_response: The response from the request for the previous page. (required)
 
 Returns:
-  A request object that you can call 'execute()' on to request the next
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>