Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/jobs_v3.projects.jobs.html b/docs/dyn/jobs_v3.projects.jobs.html
new file mode 100644
index 0000000..6b5e7e8
--- /dev/null
+++ b/docs/dyn/jobs_v3.projects.jobs.html
@@ -0,0 +1,7150 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="jobs_v3.html">Cloud Talent Solution API</a> . <a href="jobs_v3.projects.html">projects</a> . <a href="jobs_v3.projects.jobs.html">jobs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchDelete">batchDelete(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a list of Jobs by filter.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new job.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the specified job.</p>
+<p class="toc_element">
+  <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>
+<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>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates specified job.</p>
+<p class="toc_element">
+  <code><a href="#search">search(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Searches for jobs using the provided SearchJobsRequest.</p>
+<p class="toc_element">
+  <code><a href="#searchForAlert">searchForAlert(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Searches for jobs using the provided SearchJobsRequest.</p>
+<p class="toc_element">
+  <code><a href="#searchForAlert_next">searchForAlert_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#search_next">search_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchDelete">batchDelete(parent, body, x__xgafv=None)</code>
+  <pre>Deletes a list of 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)
+  body: object, The request body. (required)
+    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.
+        # 
+        # Supported operator: =, AND
+        # 
+        # The fields eligible for filtering are:
+        # 
+        # * `companyName` (Required)
+        # * `requisitionId` (Required)
+        # 
+        # Sample Query: companyName = "projects/api-test-project/companies/123" AND
+        # requisitionId = "req-1"
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Creates a new job.
+
+Typically, the job becomes searchable within 10 seconds, but it may take
+up to 5 minutes.
+
+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)
+  body: object, The request body. (required)
+    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
+        # 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.
+      "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 >0 are returned in a FEATURED_JOB_SEARCH.
+          #
+          # Default value is 0, and negative values are treated as 0.
+      "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.
+      "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.
+      "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+      "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.
+        "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",
+        ],
+        "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",
+        ],
+      },
+      "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.
+            "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.
+            "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.
+            "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
+                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                # standard</a>. 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/googlei18n/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", # Optional.
+          #
+          # 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.
+      "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.
+      },
+      "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
+              # 255B. 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".
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+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
+      # 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.
+    "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 >0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    "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.
+    "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.
+    "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+    "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.
+      "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",
+      ],
+      "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",
+      ],
+    },
+    "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.
+          "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.
+          "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.
+          "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
+              # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+              # standard</a>. 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/googlei18n/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", # Optional.
+        #
+        # 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.
+    "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.
+    },
+    "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
+            # 255B. 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="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes the specified job.
+
+Typically, the job becomes unsearchable within 10 seconds, but it may take
+up to 5 minutes.
+
+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)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Retrieves the specified job, whose status is OPEN or recently EXPIRED
+within the last 90 days.
+
+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)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+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
+      # 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.
+    "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 >0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    "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.
+    "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.
+    "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+    "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.
+      "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",
+      ],
+      "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",
+      ],
+    },
+    "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.
+          "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.
+          "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.
+          "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
+              # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+              # standard</a>. 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/googlei18n/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", # Optional.
+        #
+        # 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.
+    "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.
+    },
+    "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
+            # 255B. 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>
+  <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 < 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.
+  filter: string, Required.
+
+The filter string specifies the jobs to be enumerated.
+
+Supported operator: =, AND
+
+The fields eligible for filtering are:
+
+* `companyName` (Required)
+* `requisitionId` (Optional)
+
+Sample Query:
+
+* companyName = "projects/api-test-project/companies/123"
+* companyName = "projects/api-test-project/companies/123" AND requisitionId
+= "req-1"
+
+Returns:
+  An object of the form:
+
+    { # Output only.
+      #
+      # List jobs response.
+    "nextPageToken": "A String", # A token to retrieve the next page of results.
+    "jobs": [ # 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
+          # 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.
+        "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 >0 are returned in a FEATURED_JOB_SEARCH.
+            #
+            # Default value is 0, and negative values are treated as 0.
+        "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.
+        "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.
+        "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+                  "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.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "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.
+                  "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.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+        "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.
+          "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",
+          ],
+          "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",
+          ],
+        },
+        "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.
+              "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.
+              "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.
+              "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
+                  # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                  # standard</a>. 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/googlei18n/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", # Optional.
+            #
+            # 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.
+        "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.
+        },
+        "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
+                # 255B. 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>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  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
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body, x__xgafv=None)</code>
+  <pre>Updates specified job.
+
+Typically, updated contents become visible in search results within 10
+seconds, but it may take up to 5 minutes.
+
+Args:
+  name: 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. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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
+        # 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.
+      "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 >0 are returned in a FEATURED_JOB_SEARCH.
+          #
+          # Default value is 0, and negative values are treated as 0.
+      "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.
+      "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.
+      "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+      "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.
+        "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",
+        ],
+        "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",
+        ],
+      },
+      "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.
+            "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.
+            "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.
+            "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
+                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                # standard</a>. 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/googlei18n/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", # Optional.
+          #
+          # 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.
+      "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.
+      },
+      "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
+              # 255B. 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
+        # experience.
+        # 
+        # If update_mask is provided, only the specified fields in
+        # job are updated. Otherwise all the fields are updated.
+        # 
+        # A field mask to restrict the fields that are updated. Only
+        # top level fields of Job are supported.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+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
+      # 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.
+    "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 >0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    "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.
+    "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.
+    "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+          "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.
+          "units": "A String", # The whole units of the amount.
+              # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+          "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+              "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.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+    "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.
+      "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",
+      ],
+      "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",
+      ],
+    },
+    "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.
+          "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.
+          "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.
+          "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
+              # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+              # standard</a>. 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/googlei18n/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", # Optional.
+        #
+        # 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.
+    "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.
+    },
+    "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
+            # 255B. 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="search">search(parent, body, x__xgafv=None)</code>
+  <pre>Searches for jobs using the provided SearchJobsRequest.
+
+This call constrains the visibility of jobs
+present in the database, and only returns jobs that the caller has
+permission to search against.
+
+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)
+  body: object, The request body. (required)
+    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.
+    "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.
+        # 
+        # Defaults to DiversificationLevel.SIMPLE if no value
+        # is specified.
+    "disableKeywordMatch": 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.
+        # 
+        # 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.
+        # 
+        # Please use Company.keyword_searchable_custom_fields or
+        # Company.keyword_searchable_custom_attributes if company specific
+        # globally matched custom field/attribute string values is needed. Enabling
+        # 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.
+        #
+        # The query required to perform a search query.
+      "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: `=`, `!=`, `<`, `<=`, `>`, and `>=` 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 < 3000 bytes in length.
+          #
+          # Sample Query:
+          # `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
+          # driving_years > 10`
+      "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",
+      ],
+      "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.
+      "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.
+      },
+      "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.
+        "roadTraffic": "A String", # Optional.
+            #
+            # Specifies the traffic density to use when calculating commute time.
+        "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`.
+          "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.
+          "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.
+          "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+          "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+        },
+        "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
+            # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+            # standard</a>. 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.
+      },
+      "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
+          # 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 multiple values are specified, jobs are retrieved from any of the
+          # specified locations. If different values are specified for the
+          # LocationFilter.distance_in_miles parameter, the maximum provided
+          # distance is used for all locations.
+          #
+          # At most 5 location filters are allowed.
+        { # 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
+              # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+              # standard</a>. 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
+              # set location, specifically, telecommuting jobs (telecomuting is considered
+              # by the service as a special location.
+              # Job.posting_region indicates if a job permits telecommuting.
+              # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
+              # telecommuting jobs are searched, and address and lat_lng are
+              # ignored. If not set or set to
+              # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
+              # searched.
+              #
+              # 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
+              # 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".
+        },
+      ],
+      "compensationFilter": { # 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 > $15", only jobs meeting
+          # these criteria are searched. If a filter isn't defined, all open jobs
+          # are searched.
+          #
+          # Filter on job compensation type and amount.
+        "units": [ # Required.
+            #
+            # Specify desired `base compensation entry's`
+            # CompensationInfo.CompensationUnit.
+          "A String",
+        ],
+        "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "currencyCode": "A String", # 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.
+      },
+    },
+    "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.
+    "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`.
+        },
+      ],
+    },
+    "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.
+        # 
+        # Defaults to false.
+    "searchMode": "A String", # 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.
+    "requestMetadata": { # 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
+          # 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
+          # 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
+          # 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 <em>Foo, Inc.</em>, 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
+          # career site.
+          #
+          # If this field isn't available for some reason, send "UNKNOWN".
+          # 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.
+    },
+    "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.
+        # 
+        # 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.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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.
+    "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.
+          "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 >0 are returned in a FEATURED_JOB_SEARCH.
+              #
+              # Default value is 0, and negative values are treated as 0.
+          "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.
+          "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.
+          "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                    "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.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "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.
+                    "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.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "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.
+                  "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.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "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.
+          "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.
+            "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",
+            ],
+            "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",
+            ],
+          },
+          "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.
+                "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.
+                "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.
+                "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
+                    # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                    # standard</a>. 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/googlei18n/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", # Optional.
+              #
+              # 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.
+          "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.
+          },
+          "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
+                  # 255B. 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.
+            "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.
+            "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.
+            "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
+                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                # standard</a>. 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/googlei18n/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
+        # 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.
+        "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.
+        "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.
+        "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
+            # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+            # standard</a>. 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/googlei18n/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.
+        },
+      },
+    ],
+    "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>
+
+<div class="method">
+    <code class="details" id="searchForAlert">searchForAlert(parent, body, x__xgafv=None)</code>
+  <pre>Searches for jobs using the provided SearchJobsRequest.
+
+This API call is intended for the use case of targeting passive job
+seekers (for example, job seekers who have signed up to receive email
+alerts about potential job opportunities), and has different algorithmic
+adjustments that are targeted to passive job seekers.
+
+This call constrains the visibility of jobs
+present in the database, and only returns jobs the caller has
+permission to search against.
+
+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)
+  body: object, The request body. (required)
+    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.
+    "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.
+        # 
+        # Defaults to DiversificationLevel.SIMPLE if no value
+        # is specified.
+    "disableKeywordMatch": 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.
+        # 
+        # 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.
+        # 
+        # Please use Company.keyword_searchable_custom_fields or
+        # Company.keyword_searchable_custom_attributes if company specific
+        # globally matched custom field/attribute string values is needed. Enabling
+        # 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.
+        #
+        # The query required to perform a search query.
+      "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: `=`, `!=`, `<`, `<=`, `>`, and `>=` 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 < 3000 bytes in length.
+          #
+          # Sample Query:
+          # `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
+          # driving_years > 10`
+      "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",
+      ],
+      "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.
+      "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.
+      },
+      "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.
+        "roadTraffic": "A String", # Optional.
+            #
+            # Specifies the traffic density to use when calculating commute time.
+        "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`.
+          "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.
+          "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.
+          "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+          "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+        },
+        "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
+            # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+            # standard</a>. 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.
+      },
+      "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
+          # 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 multiple values are specified, jobs are retrieved from any of the
+          # specified locations. If different values are specified for the
+          # LocationFilter.distance_in_miles parameter, the maximum provided
+          # distance is used for all locations.
+          #
+          # At most 5 location filters are allowed.
+        { # 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
+              # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+              # standard</a>. 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
+              # set location, specifically, telecommuting jobs (telecomuting is considered
+              # by the service as a special location.
+              # Job.posting_region indicates if a job permits telecommuting.
+              # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
+              # telecommuting jobs are searched, and address and lat_lng are
+              # ignored. If not set or set to
+              # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
+              # searched.
+              #
+              # 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
+              # 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".
+        },
+      ],
+      "compensationFilter": { # 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 > $15", only jobs meeting
+          # these criteria are searched. If a filter isn't defined, all open jobs
+          # are searched.
+          #
+          # Filter on job compensation type and amount.
+        "units": [ # Required.
+            #
+            # Specify desired `base compensation entry's`
+            # CompensationInfo.CompensationUnit.
+          "A String",
+        ],
+        "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "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.
+            "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.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "currencyCode": "A String", # 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.
+      },
+    },
+    "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.
+    "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`.
+        },
+      ],
+    },
+    "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.
+        # 
+        # Defaults to false.
+    "searchMode": "A String", # 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.
+    "requestMetadata": { # 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
+          # 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
+          # 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
+          # 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 <em>Foo, Inc.</em>, 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
+          # career site.
+          #
+          # If this field isn't available for some reason, send "UNKNOWN".
+          # 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.
+    },
+    "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.
+        # 
+        # 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.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # 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.
+    "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.
+          "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 >0 are returned in a FEATURED_JOB_SEARCH.
+              #
+              # Default value is 0, and negative values are treated as 0.
+          "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.
+          "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.
+          "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                "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.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                "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.
+                    "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.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "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.
+                    "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.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "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.
+                  "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.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "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.
+          "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.
+            "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",
+            ],
+            "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",
+            ],
+          },
+          "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.
+                "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.
+                "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.
+                "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
+                    # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                    # standard</a>. 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/googlei18n/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", # Optional.
+              #
+              # 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.
+          "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.
+          },
+          "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
+                  # 255B. 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.
+            "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.
+            "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.
+            "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
+                # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+                # standard</a>. 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/googlei18n/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
+        # 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.
+        "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.
+        "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.
+        "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
+            # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+            # standard</a>. 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/googlei18n/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.
+        },
+      },
+    ],
+    "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>
+
+<div class="method">
+    <code class="details" id="searchForAlert_next">searchForAlert_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  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
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search_next">search_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  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
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file