aboutsummaryrefslogtreecommitdiff
path: root/google/cloud/talent/v4beta1/company_service.proto
diff options
context:
space:
mode:
Diffstat (limited to 'google/cloud/talent/v4beta1/company_service.proto')
-rw-r--r--google/cloud/talent/v4beta1/company_service.proto205
1 files changed, 205 insertions, 0 deletions
diff --git a/google/cloud/talent/v4beta1/company_service.proto b/google/cloud/talent/v4beta1/company_service.proto
new file mode 100644
index 000000000..8af4b9ad4
--- /dev/null
+++ b/google/cloud/talent/v4beta1/company_service.proto
@@ -0,0 +1,205 @@
+// Copyright 2019 Google LLC.
+//
+// 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.
+//
+
+syntax = "proto3";
+
+package google.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/cloud/talent/v4beta1/company.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompanyServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service that handles company management, including CRUD and enumeration.
+service CompanyService {
+ // Creates a new company entity.
+ rpc CreateCompany(CreateCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/companies"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/companies"
+ body: "*"
+ }
+ };
+ }
+
+ // Retrieves specified company.
+ rpc GetCompany(GetCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ get: "/v4beta1/{name=projects/*/tenants/*/companies/*}"
+ additional_bindings {
+ get: "/v4beta1/{name=projects/*/companies/*}"
+ }
+ };
+ }
+
+ // Updates specified company.
+ rpc UpdateCompany(UpdateCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ patch: "/v4beta1/{company.name=projects/*/tenants/*/companies/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v4beta1/{company.name=projects/*/companies/*}"
+ body: "*"
+ }
+ };
+ }
+
+ // Deletes specified company.
+ // Prerequisite: The company has no jobs associated with it.
+ rpc DeleteCompany(DeleteCompanyRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4beta1/{name=projects/*/tenants/*/companies/*}"
+ additional_bindings {
+ delete: "/v4beta1/{name=projects/*/companies/*}"
+ }
+ };
+ }
+
+ // Lists all companies associated with the project.
+ rpc ListCompanies(ListCompaniesRequest) returns (ListCompaniesResponse) {
+ option (google.api.http) = {
+ get: "/v4beta1/{parent=projects/*/tenants/*}/companies"
+ additional_bindings {
+ get: "/v4beta1/{parent=projects/*}/companies"
+ }
+ };
+ }
+}
+
+// The Request of the CreateCompany method.
+message CreateCompanyRequest {
+ // Required.
+ //
+ // Resource name of the tenant under which the company is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/api-test-project/tenant/foo".
+ //
+ // Tenant id is optional and a default tenant is created if unspecified, for
+ // example, "projects/api-test-project".
+ string parent = 1;
+
+ // Required.
+ //
+ // The company to be created.
+ Company company = 2;
+}
+
+// Request for getting a company by name.
+message GetCompanyRequest {
+ // Required.
+ //
+ // The resource name of the company to be retrieved.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/api-test-project/tenants/foo/companies/bar".
+ //
+ // Tenant id is optional and the default tenant is used if unspecified, for
+ // example, "projects/api-test-project/companies/bar".
+ string name = 1;
+}
+
+// Request for updating a specified company.
+message UpdateCompanyRequest {
+ // Required.
+ //
+ // The company resource to replace the current resource in the system.
+ Company company = 1;
+
+ // Optional but strongly recommended for the best service
+ // experience.
+ //
+ // If [update_mask][google.cloud.talent.v4beta1.UpdateCompanyRequest.update_mask] is provided, only the specified fields in
+ // [company][google.cloud.talent.v4beta1.UpdateCompanyRequest.company] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to specify the company fields to be updated. Only
+ // top level fields of [Company][google.cloud.talent.v4beta1.Company] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request to delete a company.
+message DeleteCompanyRequest {
+ // Required.
+ //
+ // The resource name of the company to be deleted.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/api-test-project/tenants/foo/companies/bar".
+ //
+ // Tenant id is optional and the default tenant is used if unspecified, for
+ // example, "projects/api-test-project/companies/bar".
+ string name = 1;
+}
+
+// List companies for which the client has ACL visibility.
+message ListCompaniesRequest {
+ // Required.
+ //
+ // Resource name of the tenant under which the company is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/api-test-project/tenant/foo".
+ //
+ // Tenant id is optional and the default tenant is used if unspecified, for
+ // example, "projects/api-test-project".
+ string parent = 1;
+
+ // Optional.
+ //
+ // The starting indicator from which to return results.
+ string page_token = 2;
+
+ // Optional.
+ //
+ // The maximum number of companies to be returned, at most 100.
+ // Default is 100 if a non-positive number is provided.
+ int32 page_size = 3;
+
+ // Optional.
+ //
+ // Set to true if the companies requested must have open jobs.
+ //
+ // Defaults to false.
+ //
+ // If true, at most [page_size][google.cloud.talent.v4beta1.ListCompaniesRequest.page_size] of companies are fetched, among which
+ // only those with open jobs are returned.
+ bool require_open_jobs = 4;
+}
+
+// Output only.
+//
+// The List companies response object.
+message ListCompaniesResponse {
+ // Companies for the current client.
+ repeated Company companies = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}