From d302ff1fd1ae7f70858714137c990c8883cc3a54 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Fri, 11 May 2018 00:36:23 +0000 Subject: [PATCH] Autogenerated update (2018-05-11) Update: - androidpublisher_v2 - androidpublisher_v3 - cloudfunctions_v1 - cloudfunctions_v1beta2 - container_v1beta1 - ml_v1 - pubsub_v1 - pubsub_v1beta1a - pubsub_v1beta2 - surveys_v2 - youtube_partner_v1 --- api_names_out.yaml | 468 +++ generated/google/apis/androidpublisher_v2.rb | 2 +- .../apis/androidpublisher_v2/classes.rb | 64 +- .../androidpublisher_v2/representations.rb | 30 + .../apis/androidpublisher_v2/service.rb | 84 + generated/google/apis/androidpublisher_v3.rb | 2 +- .../apis/androidpublisher_v3/classes.rb | 68 +- .../androidpublisher_v3/representations.rb | 30 + .../apis/androidpublisher_v3/service.rb | 84 + generated/google/apis/cloudfunctions_v1.rb | 4 +- .../google/apis/cloudfunctions_v1/classes.rb | 7 + .../apis/cloudfunctions_v1/representations.rb | 1 + .../google/apis/cloudfunctions_v1/service.rb | 2 +- .../google/apis/cloudfunctions_v1beta2.rb | 4 +- .../apis/cloudfunctions_v1beta2/classes.rb | 7 + .../cloudfunctions_v1beta2/representations.rb | 1 + .../apis/cloudfunctions_v1beta2/service.rb | 2 +- generated/google/apis/container_v1beta1.rb | 2 +- .../google/apis/container_v1beta1/classes.rb | 66 + .../apis/container_v1beta1/representations.rb | 30 + .../google/apis/container_v1beta1/service.rb | 31 + generated/google/apis/jobs_v2.rb | 38 + generated/google/apis/jobs_v2/classes.rb | 3378 +++++++++++++++++ .../google/apis/jobs_v2/representations.rb | 1067 ++++++ generated/google/apis/jobs_v2/service.rb | 754 ++++ generated/google/apis/ml_v1.rb | 2 +- generated/google/apis/pubsub_v1.rb | 2 +- generated/google/apis/pubsub_v1beta1a.rb | 2 +- generated/google/apis/pubsub_v1beta2.rb | 2 +- generated/google/apis/surveys_v2.rb | 2 +- generated/google/apis/surveys_v2/classes.rb | 141 +- .../google/apis/surveys_v2/representations.rb | 38 - generated/google/apis/surveys_v2/service.rb | 106 - generated/google/apis/youtube_partner_v1.rb | 2 +- 34 files changed, 6238 insertions(+), 285 deletions(-) create mode 100644 generated/google/apis/jobs_v2.rb create mode 100644 generated/google/apis/jobs_v2/classes.rb create mode 100644 generated/google/apis/jobs_v2/representations.rb create mode 100644 generated/google/apis/jobs_v2/service.rb diff --git a/api_names_out.yaml b/api_names_out.yaml index 41fe6be22..31469ba56 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -6638,6 +6638,14 @@ "/androidpublisher:v2/AppEdit": app_edit "/androidpublisher:v2/AppEdit/expiryTimeSeconds": expiry_time_seconds "/androidpublisher:v2/AppEdit/id": id +"/androidpublisher:v2/Bundle": bundle +"/androidpublisher:v2/Bundle/sha1": sha1 +"/androidpublisher:v2/Bundle/sha256": sha256 +"/androidpublisher:v2/Bundle/versionCode": version_code +"/androidpublisher:v2/BundlesListResponse": bundles_list_response +"/androidpublisher:v2/BundlesListResponse/bundles": bundles +"/androidpublisher:v2/BundlesListResponse/bundles/bundle": bundle +"/androidpublisher:v2/BundlesListResponse/kind": kind "/androidpublisher:v2/Comment": comment "/androidpublisher:v2/Comment/developerComment": developer_comment "/androidpublisher:v2/Comment/userComment": user_comment @@ -6921,6 +6929,12 @@ "/androidpublisher:v2/androidpublisher.edits.apks.upload": upload_apk "/androidpublisher:v2/androidpublisher.edits.apks.upload/editId": edit_id "/androidpublisher:v2/androidpublisher.edits.apks.upload/packageName": package_name +"/androidpublisher:v2/androidpublisher.edits.bundles.list": list_edit_bundles +"/androidpublisher:v2/androidpublisher.edits.bundles.list/editId": edit_id +"/androidpublisher:v2/androidpublisher.edits.bundles.list/packageName": package_name +"/androidpublisher:v2/androidpublisher.edits.bundles.upload": upload_edit_bundle +"/androidpublisher:v2/androidpublisher.edits.bundles.upload/editId": edit_id +"/androidpublisher:v2/androidpublisher.edits.bundles.upload/packageName": package_name "/androidpublisher:v2/androidpublisher.edits.commit": commit_edit "/androidpublisher:v2/androidpublisher.edits.commit/editId": edit_id "/androidpublisher:v2/androidpublisher.edits.commit/packageName": package_name @@ -7138,6 +7152,14 @@ "/androidpublisher:v3/AppEdit": app_edit "/androidpublisher:v3/AppEdit/expiryTimeSeconds": expiry_time_seconds "/androidpublisher:v3/AppEdit/id": id +"/androidpublisher:v3/Bundle": bundle +"/androidpublisher:v3/Bundle/sha1": sha1 +"/androidpublisher:v3/Bundle/sha256": sha256 +"/androidpublisher:v3/Bundle/versionCode": version_code +"/androidpublisher:v3/BundlesListResponse": bundles_list_response +"/androidpublisher:v3/BundlesListResponse/bundles": bundles +"/androidpublisher:v3/BundlesListResponse/bundles/bundle": bundle +"/androidpublisher:v3/BundlesListResponse/kind": kind "/androidpublisher:v3/Comment": comment "/androidpublisher:v3/Comment/developerComment": developer_comment "/androidpublisher:v3/Comment/userComment": user_comment @@ -7369,6 +7391,12 @@ "/androidpublisher:v3/androidpublisher.edits.apks.upload": upload_edit_apk "/androidpublisher:v3/androidpublisher.edits.apks.upload/editId": edit_id "/androidpublisher:v3/androidpublisher.edits.apks.upload/packageName": package_name +"/androidpublisher:v3/androidpublisher.edits.bundles.list": list_edit_bundles +"/androidpublisher:v3/androidpublisher.edits.bundles.list/editId": edit_id +"/androidpublisher:v3/androidpublisher.edits.bundles.list/packageName": package_name +"/androidpublisher:v3/androidpublisher.edits.bundles.upload": upload_edit_bundle +"/androidpublisher:v3/androidpublisher.edits.bundles.upload/editId": edit_id +"/androidpublisher:v3/androidpublisher.edits.bundles.upload/packageName": package_name "/androidpublisher:v3/androidpublisher.edits.commit": commit_edit "/androidpublisher:v3/androidpublisher.edits.commit/editId": edit_id "/androidpublisher:v3/androidpublisher.edits.commit/packageName": package_name @@ -13845,6 +13873,7 @@ "/cloudfunctions:v1/CloudFunction/labels": labels "/cloudfunctions:v1/CloudFunction/labels/label": label "/cloudfunctions:v1/CloudFunction/name": name +"/cloudfunctions:v1/CloudFunction/runtime": runtime "/cloudfunctions:v1/CloudFunction/serviceAccountEmail": service_account_email "/cloudfunctions:v1/CloudFunction/sourceArchiveUrl": source_archive_url "/cloudfunctions:v1/CloudFunction/sourceRepository": source_repository @@ -13970,6 +13999,7 @@ "/cloudfunctions:v1beta2/CloudFunction/labels/label": label "/cloudfunctions:v1beta2/CloudFunction/latestOperation": latest_operation "/cloudfunctions:v1beta2/CloudFunction/name": name +"/cloudfunctions:v1beta2/CloudFunction/runtime": runtime "/cloudfunctions:v1beta2/CloudFunction/serviceAccount": service_account "/cloudfunctions:v1beta2/CloudFunction/sourceArchiveUrl": source_archive_url "/cloudfunctions:v1beta2/CloudFunction/sourceRepository": source_repository @@ -32114,6 +32144,10 @@ "/container:v1beta1/ListClustersResponse/clusters/cluster": cluster "/container:v1beta1/ListClustersResponse/missingZones": missing_zones "/container:v1beta1/ListClustersResponse/missingZones/missing_zone": missing_zone +"/container:v1beta1/ListLocationsResponse": list_locations_response +"/container:v1beta1/ListLocationsResponse/locations": locations +"/container:v1beta1/ListLocationsResponse/locations/location": location +"/container:v1beta1/ListLocationsResponse/nextPageToken": next_page_token "/container:v1beta1/ListNodePoolsResponse": list_node_pools_response "/container:v1beta1/ListNodePoolsResponse/nodePools": node_pools "/container:v1beta1/ListNodePoolsResponse/nodePools/node_pool": node_pool @@ -32126,6 +32160,10 @@ "/container:v1beta1/ListUsableSubnetworksResponse/nextPageToken": next_page_token "/container:v1beta1/ListUsableSubnetworksResponse/subnetworks": subnetworks "/container:v1beta1/ListUsableSubnetworksResponse/subnetworks/subnetwork": subnetwork +"/container:v1beta1/Location": location +"/container:v1beta1/Location/name": name +"/container:v1beta1/Location/recommended": recommended +"/container:v1beta1/Location/type": type "/container:v1beta1/MaintenancePolicy": maintenance_policy "/container:v1beta1/MaintenancePolicy/window": window "/container:v1beta1/MaintenanceWindow": maintenance_window @@ -32415,6 +32453,8 @@ "/container:v1beta1/container.projects.locations.getServerConfig/name": name "/container:v1beta1/container.projects.locations.getServerConfig/projectId": project_id "/container:v1beta1/container.projects.locations.getServerConfig/zone": zone +"/container:v1beta1/container.projects.locations.list": list_project_locations +"/container:v1beta1/container.projects.locations.list/parent": parent "/container:v1beta1/container.projects.locations.operations.cancel": cancel_project_location_operation "/container:v1beta1/container.projects.locations.operations.cancel/name": name "/container:v1beta1/container.projects.locations.operations.get": get_project_location_operation @@ -56923,6 +56963,434 @@ "/identitytoolkit:v3/key": key "/identitytoolkit:v3/quotaUser": quota_user "/identitytoolkit:v3/userIp": user_ip +"/jobs:v2/BatchDeleteJobsRequest": batch_delete_jobs_request +"/jobs:v2/BatchDeleteJobsRequest/filter": filter +"/jobs:v2/BucketRange": bucket_range +"/jobs:v2/BucketRange/from": from +"/jobs:v2/BucketRange/to": to +"/jobs:v2/BucketizedCount": bucketized_count +"/jobs:v2/BucketizedCount/count": count +"/jobs:v2/BucketizedCount/range": range +"/jobs:v2/CommuteInfo": commute_info +"/jobs:v2/CommuteInfo/jobLocation": job_location +"/jobs:v2/CommuteInfo/travelDuration": travel_duration +"/jobs:v2/CommutePreference": commute_preference +"/jobs:v2/CommutePreference/allowNonStreetLevelAddress": allow_non_street_level_address +"/jobs:v2/CommutePreference/departureHourLocal": departure_hour_local +"/jobs:v2/CommutePreference/method": method_prop +"/jobs:v2/CommutePreference/roadTraffic": road_traffic +"/jobs:v2/CommutePreference/startLocation": start_location +"/jobs:v2/CommutePreference/travelTime": travel_time +"/jobs:v2/Company": company +"/jobs:v2/Company/careerPageLink": career_page_link +"/jobs:v2/Company/companyInfoSources": company_info_sources +"/jobs:v2/Company/companyInfoSources/company_info_source": company_info_source +"/jobs:v2/Company/companySize": company_size +"/jobs:v2/Company/disableLocationOptimization": disable_location_optimization +"/jobs:v2/Company/displayName": display_name +"/jobs:v2/Company/distributorBillingCompanyId": distributor_billing_company_id +"/jobs:v2/Company/distributorCompanyId": distributor_company_id +"/jobs:v2/Company/eeoText": eeo_text +"/jobs:v2/Company/hiringAgency": hiring_agency +"/jobs:v2/Company/hqLocation": hq_location +"/jobs:v2/Company/imageUrl": image_url +"/jobs:v2/Company/keywordSearchableCustomAttributes": keyword_searchable_custom_attributes +"/jobs:v2/Company/keywordSearchableCustomAttributes/keyword_searchable_custom_attribute": keyword_searchable_custom_attribute +"/jobs:v2/Company/keywordSearchableCustomFields": keyword_searchable_custom_fields +"/jobs:v2/Company/keywordSearchableCustomFields/keyword_searchable_custom_field": keyword_searchable_custom_field +"/jobs:v2/Company/name": name +"/jobs:v2/Company/structuredCompanyHqLocation": structured_company_hq_location +"/jobs:v2/Company/suspended": suspended +"/jobs:v2/Company/title": title +"/jobs:v2/Company/website": website +"/jobs:v2/CompanyInfoSource": company_info_source +"/jobs:v2/CompanyInfoSource/freebaseMid": freebase_mid +"/jobs:v2/CompanyInfoSource/gplusId": gplus_id +"/jobs:v2/CompanyInfoSource/mapsCid": maps_cid +"/jobs:v2/CompanyInfoSource/unknownTypeId": unknown_type_id +"/jobs:v2/CompensationEntry": compensation_entry +"/jobs:v2/CompensationEntry/amount": amount +"/jobs:v2/CompensationEntry/description": description +"/jobs:v2/CompensationEntry/expectedUnitsPerYear": expected_units_per_year +"/jobs:v2/CompensationEntry/range": range +"/jobs:v2/CompensationEntry/type": type +"/jobs:v2/CompensationEntry/unit": unit +"/jobs:v2/CompensationFilter": compensation_filter +"/jobs:v2/CompensationFilter/includeJobsWithUnspecifiedCompensationRange": include_jobs_with_unspecified_compensation_range +"/jobs:v2/CompensationFilter/range": range +"/jobs:v2/CompensationFilter/type": type +"/jobs:v2/CompensationFilter/units": units +"/jobs:v2/CompensationFilter/units/unit": unit +"/jobs:v2/CompensationHistogramRequest": compensation_histogram_request +"/jobs:v2/CompensationHistogramRequest/bucketingOption": bucketing_option +"/jobs:v2/CompensationHistogramRequest/type": type +"/jobs:v2/CompensationHistogramResult": compensation_histogram_result +"/jobs:v2/CompensationHistogramResult/result": result +"/jobs:v2/CompensationHistogramResult/type": type +"/jobs:v2/CompensationInfo": compensation_info +"/jobs:v2/CompensationInfo/amount": amount +"/jobs:v2/CompensationInfo/annualizedBaseCompensationRange": annualized_base_compensation_range +"/jobs:v2/CompensationInfo/annualizedTotalCompensationRange": annualized_total_compensation_range +"/jobs:v2/CompensationInfo/entries": entries +"/jobs:v2/CompensationInfo/entries/entry": entry +"/jobs:v2/CompensationInfo/max": max +"/jobs:v2/CompensationInfo/min": min +"/jobs:v2/CompensationInfo/type": type +"/jobs:v2/CompensationRange": compensation_range +"/jobs:v2/CompensationRange/max": max +"/jobs:v2/CompensationRange/min": min +"/jobs:v2/CompleteQueryResponse": complete_query_response +"/jobs:v2/CompleteQueryResponse/completionResults": completion_results +"/jobs:v2/CompleteQueryResponse/completionResults/completion_result": completion_result +"/jobs:v2/CompleteQueryResponse/metadata": metadata +"/jobs:v2/CompletionResult": completion_result +"/jobs:v2/CompletionResult/imageUrl": image_url +"/jobs:v2/CompletionResult/suggestion": suggestion +"/jobs:v2/CompletionResult/type": type +"/jobs:v2/CreateJobRequest": create_job_request +"/jobs:v2/CreateJobRequest/disableStreetAddressResolution": disable_street_address_resolution +"/jobs:v2/CreateJobRequest/job": job +"/jobs:v2/CustomAttribute": custom_attribute +"/jobs:v2/CustomAttribute/filterable": filterable +"/jobs:v2/CustomAttribute/longValue": long_value +"/jobs:v2/CustomAttribute/stringValues": string_values +"/jobs:v2/CustomAttributeHistogramRequest": custom_attribute_histogram_request +"/jobs:v2/CustomAttributeHistogramRequest/key": key +"/jobs:v2/CustomAttributeHistogramRequest/longValueHistogramBucketingOption": long_value_histogram_bucketing_option +"/jobs:v2/CustomAttributeHistogramRequest/stringValueHistogram": string_value_histogram +"/jobs:v2/CustomAttributeHistogramResult": custom_attribute_histogram_result +"/jobs:v2/CustomAttributeHistogramResult/key": key +"/jobs:v2/CustomAttributeHistogramResult/longValueHistogramResult": long_value_histogram_result +"/jobs:v2/CustomAttributeHistogramResult/stringValueHistogramResult": string_value_histogram_result +"/jobs:v2/CustomAttributeHistogramResult/stringValueHistogramResult/string_value_histogram_result": string_value_histogram_result +"/jobs:v2/CustomField": custom_field +"/jobs:v2/CustomField/values": values +"/jobs:v2/CustomField/values/value": value +"/jobs:v2/CustomFieldFilter": custom_field_filter +"/jobs:v2/CustomFieldFilter/queries": queries +"/jobs:v2/CustomFieldFilter/queries/query": query +"/jobs:v2/CustomFieldFilter/type": type +"/jobs:v2/Date": date +"/jobs:v2/Date/day": day +"/jobs:v2/Date/month": month +"/jobs:v2/Date/year": year +"/jobs:v2/DeleteJobsByFilterRequest": delete_jobs_by_filter_request +"/jobs:v2/DeleteJobsByFilterRequest/disableFastProcess": disable_fast_process +"/jobs:v2/DeleteJobsByFilterRequest/filter": filter +"/jobs:v2/DeviceInfo": device_info +"/jobs:v2/DeviceInfo/deviceType": device_type +"/jobs:v2/DeviceInfo/id": id +"/jobs:v2/Empty": empty +"/jobs:v2/ExtendedCompensationFilter": extended_compensation_filter +"/jobs:v2/ExtendedCompensationFilter/compensationRange": compensation_range +"/jobs:v2/ExtendedCompensationFilter/compensationUnits": compensation_units +"/jobs:v2/ExtendedCompensationFilter/compensationUnits/compensation_unit": compensation_unit +"/jobs:v2/ExtendedCompensationFilter/currency": currency +"/jobs:v2/ExtendedCompensationFilter/includeJobWithUnspecifiedCompensationRange": include_job_with_unspecified_compensation_range +"/jobs:v2/ExtendedCompensationFilter/type": type +"/jobs:v2/ExtendedCompensationInfo": extended_compensation_info +"/jobs:v2/ExtendedCompensationInfo/annualizedBaseCompensationRange": annualized_base_compensation_range +"/jobs:v2/ExtendedCompensationInfo/annualizedBaseCompensationUnspecified": annualized_base_compensation_unspecified +"/jobs:v2/ExtendedCompensationInfo/annualizedTotalCompensationRange": annualized_total_compensation_range +"/jobs:v2/ExtendedCompensationInfo/annualizedTotalCompensationUnspecified": annualized_total_compensation_unspecified +"/jobs:v2/ExtendedCompensationInfo/currency": currency +"/jobs:v2/ExtendedCompensationInfo/entries": entries +"/jobs:v2/ExtendedCompensationInfo/entries/entry": entry +"/jobs:v2/ExtendedCompensationInfoCompensationEntry": extended_compensation_info_compensation_entry +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/amount": amount +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/description": description +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/expectedUnitsPerYear": expected_units_per_year +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/range": range +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/type": type +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/unit": unit +"/jobs:v2/ExtendedCompensationInfoCompensationEntry/unspecified": unspecified +"/jobs:v2/ExtendedCompensationInfoCompensationRange": extended_compensation_info_compensation_range +"/jobs:v2/ExtendedCompensationInfoCompensationRange/max": max +"/jobs:v2/ExtendedCompensationInfoCompensationRange/min": min +"/jobs:v2/ExtendedCompensationInfoDecimal": extended_compensation_info_decimal +"/jobs:v2/ExtendedCompensationInfoDecimal/micros": micros +"/jobs:v2/ExtendedCompensationInfoDecimal/units": units +"/jobs:v2/Filter": filter +"/jobs:v2/Filter/requisitionId": requisition_id +"/jobs:v2/GetHistogramRequest": get_histogram_request +"/jobs:v2/GetHistogramRequest/allowBroadening": allow_broadening +"/jobs:v2/GetHistogramRequest/filters": filters +"/jobs:v2/GetHistogramRequest/query": query +"/jobs:v2/GetHistogramRequest/requestMetadata": request_metadata +"/jobs:v2/GetHistogramRequest/searchTypes": search_types +"/jobs:v2/GetHistogramRequest/searchTypes/search_type": search_type +"/jobs:v2/GetHistogramResponse": get_histogram_response +"/jobs:v2/GetHistogramResponse/metadata": metadata +"/jobs:v2/GetHistogramResponse/results": results +"/jobs:v2/GetHistogramResponse/results/result": result +"/jobs:v2/HistogramFacets": histogram_facets +"/jobs:v2/HistogramFacets/compensationHistogramFacets": compensation_histogram_facets +"/jobs:v2/HistogramFacets/compensationHistogramFacets/compensation_histogram_facet": compensation_histogram_facet +"/jobs:v2/HistogramFacets/customAttributeHistogramFacets": custom_attribute_histogram_facets +"/jobs:v2/HistogramFacets/customAttributeHistogramFacets/custom_attribute_histogram_facet": custom_attribute_histogram_facet +"/jobs:v2/HistogramFacets/simpleHistogramFacets": simple_histogram_facets +"/jobs:v2/HistogramFacets/simpleHistogramFacets/simple_histogram_facet": simple_histogram_facet +"/jobs:v2/HistogramResult": histogram_result +"/jobs:v2/HistogramResult/searchType": search_type +"/jobs:v2/HistogramResult/values": values +"/jobs:v2/HistogramResult/values/value": value +"/jobs:v2/HistogramResults": histogram_results +"/jobs:v2/HistogramResults/compensationHistogramResults": compensation_histogram_results +"/jobs:v2/HistogramResults/compensationHistogramResults/compensation_histogram_result": compensation_histogram_result +"/jobs:v2/HistogramResults/customAttributeHistogramResults": custom_attribute_histogram_results +"/jobs:v2/HistogramResults/customAttributeHistogramResults/custom_attribute_histogram_result": custom_attribute_histogram_result +"/jobs:v2/HistogramResults/simpleHistogramResults": simple_histogram_results +"/jobs:v2/HistogramResults/simpleHistogramResults/simple_histogram_result": simple_histogram_result +"/jobs:v2/Job": job +"/jobs:v2/Job/applicationEmailList": application_email_list +"/jobs:v2/Job/applicationEmailList/application_email_list": application_email_list +"/jobs:v2/Job/applicationInstruction": application_instruction +"/jobs:v2/Job/applicationUrls": application_urls +"/jobs:v2/Job/applicationUrls/application_url": application_url +"/jobs:v2/Job/benefits": benefits +"/jobs:v2/Job/benefits/benefit": benefit +"/jobs:v2/Job/companyDisplayName": company_display_name +"/jobs:v2/Job/companyName": company_name +"/jobs:v2/Job/companyTitle": company_title +"/jobs:v2/Job/compensationInfo": compensation_info +"/jobs:v2/Job/createTime": create_time +"/jobs:v2/Job/customAttributes": custom_attributes +"/jobs:v2/Job/customAttributes/custom_attribute": custom_attribute +"/jobs:v2/Job/department": department +"/jobs:v2/Job/description": description +"/jobs:v2/Job/distributorCompanyId": distributor_company_id +"/jobs:v2/Job/educationLevels": education_levels +"/jobs:v2/Job/educationLevels/education_level": education_level +"/jobs:v2/Job/employmentTypes": employment_types +"/jobs:v2/Job/employmentTypes/employment_type": employment_type +"/jobs:v2/Job/endDate": end_date +"/jobs:v2/Job/expireTime": expire_time +"/jobs:v2/Job/expiryDate": expiry_date +"/jobs:v2/Job/extendedCompensationInfo": extended_compensation_info +"/jobs:v2/Job/filterableCustomFields": filterable_custom_fields +"/jobs:v2/Job/filterableCustomFields/filterable_custom_field": filterable_custom_field +"/jobs:v2/Job/incentives": incentives +"/jobs:v2/Job/jobLocations": job_locations +"/jobs:v2/Job/jobLocations/job_location": job_location +"/jobs:v2/Job/jobTitle": job_title +"/jobs:v2/Job/languageCode": language_code +"/jobs:v2/Job/level": level +"/jobs:v2/Job/locations": locations +"/jobs:v2/Job/locations/location": location +"/jobs:v2/Job/name": name +"/jobs:v2/Job/promotionValue": promotion_value +"/jobs:v2/Job/publishDate": publish_date +"/jobs:v2/Job/qualifications": qualifications +"/jobs:v2/Job/referenceUrl": reference_url +"/jobs:v2/Job/region": region +"/jobs:v2/Job/requisitionId": requisition_id +"/jobs:v2/Job/responsibilities": responsibilities +"/jobs:v2/Job/startDate": start_date +"/jobs:v2/Job/unindexedCustomFields": unindexed_custom_fields +"/jobs:v2/Job/unindexedCustomFields/unindexed_custom_field": unindexed_custom_field +"/jobs:v2/Job/updateTime": update_time +"/jobs:v2/Job/visibility": visibility +"/jobs:v2/JobFilters": job_filters +"/jobs:v2/JobFilters/categories": categories +"/jobs:v2/JobFilters/categories/category": category +"/jobs:v2/JobFilters/commuteFilter": commute_filter +"/jobs:v2/JobFilters/companyNames": company_names +"/jobs:v2/JobFilters/companyNames/company_name": company_name +"/jobs:v2/JobFilters/companyTitles": company_titles +"/jobs:v2/JobFilters/companyTitles/company_title": company_title +"/jobs:v2/JobFilters/compensationFilter": compensation_filter +"/jobs:v2/JobFilters/customAttributeFilter": custom_attribute_filter +"/jobs:v2/JobFilters/customFieldFilters": custom_field_filters +"/jobs:v2/JobFilters/customFieldFilters/custom_field_filter": custom_field_filter +"/jobs:v2/JobFilters/disableSpellCheck": disable_spell_check +"/jobs:v2/JobFilters/employmentTypes": employment_types +"/jobs:v2/JobFilters/employmentTypes/employment_type": employment_type +"/jobs:v2/JobFilters/extendedCompensationFilter": extended_compensation_filter +"/jobs:v2/JobFilters/languageCodes": language_codes +"/jobs:v2/JobFilters/languageCodes/language_code": language_code +"/jobs:v2/JobFilters/locationFilters": location_filters +"/jobs:v2/JobFilters/locationFilters/location_filter": location_filter +"/jobs:v2/JobFilters/publishDateRange": publish_date_range +"/jobs:v2/JobFilters/query": query +"/jobs:v2/JobFilters/tenantJobOnly": tenant_job_only +"/jobs:v2/JobLocation": job_location +"/jobs:v2/JobLocation/latLng": lat_lng +"/jobs:v2/JobLocation/locationType": location_type +"/jobs:v2/JobLocation/postalAddress": postal_address +"/jobs:v2/JobLocation/radiusMeters": radius_meters +"/jobs:v2/JobQuery": job_query +"/jobs:v2/JobQuery/categories": categories +"/jobs:v2/JobQuery/categories/category": category +"/jobs:v2/JobQuery/commuteFilter": commute_filter +"/jobs:v2/JobQuery/companyDisplayNames": company_display_names +"/jobs:v2/JobQuery/companyDisplayNames/company_display_name": company_display_name +"/jobs:v2/JobQuery/companyNames": company_names +"/jobs:v2/JobQuery/companyNames/company_name": company_name +"/jobs:v2/JobQuery/compensationFilter": compensation_filter +"/jobs:v2/JobQuery/customAttributeFilter": custom_attribute_filter +"/jobs:v2/JobQuery/disableSpellCheck": disable_spell_check +"/jobs:v2/JobQuery/employmentTypes": employment_types +"/jobs:v2/JobQuery/employmentTypes/employment_type": employment_type +"/jobs:v2/JobQuery/languageCodes": language_codes +"/jobs:v2/JobQuery/languageCodes/language_code": language_code +"/jobs:v2/JobQuery/locationFilters": location_filters +"/jobs:v2/JobQuery/locationFilters/location_filter": location_filter +"/jobs:v2/JobQuery/publishDateRange": publish_date_range +"/jobs:v2/JobQuery/query": query +"/jobs:v2/JobQuery/tenantJobOnly": tenant_job_only +"/jobs:v2/LatLng": lat_lng +"/jobs:v2/LatLng/latitude": latitude +"/jobs:v2/LatLng/longitude": longitude +"/jobs:v2/ListCompaniesResponse": list_companies_response +"/jobs:v2/ListCompaniesResponse/companies": companies +"/jobs:v2/ListCompaniesResponse/companies/company": company +"/jobs:v2/ListCompaniesResponse/metadata": metadata +"/jobs:v2/ListCompaniesResponse/nextPageToken": next_page_token +"/jobs:v2/ListCompanyJobsResponse": list_company_jobs_response +"/jobs:v2/ListCompanyJobsResponse/jobs": jobs +"/jobs:v2/ListCompanyJobsResponse/jobs/job": job +"/jobs:v2/ListCompanyJobsResponse/metadata": metadata +"/jobs:v2/ListCompanyJobsResponse/nextPageToken": next_page_token +"/jobs:v2/ListCompanyJobsResponse/totalSize": total_size +"/jobs:v2/ListJobsResponse": list_jobs_response +"/jobs:v2/ListJobsResponse/jobs": jobs +"/jobs:v2/ListJobsResponse/jobs/job": job +"/jobs:v2/ListJobsResponse/metadata": metadata +"/jobs:v2/ListJobsResponse/nextPageToken": next_page_token +"/jobs:v2/LocationFilter": location_filter +"/jobs:v2/LocationFilter/distanceInMiles": distance_in_miles +"/jobs:v2/LocationFilter/isTelecommute": is_telecommute +"/jobs:v2/LocationFilter/latLng": lat_lng +"/jobs:v2/LocationFilter/name": name +"/jobs:v2/LocationFilter/regionCode": region_code +"/jobs:v2/MatchingJob": matching_job +"/jobs:v2/MatchingJob/commuteInfo": commute_info +"/jobs:v2/MatchingJob/job": job +"/jobs:v2/MatchingJob/jobSummary": job_summary +"/jobs:v2/MatchingJob/jobTitleSnippet": job_title_snippet +"/jobs:v2/MatchingJob/searchTextSnippet": search_text_snippet +"/jobs:v2/Money": money +"/jobs:v2/Money/currencyCode": currency_code +"/jobs:v2/Money/nanos": nanos +"/jobs:v2/Money/units": units +"/jobs:v2/NumericBucketingOption": numeric_bucketing_option +"/jobs:v2/NumericBucketingOption/bucketBounds": bucket_bounds +"/jobs:v2/NumericBucketingOption/bucketBounds/bucket_bound": bucket_bound +"/jobs:v2/NumericBucketingOption/requiresMinMax": requires_min_max +"/jobs:v2/NumericBucketingResult": numeric_bucketing_result +"/jobs:v2/NumericBucketingResult/counts": counts +"/jobs:v2/NumericBucketingResult/counts/count": count +"/jobs:v2/NumericBucketingResult/maxValue": max_value +"/jobs:v2/NumericBucketingResult/minValue": min_value +"/jobs:v2/PostalAddress": postal_address +"/jobs:v2/PostalAddress/addressLines": address_lines +"/jobs:v2/PostalAddress/addressLines/address_line": address_line +"/jobs:v2/PostalAddress/administrativeArea": administrative_area +"/jobs:v2/PostalAddress/languageCode": language_code +"/jobs:v2/PostalAddress/locality": locality +"/jobs:v2/PostalAddress/organization": organization +"/jobs:v2/PostalAddress/postalCode": postal_code +"/jobs:v2/PostalAddress/recipients": recipients +"/jobs:v2/PostalAddress/recipients/recipient": recipient +"/jobs:v2/PostalAddress/regionCode": region_code +"/jobs:v2/PostalAddress/revision": revision +"/jobs:v2/PostalAddress/sortingCode": sorting_code +"/jobs:v2/PostalAddress/sublocality": sublocality +"/jobs:v2/RequestMetadata": request_metadata +"/jobs:v2/RequestMetadata/deviceInfo": device_info +"/jobs:v2/RequestMetadata/domain": domain +"/jobs:v2/RequestMetadata/sessionId": session_id +"/jobs:v2/RequestMetadata/userId": user_id +"/jobs:v2/ResponseMetadata": response_metadata +"/jobs:v2/ResponseMetadata/experimentIdList": experiment_id_list +"/jobs:v2/ResponseMetadata/experimentIdList/experiment_id_list": experiment_id_list +"/jobs:v2/ResponseMetadata/mode": mode +"/jobs:v2/ResponseMetadata/requestId": request_id +"/jobs:v2/SearchJobsRequest": search_jobs_request +"/jobs:v2/SearchJobsRequest/disableRelevanceThresholding": disable_relevance_thresholding +"/jobs:v2/SearchJobsRequest/enableBroadening": enable_broadening +"/jobs:v2/SearchJobsRequest/enablePreciseResultSize": enable_precise_result_size +"/jobs:v2/SearchJobsRequest/filters": filters +"/jobs:v2/SearchJobsRequest/histogramFacets": histogram_facets +"/jobs:v2/SearchJobsRequest/jobView": job_view +"/jobs:v2/SearchJobsRequest/mode": mode +"/jobs:v2/SearchJobsRequest/offset": offset +"/jobs:v2/SearchJobsRequest/orderBy": order_by +"/jobs:v2/SearchJobsRequest/pageSize": page_size +"/jobs:v2/SearchJobsRequest/pageToken": page_token +"/jobs:v2/SearchJobsRequest/query": query +"/jobs:v2/SearchJobsRequest/requestMetadata": request_metadata +"/jobs:v2/SearchJobsRequest/sortBy": sort_by +"/jobs:v2/SearchJobsResponse": search_jobs_response +"/jobs:v2/SearchJobsResponse/appliedCommuteFilter": applied_commute_filter +"/jobs:v2/SearchJobsResponse/appliedJobLocationFilters": applied_job_location_filters +"/jobs:v2/SearchJobsResponse/appliedJobLocationFilters/applied_job_location_filter": applied_job_location_filter +"/jobs:v2/SearchJobsResponse/estimatedTotalSize": estimated_total_size +"/jobs:v2/SearchJobsResponse/histogramResults": histogram_results +"/jobs:v2/SearchJobsResponse/jobView": job_view +"/jobs:v2/SearchJobsResponse/matchingJobs": matching_jobs +"/jobs:v2/SearchJobsResponse/matchingJobs/matching_job": matching_job +"/jobs:v2/SearchJobsResponse/metadata": metadata +"/jobs:v2/SearchJobsResponse/nextPageToken": next_page_token +"/jobs:v2/SearchJobsResponse/numJobsFromBroadenedQuery": num_jobs_from_broadened_query +"/jobs:v2/SearchJobsResponse/spellResult": spell_result +"/jobs:v2/SearchJobsResponse/totalSize": total_size +"/jobs:v2/SpellingCorrection": spelling_correction +"/jobs:v2/SpellingCorrection/corrected": corrected +"/jobs:v2/SpellingCorrection/correctedText": corrected_text +"/jobs:v2/StringValues": string_values +"/jobs:v2/StringValues/values": values +"/jobs:v2/StringValues/values/value": value +"/jobs:v2/UpdateJobRequest": update_job_request +"/jobs:v2/UpdateJobRequest/disableStreetAddressResolution": disable_street_address_resolution +"/jobs:v2/UpdateJobRequest/job": job +"/jobs:v2/UpdateJobRequest/updateJobFields": update_job_fields +"/jobs:v2/fields": fields +"/jobs:v2/jobs.companies.create": create_company +"/jobs:v2/jobs.companies.delete": delete_company +"/jobs:v2/jobs.companies.delete/name": name +"/jobs:v2/jobs.companies.get": get_company +"/jobs:v2/jobs.companies.get/name": name +"/jobs:v2/jobs.companies.jobs.list": list_company_jobs +"/jobs:v2/jobs.companies.jobs.list/companyName": company_name +"/jobs:v2/jobs.companies.jobs.list/idsOnly": ids_only +"/jobs:v2/jobs.companies.jobs.list/includeJobsCount": include_jobs_count +"/jobs:v2/jobs.companies.jobs.list/jobRequisitionId": job_requisition_id +"/jobs:v2/jobs.companies.jobs.list/pageSize": page_size +"/jobs:v2/jobs.companies.jobs.list/pageToken": page_token +"/jobs:v2/jobs.companies.list": list_companies +"/jobs:v2/jobs.companies.list/mustHaveOpenJobs": must_have_open_jobs +"/jobs:v2/jobs.companies.list/pageSize": page_size +"/jobs:v2/jobs.companies.list/pageToken": page_token +"/jobs:v2/jobs.companies.patch": patch_company +"/jobs:v2/jobs.companies.patch/name": name +"/jobs:v2/jobs.companies.patch/updateCompanyFields": update_company_fields +"/jobs:v2/jobs.complete/companyName": company_name +"/jobs:v2/jobs.complete/languageCode": language_code +"/jobs:v2/jobs.complete/pageSize": page_size +"/jobs:v2/jobs.complete/query": query +"/jobs:v2/jobs.complete/scope": scope +"/jobs:v2/jobs.complete/type": type +"/jobs:v2/jobs.jobs.batchDelete": batch_delete_jobs +"/jobs:v2/jobs.jobs.create": create_job +"/jobs:v2/jobs.jobs.delete": delete_job +"/jobs:v2/jobs.jobs.delete/disableFastProcess": disable_fast_process +"/jobs:v2/jobs.jobs.delete/name": name +"/jobs:v2/jobs.jobs.deleteByFilter": delete_job_by_filter +"/jobs:v2/jobs.jobs.get": get_job +"/jobs:v2/jobs.jobs.get/name": name +"/jobs:v2/jobs.jobs.histogram": histogram_job +"/jobs:v2/jobs.jobs.list": list_jobs +"/jobs:v2/jobs.jobs.list/filter": filter +"/jobs:v2/jobs.jobs.list/idsOnly": ids_only +"/jobs:v2/jobs.jobs.list/pageSize": page_size +"/jobs:v2/jobs.jobs.list/pageToken": page_token +"/jobs:v2/jobs.jobs.patch": patch_job +"/jobs:v2/jobs.jobs.patch/name": name +"/jobs:v2/jobs.jobs.search": search_jobs +"/jobs:v2/jobs.jobs.searchForAlert": search_job_for_alert +"/jobs:v2/key": key +"/jobs:v2/quotaUser": quota_user "/kgsearch:v1/SearchResponse": search_response "/kgsearch:v1/SearchResponse/@context": _context "/kgsearch:v1/SearchResponse/@type": _type diff --git a/generated/google/apis/androidpublisher_v2.rb b/generated/google/apis/androidpublisher_v2.rb index a9b91e421..21151aa73 100644 --- a/generated/google/apis/androidpublisher_v2.rb +++ b/generated/google/apis/androidpublisher_v2.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/android-publisher module AndroidpublisherV2 VERSION = 'V2' - REVISION = '20180501' + REVISION = '20180504' # View and manage your Google Play Developer account AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher' diff --git a/generated/google/apis/androidpublisher_v2/classes.rb b/generated/google/apis/androidpublisher_v2/classes.rb index abe9aac00..0b1778b2b 100644 --- a/generated/google/apis/androidpublisher_v2/classes.rb +++ b/generated/google/apis/androidpublisher_v2/classes.rb @@ -259,6 +259,66 @@ module Google end end + # + class Bundle + include Google::Apis::Core::Hashable + + # A sha1 hash of the upload payload, encoded as a hex string and matching the + # output of the sha1sum command. + # Corresponds to the JSON property `sha1` + # @return [String] + attr_accessor :sha1 + + # A sha256 hash of the upload payload, encoded as a hex string and matching the + # output of the sha256sum command. + # Corresponds to the JSON property `sha256` + # @return [String] + attr_accessor :sha256 + + # The version code of the Android App Bundle. As specified in the Android App + # Bundle's base module APK manifest file. + # Corresponds to the JSON property `versionCode` + # @return [Fixnum] + attr_accessor :version_code + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @sha1 = args[:sha1] if args.key?(:sha1) + @sha256 = args[:sha256] if args.key?(:sha256) + @version_code = args[:version_code] if args.key?(:version_code) + end + end + + # + class BundlesListResponse + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `bundles` + # @return [Array] + attr_accessor :bundles + + # Identifies what kind of resource this is. Value: the fixed string " + # androidpublisher#bundlesListResponse". + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bundles = args[:bundles] if args.key?(:bundles) + @kind = args[:kind] if args.key?(:kind) + end + end + # class Comment include Google::Apis::Core::Hashable @@ -1610,7 +1670,9 @@ module Google # @return [Float] attr_accessor :user_fraction - # + # Version codes to make active on this track. Note that this list should contain + # all versions you wish to be active, including those you wish to retain from + # previous releases. # Corresponds to the JSON property `versionCodes` # @return [Array] attr_accessor :version_codes diff --git a/generated/google/apis/androidpublisher_v2/representations.rb b/generated/google/apis/androidpublisher_v2/representations.rb index df73c40a5..2274ef94b 100644 --- a/generated/google/apis/androidpublisher_v2/representations.rb +++ b/generated/google/apis/androidpublisher_v2/representations.rb @@ -76,6 +76,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Bundle + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BundlesListResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Comment class Representation < Google::Apis::Core::JsonRepresentation; end @@ -405,6 +417,24 @@ module Google end end + class Bundle + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :sha1, as: 'sha1' + property :sha256, as: 'sha256' + property :version_code, as: 'versionCode' + end + end + + class BundlesListResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bundles, as: 'bundles', class: Google::Apis::AndroidpublisherV2::Bundle, decorator: Google::Apis::AndroidpublisherV2::Bundle::Representation + + property :kind, as: 'kind' + end + end + class Comment # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/androidpublisher_v2/service.rb b/generated/google/apis/androidpublisher_v2/service.rb index e9acdfaf8..e80a16567 100644 --- a/generated/google/apis/androidpublisher_v2/service.rb +++ b/generated/google/apis/androidpublisher_v2/service.rb @@ -631,6 +631,90 @@ module Google execute_or_queue_command(command, &block) end + # + # @param [String] package_name + # Unique identifier for the Android app that is being updated; for example, "com. + # spiffygame". + # @param [String] edit_id + # Unique identifier for this edit. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::AndroidpublisherV2::BundlesListResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AndroidpublisherV2::BundlesListResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_edit_bundles(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{packageName}/edits/{editId}/bundles', options) + command.response_representation = Google::Apis::AndroidpublisherV2::BundlesListResponse::Representation + command.response_class = Google::Apis::AndroidpublisherV2::BundlesListResponse + command.params['packageName'] = package_name unless package_name.nil? + command.params['editId'] = edit_id unless edit_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # + # @param [String] package_name + # Unique identifier for the Android app that is being updated; for example, "com. + # spiffygame". + # @param [String] edit_id + # Unique identifier for this edit. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [IO, String] upload_source + # IO stream or filename containing content to upload + # @param [String] content_type + # Content type of the uploaded content. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::AndroidpublisherV2::Bundle] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AndroidpublisherV2::Bundle] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def upload_edit_bundle(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) + if upload_source.nil? + command = make_simple_command(:post, '{packageName}/edits/{editId}/bundles', options) + else + command = make_upload_command(:post, '{packageName}/edits/{editId}/bundles', options) + command.upload_source = upload_source + command.upload_content_type = content_type + end + command.response_representation = Google::Apis::AndroidpublisherV2::Bundle::Representation + command.response_class = Google::Apis::AndroidpublisherV2::Bundle + command.params['packageName'] = package_name unless package_name.nil? + command.params['editId'] = edit_id unless edit_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Uploads the deobfuscation file of the specified APK. If a deobfuscation file # already exists, it will be replaced. # @param [String] package_name diff --git a/generated/google/apis/androidpublisher_v3.rb b/generated/google/apis/androidpublisher_v3.rb index 0004b8b37..62d554a6a 100644 --- a/generated/google/apis/androidpublisher_v3.rb +++ b/generated/google/apis/androidpublisher_v3.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/android-publisher module AndroidpublisherV3 VERSION = 'V3' - REVISION = '20180502' + REVISION = '20180504' # View and manage your Google Play Developer account AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher' diff --git a/generated/google/apis/androidpublisher_v3/classes.rb b/generated/google/apis/androidpublisher_v3/classes.rb index a1ff7ecf8..3823c4ef0 100644 --- a/generated/google/apis/androidpublisher_v3/classes.rb +++ b/generated/google/apis/androidpublisher_v3/classes.rb @@ -208,6 +208,66 @@ module Google end end + # + class Bundle + include Google::Apis::Core::Hashable + + # A sha1 hash of the upload payload, encoded as a hex string and matching the + # output of the sha1sum command. + # Corresponds to the JSON property `sha1` + # @return [String] + attr_accessor :sha1 + + # A sha256 hash of the upload payload, encoded as a hex string and matching the + # output of the sha256sum command. + # Corresponds to the JSON property `sha256` + # @return [String] + attr_accessor :sha256 + + # The version code of the Android App Bundle. As specified in the Android App + # Bundle's base module APK manifest file. + # Corresponds to the JSON property `versionCode` + # @return [Fixnum] + attr_accessor :version_code + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @sha1 = args[:sha1] if args.key?(:sha1) + @sha256 = args[:sha256] if args.key?(:sha256) + @version_code = args[:version_code] if args.key?(:version_code) + end + end + + # + class BundlesListResponse + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `bundles` + # @return [Array] + attr_accessor :bundles + + # Identifies what kind of resource this is. Value: the fixed string " + # androidpublisher#bundlesListResponse". + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bundles = args[:bundles] if args.key?(:bundles) + @kind = args[:kind] if args.key?(:kind) + end + end + # class Comment include Google::Apis::Core::Hashable @@ -1618,13 +1678,15 @@ module Google attr_accessor :status # Fraction of users who are eligible to receive the release. 0 <= fraction < 1. - # To be set, release status must be IN_PROGRESS or HALTED. + # To be set, release status must be "inProgress" or "halted". # Corresponds to the JSON property `userFraction` # @return [Float] attr_accessor :user_fraction - # A list of version codes of APKs that will be exposed to the users of this - # track when this release is rolled out. + # A list of all version codes of APKs that will be exposed to the users of this + # track when this release is rolled out. Note that this list should contain all + # versions you wish to be active, including those you wish to retain from + # previous releases. # Corresponds to the JSON property `versionCodes` # @return [Array] attr_accessor :version_codes diff --git a/generated/google/apis/androidpublisher_v3/representations.rb b/generated/google/apis/androidpublisher_v3/representations.rb index ed80a3f63..4f1d33d2f 100644 --- a/generated/google/apis/androidpublisher_v3/representations.rb +++ b/generated/google/apis/androidpublisher_v3/representations.rb @@ -64,6 +64,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Bundle + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BundlesListResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Comment class Representation < Google::Apis::Core::JsonRepresentation; end @@ -388,6 +400,24 @@ module Google end end + class Bundle + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :sha1, as: 'sha1' + property :sha256, as: 'sha256' + property :version_code, as: 'versionCode' + end + end + + class BundlesListResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bundles, as: 'bundles', class: Google::Apis::AndroidpublisherV3::Bundle, decorator: Google::Apis::AndroidpublisherV3::Bundle::Representation + + property :kind, as: 'kind' + end + end + class Comment # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/androidpublisher_v3/service.rb b/generated/google/apis/androidpublisher_v3/service.rb index c99d1603f..2f803fc1c 100644 --- a/generated/google/apis/androidpublisher_v3/service.rb +++ b/generated/google/apis/androidpublisher_v3/service.rb @@ -365,6 +365,90 @@ module Google execute_or_queue_command(command, &block) end + # + # @param [String] package_name + # Unique identifier for the Android app that is being updated; for example, "com. + # spiffygame". + # @param [String] edit_id + # Unique identifier for this edit. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::AndroidpublisherV3::BundlesListResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AndroidpublisherV3::BundlesListResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_edit_bundles(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{packageName}/edits/{editId}/bundles', options) + command.response_representation = Google::Apis::AndroidpublisherV3::BundlesListResponse::Representation + command.response_class = Google::Apis::AndroidpublisherV3::BundlesListResponse + command.params['packageName'] = package_name unless package_name.nil? + command.params['editId'] = edit_id unless edit_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # + # @param [String] package_name + # Unique identifier for the Android app that is being updated; for example, "com. + # spiffygame". + # @param [String] edit_id + # Unique identifier for this edit. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [IO, String] upload_source + # IO stream or filename containing content to upload + # @param [String] content_type + # Content type of the uploaded content. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::AndroidpublisherV3::Bundle] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::AndroidpublisherV3::Bundle] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def upload_edit_bundle(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) + if upload_source.nil? + command = make_simple_command(:post, '{packageName}/edits/{editId}/bundles', options) + else + command = make_upload_command(:post, '{packageName}/edits/{editId}/bundles', options) + command.upload_source = upload_source + command.upload_content_type = content_type + end + command.response_representation = Google::Apis::AndroidpublisherV3::Bundle::Representation + command.response_class = Google::Apis::AndroidpublisherV3::Bundle + command.params['packageName'] = package_name unless package_name.nil? + command.params['editId'] = edit_id unless edit_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Uploads the deobfuscation file of the specified APK. If a deobfuscation file # already exists, it will be replaced. # @param [String] package_name diff --git a/generated/google/apis/cloudfunctions_v1.rb b/generated/google/apis/cloudfunctions_v1.rb index 068f049cd..c28b7ac26 100644 --- a/generated/google/apis/cloudfunctions_v1.rb +++ b/generated/google/apis/cloudfunctions_v1.rb @@ -18,14 +18,14 @@ require 'google/apis/cloudfunctions_v1/representations.rb' module Google module Apis - # Google Cloud Functions API + # Cloud Functions API # # Manages lightweight user-provided functions executed in response to events. # # @see https://cloud.google.com/functions module CloudfunctionsV1 VERSION = 'V1' - REVISION = '20180416' + REVISION = '20180420' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudfunctions_v1/classes.rb b/generated/google/apis/cloudfunctions_v1/classes.rb index d5d72aa3e..896db0dee 100644 --- a/generated/google/apis/cloudfunctions_v1/classes.rb +++ b/generated/google/apis/cloudfunctions_v1/classes.rb @@ -122,6 +122,12 @@ module Google # @return [String] attr_accessor :name + # The runtime in which the function is going to run. If empty, defaults to + # Node.js 6. + # Corresponds to the JSON property `runtime` + # @return [String] + attr_accessor :runtime + # Output only. The email of the function's service account. # Corresponds to the JSON property `serviceAccountEmail` # @return [String] @@ -182,6 +188,7 @@ module Google @https_trigger = args[:https_trigger] if args.key?(:https_trigger) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) + @runtime = args[:runtime] if args.key?(:runtime) @service_account_email = args[:service_account_email] if args.key?(:service_account_email) @source_archive_url = args[:source_archive_url] if args.key?(:source_archive_url) @source_repository = args[:source_repository] if args.key?(:source_repository) diff --git a/generated/google/apis/cloudfunctions_v1/representations.rb b/generated/google/apis/cloudfunctions_v1/representations.rb index d630e3ba0..b10e2625e 100644 --- a/generated/google/apis/cloudfunctions_v1/representations.rb +++ b/generated/google/apis/cloudfunctions_v1/representations.rb @@ -170,6 +170,7 @@ module Google hash :labels, as: 'labels' property :name, as: 'name' + property :runtime, as: 'runtime' property :service_account_email, as: 'serviceAccountEmail' property :source_archive_url, as: 'sourceArchiveUrl' property :source_repository, as: 'sourceRepository', class: Google::Apis::CloudfunctionsV1::SourceRepository, decorator: Google::Apis::CloudfunctionsV1::SourceRepository::Representation diff --git a/generated/google/apis/cloudfunctions_v1/service.rb b/generated/google/apis/cloudfunctions_v1/service.rb index 5df64e4f9..4c2215c77 100644 --- a/generated/google/apis/cloudfunctions_v1/service.rb +++ b/generated/google/apis/cloudfunctions_v1/service.rb @@ -20,7 +20,7 @@ require 'google/apis/errors' module Google module Apis module CloudfunctionsV1 - # Google Cloud Functions API + # Cloud Functions API # # Manages lightweight user-provided functions executed in response to events. # diff --git a/generated/google/apis/cloudfunctions_v1beta2.rb b/generated/google/apis/cloudfunctions_v1beta2.rb index 0759ce245..f16fbd6ce 100644 --- a/generated/google/apis/cloudfunctions_v1beta2.rb +++ b/generated/google/apis/cloudfunctions_v1beta2.rb @@ -18,14 +18,14 @@ require 'google/apis/cloudfunctions_v1beta2/representations.rb' module Google module Apis - # Google Cloud Functions API + # Cloud Functions API # # Manages lightweight user-provided functions executed in response to events. # # @see https://cloud.google.com/functions module CloudfunctionsV1beta2 VERSION = 'V1beta2' - REVISION = '20180416' + REVISION = '20180420' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudfunctions_v1beta2/classes.rb b/generated/google/apis/cloudfunctions_v1beta2/classes.rb index 6b389ee8e..06fead477 100644 --- a/generated/google/apis/cloudfunctions_v1beta2/classes.rb +++ b/generated/google/apis/cloudfunctions_v1beta2/classes.rb @@ -124,6 +124,12 @@ module Google # @return [String] attr_accessor :name + # The runtime in which the function is going to run. If empty, defaults to + # Node.js 6. + # Corresponds to the JSON property `runtime` + # @return [String] + attr_accessor :runtime + # Output only. The service account of the function. # Corresponds to the JSON property `serviceAccount` # @return [String] @@ -200,6 +206,7 @@ module Google @labels = args[:labels] if args.key?(:labels) @latest_operation = args[:latest_operation] if args.key?(:latest_operation) @name = args[:name] if args.key?(:name) + @runtime = args[:runtime] if args.key?(:runtime) @service_account = args[:service_account] if args.key?(:service_account) @source_archive_url = args[:source_archive_url] if args.key?(:source_archive_url) @source_repository = args[:source_repository] if args.key?(:source_repository) diff --git a/generated/google/apis/cloudfunctions_v1beta2/representations.rb b/generated/google/apis/cloudfunctions_v1beta2/representations.rb index b1dbe63dd..7020e6a41 100644 --- a/generated/google/apis/cloudfunctions_v1beta2/representations.rb +++ b/generated/google/apis/cloudfunctions_v1beta2/representations.rb @@ -170,6 +170,7 @@ module Google hash :labels, as: 'labels' property :latest_operation, as: 'latestOperation' property :name, as: 'name' + property :runtime, as: 'runtime' property :service_account, as: 'serviceAccount' property :source_archive_url, as: 'sourceArchiveUrl' property :source_repository, as: 'sourceRepository', class: Google::Apis::CloudfunctionsV1beta2::SourceRepository, decorator: Google::Apis::CloudfunctionsV1beta2::SourceRepository::Representation diff --git a/generated/google/apis/cloudfunctions_v1beta2/service.rb b/generated/google/apis/cloudfunctions_v1beta2/service.rb index 4e7a2549f..b22fd65f8 100644 --- a/generated/google/apis/cloudfunctions_v1beta2/service.rb +++ b/generated/google/apis/cloudfunctions_v1beta2/service.rb @@ -20,7 +20,7 @@ require 'google/apis/errors' module Google module Apis module CloudfunctionsV1beta2 - # Google Cloud Functions API + # Cloud Functions API # # Manages lightweight user-provided functions executed in response to events. # diff --git a/generated/google/apis/container_v1beta1.rb b/generated/google/apis/container_v1beta1.rb index 657045f03..6ec12ab85 100644 --- a/generated/google/apis/container_v1beta1.rb +++ b/generated/google/apis/container_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-engine/ module ContainerV1beta1 VERSION = 'V1beta1' - REVISION = '20180412' + REVISION = '20180427' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/container_v1beta1/classes.rb b/generated/google/apis/container_v1beta1/classes.rb index aedc4793a..68d5b4891 100644 --- a/generated/google/apis/container_v1beta1/classes.rb +++ b/generated/google/apis/container_v1beta1/classes.rb @@ -1100,6 +1100,35 @@ module Google end end + # ListLocationsResponse returns the list of all GKE locations and their + # recommendation state. + class ListLocationsResponse + include Google::Apis::Core::Hashable + + # A full list of GKE locations. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Only return ListLocationsResponse that occur after the page_token. This + # value should be populated from the ListLocationsResponse.next_page_token if + # that response token was set (which happens when listing more Locations than + # fit in a single ListLocationsResponse). + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @locations = args[:locations] if args.key?(:locations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + # ListNodePoolsResponse is the result of ListNodePoolsRequest. class ListNodePoolsResponse include Google::Apis::Core::Hashable @@ -1174,6 +1203,43 @@ module Google end end + # Location returns the location name, and if the location is recommended + # for GKE cluster scheduling. + class Location + include Google::Apis::Core::Hashable + + # Contains the name of the resource requested. + # Specific in the format 'projects/*/locations/*'. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Recommended is a bool combining the drain state of the location (ie- has + # the region been drained manually?), and the stockout status of any zone + # according to Zone Advisor. This will be internal only for use by pantheon. + # Corresponds to the JSON property `recommended` + # @return [Boolean] + attr_accessor :recommended + alias_method :recommended?, :recommended + + # Contains the type of location this Location is for. + # Regional or Zonal. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] if args.key?(:name) + @recommended = args[:recommended] if args.key?(:recommended) + @type = args[:type] if args.key?(:type) + end + end + # MaintenancePolicy defines the maintenance policy to be used for the cluster. class MaintenancePolicy include Google::Apis::Core::Hashable diff --git a/generated/google/apis/container_v1beta1/representations.rb b/generated/google/apis/container_v1beta1/representations.rb index c05805072..7fe385e66 100644 --- a/generated/google/apis/container_v1beta1/representations.rb +++ b/generated/google/apis/container_v1beta1/representations.rb @@ -136,6 +136,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ListLocationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ListNodePoolsResponse class Representation < Google::Apis::Core::JsonRepresentation; end @@ -154,6 +160,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Location + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class MaintenancePolicy class Representation < Google::Apis::Core::JsonRepresentation; end @@ -592,6 +604,15 @@ module Google end end + class ListLocationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :locations, as: 'locations', class: Google::Apis::ContainerV1beta1::Location, decorator: Google::Apis::ContainerV1beta1::Location::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + class ListNodePoolsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -618,6 +639,15 @@ module Google end end + class Location + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :name, as: 'name' + property :recommended, as: 'recommended' + property :type, as: 'type' + end + end + class MaintenancePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/container_v1beta1/service.rb b/generated/google/apis/container_v1beta1/service.rb index b10df16d5..f355ba157 100644 --- a/generated/google/apis/container_v1beta1/service.rb +++ b/generated/google/apis/container_v1beta1/service.rb @@ -136,6 +136,37 @@ module Google execute_or_queue_command(command, &block) end + # + # @param [String] parent + # Contains the name of the resource requested. + # Specific in the format 'projects/*/locations'. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ContainerV1beta1::ListLocationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ContainerV1beta1::ListLocationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_locations(parent, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+parent}/locations', options) + command.response_representation = Google::Apis::ContainerV1beta1::ListLocationsResponse::Representation + command.response_class = Google::Apis::ContainerV1beta1::ListLocationsResponse + command.params['parent'] = parent unless parent.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Completes master IP rotation. # @param [String] name # The name (project, location, cluster id) of the cluster to complete IP diff --git a/generated/google/apis/jobs_v2.rb b/generated/google/apis/jobs_v2.rb new file mode 100644 index 000000000..bea2c71c5 --- /dev/null +++ b/generated/google/apis/jobs_v2.rb @@ -0,0 +1,38 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/jobs_v2/service.rb' +require 'google/apis/jobs_v2/classes.rb' +require 'google/apis/jobs_v2/representations.rb' + +module Google + module Apis + # Cloud Job Discovery + # + # Cloud Job Discovery provides the capability to create, read, update, and + # delete job postings, as well as search jobs based on keywords and filters. + # + # @see https://cloud.google.com/job-discovery/docs + module JobsV2 + VERSION = 'V2' + REVISION = '20180509' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + + # Manage job postings + AUTH_JOBS = 'https://www.googleapis.com/auth/jobs' + end + end +end diff --git a/generated/google/apis/jobs_v2/classes.rb b/generated/google/apis/jobs_v2/classes.rb new file mode 100644 index 000000000..928aca15b --- /dev/null +++ b/generated/google/apis/jobs_v2/classes.rb @@ -0,0 +1,3378 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module JobsV2 + + # Input only. + # Batch delete jobs request. + class BatchDeleteJobsRequest + include Google::Apis::Core::Hashable + + # 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 = "companies/123" AND requisitionId = "req-1" + # Corresponds to the JSON property `filter` + # @return [String] + attr_accessor :filter + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @filter = args[:filter] if args.key?(:filter) + end + end + + # Represents starting and ending value of a range in double. + class BucketRange + include Google::Apis::Core::Hashable + + # Starting value of the bucket range. + # Corresponds to the JSON property `from` + # @return [Float] + attr_accessor :from + + # Ending value of the bucket range. + # Corresponds to the JSON property `to` + # @return [Float] + attr_accessor :to + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @from = args[:from] if args.key?(:from) + @to = args[:to] if args.key?(:to) + end + end + + # Represents count of jobs within one bucket. + class BucketizedCount + include Google::Apis::Core::Hashable + + # Number of jobs whose numeric field value fall into `range`. + # Corresponds to the JSON property `count` + # @return [Fixnum] + attr_accessor :count + + # Represents starting and ending value of a range in double. + # Corresponds to the JSON property `range` + # @return [Google::Apis::JobsV2::BucketRange] + attr_accessor :range + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @count = args[:count] if args.key?(:count) + @range = args[:range] if args.key?(:range) + end + end + + # Output only. + # Commute details related to this job. + class CommuteInfo + include Google::Apis::Core::Hashable + + # Output only. + # A resource that represents a location with full geographic + # information. + # Corresponds to the JSON property `jobLocation` + # @return [Google::Apis::JobsV2::JobLocation] + attr_accessor :job_location + + # Travel time to reach the job. + # Corresponds to the JSON property `travelDuration` + # @return [String] + attr_accessor :travel_duration + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @job_location = args[:job_location] if args.key?(:job_location) + @travel_duration = args[:travel_duration] if args.key?(:travel_duration) + end + end + + # Input only. + # Parameters needed for commute search. + class CommutePreference + include Google::Apis::Core::Hashable + + # Optional. + # If `true`, jobs without street level addresses may also be returned. + # For city level addresses, the city center is used. For state and coarser + # level addresses, text matching is used. + # If this field is set to `false` or is not specified, only jobs that include + # street level addresses will be returned by commute search. + # Corresponds to the JSON property `allowNonStreetLevelAddress` + # @return [Boolean] + attr_accessor :allow_non_street_level_address + alias_method :allow_non_street_level_address?, :allow_non_street_level_address + + # Optional. + # The departure hour to use to calculate traffic impact. Accepts an + # integer between 0 and 23, representing the hour in the time zone of the + # start_location. Must not be present if road_traffic is specified. + # Corresponds to the JSON property `departureHourLocal` + # @return [Fixnum] + attr_accessor :departure_hour_local + + # Required. + # The method of transportation for which to calculate the commute time. + # Corresponds to the JSON property `method` + # @return [String] + attr_accessor :method_prop + + # Optional. + # Specifies the traffic density to use when caculating commute time. + # Must not be present if departure_hour_local is specified. + # Corresponds to the JSON property `roadTraffic` + # @return [String] + attr_accessor :road_traffic + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `startLocation` + # @return [Google::Apis::JobsV2::LatLng] + attr_accessor :start_location + + # Required. + # The maximum travel time in seconds. The maximum allowed value is `3600s` + # (one hour). Format is `123s`. + # Corresponds to the JSON property `travelTime` + # @return [String] + attr_accessor :travel_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allow_non_street_level_address = args[:allow_non_street_level_address] if args.key?(:allow_non_street_level_address) + @departure_hour_local = args[:departure_hour_local] if args.key?(:departure_hour_local) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @road_traffic = args[:road_traffic] if args.key?(:road_traffic) + @start_location = args[:start_location] if args.key?(:start_location) + @travel_time = args[:travel_time] if args.key?(:travel_time) + end + end + + # A Company resource represents a company in the service. A company is the + # entity that owns job listings, that is, the hiring entity responsible for + # employing applicants for the job position. + class Company + include Google::Apis::Core::Hashable + + # Optional. + # The URL to employer's career site or careers page on the employer's web + # site. + # Corresponds to the JSON property `careerPageLink` + # @return [String] + attr_accessor :career_page_link + + # Optional. + # Identifiers external to the application that help to further identify + # the employer. + # Corresponds to the JSON property `companyInfoSources` + # @return [Array] + attr_accessor :company_info_sources + + # Optional. + # The employer's company size. + # Corresponds to the JSON property `companySize` + # @return [String] + attr_accessor :company_size + + # Deprecated. Do not use this field. + # Optional. + # This field is no longer used. Any value set to it is ignored. + # Corresponds to the JSON property `disableLocationOptimization` + # @return [Boolean] + attr_accessor :disable_location_optimization + alias_method :disable_location_optimization?, :disable_location_optimization + + # Required. + # The name of the employer to be displayed with the job, + # for example, "Google, LLC.". + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Optional. + # The unique company identifier provided by the client to identify an + # employer for billing purposes. Recommended practice is to use + # the distributor_company_id. + # Defaults to same value as distributor_company_id when a value + # is not provided. + # Corresponds to the JSON property `distributorBillingCompanyId` + # @return [String] + attr_accessor :distributor_billing_company_id + + # Required. + # A client's company identifier, used to uniquely identify the + # company. If an employer has a subsidiary or sub-brand, such as "Alphabet" + # and "Google", which the client wishes to use as the company displayed on + # the job. Best practice is to create a distinct company identifier for each + # distinct brand displayed. + # Corresponds to the JSON property `distributorCompanyId` + # @return [String] + attr_accessor :distributor_company_id + + # Optional. + # Equal Employment Opportunity legal disclaimer text to be + # associated with all jobs, and typically to be displayed in all + # roles. + # The maximum number of allowed characters is 500. + # Corresponds to the JSON property `eeoText` + # @return [String] + attr_accessor :eeo_text + + # Optional. + # Set to true if it is the hiring agency that post jobs for other + # employers. + # Defaults to false if not provided. + # Corresponds to the JSON property `hiringAgency` + # @return [Boolean] + attr_accessor :hiring_agency + alias_method :hiring_agency?, :hiring_agency + + # Optional. + # The street address of the company's main headquarters, which may be + # different from the job location. The service attempts + # to geolocate the provided address, and populates a more specific + # location wherever possible in structured_company_hq_location. + # Corresponds to the JSON property `hqLocation` + # @return [String] + attr_accessor :hq_location + + # Optional. + # A URL that hosts the employer's company logo. If provided, + # the logo image should be squared at 80x80 pixels. + # The url must be a Google Photos or Google Album url. + # Only images in these Google sub-domains are accepted. + # Corresponds to the JSON property `imageUrl` + # @return [String] + attr_accessor :image_url + + # Optional. + # A list of keys of filterable Job.custom_attributes, whose + # corresponding `string_values` are used in keyword search. Jobs with + # `string_values` under these specified field keys are returned if any + # of the values matches the search keyword. + # Corresponds to the JSON property `keywordSearchableCustomAttributes` + # @return [Array] + attr_accessor :keyword_searchable_custom_attributes + + # Deprecated. Use keyword_searchable_custom_attributes instead. + # Optional. + # A list of filterable custom fields that should be used in keyword + # search. The jobs of this company are returned if any of these custom + # fields matches the search keyword. + # Corresponds to the JSON property `keywordSearchableCustomFields` + # @return [Array] + attr_accessor :keyword_searchable_custom_fields + + # Required during company update. + # The resource name for a company. This is generated by the service when a + # company is created, for example, + # "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. + # A resource that represents a location with full geographic + # information. + # Corresponds to the JSON property `structuredCompanyHqLocation` + # @return [Google::Apis::JobsV2::JobLocation] + attr_accessor :structured_company_hq_location + + # Output only. + # Indicates whether a company is flagged to be suspended from public + # availability by the service when job content appears suspicious, + # abusive, or spammy. + # Corresponds to the JSON property `suspended` + # @return [Boolean] + attr_accessor :suspended + alias_method :suspended?, :suspended + + # Deprecated. Use display_name instead. + # Required. + # The name of the employer to be displayed with the job, + # for example, "Google, LLC.". + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + # Optional. + # The URL representing the company's primary web site or home page, + # such as, "www.google.com". + # Corresponds to the JSON property `website` + # @return [String] + attr_accessor :website + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @career_page_link = args[:career_page_link] if args.key?(:career_page_link) + @company_info_sources = args[:company_info_sources] if args.key?(:company_info_sources) + @company_size = args[:company_size] if args.key?(:company_size) + @disable_location_optimization = args[:disable_location_optimization] if args.key?(:disable_location_optimization) + @display_name = args[:display_name] if args.key?(:display_name) + @distributor_billing_company_id = args[:distributor_billing_company_id] if args.key?(:distributor_billing_company_id) + @distributor_company_id = args[:distributor_company_id] if args.key?(:distributor_company_id) + @eeo_text = args[:eeo_text] if args.key?(:eeo_text) + @hiring_agency = args[:hiring_agency] if args.key?(:hiring_agency) + @hq_location = args[:hq_location] if args.key?(:hq_location) + @image_url = args[:image_url] if args.key?(:image_url) + @keyword_searchable_custom_attributes = args[:keyword_searchable_custom_attributes] if args.key?(:keyword_searchable_custom_attributes) + @keyword_searchable_custom_fields = args[:keyword_searchable_custom_fields] if args.key?(:keyword_searchable_custom_fields) + @name = args[:name] if args.key?(:name) + @structured_company_hq_location = args[:structured_company_hq_location] if args.key?(:structured_company_hq_location) + @suspended = args[:suspended] if args.key?(:suspended) + @title = args[:title] if args.key?(:title) + @website = args[:website] if args.key?(:website) + end + end + + # A resource that represents an external Google identifier for a company, + # for example, a Google+ business page or a Google Maps business page. + # For unsupported types, use `unknown_type_id`. + class CompanyInfoSource + include Google::Apis::Core::Hashable + + # Optional. + # The Google's Knowledge Graph value for the employer's company. + # Corresponds to the JSON property `freebaseMid` + # @return [String] + attr_accessor :freebase_mid + + # Optional. + # The numeric identifier for the employer's Google+ business page. + # Corresponds to the JSON property `gplusId` + # @return [String] + attr_accessor :gplus_id + + # Optional. + # The numeric identifier for the employer's headquarters on Google Maps, + # namely, the Google Maps CID (cell id). + # Corresponds to the JSON property `mapsCid` + # @return [String] + attr_accessor :maps_cid + + # Optional. + # A Google identifier that does not match any of the other types. + # Corresponds to the JSON property `unknownTypeId` + # @return [String] + attr_accessor :unknown_type_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @freebase_mid = args[:freebase_mid] if args.key?(:freebase_mid) + @gplus_id = args[:gplus_id] if args.key?(:gplus_id) + @maps_cid = args[:maps_cid] if args.key?(:maps_cid) + @unknown_type_id = args[:unknown_type_id] if args.key?(:unknown_type_id) + end + end + + # 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. + class CompensationEntry + include Google::Apis::Core::Hashable + + # Represents an amount of money with its currency type. + # Corresponds to the JSON property `amount` + # @return [Google::Apis::JobsV2::Money] + attr_accessor :amount + + # Optional. + # Compensation description. For example, could + # indicate equity terms or provide additional context to an estimated + # bonus. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # 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 + # Corresponds to the JSON property `expectedUnitsPerYear` + # @return [Float] + attr_accessor :expected_units_per_year + + # Compensation range. + # Corresponds to the JSON property `range` + # @return [Google::Apis::JobsV2::CompensationRange] + attr_accessor :range + + # Required. + # Compensation type. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + # Optional. + # Frequency of the specified amount. + # Default is CompensationUnit.OTHER_COMPENSATION_UNIT. + # Corresponds to the JSON property `unit` + # @return [String] + attr_accessor :unit + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @amount = args[:amount] if args.key?(:amount) + @description = args[:description] if args.key?(:description) + @expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year) + @range = args[:range] if args.key?(:range) + @type = args[:type] if args.key?(:type) + @unit = args[:unit] if args.key?(:unit) + end + end + + # Input only. + # Filter on job compensation type and amount. + class CompensationFilter + include Google::Apis::Core::Hashable + + # Optional. + # Whether to include jobs whose compensation range is unspecified. + # Corresponds to the JSON property `includeJobsWithUnspecifiedCompensationRange` + # @return [Boolean] + attr_accessor :include_jobs_with_unspecified_compensation_range + alias_method :include_jobs_with_unspecified_compensation_range?, :include_jobs_with_unspecified_compensation_range + + # Compensation range. + # Corresponds to the JSON property `range` + # @return [Google::Apis::JobsV2::CompensationRange] + attr_accessor :range + + # Required. + # Type of filter. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + # Required. + # Specify desired ** base compensation entry's ** + # CompensationInfo.CompensationUnit. + # Corresponds to the JSON property `units` + # @return [Array] + attr_accessor :units + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @include_jobs_with_unspecified_compensation_range = args[:include_jobs_with_unspecified_compensation_range] if args.key?(:include_jobs_with_unspecified_compensation_range) + @range = args[:range] if args.key?(:range) + @type = args[:type] if args.key?(:type) + @units = args[:units] if args.key?(:units) + end + end + + # Input only. + # Compensation based histogram request. + class CompensationHistogramRequest + include Google::Apis::Core::Hashable + + # Input only. + # Use this field to specify bucketing option for the histogram search response. + # Corresponds to the JSON property `bucketingOption` + # @return [Google::Apis::JobsV2::NumericBucketingOption] + attr_accessor :bucketing_option + + # 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`. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bucketing_option = args[:bucketing_option] if args.key?(:bucketing_option) + @type = args[:type] if args.key?(:type) + end + end + + # Output only. + # Compensation based histogram result. + class CompensationHistogramResult + include Google::Apis::Core::Hashable + + # Output only. + # Custom numeric bucketing result. + # Corresponds to the JSON property `result` + # @return [Google::Apis::JobsV2::NumericBucketingResult] + attr_accessor :result + + # Type of the request, corresponding to + # CompensationHistogramRequest.type. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @result = args[:result] if args.key?(:result) + @type = args[:type] if args.key?(:type) + end + end + + # Job compensation details. + class CompensationInfo + include Google::Apis::Core::Hashable + + # Represents an amount of money with its currency type. + # Corresponds to the JSON property `amount` + # @return [Google::Apis::JobsV2::Money] + attr_accessor :amount + + # Compensation range. + # Corresponds to the JSON property `annualizedBaseCompensationRange` + # @return [Google::Apis::JobsV2::CompensationRange] + attr_accessor :annualized_base_compensation_range + + # Compensation range. + # Corresponds to the JSON property `annualizedTotalCompensationRange` + # @return [Google::Apis::JobsV2::CompensationRange] + attr_accessor :annualized_total_compensation_range + + # 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. + # Corresponds to the JSON property `entries` + # @return [Array] + attr_accessor :entries + + # Represents an amount of money with its currency type. + # Corresponds to the JSON property `max` + # @return [Google::Apis::JobsV2::Money] + attr_accessor :max + + # Represents an amount of money with its currency type. + # Corresponds to the JSON property `min` + # @return [Google::Apis::JobsV2::Money] + attr_accessor :min + + # Deprecated. Use entries instead. + # Optional. + # Type of job compensation. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @amount = args[:amount] if args.key?(:amount) + @annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range) + @annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range) + @entries = args[:entries] if args.key?(:entries) + @max = args[:max] if args.key?(:max) + @min = args[:min] if args.key?(:min) + @type = args[:type] if args.key?(:type) + end + end + + # Compensation range. + class CompensationRange + include Google::Apis::Core::Hashable + + # Represents an amount of money with its currency type. + # Corresponds to the JSON property `max` + # @return [Google::Apis::JobsV2::Money] + attr_accessor :max + + # Represents an amount of money with its currency type. + # Corresponds to the JSON property `min` + # @return [Google::Apis::JobsV2::Money] + attr_accessor :min + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @max = args[:max] if args.key?(:max) + @min = args[:min] if args.key?(:min) + end + end + + # Output only. + # Response of auto-complete query. + class CompleteQueryResponse + include Google::Apis::Core::Hashable + + # Results of the matching job/company candidates. + # Corresponds to the JSON property `completionResults` + # @return [Array] + attr_accessor :completion_results + + # Output only. + # Additional information returned to client, such as debugging + # information. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::JobsV2::ResponseMetadata] + attr_accessor :metadata + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @completion_results = args[:completion_results] if args.key?(:completion_results) + @metadata = args[:metadata] if args.key?(:metadata) + end + end + + # Output only. + # Resource that represents completion results. + class CompletionResult + include Google::Apis::Core::Hashable + + # The URL for the company logo if `type=COMPANY_NAME`. + # Corresponds to the JSON property `imageUrl` + # @return [String] + attr_accessor :image_url + + # The suggestion for the query. + # Corresponds to the JSON property `suggestion` + # @return [String] + attr_accessor :suggestion + + # The completion topic. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image_url = args[:image_url] if args.key?(:image_url) + @suggestion = args[:suggestion] if args.key?(:suggestion) + @type = args[:type] if args.key?(:type) + end + end + + # Input only. + # Create job request. + # The job typically becomes searchable within 10 seconds, but it may take + # up to 5 minutes for the job to become searchable. + class CreateJobRequest + include Google::Apis::Core::Hashable + + # If set to `true`, the service will not attempt to resolve a + # more precise address for the job. + # Corresponds to the JSON property `disableStreetAddressResolution` + # @return [Boolean] + attr_accessor :disable_street_address_resolution + alias_method :disable_street_address_resolution?, :disable_street_address_resolution + + # 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. + # Corresponds to the JSON property `job` + # @return [Google::Apis::JobsV2::Job] + attr_accessor :job + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution) + @job = args[:job] if args.key?(:job) + end + end + + # Custom attribute values that are either filterable or non-filterable. + class CustomAttribute + include Google::Apis::Core::Hashable + + # Optional. + # If the `filterable` flag is true, custom field values are searchable. + # If false, values are not searchable. + # Default is false. + # Corresponds to the JSON property `filterable` + # @return [Boolean] + attr_accessor :filterable + alias_method :filterable?, :filterable + + # Optional but at least one of string_values or long_value must + # be specified. + # This field is used to perform number range search. + # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. For + # `long_value`, a value between Long.MIN and Long.MIN is allowed. + # Corresponds to the JSON property `longValue` + # @return [Fixnum] + attr_accessor :long_value + + # Represents array of string values. + # Corresponds to the JSON property `stringValues` + # @return [Google::Apis::JobsV2::StringValues] + attr_accessor :string_values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @filterable = args[:filterable] if args.key?(:filterable) + @long_value = args[:long_value] if args.key?(:long_value) + @string_values = args[:string_values] if args.key?(:string_values) + end + end + + # Custom attributes histogram request. An error will be thrown if neither + # string_value_histogram or long_value_histogram_bucketing_option has + # been defined. + class CustomAttributeHistogramRequest + include Google::Apis::Core::Hashable + + # Required. + # Specifies the custom field key to perform a histogram on. If + # specified without `long_value_buckets` or `long_value_min_max`, a + # histogram on string values of the given `key` is triggered, + # otherwise histogram is performed on long values. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # Input only. + # Use this field to specify bucketing option for the histogram search response. + # Corresponds to the JSON property `longValueHistogramBucketingOption` + # @return [Google::Apis::JobsV2::NumericBucketingOption] + attr_accessor :long_value_histogram_bucketing_option + + # Optional. If set to true, the response will include the histogram value for + # each key as a string. + # Corresponds to the JSON property `stringValueHistogram` + # @return [Boolean] + attr_accessor :string_value_histogram + alias_method :string_value_histogram?, :string_value_histogram + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] if args.key?(:key) + @long_value_histogram_bucketing_option = args[:long_value_histogram_bucketing_option] if args.key?(:long_value_histogram_bucketing_option) + @string_value_histogram = args[:string_value_histogram] if args.key?(:string_value_histogram) + end + end + + # Output only. + # Custom attribute histogram result. + class CustomAttributeHistogramResult + include Google::Apis::Core::Hashable + + # Stores the key of custom attribute the histogram is performed on. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # Output only. + # Custom numeric bucketing result. + # Corresponds to the JSON property `longValueHistogramResult` + # @return [Google::Apis::JobsV2::NumericBucketingResult] + attr_accessor :long_value_histogram_result + + # 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. + # Corresponds to the JSON property `stringValueHistogramResult` + # @return [Hash] + attr_accessor :string_value_histogram_result + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] if args.key?(:key) + @long_value_histogram_result = args[:long_value_histogram_result] if args.key?(:long_value_histogram_result) + @string_value_histogram_result = args[:string_value_histogram_result] if args.key?(:string_value_histogram_result) + end + end + + # Resource that represents the custom data not captured by the standard fields. + class CustomField + include Google::Apis::Core::Hashable + + # Optional. + # The values of the custom data. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @values = args[:values] if args.key?(:values) + end + end + + # Input only. + # Custom field filter of the search. + class CustomFieldFilter + include Google::Apis::Core::Hashable + + # Required. + # The query strings for the filter. + # Corresponds to the JSON property `queries` + # @return [Array] + attr_accessor :queries + + # Optional. + # The type of filter. + # Defaults to FilterType.OR. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @queries = args[:queries] if args.key?(:queries) + @type = args[:type] if args.key?(:type) + end + end + + # Represents a whole calendar date, e.g. date of birth. The time of day and + # time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. The day may be 0 to + # represent a year and month where the day is not significant, e.g. credit card + # expiration date. The year may be 0 to represent a month and day independent + # of year, e.g. anniversary date. Related types are google.type.TimeOfDay + # and `google.protobuf.Timestamp`. + class Date + include Google::Apis::Core::Hashable + + # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + # if specifying a year/month where the day is not significant. + # Corresponds to the JSON property `day` + # @return [Fixnum] + attr_accessor :day + + # Month of year. Must be from 1 to 12, or 0 if specifying a date without a + # month. + # Corresponds to the JSON property `month` + # @return [Fixnum] + attr_accessor :month + + # Year of date. Must be from 1 to 9999, or 0 if specifying a date without + # a year. + # Corresponds to the JSON property `year` + # @return [Fixnum] + attr_accessor :year + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @day = args[:day] if args.key?(:day) + @month = args[:month] if args.key?(:month) + @year = args[:year] if args.key?(:year) + end + end + + # Deprecated. Use BatchDeleteJobsRequest instead. + # Input only. + # Delete job by filter request. + # The job typically becomes unsearchable within 10 seconds, but it may take + # up to 5 minutes for the job to become unsearchable. + class DeleteJobsByFilterRequest + include Google::Apis::Core::Hashable + + # Optional. + # If set to true, this call waits for all processing steps to complete + # before the job is cleaned up. Otherwise, the call returns while some + # steps are still taking place asynchronously, hence faster. + # Corresponds to the JSON property `disableFastProcess` + # @return [Boolean] + attr_accessor :disable_fast_process + alias_method :disable_fast_process?, :disable_fast_process + + # Deprecated. Use BatchDeleteJobsRequest instead. + # Input only. + # Filter for jobs to be deleted. + # Corresponds to the JSON property `filter` + # @return [Google::Apis::JobsV2::Filter] + attr_accessor :filter + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disable_fast_process = args[:disable_fast_process] if args.key?(:disable_fast_process) + @filter = args[:filter] if args.key?(:filter) + end + end + + # Input only. + # Device information collected from the job searcher, candidate, or + # other entity conducting the job search. Providing this information improves + # the quality of the search results across devices. + class DeviceInfo + include Google::Apis::Core::Hashable + + # Optional. + # Type of the device. + # Corresponds to the JSON property `deviceType` + # @return [String] + attr_accessor :device_type + + # Optional. + # A device-specific ID. It must be a unique identifier, which distinguishes + # the device from other devices. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @device_type = args[:device_type] if args.key?(:device_type) + @id = args[:id] if args.key?(:id) + end + end + + # 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 ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Deprecated. Always use CompensationFilter. + # Input only. + # Filter on job compensation type and amount. + class ExtendedCompensationFilter + include Google::Apis::Core::Hashable + + # Deprecated. See CompensationInfo. + # Compensation range. + # Corresponds to the JSON property `compensationRange` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange] + attr_accessor :compensation_range + + # Required. + # Specify desired ** base compensation entry's ** + # ExtendedCompensationInfo.CompensationUnit. + # Corresponds to the JSON property `compensationUnits` + # @return [Array] + attr_accessor :compensation_units + + # Optional. + # Specify currency in 3-letter + # [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) format. If + # unspecified, jobs are returned regardless of currency. + # Corresponds to the JSON property `currency` + # @return [String] + attr_accessor :currency + + # Optional. + # Whether to include jobs whose compensation range is unspecified. + # Corresponds to the JSON property `includeJobWithUnspecifiedCompensationRange` + # @return [Boolean] + attr_accessor :include_job_with_unspecified_compensation_range + alias_method :include_job_with_unspecified_compensation_range?, :include_job_with_unspecified_compensation_range + + # Required. + # Type of filter. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @compensation_range = args[:compensation_range] if args.key?(:compensation_range) + @compensation_units = args[:compensation_units] if args.key?(:compensation_units) + @currency = args[:currency] if args.key?(:currency) + @include_job_with_unspecified_compensation_range = args[:include_job_with_unspecified_compensation_range] if args.key?(:include_job_with_unspecified_compensation_range) + @type = args[:type] if args.key?(:type) + end + end + + # Deprecated. Use CompensationInfo. + # Describes job compensation. + class ExtendedCompensationInfo + include Google::Apis::Core::Hashable + + # Deprecated. See CompensationInfo. + # Compensation range. + # Corresponds to the JSON property `annualizedBaseCompensationRange` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange] + attr_accessor :annualized_base_compensation_range + + # Output only. + # Indicates annualized base compensation range cannot be derived, due to + # the job's base compensation entry cannot be annualized. + # See CompensationEntry for explanation on annualization and base + # compensation entry. + # Corresponds to the JSON property `annualizedBaseCompensationUnspecified` + # @return [Boolean] + attr_accessor :annualized_base_compensation_unspecified + alias_method :annualized_base_compensation_unspecified?, :annualized_base_compensation_unspecified + + # Deprecated. See CompensationInfo. + # Compensation range. + # Corresponds to the JSON property `annualizedTotalCompensationRange` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange] + attr_accessor :annualized_total_compensation_range + + # Output only. + # Indicates annualized total compensation range cannot be derived, due to + # the job's all CompensationEntry cannot be annualized. + # See CompensationEntry for explanation on annualization and base + # compensation entry. + # Corresponds to the JSON property `annualizedTotalCompensationUnspecified` + # @return [Boolean] + attr_accessor :annualized_total_compensation_unspecified + alias_method :annualized_total_compensation_unspecified?, :annualized_total_compensation_unspecified + + # Optional. + # A 3-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) + # currency code. + # Corresponds to the JSON property `currency` + # @return [String] + attr_accessor :currency + + # Optional. + # Job compensation information. + # At most one entry can be of type + # ExtendedCompensationInfo.CompensationType.BASE, which is + # referred as ** base compensation entry ** for the job. + # Corresponds to the JSON property `entries` + # @return [Array] + attr_accessor :entries + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @annualized_base_compensation_range = args[:annualized_base_compensation_range] if args.key?(:annualized_base_compensation_range) + @annualized_base_compensation_unspecified = args[:annualized_base_compensation_unspecified] if args.key?(:annualized_base_compensation_unspecified) + @annualized_total_compensation_range = args[:annualized_total_compensation_range] if args.key?(:annualized_total_compensation_range) + @annualized_total_compensation_unspecified = args[:annualized_total_compensation_unspecified] if args.key?(:annualized_total_compensation_unspecified) + @currency = args[:currency] if args.key?(:currency) + @entries = args[:entries] if args.key?(:entries) + end + end + + # Deprecated. See CompensationInfo. + # 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. + class ExtendedCompensationInfoCompensationEntry + include Google::Apis::Core::Hashable + + # Deprecated. See CompensationInfo. + # Decimal number. + # Corresponds to the JSON property `amount` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal] + attr_accessor :amount + + # Optional. + # Compensation description. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Deprecated. See CompensationInfo. + # Decimal number. + # Corresponds to the JSON property `expectedUnitsPerYear` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal] + attr_accessor :expected_units_per_year + + # Deprecated. See CompensationInfo. + # Compensation range. + # Corresponds to the JSON property `range` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange] + attr_accessor :range + + # Required. + # Compensation type. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + # Optional. + # Frequency of the specified amount. + # Default is CompensationUnit.OTHER_COMPENSATION_UNIT. + # Corresponds to the JSON property `unit` + # @return [String] + attr_accessor :unit + + # Optional. + # Indicates compensation amount and range are unset. + # Corresponds to the JSON property `unspecified` + # @return [Boolean] + attr_accessor :unspecified + alias_method :unspecified?, :unspecified + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @amount = args[:amount] if args.key?(:amount) + @description = args[:description] if args.key?(:description) + @expected_units_per_year = args[:expected_units_per_year] if args.key?(:expected_units_per_year) + @range = args[:range] if args.key?(:range) + @type = args[:type] if args.key?(:type) + @unit = args[:unit] if args.key?(:unit) + @unspecified = args[:unspecified] if args.key?(:unspecified) + end + end + + # Deprecated. See CompensationInfo. + # Compensation range. + class ExtendedCompensationInfoCompensationRange + include Google::Apis::Core::Hashable + + # Deprecated. See CompensationInfo. + # Decimal number. + # Corresponds to the JSON property `max` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal] + attr_accessor :max + + # Deprecated. See CompensationInfo. + # Decimal number. + # Corresponds to the JSON property `min` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfoDecimal] + attr_accessor :min + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @max = args[:max] if args.key?(:max) + @min = args[:min] if args.key?(:min) + end + end + + # Deprecated. See CompensationInfo. + # Decimal number. + class ExtendedCompensationInfoDecimal + include Google::Apis::Core::Hashable + + # Micro (10^-6) units. + # The value must be between -999,999 and +999,999 inclusive. + # If `units` is positive, `micros` must be positive or zero. + # If `units` is zero, `micros` can be positive, zero, or negative. + # If `units` is negative, `micros` must be negative or zero. + # For example -1.75 is represented as `units`=-1 and `micros`=-750,000. + # Corresponds to the JSON property `micros` + # @return [Fixnum] + attr_accessor :micros + + # Whole units. + # Corresponds to the JSON property `units` + # @return [Fixnum] + attr_accessor :units + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @micros = args[:micros] if args.key?(:micros) + @units = args[:units] if args.key?(:units) + end + end + + # Deprecated. Use BatchDeleteJobsRequest instead. + # Input only. + # Filter for jobs to be deleted. + class Filter + include Google::Apis::Core::Hashable + + # Required. + # The requisition ID (or posting ID) assigned by the client to identify a + # job. This is intended for client identification and tracking of + # listings. + # name takes precedence over this field + # The maximum number of allowed characters is 225. + # Corresponds to the JSON property `requisitionId` + # @return [String] + attr_accessor :requisition_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @requisition_id = args[:requisition_id] if args.key?(:requisition_id) + end + end + + # Deprecated. Use SearchJobsRequest.histogram_facets instead to make + # a single call with both search and histogram. + # Input only. + # A request for the `GetHistogram` method. + class GetHistogramRequest + include Google::Apis::Core::Hashable + + # Optional. + # Controls whether to broaden the search to avoid too few results for a + # given query in instances where a search has sparse results. Results from a + # broadened query is a superset of the results from the original query. + # Defaults to false. + # Corresponds to the JSON property `allowBroadening` + # @return [Boolean] + attr_accessor :allow_broadening + alias_method :allow_broadening?, :allow_broadening + + # Input only. + # Deprecated. Use JobQuery instead. + # The filters required to perform a search query or histogram. + # Corresponds to the JSON property `filters` + # @return [Google::Apis::JobsV2::JobFilters] + attr_accessor :filters + + # Input only. + # The query required to perform a search query or histogram. + # Corresponds to the JSON property `query` + # @return [Google::Apis::JobsV2::JobQuery] + attr_accessor :query + + # Input only. + # Meta information related to the job searcher or entity + # conducting the job search. This information is used to improve the + # performance of the service. + # Corresponds to the JSON property `requestMetadata` + # @return [Google::Apis::JobsV2::RequestMetadata] + attr_accessor :request_metadata + + # Required. + # A list of facets that specify the histogram data to be calculated + # against and returned. + # Histogram response times can be slow, and counts + # can be approximations. This call may be temporarily or permanently removed + # prior to the production release of Cloud Job Discovery. + # Corresponds to the JSON property `searchTypes` + # @return [Array] + attr_accessor :search_types + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allow_broadening = args[:allow_broadening] if args.key?(:allow_broadening) + @filters = args[:filters] if args.key?(:filters) + @query = args[:query] if args.key?(:query) + @request_metadata = args[:request_metadata] if args.key?(:request_metadata) + @search_types = args[:search_types] if args.key?(:search_types) + end + end + + # Deprecated. Use SearchJobsRequest.histogram_facets instead to make + # a single call with both search and histogram. + # Output only. + # The response of the GetHistogram method. + class GetHistogramResponse + include Google::Apis::Core::Hashable + + # Output only. + # Additional information returned to client, such as debugging + # information. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::JobsV2::ResponseMetadata] + attr_accessor :metadata + + # The Histogram results. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @metadata = args[:metadata] if args.key?(:metadata) + @results = args[:results] if args.key?(:results) + end + end + + # Input only. + # Histogram facets to be specified in SearchJobsRequest. + class HistogramFacets + include Google::Apis::Core::Hashable + + # Optional. + # Specifies compensation field-based histogram requests. + # Duplicate CompensationHistogramRequest.types are not allowed. + # Corresponds to the JSON property `compensationHistogramFacets` + # @return [Array] + attr_accessor :compensation_histogram_facets + + # Optional. + # Specifies the custom attributes histogram requests. + # Duplicate CustomAttributeHistogramRequest.keys are not allowed. + # Corresponds to the JSON property `customAttributeHistogramFacets` + # @return [Array] + attr_accessor :custom_attribute_histogram_facets + + # Optional. Specifies the simple type of histogram facets, e.g, + # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc. This field is equivalent to + # GetHistogramRequest. + # Corresponds to the JSON property `simpleHistogramFacets` + # @return [Array] + attr_accessor :simple_histogram_facets + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @compensation_histogram_facets = args[:compensation_histogram_facets] if args.key?(:compensation_histogram_facets) + @custom_attribute_histogram_facets = args[:custom_attribute_histogram_facets] if args.key?(:custom_attribute_histogram_facets) + @simple_histogram_facets = args[:simple_histogram_facets] if args.key?(:simple_histogram_facets) + end + end + + # 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. + class HistogramResult + include Google::Apis::Core::Hashable + + # The Histogram search filters. + # Corresponds to the JSON property `searchType` + # @return [String] + attr_accessor :search_type + + # 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. + # Corresponds to the JSON property `values` + # @return [Hash] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @search_type = args[:search_type] if args.key?(:search_type) + @values = args[:values] if args.key?(:values) + end + end + + # Output only. + # Histogram results that matches HistogramFacets specified in + # SearchJobsRequest. + class HistogramResults + include Google::Apis::Core::Hashable + + # Specifies compensation field-based histogram results that matches + # HistogramFacets.compensation_histogram_requests. + # Corresponds to the JSON property `compensationHistogramResults` + # @return [Array] + attr_accessor :compensation_histogram_results + + # Specifies histogram results for custom attributes that + # matches HistogramFacets.custom_attribute_histogram_facets. + # Corresponds to the JSON property `customAttributeHistogramResults` + # @return [Array] + attr_accessor :custom_attribute_histogram_results + + # Specifies histogram results that matches + # HistogramFacets.simple_histogram_facets. + # Corresponds to the JSON property `simpleHistogramResults` + # @return [Array] + attr_accessor :simple_histogram_results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @compensation_histogram_results = args[:compensation_histogram_results] if args.key?(:compensation_histogram_results) + @custom_attribute_histogram_results = args[:custom_attribute_histogram_results] if args.key?(:custom_attribute_histogram_results) + @simple_histogram_results = args[:simple_histogram_results] if args.key?(:simple_histogram_results) + end + end + + # 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. + class Job + include Google::Apis::Core::Hashable + + # Optional but at least one of application_urls, + # application_email_list or application_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 is 255. + # Corresponds to the JSON property `applicationEmailList` + # @return [Array] + attr_accessor :application_email_list + + # Optional but at least one of application_urls, + # application_email_list or application_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. + # Corresponds to the JSON property `applicationInstruction` + # @return [String] + attr_accessor :application_instruction + + # Optional but at least one of application_urls, + # application_email_list or application_instruction must be + # specified. + # Use this URL field to direct an applicant to a website, for example to + # link to an online application form. + # The maximum number of allowed characters is 2,000. + # Corresponds to the JSON property `applicationUrls` + # @return [Array] + attr_accessor :application_urls + + # Optional. + # The benefits included with the job. + # Corresponds to the JSON property `benefits` + # @return [Array] + attr_accessor :benefits + + # Output only. + # The name of the company listing the job. + # Corresponds to the JSON property `companyDisplayName` + # @return [String] + attr_accessor :company_display_name + + # Optional but one of company_name or distributor_company_id must be + # provided. + # The resource name of the company listing the job, such as + # /companies/foo. This field takes precedence over the + # distributor-assigned company identifier, distributor_company_id. + # Corresponds to the JSON property `companyName` + # @return [String] + attr_accessor :company_name + + # Deprecated. Use company_display_name instead. + # Output only. + # The name of the company listing the job. + # Corresponds to the JSON property `companyTitle` + # @return [String] + attr_accessor :company_title + + # Job compensation details. + # Corresponds to the JSON property `compensationInfo` + # @return [Google::Apis::JobsV2::CompensationInfo] + attr_accessor :compensation_info + + # Output only. + # The timestamp when this job was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Optional. + # A map of fields to hold both filterable and non-filterable custom job + # attributes that are not covered by the provided structured fields. + # This field is a more general combination of the deprecated id-based + # filterable_custom_fields and string-based + # non_filterable_custom_fields. + # The keys of the map are strings up to 64 bytes and must match the + # pattern: a-zA-Z*. + # 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. + # Corresponds to the JSON property `customAttributes` + # @return [Hash] + attr_accessor :custom_attributes + + # Optional. + # The department or functional area within the company with the open + # position. + # The maximum number of allowed characters is 255. + # Corresponds to the JSON property `department` + # @return [String] + attr_accessor :department + + # 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. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Optional but one of company_name or distributor_company_id must be + # provided. + # A unique company identifier that used by job distributors to identify an + # employer's company entity. company_name takes precedence over + # this field, and is the recommended field to use to identify companies. + # The maximum number of allowed characters is 255. + # Corresponds to the JSON property `distributorCompanyId` + # @return [String] + attr_accessor :distributor_company_id + + # Optional. + # The desired education level for the job, such as + # "Bachelors", "Masters", "Doctorate". + # Corresponds to the JSON property `educationLevels` + # @return [Array] + attr_accessor :education_levels + + # Optional. + # The employment type(s) of a job, for example, + # full time or + # part time. + # Corresponds to the JSON property `employmentTypes` + # @return [Array] + attr_accessor :employment_types + + # Represents a whole calendar date, e.g. date of birth. The time of day and + # time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. The day may be 0 to + # represent a year and month where the day is not significant, e.g. credit card + # expiration date. The year may be 0 to represent a month and day independent + # of year, e.g. anniversary date. Related types are google.type.TimeOfDay + # and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `endDate` + # @return [Google::Apis::JobsV2::Date] + attr_accessor :end_date + + # Optional but strongly recommended to be provided 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. It can also remain + # expired. Updating an expired job to be open fails if there is another + # existing open job with same requisition_id, company_name and + # language_code. + # 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. + # The format of this field is RFC 3339 date strings. Example: + # 2000-01-01T00:00:00.999999999Z + # See + # [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + # A valid date range is between 1970-01-01T00:00:00.0Z and + # 2100-12-31T23:59:59.999Z. Invalid dates are ignored and treated as expire + # time not provided. + # If this value is not provided on job creation or 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 but expiry_date is, expiry_date is + # used. + # If this value is not provided on job update, it depends on the field masks + # set by UpdateJobRequest.update_job_fields. 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. + # Corresponds to the JSON property `expireTime` + # @return [String] + attr_accessor :expire_time + + # Represents a whole calendar date, e.g. date of birth. The time of day and + # time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. The day may be 0 to + # represent a year and month where the day is not significant, e.g. credit card + # expiration date. The year may be 0 to represent a month and day independent + # of year, e.g. anniversary date. Related types are google.type.TimeOfDay + # and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `expiryDate` + # @return [Google::Apis::JobsV2::Date] + attr_accessor :expiry_date + + # Deprecated. Use CompensationInfo. + # Describes job compensation. + # Corresponds to the JSON property `extendedCompensationInfo` + # @return [Google::Apis::JobsV2::ExtendedCompensationInfo] + attr_accessor :extended_compensation_info + + # Deprecated. Use custom_attributes instead. + # Optional. + # A map of fields to hold filterable custom job attributes not captured by + # the standard fields such as job_title, company_name, or + # level. These custom fields store arbitrary + # string values, and can be used for purposes not covered by + # the structured fields. For the best search experience, use of the + # structured rather than custom fields is recommended. + # Data stored in these custom fields fields are indexed and + # searched against by keyword searches (see + # SearchJobsRequest.custom_field_filters][]). To list jobs by + # custom fields, see ListCustomFieldsRequest.field_id. + # The map key must be a number between 1-20. If an invalid key is + # provided on job create or update, an error is returned. + # Corresponds to the JSON property `filterableCustomFields` + # @return [Hash] + attr_accessor :filterable_custom_fields + + # 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. + # Corresponds to the JSON property `incentives` + # @return [String] + attr_accessor :incentives + + # Output only. + # Structured locations of the job, resolved from locations. + # Corresponds to the JSON property `jobLocations` + # @return [Array] + attr_accessor :job_locations + + # Required. + # The title of the job, such as "Software Engineer" + # The maximum number of allowed characters is 500. + # Corresponds to the JSON property `jobTitle` + # @return [String] + attr_accessor :job_title + + # 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). + # The default value is `en-US`. + # Corresponds to the JSON property `languageCode` + # @return [String] + attr_accessor :language_code + + # Optional. + # The experience level associated with the job, such as "Entry Level". + # Corresponds to the JSON property `level` + # @return [String] + attr_accessor :level + + # Optional but strongly recommended to be provided for the best service + # experience. + # Location(s) where the job is hiring. + # Providing the full street address(es) of the hiring + # location is recommended to enable better API results, including + # 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 requisition_id, company_name and + # language_code 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. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Required during job update. + # Resource name assigned to a job by the API, for example, "/jobs/foo". Use + # of this field in job queries and API calls is preferred over the use of + # requisition_id since this value is unique. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # 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. + # Corresponds to the JSON property `promotionValue` + # @return [Fixnum] + attr_accessor :promotion_value + + # Represents a whole calendar date, e.g. date of birth. The time of day and + # time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. The day may be 0 to + # represent a year and month where the day is not significant, e.g. credit card + # expiration date. The year may be 0 to represent a month and day independent + # of year, e.g. anniversary date. Related types are google.type.TimeOfDay + # and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `publishDate` + # @return [Google::Apis::JobsV2::Date] + attr_accessor :publish_date + + # 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. + # Corresponds to the JSON property `qualifications` + # @return [String] + attr_accessor :qualifications + + # Output only. + # The URL of a web page that displays job details. + # Corresponds to the JSON property `referenceUrl` + # @return [String] + attr_accessor :reference_url + + # Optional. + # The job Region (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 if an exact location match is not specified. + # If this field is set, setting job locations + # to the same location level as this field is strongly recommended. + # Corresponds to the JSON property `region` + # @return [String] + attr_accessor :region + + # 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 listings. A job is not allowed + # to be created if there is another job with the same requisition_id, + # company_name and language_code. + # The maximum number of allowed characters is 225. + # Corresponds to the JSON property `requisitionId` + # @return [String] + attr_accessor :requisition_id + + # 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. + # Corresponds to the JSON property `responsibilities` + # @return [String] + attr_accessor :responsibilities + + # Represents a whole calendar date, e.g. date of birth. The time of day and + # time zone are either specified elsewhere or are not significant. The date + # is relative to the Proleptic Gregorian Calendar. The day may be 0 to + # represent a year and month where the day is not significant, e.g. credit card + # expiration date. The year may be 0 to represent a month and day independent + # of year, e.g. anniversary date. Related types are google.type.TimeOfDay + # and `google.protobuf.Timestamp`. + # Corresponds to the JSON property `startDate` + # @return [Google::Apis::JobsV2::Date] + attr_accessor :start_date + + # Deprecated. Use custom_attributes instead. + # Optional. + # A map of fields to hold non-filterable custom job attributes, similar to + # filterable_custom_fields. These fields are distinct in that the data + # in these fields are not indexed. Therefore, the client cannot search + # against them, nor can the client use them to list jobs. + # The key of the map can be any valid string. + # Corresponds to the JSON property `unindexedCustomFields` + # @return [Hash] + attr_accessor :unindexed_custom_fields + + # Output only. + # The timestamp when this job was last updated. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + # Optional. + # The visibility of the job. + # Defaults to JobVisibility.PRIVATE if not specified. + # Currently only JobVisibility.PRIVATE is supported. + # Corresponds to the JSON property `visibility` + # @return [String] + attr_accessor :visibility + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @application_email_list = args[:application_email_list] if args.key?(:application_email_list) + @application_instruction = args[:application_instruction] if args.key?(:application_instruction) + @application_urls = args[:application_urls] if args.key?(:application_urls) + @benefits = args[:benefits] if args.key?(:benefits) + @company_display_name = args[:company_display_name] if args.key?(:company_display_name) + @company_name = args[:company_name] if args.key?(:company_name) + @company_title = args[:company_title] if args.key?(:company_title) + @compensation_info = args[:compensation_info] if args.key?(:compensation_info) + @create_time = args[:create_time] if args.key?(:create_time) + @custom_attributes = args[:custom_attributes] if args.key?(:custom_attributes) + @department = args[:department] if args.key?(:department) + @description = args[:description] if args.key?(:description) + @distributor_company_id = args[:distributor_company_id] if args.key?(:distributor_company_id) + @education_levels = args[:education_levels] if args.key?(:education_levels) + @employment_types = args[:employment_types] if args.key?(:employment_types) + @end_date = args[:end_date] if args.key?(:end_date) + @expire_time = args[:expire_time] if args.key?(:expire_time) + @expiry_date = args[:expiry_date] if args.key?(:expiry_date) + @extended_compensation_info = args[:extended_compensation_info] if args.key?(:extended_compensation_info) + @filterable_custom_fields = args[:filterable_custom_fields] if args.key?(:filterable_custom_fields) + @incentives = args[:incentives] if args.key?(:incentives) + @job_locations = args[:job_locations] if args.key?(:job_locations) + @job_title = args[:job_title] if args.key?(:job_title) + @language_code = args[:language_code] if args.key?(:language_code) + @level = args[:level] if args.key?(:level) + @locations = args[:locations] if args.key?(:locations) + @name = args[:name] if args.key?(:name) + @promotion_value = args[:promotion_value] if args.key?(:promotion_value) + @publish_date = args[:publish_date] if args.key?(:publish_date) + @qualifications = args[:qualifications] if args.key?(:qualifications) + @reference_url = args[:reference_url] if args.key?(:reference_url) + @region = args[:region] if args.key?(:region) + @requisition_id = args[:requisition_id] if args.key?(:requisition_id) + @responsibilities = args[:responsibilities] if args.key?(:responsibilities) + @start_date = args[:start_date] if args.key?(:start_date) + @unindexed_custom_fields = args[:unindexed_custom_fields] if args.key?(:unindexed_custom_fields) + @update_time = args[:update_time] if args.key?(:update_time) + @visibility = args[:visibility] if args.key?(:visibility) + end + end + + # Input only. + # Deprecated. Use JobQuery instead. + # The filters required to perform a search query or histogram. + class JobFilters + include Google::Apis::Core::Hashable + + # 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. + # Corresponds to the JSON property `categories` + # @return [Array] + attr_accessor :categories + + # Input only. + # Parameters needed for commute search. + # Corresponds to the JSON property `commuteFilter` + # @return [Google::Apis::JobsV2::CommutePreference] + attr_accessor :commute_filter + + # Optional. + # The company names filter specifies the company entities to search + # against. + # If a value is not specified, jobs are searched for against all companies. + # If multiple values are specified, jobs are searched against the + # specified companies. + # At most 20 company filters are allowed. + # Corresponds to the JSON property `companyNames` + # @return [Array] + attr_accessor :company_names + + # Optional. + # This filter specifies the exact company titles + # of jobs to search against. + # If a value is not specified, jobs within the search results can be + # 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 title filters are allowed. + # Corresponds to the JSON property `companyTitles` + # @return [Array] + attr_accessor :company_titles + + # Input only. + # Filter on job compensation type and amount. + # Corresponds to the JSON property `compensationFilter` + # @return [Google::Apis::JobsV2::CompensationFilter] + attr_accessor :compensation_filter + + # Optional. + # This filter specifies a structured syntax to match against the + # Job.custom_attributes that are marked as `filterable`. + # The syntax for this expression is a subset of Google SQL syntax. + # Supported operators are: =, !=, <, <=, >, >= where the left of the operator + # is a custom field key and the right of the operator is a number or string + # (surrounded by quotes) value. + # Supported functions are LOWER() to + # perform case insensitive match and EMPTY() 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"), and there can + # be a maximum of 50 comparisons/functions in the expression. The expression + # must be < 2000 characters in length. + # Sample Query: + # (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 100 + # Corresponds to the JSON property `customAttributeFilter` + # @return [String] + attr_accessor :custom_attribute_filter + + # Deprecated. Use custom_attribute_filter instead. + # Optional. + # This filter specifies searching against + # custom field values. See Job.filterable_custom_fields for information. + # The key value specifies a number between 1-20 (the service + # supports 20 custom fields) corresponding to the desired custom field map + # value. If an invalid key is provided or specified together with + # custom_attribute_filter, an error is thrown. + # Corresponds to the JSON property `customFieldFilters` + # @return [Hash] + attr_accessor :custom_field_filters + + # 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. + # Corresponds to the JSON property `disableSpellCheck` + # @return [Boolean] + attr_accessor :disable_spell_check + alias_method :disable_spell_check?, :disable_spell_check + + # 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 include any + # employment type. + # If multiple values are specified, jobs in the search results include any + # of the specified employment types. + # Corresponds to the JSON property `employmentTypes` + # @return [Array] + attr_accessor :employment_types + + # Deprecated. Always use CompensationFilter. + # Input only. + # Filter on job compensation type and amount. + # Corresponds to the JSON property `extendedCompensationFilter` + # @return [Google::Apis::JobsV2::ExtendedCompensationFilter] + attr_accessor :extended_compensation_filter + + # Optional. + # This filter specifies the locale of jobs to search against, + # for example, "en-US". + # If a value is not 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. + # Corresponds to the JSON property `languageCodes` + # @return [Array] + attr_accessor :language_codes + + # Optional. + # The location filter specifies geo-regions containing the jobs to + # search against. See LocationFilter for more information. + # If a location value is not specified, jobs are be retrieved + # from all locations. + # If multiple values are specified, jobs are retrieved from any of the + # specified locations, and, 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. + # Corresponds to the JSON property `locationFilters` + # @return [Array] + attr_accessor :location_filters + + # Optional. + # Jobs published within a range specified by this filter are searched + # against, for example, DateRange.PAST_MONTH. If a value is not + # specified, all open jobs are searched against regardless of the + # date on which they were published. + # Corresponds to the JSON property `publishDateRange` + # @return [String] + attr_accessor :publish_date_range + + # Optional. + # The query filter contains the keywords that match against the job + # title, description, and location fields. + # The maximum query size is 255 bytes. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # Optional. + # This flag controls whether the job search should be restricted to jobs + # owned by the current user. + # Defaults to false that all jobs accessible to the + # user are searched against. + # Corresponds to the JSON property `tenantJobOnly` + # @return [Boolean] + attr_accessor :tenant_job_only + alias_method :tenant_job_only?, :tenant_job_only + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @categories = args[:categories] if args.key?(:categories) + @commute_filter = args[:commute_filter] if args.key?(:commute_filter) + @company_names = args[:company_names] if args.key?(:company_names) + @company_titles = args[:company_titles] if args.key?(:company_titles) + @compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter) + @custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter) + @custom_field_filters = args[:custom_field_filters] if args.key?(:custom_field_filters) + @disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check) + @employment_types = args[:employment_types] if args.key?(:employment_types) + @extended_compensation_filter = args[:extended_compensation_filter] if args.key?(:extended_compensation_filter) + @language_codes = args[:language_codes] if args.key?(:language_codes) + @location_filters = args[:location_filters] if args.key?(:location_filters) + @publish_date_range = args[:publish_date_range] if args.key?(:publish_date_range) + @query = args[:query] if args.key?(:query) + @tenant_job_only = args[:tenant_job_only] if args.key?(:tenant_job_only) + end + end + + # Output only. + # A resource that represents a location with full geographic + # information. + class JobLocation + include Google::Apis::Core::Hashable + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `latLng` + # @return [Google::Apis::JobsV2::LatLng] + attr_accessor :lat_lng + + # 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. + # Corresponds to the JSON property `locationType` + # @return [String] + attr_accessor :location_type + + # Represents a postal address, e.g. for postal delivery or payments addresses. + # 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 + # Corresponds to the JSON property `postalAddress` + # @return [Google::Apis::JobsV2::PostalAddress] + attr_accessor :postal_address + + # Radius in meters of the job location. This value is derived from the + # location bounding box in which a circle with the specified radius + # centered from LatLng coves the area associated with the job location. + # For example, currently, "Mountain View, CA, USA" has a radius of + # 7885.79 meters. + # Corresponds to the JSON property `radiusMeters` + # @return [Float] + attr_accessor :radius_meters + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @lat_lng = args[:lat_lng] if args.key?(:lat_lng) + @location_type = args[:location_type] if args.key?(:location_type) + @postal_address = args[:postal_address] if args.key?(:postal_address) + @radius_meters = args[:radius_meters] if args.key?(:radius_meters) + end + end + + # Input only. + # The query required to perform a search query or histogram. + class JobQuery + include Google::Apis::Core::Hashable + + # 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. + # Corresponds to the JSON property `categories` + # @return [Array] + attr_accessor :categories + + # Input only. + # Parameters needed for commute search. + # Corresponds to the JSON property `commuteFilter` + # @return [Google::Apis::JobsV2::CommutePreference] + attr_accessor :commute_filter + + # Optional. + # This filter specifies the exact company display + # name of jobs to search against. + # If a value is not specified, jobs within the search results can be + # 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. + # Corresponds to the JSON property `companyDisplayNames` + # @return [Array] + attr_accessor :company_display_names + + # Optional. + # The company names filter specifies the company entities to search + # against. + # If a value is not specified, jobs are searched for against all + # companies. + # If multiple values are specified, jobs are searched against the + # specified companies. + # At most 20 company filters are allowed. + # Corresponds to the JSON property `companyNames` + # @return [Array] + attr_accessor :company_names + + # Input only. + # Filter on job compensation type and amount. + # Corresponds to the JSON property `compensationFilter` + # @return [Google::Apis::JobsV2::CompensationFilter] + attr_accessor :compensation_filter + + # Optional. + # This filter specifies a structured syntax to match against the + # Job.custom_attributes that are marked as `filterable`. + # The syntax for this expression is a subset of Google SQL syntax. + # Supported operators are: =, !=, <, <=, >, >= where the left of the operator + # is a custom field key and the right of the operator is a number or string + # (surrounded by quotes) value. + # Supported functions are LOWER() to + # perform case insensitive match and EMPTY() 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"), and there can + # be a maximum of 50 comparisons/functions in the expression. The expression + # must be < 2000 characters in length. + # Sample Query: + # (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1)) AND key2 > 100 + # Corresponds to the JSON property `customAttributeFilter` + # @return [String] + attr_accessor :custom_attribute_filter + + # 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. + # Corresponds to the JSON property `disableSpellCheck` + # @return [Boolean] + attr_accessor :disable_spell_check + alias_method :disable_spell_check?, :disable_spell_check + + # 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 will include any + # employment type. + # If multiple values are specified, jobs in the search results include + # any of the specified employment types. + # Corresponds to the JSON property `employmentTypes` + # @return [Array] + attr_accessor :employment_types + + # Optional. + # This filter specifies the locale of jobs to search against, + # for example, "en-US". + # If a value is not 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. + # Corresponds to the JSON property `languageCodes` + # @return [Array] + attr_accessor :language_codes + + # Optional. + # The location filter specifies geo-regions containing the jobs to + # search against. See LocationFilter for more information. + # If a location value is not specified, jobs that fit 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, and, 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. + # Corresponds to the JSON property `locationFilters` + # @return [Array] + attr_accessor :location_filters + + # Optional. + # Jobs published within a range specified by this filter are searched + # against, for example, DateRange.PAST_MONTH. If a value is not + # specified, all open jobs are searched against regardless of the + # date on which they were published. + # Corresponds to the JSON property `publishDateRange` + # @return [String] + attr_accessor :publish_date_range + + # Optional. + # The query string that matches against the job title, description, and + # location fields. + # The maximum query size is 255 bytes. + # Corresponds to the JSON property `query` + # @return [String] + attr_accessor :query + + # Optional. + # This flag controls whether the job search should be restricted to jobs + # owned by the current user. + # Defaults to false: all jobs accessible to the + # user are searched against. + # Corresponds to the JSON property `tenantJobOnly` + # @return [Boolean] + attr_accessor :tenant_job_only + alias_method :tenant_job_only?, :tenant_job_only + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @categories = args[:categories] if args.key?(:categories) + @commute_filter = args[:commute_filter] if args.key?(:commute_filter) + @company_display_names = args[:company_display_names] if args.key?(:company_display_names) + @company_names = args[:company_names] if args.key?(:company_names) + @compensation_filter = args[:compensation_filter] if args.key?(:compensation_filter) + @custom_attribute_filter = args[:custom_attribute_filter] if args.key?(:custom_attribute_filter) + @disable_spell_check = args[:disable_spell_check] if args.key?(:disable_spell_check) + @employment_types = args[:employment_types] if args.key?(:employment_types) + @language_codes = args[:language_codes] if args.key?(:language_codes) + @location_filters = args[:location_filters] if args.key?(:location_filters) + @publish_date_range = args[:publish_date_range] if args.key?(:publish_date_range) + @query = args[:query] if args.key?(:query) + @tenant_job_only = args[:tenant_job_only] if args.key?(:tenant_job_only) + end + end + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + class LatLng + include Google::Apis::Core::Hashable + + # The latitude in degrees. It must be in the range [-90.0, +90.0]. + # Corresponds to the JSON property `latitude` + # @return [Float] + attr_accessor :latitude + + # The longitude in degrees. It must be in the range [-180.0, +180.0]. + # Corresponds to the JSON property `longitude` + # @return [Float] + attr_accessor :longitude + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @latitude = args[:latitude] if args.key?(:latitude) + @longitude = args[:longitude] if args.key?(:longitude) + end + end + + # Output only. + # The List companies response object. + class ListCompaniesResponse + include Google::Apis::Core::Hashable + + # Companies for the current client. + # Corresponds to the JSON property `companies` + # @return [Array] + attr_accessor :companies + + # Output only. + # Additional information returned to client, such as debugging + # information. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::JobsV2::ResponseMetadata] + attr_accessor :metadata + + # A token to retrieve the next page of results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @companies = args[:companies] if args.key?(:companies) + @metadata = args[:metadata] if args.key?(:metadata) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # Deprecated. Use ListJobsResponse instead. + # Output only. + # The List jobs response object. + class ListCompanyJobsResponse + include Google::Apis::Core::Hashable + + # The Jobs for a given company. + # The maximum number of items returned is based on the limit field + # provided in the request. + # Corresponds to the JSON property `jobs` + # @return [Array] + attr_accessor :jobs + + # Output only. + # Additional information returned to client, such as debugging + # information. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::JobsV2::ResponseMetadata] + attr_accessor :metadata + + # A token to retrieve the next page of results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # The total number of open jobs. The result will be + # empty if ListCompanyJobsRequest.include_jobs_count is not enabled + # or if no open jobs are available. + # Corresponds to the JSON property `totalSize` + # @return [Fixnum] + attr_accessor :total_size + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @jobs = args[:jobs] if args.key?(:jobs) + @metadata = args[:metadata] if args.key?(:metadata) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @total_size = args[:total_size] if args.key?(:total_size) + end + end + + # Output only. + # List jobs response. + class ListJobsResponse + include Google::Apis::Core::Hashable + + # The Jobs for a given company. + # The maximum number of items returned is based on the limit field + # provided in the request. + # Corresponds to the JSON property `jobs` + # @return [Array] + attr_accessor :jobs + + # Output only. + # Additional information returned to client, such as debugging + # information. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::JobsV2::ResponseMetadata] + attr_accessor :metadata + + # A token to retrieve the next page of results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @jobs = args[:jobs] if args.key?(:jobs) + @metadata = args[:metadata] if args.key?(:metadata) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # Input only. + # Geographic region of the search. + class LocationFilter + include Google::Apis::Core::Hashable + + # Optional. + # The distance from the address in miles to search. + # The default distance is 20 miles and maximum distance is 5,000 miles. + # Corresponds to the JSON property `distanceInMiles` + # @return [Float] + attr_accessor :distance_in_miles + + # 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.allow_telecommute indicates if a job permits telecommuting. + # If this field is true, telecommuting jobs are searched, and + # name and lat_lng are + # ignored. + # 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. + # Corresponds to the JSON property `isTelecommute` + # @return [Boolean] + attr_accessor :is_telecommute + alias_method :is_telecommute?, :is_telecommute + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `latLng` + # @return [Google::Apis::JobsV2::LatLng] + attr_accessor :lat_lng + + # Optional. + # The address name, such as "Mountain View" or "Bay Area". + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Optional. + # CLDR region code of the country/region of the address. This will be used + # to address ambiguity of the user-input location, e.g. "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. + # Corresponds to the JSON property `regionCode` + # @return [String] + attr_accessor :region_code + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @distance_in_miles = args[:distance_in_miles] if args.key?(:distance_in_miles) + @is_telecommute = args[:is_telecommute] if args.key?(:is_telecommute) + @lat_lng = args[:lat_lng] if args.key?(:lat_lng) + @name = args[:name] if args.key?(:name) + @region_code = args[:region_code] if args.key?(:region_code) + end + end + + # Output only. + # Job entry with metadata inside SearchJobsResponse. + class MatchingJob + include Google::Apis::Core::Hashable + + # Output only. + # Commute details related to this job. + # Corresponds to the JSON property `commuteInfo` + # @return [Google::Apis::JobsV2::CommuteInfo] + attr_accessor :commute_info + + # 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. + # Corresponds to the JSON property `job` + # @return [Google::Apis::JobsV2::Job] + attr_accessor :job + + # A summary of the job with core information that's displayed on the search + # results listing page. + # Corresponds to the JSON property `jobSummary` + # @return [String] + attr_accessor :job_summary + + # Contains snippets of text from the Job.job_title field that most + # closely match a search query's keywords, if available. The matching query + # keywords are enclosed in HTML bold tags. + # Corresponds to the JSON property `jobTitleSnippet` + # @return [String] + attr_accessor :job_title_snippet + + # 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. + # Corresponds to the JSON property `searchTextSnippet` + # @return [String] + attr_accessor :search_text_snippet + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @commute_info = args[:commute_info] if args.key?(:commute_info) + @job = args[:job] if args.key?(:job) + @job_summary = args[:job_summary] if args.key?(:job_summary) + @job_title_snippet = args[:job_title_snippet] if args.key?(:job_title_snippet) + @search_text_snippet = args[:search_text_snippet] if args.key?(:search_text_snippet) + end + end + + # Represents an amount of money with its currency type. + class Money + include Google::Apis::Core::Hashable + + # The 3-letter currency code defined in ISO 4217. + # Corresponds to the JSON property `currencyCode` + # @return [String] + attr_accessor :currency_code + + # 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. + # Corresponds to the JSON property `nanos` + # @return [Fixnum] + attr_accessor :nanos + + # The whole units of the amount. + # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + # Corresponds to the JSON property `units` + # @return [Fixnum] + attr_accessor :units + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @currency_code = args[:currency_code] if args.key?(:currency_code) + @nanos = args[:nanos] if args.key?(:nanos) + @units = args[:units] if args.key?(:units) + end + end + + # Input only. + # Use this field to specify bucketing option for the histogram search response. + class NumericBucketingOption + include Google::Apis::Core::Hashable + + # 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. + # Corresponds to the JSON property `bucketBounds` + # @return [Array] + attr_accessor :bucket_bounds + + # Optional. + # If set to true, the histogram result includes minimum/maximum + # value of the numeric field. + # Corresponds to the JSON property `requiresMinMax` + # @return [Boolean] + attr_accessor :requires_min_max + alias_method :requires_min_max?, :requires_min_max + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bucket_bounds = args[:bucket_bounds] if args.key?(:bucket_bounds) + @requires_min_max = args[:requires_min_max] if args.key?(:requires_min_max) + end + end + + # Output only. + # Custom numeric bucketing result. + class NumericBucketingResult + include Google::Apis::Core::Hashable + + # Count within each bucket. Its size is the length of + # NumericBucketingOption.bucket_bounds plus 1. + # Corresponds to the JSON property `counts` + # @return [Array] + attr_accessor :counts + + # Stores the maximum value of the numeric field. Will be populated only if + # [NumericBucketingOption.requires_min_max] is set to true. + # Corresponds to the JSON property `maxValue` + # @return [Float] + attr_accessor :max_value + + # Stores the minimum value of the numeric field. Will be populated only if + # [NumericBucketingOption.requires_min_max] is set to true. + # Corresponds to the JSON property `minValue` + # @return [Float] + attr_accessor :min_value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @counts = args[:counts] if args.key?(:counts) + @max_value = args[:max_value] if args.key?(:max_value) + @min_value = args[:min_value] if args.key?(:min_value) + end + end + + # Represents a postal address, e.g. for postal delivery or payments addresses. + # 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 + class PostalAddress + include Google::Apis::Core::Hashable + + # 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). + # Corresponds to the JSON property `addressLines` + # @return [Array] + attr_accessor :address_lines + + # 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. + # Corresponds to the JSON property `administrativeArea` + # @return [String] + attr_accessor :administrative_area + + # 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". + # Corresponds to the JSON property `languageCode` + # @return [String] + attr_accessor :language_code + + # 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. + # Corresponds to the JSON property `locality` + # @return [String] + attr_accessor :locality + + # Optional. The name of the organization at the address. + # Corresponds to the JSON property `organization` + # @return [String] + attr_accessor :organization + + # 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.). + # Corresponds to the JSON property `postalCode` + # @return [String] + attr_accessor :postal_code + + # Optional. The recipient at the address. + # This field may, under certain circumstances, contain multiline information. + # For example, it might contain "care of" information. + # Corresponds to the JSON property `recipients` + # @return [Array] + attr_accessor :recipients + + # 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. + # Corresponds to the JSON property `regionCode` + # @return [String] + attr_accessor :region_code + + # 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. + # Corresponds to the JSON property `revision` + # @return [Fixnum] + attr_accessor :revision + + # 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). + # Corresponds to the JSON property `sortingCode` + # @return [String] + attr_accessor :sorting_code + + # Optional. Sublocality of the address. + # For example, this can be neighborhoods, boroughs, districts. + # Corresponds to the JSON property `sublocality` + # @return [String] + attr_accessor :sublocality + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @address_lines = args[:address_lines] if args.key?(:address_lines) + @administrative_area = args[:administrative_area] if args.key?(:administrative_area) + @language_code = args[:language_code] if args.key?(:language_code) + @locality = args[:locality] if args.key?(:locality) + @organization = args[:organization] if args.key?(:organization) + @postal_code = args[:postal_code] if args.key?(:postal_code) + @recipients = args[:recipients] if args.key?(:recipients) + @region_code = args[:region_code] if args.key?(:region_code) + @revision = args[:revision] if args.key?(:revision) + @sorting_code = args[:sorting_code] if args.key?(:sorting_code) + @sublocality = args[:sublocality] if args.key?(:sublocality) + end + end + + # Input only. + # Meta information related to the job searcher or entity + # conducting the job search. This information is used to improve the + # performance of the service. + class RequestMetadata + include Google::Apis::Core::Hashable + + # Input only. + # Device information collected from the job searcher, candidate, or + # other entity conducting the job search. Providing this information improves + # the quality of the search results across devices. + # Corresponds to the JSON property `deviceInfo` + # @return [Google::Apis::JobsV2::DeviceInfo] + attr_accessor :device_info + + # 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 Foo, Inc., 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 is not available for some reason, please send "UNKNOWN". + # Corresponds to the JSON property `domain` + # @return [String] + attr_accessor :domain + + # Required. + # A unique session identification string. A session is defined as the + # duration of an end user's interaction with the service over a period. + # Obfuscate this field for privacy concerns before + # providing it to the API. + # If this field is not available for some reason, please send "UNKNOWN". + # Corresponds to the JSON property `sessionId` + # @return [String] + attr_accessor :session_id + + # Required. + # A unique user identification string, as determined by the client. The + # client is responsible for ensuring client-level uniqueness of this value + # in order to have the strongest positive impact on search quality. + # Obfuscate this field for privacy concerns before + # providing it to the service. + # If this field is not available for some reason, please send "UNKNOWN". + # Corresponds to the JSON property `userId` + # @return [String] + attr_accessor :user_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @device_info = args[:device_info] if args.key?(:device_info) + @domain = args[:domain] if args.key?(:domain) + @session_id = args[:session_id] if args.key?(:session_id) + @user_id = args[:user_id] if args.key?(:user_id) + end + end + + # Output only. + # Additional information returned to client, such as debugging + # information. + class ResponseMetadata + include Google::Apis::Core::Hashable + + # Identifiers for the versions of the search algorithm used during + # this API invocation if multiple algorithms are used. + # The default value is empty. + # For search response only. + # Corresponds to the JSON property `experimentIdList` + # @return [Array] + attr_accessor :experiment_id_list + + # For search response only. Indicates the mode of a performed search. + # Corresponds to the JSON property `mode` + # @return [String] + attr_accessor :mode + + # A unique id associated with this call. + # This id is logged for tracking purposes. + # Corresponds to the JSON property `requestId` + # @return [String] + attr_accessor :request_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @experiment_id_list = args[:experiment_id_list] if args.key?(:experiment_id_list) + @mode = args[:mode] if args.key?(:mode) + @request_id = args[:request_id] if args.key?(:request_id) + end + end + + # Input only. + # The Request body of the `SearchJobs` call. + class SearchJobsRequest + include Google::Apis::Core::Hashable + + # Deprecated. Any value provided in this field will be ignored. + # Optional. + # Controls whether to disable relevance thresholding. Relevance + # thresholding removes jobs that have low relevance in search results, + # for example, removing "Assistant to the CEO" positions from the search + # results of a search for "CEO". + # Disabling relevance thresholding improves the accuracy of subsequent + # search requests. + # Defaults to false. + # Corresponds to the JSON property `disableRelevanceThresholding` + # @return [Boolean] + attr_accessor :disable_relevance_thresholding + alias_method :disable_relevance_thresholding?, :disable_relevance_thresholding + + # 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. + # Corresponds to the JSON property `enableBroadening` + # @return [Boolean] + attr_accessor :enable_broadening + alias_method :enable_broadening?, :enable_broadening + + # 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. + # Corresponds to the JSON property `enablePreciseResultSize` + # @return [Boolean] + attr_accessor :enable_precise_result_size + alias_method :enable_precise_result_size?, :enable_precise_result_size + + # Input only. + # Deprecated. Use JobQuery instead. + # The filters required to perform a search query or histogram. + # Corresponds to the JSON property `filters` + # @return [Google::Apis::JobsV2::JobFilters] + attr_accessor :filters + + # Input only. + # Histogram facets to be specified in SearchJobsRequest. + # Corresponds to the JSON property `histogramFacets` + # @return [Google::Apis::JobsV2::HistogramFacets] + attr_accessor :histogram_facets + + # Optional. + # The number of job attributes that is returned for jobs in the + # search response. Defaults to JobView.SMALL if no value is specified. + # Corresponds to the JSON property `jobView` + # @return [String] + attr_accessor :job_view + + # Required. + # Mode of a search. + # Corresponds to the JSON property `mode` + # @return [String] + attr_accessor :mode + + # Optional. + # An integer that specifies the current offset (i.e. starting result) 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). + # Corresponds to the JSON property `offset` + # @return [Fixnum] + attr_accessor :offset + + # Deprecated. Use sort_by instead. + # Optional. + # The criteria that determine how search results are sorted. + # Defaults to SortBy.RELEVANCE_DESC if no value is specified. + # Corresponds to the JSON property `orderBy` + # @return [String] + attr_accessor :order_by + + # 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. + # Corresponds to the JSON property `pageSize` + # @return [Fixnum] + attr_accessor :page_size + + # Optional. + # The token that specifies the current offset within + # search results. See SearchJobsResponse.next_page_token for + # an explanation of how to obtain the next set of query results. + # Corresponds to the JSON property `pageToken` + # @return [String] + attr_accessor :page_token + + # Input only. + # The query required to perform a search query or histogram. + # Corresponds to the JSON property `query` + # @return [Google::Apis::JobsV2::JobQuery] + attr_accessor :query + + # Input only. + # Meta information related to the job searcher or entity + # conducting the job search. This information is used to improve the + # performance of the service. + # Corresponds to the JSON property `requestMetadata` + # @return [Google::Apis::JobsV2::RequestMetadata] + attr_accessor :request_metadata + + # Optional. + # The criteria that determine how search results are sorted. + # Defaults to SortBy.RELEVANCE_DESC if no value is specified. + # Corresponds to the JSON property `sortBy` + # @return [String] + attr_accessor :sort_by + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disable_relevance_thresholding = args[:disable_relevance_thresholding] if args.key?(:disable_relevance_thresholding) + @enable_broadening = args[:enable_broadening] if args.key?(:enable_broadening) + @enable_precise_result_size = args[:enable_precise_result_size] if args.key?(:enable_precise_result_size) + @filters = args[:filters] if args.key?(:filters) + @histogram_facets = args[:histogram_facets] if args.key?(:histogram_facets) + @job_view = args[:job_view] if args.key?(:job_view) + @mode = args[:mode] if args.key?(:mode) + @offset = args[:offset] if args.key?(:offset) + @order_by = args[:order_by] if args.key?(:order_by) + @page_size = args[:page_size] if args.key?(:page_size) + @page_token = args[:page_token] if args.key?(:page_token) + @query = args[:query] if args.key?(:query) + @request_metadata = args[:request_metadata] if args.key?(:request_metadata) + @sort_by = args[:sort_by] if args.key?(:sort_by) + end + end + + # Output only. + # Response for SearchJob method. + class SearchJobsResponse + include Google::Apis::Core::Hashable + + # Input only. + # Parameters needed for commute search. + # Corresponds to the JSON property `appliedCommuteFilter` + # @return [Google::Apis::JobsV2::CommutePreference] + attr_accessor :applied_commute_filter + + # 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. + # Corresponds to the JSON property `appliedJobLocationFilters` + # @return [Array] + attr_accessor :applied_job_location_filters + + # An estimation of the number of jobs that match the specified query. + # This number is not guaranteed to be accurate. For accurate results, + # seenenable_precise_result_size. + # Corresponds to the JSON property `estimatedTotalSize` + # @return [Fixnum] + attr_accessor :estimated_total_size + + # Output only. + # Histogram results that matches HistogramFacets specified in + # SearchJobsRequest. + # Corresponds to the JSON property `histogramResults` + # @return [Google::Apis::JobsV2::HistogramResults] + attr_accessor :histogram_results + + # Corresponds to SearchJobsRequest.job_view. + # Corresponds to the JSON property `jobView` + # @return [String] + attr_accessor :job_view + + # The Job entities that match the specified SearchJobsRequest. + # Corresponds to the JSON property `matchingJobs` + # @return [Array] + attr_accessor :matching_jobs + + # Output only. + # Additional information returned to client, such as debugging + # information. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::JobsV2::ResponseMetadata] + attr_accessor :metadata + + # The token that specifies the starting position of the next page of results. + # This field is empty if there are no more results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # 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 means 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. + # Corresponds to the JSON property `numJobsFromBroadenedQuery` + # @return [Fixnum] + attr_accessor :num_jobs_from_broadened_query + + # Output only. + # Spell check result. + # Corresponds to the JSON property `spellResult` + # @return [Google::Apis::JobsV2::SpellingCorrection] + attr_accessor :spell_result + + # 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 will be `-1`. + # Corresponds to the JSON property `totalSize` + # @return [Fixnum] + attr_accessor :total_size + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @applied_commute_filter = args[:applied_commute_filter] if args.key?(:applied_commute_filter) + @applied_job_location_filters = args[:applied_job_location_filters] if args.key?(:applied_job_location_filters) + @estimated_total_size = args[:estimated_total_size] if args.key?(:estimated_total_size) + @histogram_results = args[:histogram_results] if args.key?(:histogram_results) + @job_view = args[:job_view] if args.key?(:job_view) + @matching_jobs = args[:matching_jobs] if args.key?(:matching_jobs) + @metadata = args[:metadata] if args.key?(:metadata) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @num_jobs_from_broadened_query = args[:num_jobs_from_broadened_query] if args.key?(:num_jobs_from_broadened_query) + @spell_result = args[:spell_result] if args.key?(:spell_result) + @total_size = args[:total_size] if args.key?(:total_size) + end + end + + # Output only. + # Spell check result. + class SpellingCorrection + include Google::Apis::Core::Hashable + + # Indicates if the query was corrected by the spell checker. + # Corresponds to the JSON property `corrected` + # @return [Boolean] + attr_accessor :corrected + alias_method :corrected?, :corrected + + # Correction output consisting of the corrected keyword string. + # Corresponds to the JSON property `correctedText` + # @return [String] + attr_accessor :corrected_text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @corrected = args[:corrected] if args.key?(:corrected) + @corrected_text = args[:corrected_text] if args.key?(:corrected_text) + end + end + + # Represents array of string values. + class StringValues + include Google::Apis::Core::Hashable + + # Required. + # String values. + # Corresponds to the JSON property `values` + # @return [Array] + attr_accessor :values + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @values = args[:values] if args.key?(:values) + end + end + + # Input only. + # Update job request. + # The job typically becomes searchable within 10 seconds, but it may take + # up to 5 minutes for the job to become searchable. + class UpdateJobRequest + include Google::Apis::Core::Hashable + + # If set to `true`, the service will not attempt resolve a more precise + # address for the job. + # Corresponds to the JSON property `disableStreetAddressResolution` + # @return [Boolean] + attr_accessor :disable_street_address_resolution + alias_method :disable_street_address_resolution?, :disable_street_address_resolution + + # 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. + # Corresponds to the JSON property `job` + # @return [Google::Apis::JobsV2::Job] + attr_accessor :job + + # Optional but strongly recommended to be provided for the best service + # experience. + # If update_job_fields 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. Valid values are: + # * jobTitle + # * employmentTypes + # * description + # * applicationUrls + # * applicationEmailList + # * applicationInstruction + # * responsibilities + # * qualifications + # * educationLevels + # * level + # * department + # * startDate + # * endDate + # * compensationInfo + # * incentives + # * languageCode + # * benefits + # * expireTime + # * customAttributes + # * visibility + # * publishDate + # * promotionValue + # * locations + # * region + # * expiryDate (deprecated) + # * filterableCustomFields (deprecated) + # * unindexedCustomFields (deprecated) + # Corresponds to the JSON property `updateJobFields` + # @return [String] + attr_accessor :update_job_fields + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disable_street_address_resolution = args[:disable_street_address_resolution] if args.key?(:disable_street_address_resolution) + @job = args[:job] if args.key?(:job) + @update_job_fields = args[:update_job_fields] if args.key?(:update_job_fields) + end + end + end + end +end diff --git a/generated/google/apis/jobs_v2/representations.rb b/generated/google/apis/jobs_v2/representations.rb new file mode 100644 index 000000000..9146203f1 --- /dev/null +++ b/generated/google/apis/jobs_v2/representations.rb @@ -0,0 +1,1067 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module JobsV2 + + class BatchDeleteJobsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BucketRange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BucketizedCount + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CommuteInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CommutePreference + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Company + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompanyInfoSource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompensationEntry + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompensationFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompensationHistogramRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompensationHistogramResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompensationInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompensationRange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompleteQueryResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CompletionResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CreateJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CustomAttribute + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CustomAttributeHistogramRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CustomAttributeHistogramResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CustomField + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CustomFieldFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Date + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DeleteJobsByFilterRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DeviceInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Empty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExtendedCompensationFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExtendedCompensationInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExtendedCompensationInfoCompensationEntry + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExtendedCompensationInfoCompensationRange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExtendedCompensationInfoDecimal + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Filter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GetHistogramRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GetHistogramResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HistogramFacets + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HistogramResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HistogramResults + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Job + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class JobFilters + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class JobLocation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class JobQuery + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LatLng + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListCompaniesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListCompanyJobsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListJobsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class LocationFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MatchingJob + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Money + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class NumericBucketingOption + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class NumericBucketingResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PostalAddress + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RequestMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResponseMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SearchJobsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SearchJobsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SpellingCorrection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StringValues + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class UpdateJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class BatchDeleteJobsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :filter, as: 'filter' + end + end + + class BucketRange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :from, as: 'from' + property :to, as: 'to' + end + end + + class BucketizedCount + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :count, as: 'count' + property :range, as: 'range', class: Google::Apis::JobsV2::BucketRange, decorator: Google::Apis::JobsV2::BucketRange::Representation + + end + end + + class CommuteInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :job_location, as: 'jobLocation', class: Google::Apis::JobsV2::JobLocation, decorator: Google::Apis::JobsV2::JobLocation::Representation + + property :travel_duration, as: 'travelDuration' + end + end + + class CommutePreference + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :allow_non_street_level_address, as: 'allowNonStreetLevelAddress' + property :departure_hour_local, as: 'departureHourLocal' + property :method_prop, as: 'method' + property :road_traffic, as: 'roadTraffic' + property :start_location, as: 'startLocation', class: Google::Apis::JobsV2::LatLng, decorator: Google::Apis::JobsV2::LatLng::Representation + + property :travel_time, as: 'travelTime' + end + end + + class Company + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :career_page_link, as: 'careerPageLink' + collection :company_info_sources, as: 'companyInfoSources', class: Google::Apis::JobsV2::CompanyInfoSource, decorator: Google::Apis::JobsV2::CompanyInfoSource::Representation + + property :company_size, as: 'companySize' + property :disable_location_optimization, as: 'disableLocationOptimization' + property :display_name, as: 'displayName' + property :distributor_billing_company_id, as: 'distributorBillingCompanyId' + property :distributor_company_id, as: 'distributorCompanyId' + property :eeo_text, as: 'eeoText' + property :hiring_agency, as: 'hiringAgency' + property :hq_location, as: 'hqLocation' + property :image_url, as: 'imageUrl' + collection :keyword_searchable_custom_attributes, as: 'keywordSearchableCustomAttributes' + collection :keyword_searchable_custom_fields, as: 'keywordSearchableCustomFields' + property :name, as: 'name' + property :structured_company_hq_location, as: 'structuredCompanyHqLocation', class: Google::Apis::JobsV2::JobLocation, decorator: Google::Apis::JobsV2::JobLocation::Representation + + property :suspended, as: 'suspended' + property :title, as: 'title' + property :website, as: 'website' + end + end + + class CompanyInfoSource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :freebase_mid, as: 'freebaseMid' + property :gplus_id, as: 'gplusId' + property :maps_cid, as: 'mapsCid' + property :unknown_type_id, as: 'unknownTypeId' + end + end + + class CompensationEntry + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :amount, as: 'amount', class: Google::Apis::JobsV2::Money, decorator: Google::Apis::JobsV2::Money::Representation + + property :description, as: 'description' + property :expected_units_per_year, as: 'expectedUnitsPerYear' + property :range, as: 'range', class: Google::Apis::JobsV2::CompensationRange, decorator: Google::Apis::JobsV2::CompensationRange::Representation + + property :type, as: 'type' + property :unit, as: 'unit' + end + end + + class CompensationFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :include_jobs_with_unspecified_compensation_range, as: 'includeJobsWithUnspecifiedCompensationRange' + property :range, as: 'range', class: Google::Apis::JobsV2::CompensationRange, decorator: Google::Apis::JobsV2::CompensationRange::Representation + + property :type, as: 'type' + collection :units, as: 'units' + end + end + + class CompensationHistogramRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bucketing_option, as: 'bucketingOption', class: Google::Apis::JobsV2::NumericBucketingOption, decorator: Google::Apis::JobsV2::NumericBucketingOption::Representation + + property :type, as: 'type' + end + end + + class CompensationHistogramResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :result, as: 'result', class: Google::Apis::JobsV2::NumericBucketingResult, decorator: Google::Apis::JobsV2::NumericBucketingResult::Representation + + property :type, as: 'type' + end + end + + class CompensationInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :amount, as: 'amount', class: Google::Apis::JobsV2::Money, decorator: Google::Apis::JobsV2::Money::Representation + + property :annualized_base_compensation_range, as: 'annualizedBaseCompensationRange', class: Google::Apis::JobsV2::CompensationRange, decorator: Google::Apis::JobsV2::CompensationRange::Representation + + property :annualized_total_compensation_range, as: 'annualizedTotalCompensationRange', class: Google::Apis::JobsV2::CompensationRange, decorator: Google::Apis::JobsV2::CompensationRange::Representation + + collection :entries, as: 'entries', class: Google::Apis::JobsV2::CompensationEntry, decorator: Google::Apis::JobsV2::CompensationEntry::Representation + + property :max, as: 'max', class: Google::Apis::JobsV2::Money, decorator: Google::Apis::JobsV2::Money::Representation + + property :min, as: 'min', class: Google::Apis::JobsV2::Money, decorator: Google::Apis::JobsV2::Money::Representation + + property :type, as: 'type' + end + end + + class CompensationRange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :max, as: 'max', class: Google::Apis::JobsV2::Money, decorator: Google::Apis::JobsV2::Money::Representation + + property :min, as: 'min', class: Google::Apis::JobsV2::Money, decorator: Google::Apis::JobsV2::Money::Representation + + end + end + + class CompleteQueryResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :completion_results, as: 'completionResults', class: Google::Apis::JobsV2::CompletionResult, decorator: Google::Apis::JobsV2::CompletionResult::Representation + + property :metadata, as: 'metadata', class: Google::Apis::JobsV2::ResponseMetadata, decorator: Google::Apis::JobsV2::ResponseMetadata::Representation + + end + end + + class CompletionResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image_url, as: 'imageUrl' + property :suggestion, as: 'suggestion' + property :type, as: 'type' + end + end + + class CreateJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disable_street_address_resolution, as: 'disableStreetAddressResolution' + property :job, as: 'job', class: Google::Apis::JobsV2::Job, decorator: Google::Apis::JobsV2::Job::Representation + + end + end + + class CustomAttribute + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :filterable, as: 'filterable' + property :long_value, :numeric_string => true, as: 'longValue' + property :string_values, as: 'stringValues', class: Google::Apis::JobsV2::StringValues, decorator: Google::Apis::JobsV2::StringValues::Representation + + end + end + + class CustomAttributeHistogramRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :long_value_histogram_bucketing_option, as: 'longValueHistogramBucketingOption', class: Google::Apis::JobsV2::NumericBucketingOption, decorator: Google::Apis::JobsV2::NumericBucketingOption::Representation + + property :string_value_histogram, as: 'stringValueHistogram' + end + end + + class CustomAttributeHistogramResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :long_value_histogram_result, as: 'longValueHistogramResult', class: Google::Apis::JobsV2::NumericBucketingResult, decorator: Google::Apis::JobsV2::NumericBucketingResult::Representation + + hash :string_value_histogram_result, as: 'stringValueHistogramResult' + end + end + + class CustomField + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :values, as: 'values' + end + end + + class CustomFieldFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :queries, as: 'queries' + property :type, as: 'type' + end + end + + class Date + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :day, as: 'day' + property :month, as: 'month' + property :year, as: 'year' + end + end + + class DeleteJobsByFilterRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disable_fast_process, as: 'disableFastProcess' + property :filter, as: 'filter', class: Google::Apis::JobsV2::Filter, decorator: Google::Apis::JobsV2::Filter::Representation + + end + end + + class DeviceInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :device_type, as: 'deviceType' + property :id, as: 'id' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ExtendedCompensationFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :compensation_range, as: 'compensationRange', class: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange::Representation + + collection :compensation_units, as: 'compensationUnits' + property :currency, as: 'currency' + property :include_job_with_unspecified_compensation_range, as: 'includeJobWithUnspecifiedCompensationRange' + property :type, as: 'type' + end + end + + class ExtendedCompensationInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :annualized_base_compensation_range, as: 'annualizedBaseCompensationRange', class: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange::Representation + + property :annualized_base_compensation_unspecified, as: 'annualizedBaseCompensationUnspecified' + property :annualized_total_compensation_range, as: 'annualizedTotalCompensationRange', class: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange::Representation + + property :annualized_total_compensation_unspecified, as: 'annualizedTotalCompensationUnspecified' + property :currency, as: 'currency' + collection :entries, as: 'entries', class: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationEntry, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationEntry::Representation + + end + end + + class ExtendedCompensationInfoCompensationEntry + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :amount, as: 'amount', class: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal::Representation + + property :description, as: 'description' + property :expected_units_per_year, as: 'expectedUnitsPerYear', class: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal::Representation + + property :range, as: 'range', class: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoCompensationRange::Representation + + property :type, as: 'type' + property :unit, as: 'unit' + property :unspecified, as: 'unspecified' + end + end + + class ExtendedCompensationInfoCompensationRange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :max, as: 'max', class: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal::Representation + + property :min, as: 'min', class: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal, decorator: Google::Apis::JobsV2::ExtendedCompensationInfoDecimal::Representation + + end + end + + class ExtendedCompensationInfoDecimal + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :micros, as: 'micros' + property :units, :numeric_string => true, as: 'units' + end + end + + class Filter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :requisition_id, as: 'requisitionId' + end + end + + class GetHistogramRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :allow_broadening, as: 'allowBroadening' + property :filters, as: 'filters', class: Google::Apis::JobsV2::JobFilters, decorator: Google::Apis::JobsV2::JobFilters::Representation + + property :query, as: 'query', class: Google::Apis::JobsV2::JobQuery, decorator: Google::Apis::JobsV2::JobQuery::Representation + + property :request_metadata, as: 'requestMetadata', class: Google::Apis::JobsV2::RequestMetadata, decorator: Google::Apis::JobsV2::RequestMetadata::Representation + + collection :search_types, as: 'searchTypes' + end + end + + class GetHistogramResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :metadata, as: 'metadata', class: Google::Apis::JobsV2::ResponseMetadata, decorator: Google::Apis::JobsV2::ResponseMetadata::Representation + + collection :results, as: 'results', class: Google::Apis::JobsV2::HistogramResult, decorator: Google::Apis::JobsV2::HistogramResult::Representation + + end + end + + class HistogramFacets + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :compensation_histogram_facets, as: 'compensationHistogramFacets', class: Google::Apis::JobsV2::CompensationHistogramRequest, decorator: Google::Apis::JobsV2::CompensationHistogramRequest::Representation + + collection :custom_attribute_histogram_facets, as: 'customAttributeHistogramFacets', class: Google::Apis::JobsV2::CustomAttributeHistogramRequest, decorator: Google::Apis::JobsV2::CustomAttributeHistogramRequest::Representation + + collection :simple_histogram_facets, as: 'simpleHistogramFacets' + end + end + + class HistogramResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :search_type, as: 'searchType' + hash :values, as: 'values' + end + end + + class HistogramResults + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :compensation_histogram_results, as: 'compensationHistogramResults', class: Google::Apis::JobsV2::CompensationHistogramResult, decorator: Google::Apis::JobsV2::CompensationHistogramResult::Representation + + collection :custom_attribute_histogram_results, as: 'customAttributeHistogramResults', class: Google::Apis::JobsV2::CustomAttributeHistogramResult, decorator: Google::Apis::JobsV2::CustomAttributeHistogramResult::Representation + + collection :simple_histogram_results, as: 'simpleHistogramResults', class: Google::Apis::JobsV2::HistogramResult, decorator: Google::Apis::JobsV2::HistogramResult::Representation + + end + end + + class Job + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :application_email_list, as: 'applicationEmailList' + property :application_instruction, as: 'applicationInstruction' + collection :application_urls, as: 'applicationUrls' + collection :benefits, as: 'benefits' + property :company_display_name, as: 'companyDisplayName' + property :company_name, as: 'companyName' + property :company_title, as: 'companyTitle' + property :compensation_info, as: 'compensationInfo', class: Google::Apis::JobsV2::CompensationInfo, decorator: Google::Apis::JobsV2::CompensationInfo::Representation + + property :create_time, as: 'createTime' + hash :custom_attributes, as: 'customAttributes', class: Google::Apis::JobsV2::CustomAttribute, decorator: Google::Apis::JobsV2::CustomAttribute::Representation + + property :department, as: 'department' + property :description, as: 'description' + property :distributor_company_id, as: 'distributorCompanyId' + collection :education_levels, as: 'educationLevels' + collection :employment_types, as: 'employmentTypes' + property :end_date, as: 'endDate', class: Google::Apis::JobsV2::Date, decorator: Google::Apis::JobsV2::Date::Representation + + property :expire_time, as: 'expireTime' + property :expiry_date, as: 'expiryDate', class: Google::Apis::JobsV2::Date, decorator: Google::Apis::JobsV2::Date::Representation + + property :extended_compensation_info, as: 'extendedCompensationInfo', class: Google::Apis::JobsV2::ExtendedCompensationInfo, decorator: Google::Apis::JobsV2::ExtendedCompensationInfo::Representation + + hash :filterable_custom_fields, as: 'filterableCustomFields', class: Google::Apis::JobsV2::CustomField, decorator: Google::Apis::JobsV2::CustomField::Representation + + property :incentives, as: 'incentives' + collection :job_locations, as: 'jobLocations', class: Google::Apis::JobsV2::JobLocation, decorator: Google::Apis::JobsV2::JobLocation::Representation + + property :job_title, as: 'jobTitle' + property :language_code, as: 'languageCode' + property :level, as: 'level' + collection :locations, as: 'locations' + property :name, as: 'name' + property :promotion_value, as: 'promotionValue' + property :publish_date, as: 'publishDate', class: Google::Apis::JobsV2::Date, decorator: Google::Apis::JobsV2::Date::Representation + + property :qualifications, as: 'qualifications' + property :reference_url, as: 'referenceUrl' + property :region, as: 'region' + property :requisition_id, as: 'requisitionId' + property :responsibilities, as: 'responsibilities' + property :start_date, as: 'startDate', class: Google::Apis::JobsV2::Date, decorator: Google::Apis::JobsV2::Date::Representation + + hash :unindexed_custom_fields, as: 'unindexedCustomFields', class: Google::Apis::JobsV2::CustomField, decorator: Google::Apis::JobsV2::CustomField::Representation + + property :update_time, as: 'updateTime' + property :visibility, as: 'visibility' + end + end + + class JobFilters + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :categories, as: 'categories' + property :commute_filter, as: 'commuteFilter', class: Google::Apis::JobsV2::CommutePreference, decorator: Google::Apis::JobsV2::CommutePreference::Representation + + collection :company_names, as: 'companyNames' + collection :company_titles, as: 'companyTitles' + property :compensation_filter, as: 'compensationFilter', class: Google::Apis::JobsV2::CompensationFilter, decorator: Google::Apis::JobsV2::CompensationFilter::Representation + + property :custom_attribute_filter, as: 'customAttributeFilter' + hash :custom_field_filters, as: 'customFieldFilters', class: Google::Apis::JobsV2::CustomFieldFilter, decorator: Google::Apis::JobsV2::CustomFieldFilter::Representation + + property :disable_spell_check, as: 'disableSpellCheck' + collection :employment_types, as: 'employmentTypes' + property :extended_compensation_filter, as: 'extendedCompensationFilter', class: Google::Apis::JobsV2::ExtendedCompensationFilter, decorator: Google::Apis::JobsV2::ExtendedCompensationFilter::Representation + + collection :language_codes, as: 'languageCodes' + collection :location_filters, as: 'locationFilters', class: Google::Apis::JobsV2::LocationFilter, decorator: Google::Apis::JobsV2::LocationFilter::Representation + + property :publish_date_range, as: 'publishDateRange' + property :query, as: 'query' + property :tenant_job_only, as: 'tenantJobOnly' + end + end + + class JobLocation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :lat_lng, as: 'latLng', class: Google::Apis::JobsV2::LatLng, decorator: Google::Apis::JobsV2::LatLng::Representation + + property :location_type, as: 'locationType' + property :postal_address, as: 'postalAddress', class: Google::Apis::JobsV2::PostalAddress, decorator: Google::Apis::JobsV2::PostalAddress::Representation + + property :radius_meters, as: 'radiusMeters' + end + end + + class JobQuery + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :categories, as: 'categories' + property :commute_filter, as: 'commuteFilter', class: Google::Apis::JobsV2::CommutePreference, decorator: Google::Apis::JobsV2::CommutePreference::Representation + + collection :company_display_names, as: 'companyDisplayNames' + collection :company_names, as: 'companyNames' + property :compensation_filter, as: 'compensationFilter', class: Google::Apis::JobsV2::CompensationFilter, decorator: Google::Apis::JobsV2::CompensationFilter::Representation + + property :custom_attribute_filter, as: 'customAttributeFilter' + property :disable_spell_check, as: 'disableSpellCheck' + collection :employment_types, as: 'employmentTypes' + collection :language_codes, as: 'languageCodes' + collection :location_filters, as: 'locationFilters', class: Google::Apis::JobsV2::LocationFilter, decorator: Google::Apis::JobsV2::LocationFilter::Representation + + property :publish_date_range, as: 'publishDateRange' + property :query, as: 'query' + property :tenant_job_only, as: 'tenantJobOnly' + end + end + + class LatLng + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :latitude, as: 'latitude' + property :longitude, as: 'longitude' + end + end + + class ListCompaniesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :companies, as: 'companies', class: Google::Apis::JobsV2::Company, decorator: Google::Apis::JobsV2::Company::Representation + + property :metadata, as: 'metadata', class: Google::Apis::JobsV2::ResponseMetadata, decorator: Google::Apis::JobsV2::ResponseMetadata::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ListCompanyJobsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :jobs, as: 'jobs', class: Google::Apis::JobsV2::Job, decorator: Google::Apis::JobsV2::Job::Representation + + property :metadata, as: 'metadata', class: Google::Apis::JobsV2::ResponseMetadata, decorator: Google::Apis::JobsV2::ResponseMetadata::Representation + + property :next_page_token, as: 'nextPageToken' + property :total_size, :numeric_string => true, as: 'totalSize' + end + end + + class ListJobsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :jobs, as: 'jobs', class: Google::Apis::JobsV2::Job, decorator: Google::Apis::JobsV2::Job::Representation + + property :metadata, as: 'metadata', class: Google::Apis::JobsV2::ResponseMetadata, decorator: Google::Apis::JobsV2::ResponseMetadata::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class LocationFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :distance_in_miles, as: 'distanceInMiles' + property :is_telecommute, as: 'isTelecommute' + property :lat_lng, as: 'latLng', class: Google::Apis::JobsV2::LatLng, decorator: Google::Apis::JobsV2::LatLng::Representation + + property :name, as: 'name' + property :region_code, as: 'regionCode' + end + end + + class MatchingJob + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :commute_info, as: 'commuteInfo', class: Google::Apis::JobsV2::CommuteInfo, decorator: Google::Apis::JobsV2::CommuteInfo::Representation + + property :job, as: 'job', class: Google::Apis::JobsV2::Job, decorator: Google::Apis::JobsV2::Job::Representation + + property :job_summary, as: 'jobSummary' + property :job_title_snippet, as: 'jobTitleSnippet' + property :search_text_snippet, as: 'searchTextSnippet' + end + end + + class Money + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :currency_code, as: 'currencyCode' + property :nanos, as: 'nanos' + property :units, :numeric_string => true, as: 'units' + end + end + + class NumericBucketingOption + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bucket_bounds, as: 'bucketBounds' + property :requires_min_max, as: 'requiresMinMax' + end + end + + class NumericBucketingResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :counts, as: 'counts', class: Google::Apis::JobsV2::BucketizedCount, decorator: Google::Apis::JobsV2::BucketizedCount::Representation + + property :max_value, as: 'maxValue' + property :min_value, as: 'minValue' + end + end + + class PostalAddress + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :address_lines, as: 'addressLines' + property :administrative_area, as: 'administrativeArea' + property :language_code, as: 'languageCode' + property :locality, as: 'locality' + property :organization, as: 'organization' + property :postal_code, as: 'postalCode' + collection :recipients, as: 'recipients' + property :region_code, as: 'regionCode' + property :revision, as: 'revision' + property :sorting_code, as: 'sortingCode' + property :sublocality, as: 'sublocality' + end + end + + class RequestMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :device_info, as: 'deviceInfo', class: Google::Apis::JobsV2::DeviceInfo, decorator: Google::Apis::JobsV2::DeviceInfo::Representation + + property :domain, as: 'domain' + property :session_id, as: 'sessionId' + property :user_id, as: 'userId' + end + end + + class ResponseMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :experiment_id_list, as: 'experimentIdList' + property :mode, as: 'mode' + property :request_id, as: 'requestId' + end + end + + class SearchJobsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disable_relevance_thresholding, as: 'disableRelevanceThresholding' + property :enable_broadening, as: 'enableBroadening' + property :enable_precise_result_size, as: 'enablePreciseResultSize' + property :filters, as: 'filters', class: Google::Apis::JobsV2::JobFilters, decorator: Google::Apis::JobsV2::JobFilters::Representation + + property :histogram_facets, as: 'histogramFacets', class: Google::Apis::JobsV2::HistogramFacets, decorator: Google::Apis::JobsV2::HistogramFacets::Representation + + property :job_view, as: 'jobView' + property :mode, as: 'mode' + property :offset, as: 'offset' + property :order_by, as: 'orderBy' + property :page_size, as: 'pageSize' + property :page_token, as: 'pageToken' + property :query, as: 'query', class: Google::Apis::JobsV2::JobQuery, decorator: Google::Apis::JobsV2::JobQuery::Representation + + property :request_metadata, as: 'requestMetadata', class: Google::Apis::JobsV2::RequestMetadata, decorator: Google::Apis::JobsV2::RequestMetadata::Representation + + property :sort_by, as: 'sortBy' + end + end + + class SearchJobsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :applied_commute_filter, as: 'appliedCommuteFilter', class: Google::Apis::JobsV2::CommutePreference, decorator: Google::Apis::JobsV2::CommutePreference::Representation + + collection :applied_job_location_filters, as: 'appliedJobLocationFilters', class: Google::Apis::JobsV2::JobLocation, decorator: Google::Apis::JobsV2::JobLocation::Representation + + property :estimated_total_size, :numeric_string => true, as: 'estimatedTotalSize' + property :histogram_results, as: 'histogramResults', class: Google::Apis::JobsV2::HistogramResults, decorator: Google::Apis::JobsV2::HistogramResults::Representation + + property :job_view, as: 'jobView' + collection :matching_jobs, as: 'matchingJobs', class: Google::Apis::JobsV2::MatchingJob, decorator: Google::Apis::JobsV2::MatchingJob::Representation + + property :metadata, as: 'metadata', class: Google::Apis::JobsV2::ResponseMetadata, decorator: Google::Apis::JobsV2::ResponseMetadata::Representation + + property :next_page_token, as: 'nextPageToken' + property :num_jobs_from_broadened_query, as: 'numJobsFromBroadenedQuery' + property :spell_result, as: 'spellResult', class: Google::Apis::JobsV2::SpellingCorrection, decorator: Google::Apis::JobsV2::SpellingCorrection::Representation + + property :total_size, :numeric_string => true, as: 'totalSize' + end + end + + class SpellingCorrection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :corrected, as: 'corrected' + property :corrected_text, as: 'correctedText' + end + end + + class StringValues + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :values, as: 'values' + end + end + + class UpdateJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disable_street_address_resolution, as: 'disableStreetAddressResolution' + property :job, as: 'job', class: Google::Apis::JobsV2::Job, decorator: Google::Apis::JobsV2::Job::Representation + + property :update_job_fields, as: 'updateJobFields' + end + end + end + end +end diff --git a/generated/google/apis/jobs_v2/service.rb b/generated/google/apis/jobs_v2/service.rb new file mode 100644 index 000000000..3b889236a --- /dev/null +++ b/generated/google/apis/jobs_v2/service.rb @@ -0,0 +1,754 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module JobsV2 + # Cloud Job Discovery + # + # Cloud Job Discovery provides the capability to create, read, update, and + # delete job postings, as well as search jobs based on keywords and filters. + # + # @example + # require 'google/apis/jobs_v2' + # + # Jobs = Google::Apis::JobsV2 # Alias the module + # service = Jobs::JobServiceService.new + # + # @see https://cloud.google.com/job-discovery/docs + class JobServiceService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://jobs.googleapis.com/', '') + @batch_path = 'batch' + end + + # Creates a new company entity. + # @param [Google::Apis::JobsV2::Company] company_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Company] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Company] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_company(company_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/companies', options) + command.request_representation = Google::Apis::JobsV2::Company::Representation + command.request_object = company_object + command.response_representation = Google::Apis::JobsV2::Company::Representation + command.response_class = Google::Apis::JobsV2::Company + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified company. + # @param [String] name + # Required. + # The resource name of the company to be deleted, + # such as, "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_company(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v2/{+name}', options) + command.response_representation = Google::Apis::JobsV2::Empty::Representation + command.response_class = Google::Apis::JobsV2::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the specified company. + # @param [String] name + # Required. + # Resource name of the company to retrieve, + # such as "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Company] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Company] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_company(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v2/{+name}', options) + command.response_representation = Google::Apis::JobsV2::Company::Representation + command.response_class = Google::Apis::JobsV2::Company + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists all companies associated with a Cloud Job Discovery account. + # @param [Boolean] must_have_open_jobs + # Optional. + # Set to true if the companies request must have open jobs. + # Defaults to false. + # If true, at most page_size of companies are fetched, among which + # only those with open jobs are returned. + # @param [Fixnum] page_size + # Optional. + # The maximum number of companies to be returned, at most 100. + # Default is 100 if a non-positive number is provided. + # @param [String] page_token + # Optional. + # The starting indicator from which to return results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::ListCompaniesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::ListCompaniesResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_companies(must_have_open_jobs: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v2/companies', options) + command.response_representation = Google::Apis::JobsV2::ListCompaniesResponse::Representation + command.response_class = Google::Apis::JobsV2::ListCompaniesResponse + command.query['mustHaveOpenJobs'] = must_have_open_jobs unless must_have_open_jobs.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the specified company. Company names can't be updated. To update a + # company name, delete the company and all jobs associated with it, and only + # then re-create them. + # @param [String] name + # Required during company update. + # The resource name for a company. This is generated by the service when a + # company is created, for example, + # "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + # @param [Google::Apis::JobsV2::Company] company_object + # @param [String] update_company_fields + # Optional but strongly recommended to be provided for the best service + # experience. + # If update_company_fields is provided, only the specified fields in + # company are updated. Otherwise all the fields are updated. + # A field mask to specify the company fields to update. Valid values are: + # * displayName + # * website + # * imageUrl + # * companySize + # * distributorBillingCompanyId + # * companyInfoSources + # * careerPageLink + # * hiringAgency + # * hqLocation + # * eeoText + # * keywordSearchableCustomAttributes + # * title (deprecated) + # * keywordSearchableCustomFields (deprecated) + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Company] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Company] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_company(name, company_object = nil, update_company_fields: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v2/{+name}', options) + command.request_representation = Google::Apis::JobsV2::Company::Representation + command.request_object = company_object + command.response_representation = Google::Apis::JobsV2::Company::Representation + command.response_class = Google::Apis::JobsV2::Company + command.params['name'] = name unless name.nil? + command.query['updateCompanyFields'] = update_company_fields unless update_company_fields.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deprecated. Use ListJobs instead. + # Lists all jobs associated with a company. + # @param [String] company_name + # Required. + # The resource name of the company that owns the jobs to be listed, + # such as, "companies/0000aaaa-1111-bbbb-2222-cccc3333dddd". + # @param [Boolean] ids_only + # Optional. + # If set to `true`, only job ID, job requisition ID and language code will be + # returned. + # A typical use is to synchronize job repositories. + # Defaults to false. + # @param [Boolean] include_jobs_count + # Deprecated. Please DO NOT use this field except for small companies. + # Suggest counting jobs page by page instead. + # Optional. + # Set to true if the total number of open jobs is to be returned. + # Defaults to false. + # @param [String] job_requisition_id + # Optional. + # The requisition ID, also known as posting ID, assigned by the company + # to the job. + # The number of allowable characters is 225. + # @param [Fixnum] page_size + # Optional. + # The maximum number of jobs to be returned per page of results. + # If ids_only is set to true, 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. + # @param [String] page_token + # Optional. + # The starting point of a query result. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::ListCompanyJobsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::ListCompanyJobsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_company_jobs(company_name, ids_only: nil, include_jobs_count: nil, job_requisition_id: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v2/{+companyName}/jobs', options) + command.response_representation = Google::Apis::JobsV2::ListCompanyJobsResponse::Representation + command.response_class = Google::Apis::JobsV2::ListCompanyJobsResponse + command.params['companyName'] = company_name unless company_name.nil? + command.query['idsOnly'] = ids_only unless ids_only.nil? + command.query['includeJobsCount'] = include_jobs_count unless include_jobs_count.nil? + command.query['jobRequisitionId'] = job_requisition_id unless job_requisition_id.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a list of Jobs by filter. + # @param [Google::Apis::JobsV2::BatchDeleteJobsRequest] batch_delete_jobs_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def batch_delete_jobs(batch_delete_jobs_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/jobs:batchDelete', options) + command.request_representation = Google::Apis::JobsV2::BatchDeleteJobsRequest::Representation + command.request_object = batch_delete_jobs_request_object + command.response_representation = Google::Apis::JobsV2::Empty::Representation + command.response_class = Google::Apis::JobsV2::Empty + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new job. + # @param [Google::Apis::JobsV2::CreateJobRequest] create_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Job] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Job] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_job(create_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/jobs', options) + command.request_representation = Google::Apis::JobsV2::CreateJobRequest::Representation + command.request_object = create_job_request_object + command.response_representation = Google::Apis::JobsV2::Job::Representation + command.response_class = Google::Apis::JobsV2::Job + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes the specified job. You can specify whether to synchronously wait + # for validation, indexing, and general processing to be completed before + # the response is returned. + # @param [String] name + # Required. + # The resource name of the job to be deleted, such as "jobs/11111111". + # @param [Boolean] disable_fast_process + # Deprecated. This field is not working anymore. + # Optional. + # If set to true, this call waits for all processing steps to complete + # before the job is cleaned up. Otherwise, the call returns while some + # steps are still taking place asynchronously, hence faster. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_job(name, disable_fast_process: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v2/{+name}', options) + command.response_representation = Google::Apis::JobsV2::Empty::Representation + command.response_class = Google::Apis::JobsV2::Empty + command.params['name'] = name unless name.nil? + command.query['disableFastProcess'] = disable_fast_process unless disable_fast_process.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deprecated. Use BatchDeleteJobs instead. + # Deletes the specified job by filter. You can specify whether to + # synchronously wait for validation, indexing, and general processing to be + # completed before the response is returned. + # @param [Google::Apis::JobsV2::DeleteJobsByFilterRequest] delete_jobs_by_filter_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_job_by_filter(delete_jobs_by_filter_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/jobs:deleteByFilter', options) + command.request_representation = Google::Apis::JobsV2::DeleteJobsByFilterRequest::Representation + command.request_object = delete_jobs_by_filter_request_object + command.response_representation = Google::Apis::JobsV2::Empty::Representation + command.response_class = Google::Apis::JobsV2::Empty + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves the specified job, whose status is OPEN or recently EXPIRED + # in 60 days. + # @param [String] name + # Required. + # The resource name of the job to retrieve, such as "jobs/11111111". + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Job] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Job] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_job(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v2/{+name}', options) + command.response_representation = Google::Apis::JobsV2::Job::Representation + command.response_class = Google::Apis::JobsV2::Job + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deprecated. Use SearchJobsRequest.histogram_facets instead to make + # a single call with both search and histogram. + # Retrieves a histogram for the given + # GetHistogramRequest. This call provides a structured + # count of jobs that match against the search query, grouped by specified + # facets. + # This call constrains the visibility of jobs + # present in the database, and only counts jobs the caller has + # permission to search against. + # For example, use this call to generate the + # number of jobs in the U.S. by state. + # @param [Google::Apis::JobsV2::GetHistogramRequest] get_histogram_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::GetHistogramResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::GetHistogramResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def histogram_job(get_histogram_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/jobs:histogram', options) + command.request_representation = Google::Apis::JobsV2::GetHistogramRequest::Representation + command.request_object = get_histogram_request_object + command.response_representation = Google::Apis::JobsV2::GetHistogramResponse::Representation + command.response_class = Google::Apis::JobsV2::GetHistogramResponse + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists jobs by filter. + # @param [String] filter + # 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 = "companies/123" + # * companyName = "companies/123" AND requisitionId = "req-1" + # @param [Boolean] ids_only + # Optional. + # If set to `true`, only Job.name, Job.requisition_id and + # Job.language_code will be returned. + # A typical use case is to synchronize job repositories. + # Defaults to false. + # @param [Fixnum] page_size + # Optional. + # The maximum number of jobs to be returned per page of results. + # If ids_only is set to true, 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. + # @param [String] page_token + # Optional. + # The starting point of a query result. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::ListJobsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::ListJobsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_jobs(filter: nil, ids_only: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v2/jobs', options) + command.response_representation = Google::Apis::JobsV2::ListJobsResponse::Representation + command.response_class = Google::Apis::JobsV2::ListJobsResponse + command.query['filter'] = filter unless filter.nil? + command.query['idsOnly'] = ids_only unless ids_only.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the specified job. You can specify whether to synchronously wait + # for validation, indexing, and general processing to be completed before + # the response is returned. + # If this call is executed synchronously, the returned job + # is guaranteed to be fully processed and complete upon response. + # The `companyName` and `distributorCompanyId` job fields cannot be updated. + # @param [String] name + # Required during job update. + # Resource name assigned to a job by the API, for example, "/jobs/foo". Use + # of this field in job queries and API calls is preferred over the use of + # requisition_id since this value is unique. + # @param [Google::Apis::JobsV2::UpdateJobRequest] update_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::Job] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::Job] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_job(name, update_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v2/{+name}', options) + command.request_representation = Google::Apis::JobsV2::UpdateJobRequest::Representation + command.request_object = update_job_request_object + command.response_representation = Google::Apis::JobsV2::Job::Representation + command.response_class = Google::Apis::JobsV2::Job + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # 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. + # @param [Google::Apis::JobsV2::SearchJobsRequest] search_jobs_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::SearchJobsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::SearchJobsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def search_jobs(search_jobs_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/jobs:search', options) + command.request_representation = Google::Apis::JobsV2::SearchJobsRequest::Representation + command.request_object = search_jobs_request_object + command.response_representation = Google::Apis::JobsV2::SearchJobsResponse::Representation + command.response_class = Google::Apis::JobsV2::SearchJobsResponse + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Searches for jobs using the provided SearchJobsRequest. + # This call is intended to use for large, periodic tasks such as + # email alert processing, 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. + # @param [Google::Apis::JobsV2::SearchJobsRequest] search_jobs_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::SearchJobsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::SearchJobsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def search_job_for_alert(search_jobs_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v2/jobs:searchForAlert', options) + command.request_representation = Google::Apis::JobsV2::SearchJobsRequest::Representation + command.request_object = search_jobs_request_object + command.response_representation = Google::Apis::JobsV2::SearchJobsResponse::Representation + command.response_class = Google::Apis::JobsV2::SearchJobsResponse + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Completes the specified prefix with job keyword suggestions. + # Intended for use by a job search auto-complete search box. + # @param [String] company_name + # Optional. + # If provided, restricts completion to the specified company. + # @param [String] language_code + # Required. + # The language of the query. This is + # the BCP-47 language code, such as "en-US" or "sr-Latn". + # For more information, see + # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). + # For CompletionType.JOB_TITLE type, only open jobs with same + # language_code are returned. + # For CompletionType.COMPANY_NAME type, + # only companies having open jobs with same language_code are + # returned. + # For CompletionType.COMBINED type, only open jobs with same + # language_code or companies having open jobs with same + # language_code are returned. + # @param [Fixnum] page_size + # Required. + # Completion result count. + # The maximum allowed page size is 10. + # @param [String] query + # Required. + # The query used to generate suggestions. + # @param [String] scope + # Optional. + # The scope of the completion. The defaults is CompletionScope.PUBLIC. + # @param [String] type + # Optional. + # The completion topic. The default is CompletionType.COMBINED. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::JobsV2::CompleteQueryResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::JobsV2::CompleteQueryResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def complete(company_name: nil, language_code: nil, page_size: nil, query: nil, scope: nil, type: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v2:complete', options) + command.response_representation = Google::Apis::JobsV2::CompleteQueryResponse::Representation + command.response_class = Google::Apis::JobsV2::CompleteQueryResponse + command.query['companyName'] = company_name unless company_name.nil? + command.query['languageCode'] = language_code unless language_code.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['query'] = query unless query.nil? + command.query['scope'] = scope unless scope.nil? + command.query['type'] = type unless type.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/ml_v1.rb b/generated/google/apis/ml_v1.rb index bf1769a3b..eda35b9ad 100644 --- a/generated/google/apis/ml_v1.rb +++ b/generated/google/apis/ml_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/ml/ module MlV1 VERSION = 'V1' - REVISION = '20180420' + REVISION = '20180507' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/pubsub_v1.rb b/generated/google/apis/pubsub_v1.rb index fdf5443c5..347619cbb 100644 --- a/generated/google/apis/pubsub_v1.rb +++ b/generated/google/apis/pubsub_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/pubsub/docs module PubsubV1 VERSION = 'V1' - REVISION = '20180423' + REVISION = '20180507' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/pubsub_v1beta1a.rb b/generated/google/apis/pubsub_v1beta1a.rb index e17a7b645..55b80624a 100644 --- a/generated/google/apis/pubsub_v1beta1a.rb +++ b/generated/google/apis/pubsub_v1beta1a.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/pubsub/docs module PubsubV1beta1a VERSION = 'V1beta1a' - REVISION = '20180423' + REVISION = '20180507' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/pubsub_v1beta2.rb b/generated/google/apis/pubsub_v1beta2.rb index 0e2ee13aa..11c3611c8 100644 --- a/generated/google/apis/pubsub_v1beta2.rb +++ b/generated/google/apis/pubsub_v1beta2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/pubsub/docs module PubsubV1beta2 VERSION = 'V1beta2' - REVISION = '20180423' + REVISION = '20180507' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/surveys_v2.rb b/generated/google/apis/surveys_v2.rb index d62eeb80b..a6c26cbda 100644 --- a/generated/google/apis/surveys_v2.rb +++ b/generated/google/apis/surveys_v2.rb @@ -25,7 +25,7 @@ module Google # module SurveysV2 VERSION = 'V2' - REVISION = '20170407' + REVISION = '20180508' # View and manage your surveys and results AUTH_SURVEYS = 'https://www.googleapis.com/auth/surveys' diff --git a/generated/google/apis/surveys_v2/classes.rb b/generated/google/apis/surveys_v2/classes.rb index dc854a9f9..03286764a 100644 --- a/generated/google/apis/surveys_v2/classes.rb +++ b/generated/google/apis/surveys_v2/classes.rb @@ -47,103 +47,6 @@ module Google end end - # Representation of an individual pre-defined panel object defining a targeted - # audience of opinion rewards mobile app users. - class MobileAppPanel - include Google::Apis::Core::Hashable - - # Country code for the country of the users that the panel contains. Uses - # standard ISO 3166-1 2-character language codes. For instance, 'US' for the - # United States, and 'GB' for the United Kingdom. Any survey created targeting - # this panel must also target the corresponding country. - # Corresponds to the JSON property `country` - # @return [String] - attr_accessor :country - - # Whether or not the panel is accessible to all API users. - # Corresponds to the JSON property `isPublicPanel` - # @return [Boolean] - attr_accessor :is_public_panel - alias_method :is_public_panel?, :is_public_panel - - # Language code that the panel can target. For instance, 'en-US'. Uses standard - # BCP47 language codes. See specification. Any survey created targeting this - # panel must also target the corresponding language. - # Corresponds to the JSON property `language` - # @return [String] - attr_accessor :language - - # Unique panel ID string. This corresponds to the mobile_app_panel_id used in - # Survey Insert requests. - # Corresponds to the JSON property `mobileAppPanelId` - # @return [String] - attr_accessor :mobile_app_panel_id - - # Human readable name of the audience panel. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # List of email addresses for users who can target members of this panel. Must - # contain at least the address of the user making the API call for panels that - # are not public. This field will be empty for public panels. - # Corresponds to the JSON property `owners` - # @return [Array] - attr_accessor :owners - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @country = args[:country] if args.key?(:country) - @is_public_panel = args[:is_public_panel] if args.key?(:is_public_panel) - @language = args[:language] if args.key?(:language) - @mobile_app_panel_id = args[:mobile_app_panel_id] if args.key?(:mobile_app_panel_id) - @name = args[:name] if args.key?(:name) - @owners = args[:owners] if args.key?(:owners) - end - end - - # - class MobileAppPanelsListResponse - include Google::Apis::Core::Hashable - - # - # Corresponds to the JSON property `pageInfo` - # @return [Google::Apis::SurveysV2::PageInfo] - attr_accessor :page_info - - # Unique request ID used for logging and debugging. Please include in any error - # reporting or troubleshooting requests. - # Corresponds to the JSON property `requestId` - # @return [String] - attr_accessor :request_id - - # An individual predefined panel of Opinion Rewards mobile users. - # Corresponds to the JSON property `resources` - # @return [Array] - attr_accessor :resources - - # - # Corresponds to the JSON property `tokenPagination` - # @return [Google::Apis::SurveysV2::TokenPagination] - attr_accessor :token_pagination - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @page_info = args[:page_info] if args.key?(:page_info) - @request_id = args[:request_id] if args.key?(:request_id) - @resources = args[:resources] if args.key?(:resources) - @token_pagination = args[:token_pagination] if args.key?(:token_pagination) - end - end - # class PageInfo include Google::Apis::Core::Hashable @@ -342,13 +245,6 @@ module Google # @return [Array] attr_accessor :languages - # Key for predefined panel that causes survey to be sent to a predefined set of - # Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL - # to use this field. - # Corresponds to the JSON property `mobileAppPanelId` - # @return [String] - attr_accessor :mobile_app_panel_id - # Online population source where the respondents are sampled from. # Corresponds to the JSON property `populationSource` # @return [String] @@ -365,7 +261,6 @@ module Google @country_subdivision = args[:country_subdivision] if args.key?(:country_subdivision) @gender = args[:gender] if args.key?(:gender) @languages = args[:languages] if args.key?(:languages) - @mobile_app_panel_id = args[:mobile_app_panel_id] if args.key?(:mobile_app_panel_id) @population_source = args[:population_source] if args.key?(:population_source) end end @@ -385,21 +280,22 @@ module Google # @return [String] attr_accessor :currency_code - # Threshold to start a survey automatically if the quoted price is at most this - # value. When a survey has a Screener (threshold) question, it must go through - # an incidence pricing test to determine the final cost per response. Typically - # you will have to make a followup call to start the survey giving the final - # computed cost per response. If the survey has no threshold_answers, setting - # this property will return an error. By specifying this property, you indicate - # the max price per response you are willing to pay in advance of the incidence - # test. If the price turns out to be lower than the specified value, the survey - # will begin immediately and you will be charged at the rate determined by the - # incidence pricing test. If the price turns out to be greater than the - # specified value the survey will not be started and you will instead be - # notified what price was determined by the incidence test. At that point, you - # must raise the value of this property to be greater than or equal to that cost - # before attempting to start the survey again. This will immediately start the - # survey as long the incidence test was run within the last 21 days. + # *Deprecated* Threshold to start a survey automatically if the quoted price is + # at most this value. When a survey has a Screener (threshold) question, it must + # go through an incidence pricing test to determine the final cost per response. + # Typically you will have to make a followup call to start the survey giving the + # final computed cost per response. If the survey has no threshold_answers, + # setting this property will return an error. By specifying this property, you + # indicate the max price per response you are willing to pay in advance of the + # incidence test. If the price turns out to be lower than the specified value, + # the survey will begin immediately and you will be charged at the rate + # determined by the incidence pricing test. If the price turns out to be greater + # than the specified value the survey will not be started and you will instead + # be notified what price was determined by the incidence test. At that point, + # you must raise the value of this property to be greater than or equal to that + # cost before attempting to start the survey again. This will immediately start + # the survey as long the incidence test was run within the last 21 days. This + # will no longer be available after June 2018. # Corresponds to the JSON property `maxCostPerResponseNanos` # @return [Fixnum] attr_accessor :max_cost_per_response_nanos @@ -709,8 +605,9 @@ module Google class SurveysStartRequest include Google::Apis::Core::Hashable - # Threshold to start a survey automically if the quoted prices is less than or - # equal to this value. See Survey.Cost for more details. + # *Deprecated* Threshold to start a survey automatically if the quoted prices is + # less than or equal to this value. See Survey.Cost for more details. This will + # no longer be available after June 2018. # Corresponds to the JSON property `maxCostPerResponseNanos` # @return [Fixnum] attr_accessor :max_cost_per_response_nanos diff --git a/generated/google/apis/surveys_v2/representations.rb b/generated/google/apis/surveys_v2/representations.rb index 25adfff45..0bb56c936 100644 --- a/generated/google/apis/surveys_v2/representations.rb +++ b/generated/google/apis/surveys_v2/representations.rb @@ -28,18 +28,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class MobileAppPanel - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class MobileAppPanelsListResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class PageInfo class Representation < Google::Apis::Core::JsonRepresentation; end @@ -145,31 +133,6 @@ module Google end end - class MobileAppPanel - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :country, as: 'country' - property :is_public_panel, as: 'isPublicPanel' - property :language, as: 'language' - property :mobile_app_panel_id, as: 'mobileAppPanelId' - property :name, as: 'name' - collection :owners, as: 'owners' - end - end - - class MobileAppPanelsListResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :page_info, as: 'pageInfo', class: Google::Apis::SurveysV2::PageInfo, decorator: Google::Apis::SurveysV2::PageInfo::Representation - - property :request_id, as: 'requestId' - collection :resources, as: 'resources', class: Google::Apis::SurveysV2::MobileAppPanel, decorator: Google::Apis::SurveysV2::MobileAppPanel::Representation - - property :token_pagination, as: 'tokenPagination', class: Google::Apis::SurveysV2::TokenPagination, decorator: Google::Apis::SurveysV2::TokenPagination::Representation - - end - end - class PageInfo # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -225,7 +188,6 @@ module Google property :country_subdivision, as: 'countrySubdivision' property :gender, as: 'gender' collection :languages, as: 'languages' - property :mobile_app_panel_id, as: 'mobileAppPanelId' property :population_source, as: 'populationSource' end end diff --git a/generated/google/apis/surveys_v2/service.rb b/generated/google/apis/surveys_v2/service.rb index 132ccf9dd..d0940eee6 100644 --- a/generated/google/apis/surveys_v2/service.rb +++ b/generated/google/apis/surveys_v2/service.rb @@ -51,112 +51,6 @@ module Google @batch_path = 'batch/surveys/v2' end - # Retrieves a MobileAppPanel that is available to the authenticated user. - # @param [String] panel_id - # External URL ID for the panel. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::SurveysV2::MobileAppPanel] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::SurveysV2::MobileAppPanel] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def get_mobileapppanel(panel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'mobileAppPanels/{panelId}', options) - command.response_representation = Google::Apis::SurveysV2::MobileAppPanel::Representation - command.response_class = Google::Apis::SurveysV2::MobileAppPanel - command.params['panelId'] = panel_id unless panel_id.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Lists the MobileAppPanels available to the authenticated user. - # @param [Fixnum] max_results - # @param [Fixnum] start_index - # @param [String] token - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::SurveysV2::MobileAppPanelsListResponse] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::SurveysV2::MobileAppPanelsListResponse] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def list_mobileapppanels(max_results: nil, start_index: nil, token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:get, 'mobileAppPanels', options) - command.response_representation = Google::Apis::SurveysV2::MobileAppPanelsListResponse::Representation - command.response_class = Google::Apis::SurveysV2::MobileAppPanelsListResponse - command.query['maxResults'] = max_results unless max_results.nil? - command.query['startIndex'] = start_index unless start_index.nil? - command.query['token'] = token unless token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - - # Updates a MobileAppPanel. Currently the only property that can be updated is - # the owners property. - # @param [String] panel_id - # External URL ID for the panel. - # @param [Google::Apis::SurveysV2::MobileAppPanel] mobile_app_panel_object - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # An opaque string that represents a user for quota purposes. Must not exceed 40 - # characters. - # @param [String] user_ip - # Deprecated. Please use quotaUser instead. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::SurveysV2::MobileAppPanel] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::SurveysV2::MobileAppPanel] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def update_mobileapppanel(panel_id, mobile_app_panel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) - command = make_simple_command(:put, 'mobileAppPanels/{panelId}', options) - command.request_representation = Google::Apis::SurveysV2::MobileAppPanel::Representation - command.request_object = mobile_app_panel_object - command.response_representation = Google::Apis::SurveysV2::MobileAppPanel::Representation - command.response_class = Google::Apis::SurveysV2::MobileAppPanel - command.params['panelId'] = panel_id unless panel_id.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - command.query['userIp'] = user_ip unless user_ip.nil? - execute_or_queue_command(command, &block) - end - # Retrieves any survey results that have been produced so far. Results are # formatted as an Excel file. You must add "?alt=media" to the URL as an # argument to get results. diff --git a/generated/google/apis/youtube_partner_v1.rb b/generated/google/apis/youtube_partner_v1.rb index f5eb2486d..b6ad75722 100644 --- a/generated/google/apis/youtube_partner_v1.rb +++ b/generated/google/apis/youtube_partner_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/youtube/partner/ module YoutubePartnerV1 VERSION = 'V1' - REVISION = '20180430' + REVISION = '20180507' # View and manage your assets and associated content on YouTube AUTH_YOUTUBEPARTNER = 'https://www.googleapis.com/auth/youtubepartner'