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.recommendationengine.v1beta1
  python:
    package_name: google.cloud.recommendationengine_v1beta1.gapic
  go:
    package_name: cloud.google.com/go/recommendationengine/apiv1beta1
  csharp:
    package_name: Google.Cloud.Recommendationengine.V1beta1
  ruby:
    package_name: Google::Cloud::Recommendationengine::V1beta1
  php:
    package_name: Google\Cloud\Recommendationengine\V1beta1
  nodejs:
    package_name: recommendationengine.v1beta1
# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.cloud.recommendationengine.v1beta1.CatalogService
  # 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}/locations/{location}/catalogs/{catalog}
    entity_name: catalog
  - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/catalogItems/{catalog_item_path=**}
    entity_name: catalog_item_path
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - DEADLINE_EXCEEDED
    - 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.
  #
  #   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: CreateCatalogItem
    flattening:
      groups:
      - parameters:
        - parent
        - catalog_item
    required_fields:
    - parent
    - catalog_item
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: catalog
    timeout_millis: 60000
  - name: GetCatalogItem
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: catalog_item_path
    timeout_millis: 60000
  - name: ListCatalogItems
    flattening:
      groups:
      - parameters:
        - parent
        - filter
    required_fields:
    - parent
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: catalog_items
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: catalog
    timeout_millis: 300000
  - name: UpdateCatalogItem
    flattening:
      groups:
      - parameters:
        - name
        - catalog_item
    required_fields:
    - name
    - catalog_item
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      name: catalog_item_path
    timeout_millis: 60000
  - name: DeleteCatalogItem
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: catalog_item_path
    timeout_millis: 60000
  - name: ImportCatalogItems
    flattening:
      groups:
      - parameters:
        - parent
        - request_id
        - input_config
        - errors_config
    required_fields:
    - parent
    - input_config
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: catalog
    long_running:
      return_type: google.cloud.recommendationengine.v1beta1.ImportCatalogItemsResponse
      metadata_type: google.cloud.recommendationengine.v1beta1.ImportMetadata
      initial_poll_delay_millis: 500
      poll_delay_multiplier: 1.5
      max_poll_delay_millis: 5000
      total_poll_timeout_millis: 300000
    timeout_millis: 300000
# The fully qualified name of the API interface.
- name: google.cloud.recommendationengine.v1beta1.PredictionApiKeyRegistry
  # 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}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}
    entity_name: event_store
  - name_pattern: projects/{project}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/predictionApiKeyRegistrations/{prediction_api_key_registration}
    entity_name: prediction_api_key_registration
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - DEADLINE_EXCEEDED
    - 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.
  #
  #   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: CreatePredictionApiKeyRegistration
    flattening:
      groups:
      - parameters:
        - parent
        - prediction_api_key_registration
    required_fields:
    - parent
    - prediction_api_key_registration
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    timeout_millis: 60000
  - name: ListPredictionApiKeyRegistrations
    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: prediction_api_key_registrations
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    timeout_millis: 60000
  - name: DeletePredictionApiKeyRegistration
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: prediction_api_key_registration
    timeout_millis: 60000
# The fully qualified name of the API interface.
- name: google.cloud.recommendationengine.v1beta1.PredictionService
  # 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}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}/placements/{placement}
    entity_name: placement
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - DEADLINE_EXCEEDED
    - 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.
  #
  #   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: Predict
    required_fields:
    - name
    - user_event
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: results
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      name: placement
    timeout_millis: 60000
# The fully qualified name of the API interface.
- name: google.cloud.recommendationengine.v1beta1.UserEventService
  # 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}/locations/{location}/catalogs/{catalog}/eventStores/{event_store}
    entity_name: event_store
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - DEADLINE_EXCEEDED
    - 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.
  #
  #   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: WriteUserEvent
    flattening:
      groups:
      - parameters:
        - parent
        - user_event
    required_fields:
    - parent
    - user_event
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    timeout_millis: 60000
  - name: CollectUserEvent
    flattening:
      groups:
      - parameters:
        - parent
        - user_event
        - uri
        - ets
    required_fields:
    - parent
    - user_event
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    timeout_millis: 60000
  - name: ListUserEvents
    flattening:
      groups:
      - parameters:
        - parent
        - filter
    required_fields:
    - parent
    page_streaming:
      request:
        page_size_field: page_size
        token_field: page_token
      response:
        token_field: next_page_token
        resources_field: user_events
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    timeout_millis: 300000
  - name: PurgeUserEvents
    flattening:
      groups:
      - parameters:
        - parent
        - filter
        - force
    required_fields:
    - parent
    - filter
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    long_running:
      return_type: google.cloud.recommendationengine.v1beta1.PurgeUserEventsResponse
      metadata_type: google.cloud.recommendationengine.v1beta1.PurgeUserEventsMetadata
      initial_poll_delay_millis: 500
      poll_delay_multiplier: 1.5
      max_poll_delay_millis: 5000
      total_poll_timeout_millis: 300000
    timeout_millis: 60000
  - name: ImportUserEvents
    flattening:
      groups:
      - parameters:
        - parent
        - request_id
        - input_config
        - errors_config
    required_fields:
    - parent
    - input_config
    retry_codes_name: non_idempotent
    retry_params_name: default
    field_name_patterns:
      parent: event_store
    long_running:
      return_type: google.cloud.recommendationengine.v1beta1.ImportUserEventsResponse
      metadata_type: google.cloud.recommendationengine.v1beta1.ImportMetadata
      initial_poll_delay_millis: 500
      poll_delay_multiplier: 1.5
      max_poll_delay_millis: 5000
      total_poll_timeout_millis: 300000
    timeout_millis: 300000
