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.iam.credentials.v1
  python:
    package_name: google.cloud.iam_credentials_v1.gapic
  go:
    package_name: cloud.google.com/go/iam/credentials/apiv1
  csharp:
    package_name: Google.Iam.Credentials.V1
  ruby:
    package_name: Google::Cloud::Iam::Credentials::V1
  php:
    package_name: Google\Cloud\Iam\Credentials\V1
  nodejs:
    package_name: credentials.v1
# The configuration for the license header to put on generated files.
license_header:
  # The file containing the copyright line(s).
  copyright_file: copyright-google.txt
  # The file containing the raw license header without any copyright line(s).
  license_file: license-header-apache-2.0.txt
# A list of API interface configurations.
interfaces:
  # The fully qualified name of the API interface.
- name: google.iam.credentials.v1.IAMCredentials
  # 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}/serviceAccounts/{service_account}
    entity_name: service_account
  # Definition for retryable codes.
  retry_codes_def:
  - name: idempotent
    retry_codes:
    - UNAVAILABLE
    - DEADLINE_EXCEEDED
  - 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
  methods:
  - name: GenerateAccessToken
    flattening:
      groups:
      - parameters:
        - name
        - delegates
        - scope
        - lifetime
    required_fields:
    - name
    - scope
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: service_account
    timeout_millis: 60000
  - name: GenerateIdToken
    flattening:
      groups:
      - parameters:
        - name
        - delegates
        - audience
        - include_email
    required_fields:
    - name
    - audience
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: service_account
    timeout_millis: 60000
  - name: SignBlob
    flattening:
      groups:
      - parameters:
        - name
        - delegates
        - payload
    required_fields:
    - name
    - payload
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: service_account
    timeout_millis: 60000
  - name: SignJwt
    flattening:
      groups:
      - parameters:
        - name
        - delegates
        - payload
    required_fields:
    - name
    - payload
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: service_account
    timeout_millis: 60000
  - name: GenerateIdentityBindingAccessToken
    flattening:
      groups:
      - parameters:
        - name
        - scope
        - jwt
    required_fields:
    - name
    - scope
    - jwt
    retry_codes_name: idempotent
    retry_params_name: default
    field_name_patterns:
      name: service_account
    timeout_millis: 60000
