type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
language_settings:
  java:
    package_name: com.google.cloud.vision.v1
    release_level: GA
  python:
    package_name: google.cloud.vision_v1.gapic
  go:
    package_name: cloud.google.com/go/vision/apiv1
    release_level: GA
  csharp:
    package_name: Google.Cloud.Vision.V1
    release_level: GA
  ruby:
    package_name: Google::Cloud::Vision::V1
  php:
    package_name: Google\Cloud\Vision\V1
  nodejs:
    package_name: vision.v1
    domain_layer_location: google-cloud
license_header:
  copyright_file: copyright-google.txt
  license_file: license-header-apache-2.0.txt
interfaces:
- name: google.cloud.vision.v1.ImageAnnotator
  smoke_test:
    method: BatchAnnotateImages
    init_fields:
    - requests[0].image.source.gcs_image_uri="gs://gapic-toolkit/President_Barack_Obama.jpg"
    - requests[0].features[0].type=FACE_DETECTION
  collections: []
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
    - DEADLINE_EXCEEDED
  - name: non_idempotent
    retry_codes: []
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 60000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 60000
    total_timeout_millis: 600000
  methods:
  - name: BatchAnnotateImages
    flattening:
      groups:
      - parameters:
        - requests
    required_fields:
    - requests
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
  - name: AsyncBatchAnnotateFiles
    flattening:
      groups:
      - parameters:
        - requests
    required_fields:
    - requests
    long_running:
      return_type: google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse
      metadata_type: google.cloud.vision.v1.OperationMetadata
      initial_poll_delay_millis: 20000
      poll_delay_multiplier: 1.5
      max_poll_delay_millis: 45000
      total_poll_timeout_millis: 86400000
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
- name: google.cloud.vision.v1.ProductSearch
  collections:
  - name_pattern: projects/{project}/locations/{location}
    entity_name: location
  - name_pattern: projects/{project}/locations/{location}/productSets/{product_set}
    entity_name: product_set
  - name_pattern: projects/{project}/locations/{location}/products/{product}
    entity_name: product
  - name_pattern: projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}
    entity_name: reference_image
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
    - DEADLINE_EXCEEDED
  - name: non_idempotent
    retry_codes: []
  retry_params_def:
  - name: default
    initial_retry_delay_millis: 100
    retry_delay_multiplier: 1.3
    max_retry_delay_millis: 60000
    initial_rpc_timeout_millis: 60000
    rpc_timeout_multiplier: 1
    max_rpc_timeout_millis: 60000
    total_timeout_millis: 600000
  methods:
  - name: CreateProduct
    flattening:
      groups:
      - parameters:
        - parent
        - product
        - product_id
    required_fields:
    - parent
    - product
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: location
  - name: ListProducts
    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: products
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: location
  - name: GetProduct
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product
  - name: UpdateProduct
    flattening:
      groups:
      - parameters:
        - product
        - update_mask
    required_fields:
    - product
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      product.name: product
  - name: DeleteProduct
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product
  - name: ListReferenceImages
    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: reference_images
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: product
  - name: GetReferenceImage
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: reference_image
    timeout_millis: 60000
  - name: DeleteReferenceImage
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: reference_image
    timeout_millis: 60000
  - name: CreateReferenceImage
    flattening:
      groups:
      - parameters:
        - parent
        - reference_image
        - reference_image_id
    required_fields:
    - parent
    - reference_image
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: product
  - name: CreateProductSet
    flattening:
      groups:
      - parameters:
        - parent
        - product_set
        - product_set_id
    required_fields:
    - parent
    - product_set
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: location
  - name: ListProductSets
    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: product_sets
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: location
  - name: GetProductSet
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product_set
  - name: UpdateProductSet
    flattening:
      groups:
      - parameters:
        - product_set
        - update_mask
    required_fields:
    - product_set
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      product_set.name: product_set
  - name: DeleteProductSet
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product_set
  - name: AddProductToProductSet
    flattening:
      groups:
      - parameters:
        - name
        - product
    required_fields:
    - name
    - product
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product_set
  - name: RemoveProductFromProductSet
    flattening:
      groups:
      - parameters:
        - name
        - product
    required_fields:
    - name
    - product
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product_set
  - name: ListProductsInProductSet
    flattening:
      groups:
      - parameters:
        - name
    required_fields:
    - name
    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: products
    retry_codes_name: idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      name: product_set
  - name: ImportProductSets
    flattening:
      groups:
      - parameters:
        - parent
        - input_config
    required_fields:
    - parent
    - input_config
    long_running:
      return_type: google.cloud.vision.v1.ImportProductSetsResponse
      metadata_type: google.cloud.vision.v1.BatchOperationMetadata
      initial_poll_delay_millis: 20000
      poll_delay_multiplier: 1.5
      max_poll_delay_millis: 45000
      total_poll_timeout_millis: 86400000
    resource_name_treatment: STATIC_TYPES
    retry_codes_name: non_idempotent
    retry_params_name: default
    timeout_millis: 60000
    field_name_patterns:
      parent: location
resource_name_generation:
- message_name: CreateProductSetRequest
  field_entity_map:
    parent: location
- message_name: ListProductSetsRequest
  field_entity_map:
    parent: location
- message_name: GetProductSetRequest
  field_entity_map:
    name: product_set
- message_name: UpdateProductSetRequest
  field_entity_map:
    product_set.name: product_set
- message_name: DeleteProductSetRequest
  field_entity_map:
    name: product_set
- message_name: CreateProductRequest
  field_entity_map:
    parent: location
- message_name: ListProductsRequest
  field_entity_map:
    parent: location
- message_name: GetProductRequest
  field_entity_map:
    name: product
- message_name: UpdateProductRequest
  field_entity_map:
    product.name: product
- message_name: DeleteProductRequest
  field_entity_map:
    name: product
- message_name: CreateReferenceImageRequest
  field_entity_map:
    parent: product
- message_name: DeleteReferenceImageRequest
  field_entity_map:
    name: reference_image
- message_name: ListReferenceImagesRequest
  field_entity_map:
    parent: product
- message_name: GetReferenceImageRequest
  field_entity_map:
    name: reference_image
- message_name: AddProductToProductSetRequest
  field_entity_map:
    name: product_set
    product: product
- message_name: RemoveProductFromProductSetRequest
  field_entity_map:
    name: product_set
    product: product
- message_name: ListProductsInProductSetRequest
  field_entity_map:
    name: product_set
- message_name: ImportProductSetsRequest
  field_entity_map:
    parent: location
- message_name: Product
  field_entity_map:
    name: product
- message_name: ProductSet
  field_entity_map:
    name: product_set
- message_name: ReferenceImage
  field_entity_map:
    name: reference_image
- message_name: ProductSearchParams
  field_entity_map:
    product_set: product_set
