type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
# The settings of generated code in a specific language.
language_settings:
  java:
    package_name: com.google.cloud.talent.v4beta1
  python:
    package_name: google.cloud.talent_v4beta1.gapic
  go:
    package_name: cloud.google.com/go/talent/apiv4beta1
  csharp:
    package_name: Google.Cloud.Talent.V4Beta1
  ruby:
    package_name: Google::Cloud::Talent::V4beta1
  php:
    package_name: Google\Cloud\Talent\V4beta1
  nodejs:
    package_name: talent.v4beta1
    domain_layer_location: google-cloud
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections:
- name_pattern: projects/{project}
  entity_name: project
  language_overrides:
  - language: csharp
    common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
- name_pattern: projects/{project}/companies/{company}
  entity_name: company_without_tenant
- name_pattern: projects/{project}/tenants/{tenant}/companies/{company}
  entity_name: company
  # Override on Java, or we'll get an exception caused by conflicting with company_oneof:
  # "CompanyName.java: Tried to write the same file twice".
  language_overrides:
  - language: java
    entity_name: company_with_tenant
- name_pattern: projects/{project}/jobs/{jobs}
  entity_name: job_without_tenant
- name_pattern: projects/{project}/tenants/{tenant}/jobs/{jobs}
  entity_name: job
  # Override on Java, or we'll get an exception caused by conflicting with job_oneof:
  # "JobName.java: Tried to write the same file twice".
  language_overrides:
  - language: java
    entity_name: job_with_tenant
- name_pattern: projects/{project}/tenants/{tenant}/profiles/{profile}
  entity_name: profile
- name_pattern: projects/{project}/tenants/{tenant}/profiles/{profile}/applications/{application}
  entity_name: application
- name_pattern: projects/{project}/tenants/{tenant}
  entity_name: tenant

collection_oneofs:
- oneof_name: company_oneof
  collection_names:
  - company
  - company_without_tenant
- oneof_name: job_oneof
  collection_names:
  - job
  - job_without_tenant
- oneof_name: tenant_or_project
  collection_names:
  - tenant
  - project

# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.ApplicationService
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: CreateApplication
    flattening:
      groups:
      - parameters:
        - parent
        - application
    required_fields:
    - parent
    - application
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: profile
    timeout_millis: 30000
  - name: GetApplication
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: application
    timeout_millis: 30000
  - name: UpdateApplication
    flattening:
      groups:
      - parameters:
        - application
    required_fields:
    - application
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      application.name: application
    timeout_millis: 30000
  - name: DeleteApplication
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: application
    timeout_millis: 30000
  - name: ListApplications
    flattening:
      groups:
      - parameters:
        - parent
    required_fields:
    - parent
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: applications
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: profile
    timeout_millis: 30000
  # The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.CompanyService
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: CreateCompany
    flattening:
      groups:
      - parameters:
        - parent
        - company
    required_fields:
    - parent
    - company
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  - name: GetCompany
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: company_oneof
    timeout_millis: 30000
  - name: UpdateCompany
    flattening:
      groups:
      - parameters:
        - company
    required_fields:
    - company
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      company.name: company_oneof
    timeout_millis: 30000
  - name: DeleteCompany
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: company_oneof
    timeout_millis: 30000
  - name: ListCompanies
    flattening:
      groups:
      - parameters:
        - parent
    required_fields:
    - parent
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: companies
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  # The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.Completion
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: CompleteQuery
    required_fields:
    - parent
    - query
    - page_size
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
      company: company_oneof
    timeout_millis: 30000
  # The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.EventService
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: CreateClientEvent
    flattening:
      groups:
      - parameters:
        - parent
        - client_event
    required_fields:
    - parent
    - client_event
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  # The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.JobService
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: CreateJob
    flattening:
      groups:
      - parameters:
        - parent
        - job
    required_fields:
    - parent
    - job
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
      job.company: company_oneof
    timeout_millis: 30000
  - name: GetJob
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: job_oneof
    timeout_millis: 30000
  - name: UpdateJob
    flattening:
      groups:
      - parameters:
        - job
    required_fields:
    - job
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      job.name: job_oneof
      job.company: company_oneof
    timeout_millis: 30000
  - name: DeleteJob
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: job_oneof
    timeout_millis: 30000
  - name: ListJobs
    flattening:
      groups:
      - parameters:
        - parent
        - filter
    required_fields:
    - parent
    - filter
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: jobs
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  - name: BatchDeleteJobs
    flattening:
      groups:
      - parameters:
        - parent
        - filter
    required_fields:
    - parent
    - filter
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  - name: SearchJobs
    required_fields:
    - parent
    - request_metadata
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: matching_jobs
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  - name: SearchJobsForAlert
    required_fields:
    - parent
    - request_metadata
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: matching_jobs
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant_or_project
    timeout_millis: 30000
  # The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.ProfileService
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: ListProfiles
    flattening:
      groups:
      - parameters:
        - parent
    required_fields:
    - parent
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: profiles
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant
    timeout_millis: 30000
  - name: CreateProfile
    flattening:
      groups:
      - parameters:
        - parent
        - profile
    required_fields:
    - parent
    - profile
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant
    timeout_millis: 30000
  - name: GetProfile
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: profile
    timeout_millis: 30000
  - name: UpdateProfile
    flattening:
      groups:
      - parameters:
        - profile
    required_fields:
    - profile
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      profile.name: profile
    timeout_millis: 30000
  - name: DeleteProfile
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: profile
    timeout_millis: 30000
  - name: SearchProfiles
    required_fields:
    - parent
    - request_metadata
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: histogram_query_results
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: tenant
    timeout_millis: 30000
# The fully qualified name of the API interface.
- name: google.cloud.talent.v4beta1.TenantService
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
  - name: non_idempotent
    retry_codes: []
  # Definition for retry/backoff parameters.
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 20000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 20000
    total_timeout_millis: 600000
  # A list of method configurations.
  # Common properties:
  #
  #   name - The simple name of the method.
  #
  #   flattening - Specifies the configuration for parameter flattening.
  #   Describes the parameter groups for which a generator should produce method
  #   overloads which allow a client to directly pass request message fields as
  #   method parameters. This information may or may not be used, depending on
  #   the target language.
  #   Consists of groups, which each represent a list of parameters to be
  #   flattened. Each parameter listed must be a field of the request message.
  #
  #   required_fields - Fields that are always required for a request to be
  #   valid.
  #
  #   resource_name_treatment - An enum that specifies how to treat the resource
  #   name formats defined in the field_name_patterns and
  #   response_field_name_patterns fields.
  #   UNSET: default value
  #   NONE: the collection configs will not be used by the generated code.
  #   VALIDATE: string fields will be validated by the client against the
  #   specified resource name formats.
  #   STATIC_TYPES: the client will use generated types for resource names.
  #
  #   page_streaming - Specifies the configuration for paging.
  #   Describes information for generating a method which transforms a paging
  #   list RPC into a stream of resources.
  #   Consists of a request and a response.
  #   The request specifies request information of the list method. It defines
  #   which fields match the paging pattern in the request. The request consists
  #   of a page_size_field and a token_field. The page_size_field is the name of
  #   the optional field specifying the maximum number of elements to be
  #   returned in the response. The token_field is the name of the field in the
  #   request containing the page token.
  #   The response specifies response information of the list method. It defines
  #   which fields match the paging pattern in the response. The response
  #   consists of a token_field and a resources_field. The token_field is the
  #   name of the field in the response containing the next page token. The
  #   resources_field is the name of the field in the response containing the
  #   list of resources belonging to the page.
  #
  #   retry_codes_name - Specifies the configuration for retryable codes. The
  #   name must be defined in interfaces.retry_codes_def.
  #
  #   retry_params_name - Specifies the configuration for retry/backoff
  #   parameters. The name must be defined in interfaces.retry_params_def.
  #
  #   field_name_patterns - Maps the field name of the request type to
  #   entity_name of interfaces.collections.
  #   Specifies the string pattern that the field must follow.
  #
  #   timeout_millis - Specifies the default timeout for a non-retrying call. If
  #   the call is retrying, refer to retry_params_name instead.
  methods:
  - name: CreateTenant
    flattening:
      groups:
      - parameters:
        - parent
        - tenant
    required_fields:
    - parent
    - tenant
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: project
    timeout_millis: 30000
  - name: GetTenant
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: tenant
    timeout_millis: 30000
  - name: UpdateTenant
    flattening:
      groups:
      - parameters:
        - tenant
    required_fields:
    - tenant
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      tenant.name: tenant
    timeout_millis: 30000
  - name: DeleteTenant
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: tenant
    timeout_millis: 30000
  - name: ListTenants
    flattening:
      groups:
      - parameters:
        - parent
    required_fields:
    - parent
    resource_name_treatment: STATIC_TYPES
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: tenants
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: project
    timeout_millis: 30000
resource_name_generation:
- message_name: Application
  field_entity_map:
    name: application
- message_name: CreateApplicationRequest
  field_entity_map:
    parent: profile
- message_name: GetApplicationRequest
  field_entity_map:
    name: application
- message_name: DeleteApplicationRequest
  field_entity_map:
    name: application
- message_name: ListApplicationsRequest
  field_entity_map:
    parent: profile
- message_name: Company
  field_entity_map:
    name: company_oneof
- message_name: CreateCompanyRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: GetCompanyRequest
  field_entity_map:
    name: company_oneof
- message_name: DeleteCompanyRequest
  field_entity_map:
    name: company_oneof
- message_name: ListCompaniesRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: CompleteQueryRequest
  field_entity_map:
    parent: tenant_or_project
    company: company_oneof
- message_name: CreateClientEventRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: Job
  field_entity_map:
    name: job_oneof
    company: company_oneof
- message_name: CreateJobRequest
  field_entity_map:
    parent: tenant_or_project
    job.company: company_oneof
- message_name: GetJobRequest
  field_entity_map:
    name: job_oneof
- message_name: DeleteJobRequest
  field_entity_map:
    name: job_oneof
- message_name: ListJobsRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: BatchDeleteJobsRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: SearchJobsRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: SearchJobsForAlertRequest
  field_entity_map:
    parent: tenant_or_project
- message_name: Profile
  field_entity_map:
    name: profile
- message_name: CreateProfileRequest
  field_entity_map:
    parent: tenant
- message_name: GetProfileRequest
  field_entity_map:
    name: profile
- message_name: DeleteProfileRequest
  field_entity_map:
    name: profile
- message_name: ListProfilesRequest
  field_entity_map:
    parent: tenant
- message_name: SearchProfilesRequest
  field_entity_map:
    parent: tenant
- message_name: Tenant
  field_entity_map:
    name: tenant
- message_name: CreateTenantRequest
  field_entity_map:
    parent: project
- message_name: GetTenantRequest
  field_entity_map:
    name: tenant
- message_name: DeleteTenantRequest
  field_entity_map:
    name: tenant
- message_name: ListTenantsRequest
  field_entity_map:
    parent: project
