Yandex Cloud
Search
Contact UsGet started
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Terraform in Yandex Cloud
  • Getting started
  • Solution library
    • Overview
    • Release notes
          • api_gateway

In this article:

  • Example usage
  • Schema
  • Required
  • Optional
  • Read-Only
  • Nested Schema for canary
  • Nested Schema for connectivity
  • Nested Schema for custom_domains
  • Nested Schema for log_options
  • Nested Schema for timeouts
  • Import
  1. Terraform reference
  2. Resources
  3. Yandex API Gateway
  4. Resources
  5. api_gateway

yandex_api_gateway (Resource)

Written by
Yandex Cloud
Updated at September 11, 2025
  • Example usage
  • Schema
    • Required
    • Optional
    • Read-Only
    • Nested Schema for canary
    • Nested Schema for connectivity
    • Nested Schema for custom_domains
    • Nested Schema for log_options
    • Nested Schema for timeouts
  • Import

Allows management of Yandex Cloud API Gateway.

Example usageExample usage

//
// Create a new API Gateway
//
resource "yandex_api_gateway" "test-api-gateway" {
  name        = "some_name"
  description = "any description"
  labels = {
    label       = "label"
    empty-label = ""
  }
  custom_domains {
    fqdn           = "test.example.com"
    certificate_id = "<certificate_id_from_cert_manager>"
  }
  connectivity {
    network_id = "<dynamic network id>"
  }
  variables = {
    installation = "prod"
  }
  canary {
    weight = 20
    variables = {
      installation = "dev"
    }
  }
  log_options {
    log_group_id = "<log group id>"
    min_level    = "ERROR"
  }
  execution_timeout = "300"
  spec              = <<-EOT
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Test API
x-yc-apigateway:
  variables:
    installation:
      default: "prod"
      enum:
       - "prod"
       - "dev"
paths:
  /hello:
    get:
      summary: Say hello
      operationId: hello
      parameters:
        - name: user
          in: query
          description: User name to appear in greetings
          required: false
          schema:
            type: string
            default: 'world'
      responses:
        '200':
          description: Greeting
          content:
            'text/plain':
              schema:
                type: "string"
      x-yc-apigateway-integration:
        type: dummy
        http_code: 200
        http_headers:
          'Content-Type': "text/plain"
        content:
          'text/plain': "Hello again, {user} from ${apigw.installation} release!\n"
EOT
}

SchemaSchema

RequiredRequired

  • name (String) The resource name.
  • spec (String) The OpenAPI specification for Yandex Cloud API Gateway.

OptionalOptional

  • canary (Block List, Max: 1) Canary release settings of gateway. (see below for nested schema)
  • connectivity (Block List, Max: 1) Gateway connectivity. If specified the gateway will be attached to specified network. (see below for nested schema)
  • custom_domains (Block Set) Set of custom domains to be attached to Yandex Cloud API Gateway. (see below for nested schema)
  • description (String) The resource description.
  • execution_timeout (String) Execution timeout in seconds for the Yandex Cloud API Gateway.
  • folder_id (String) The folder identifier that resource belongs to. If it is not provided, the default provider folder-id is used.
  • labels (Map of String) A set of key/value label pairs which assigned to resource.
  • log_options (Block List, Max: 1) Options for logging from Yandex Cloud API Gateway. (see below for nested schema)
  • timeouts (Block, Optional) (see below for nested schema)
  • variables (Map of String) A set of values for variables in gateway specification.

Read-OnlyRead-Only

  • created_at (String) The creation timestamp of the resource.

  • domain (String) Default domain for the Yandex Cloud API Gateway. Generated at creation time.

  • id (String) The ID of this resource.

  • log_group_id (String) ID of the log group for the Yandex Cloud API Gateway.

  • status (String) Status of the Yandex Cloud API Gateway.

  • user_domains (Set of String, Deprecated)

    Warning

    DEPRECATED Use custom_domains instead. Set of user domains attached to Yandex Cloud API Gateway.

Nested Schema for Nested Schema for canary

Optional:

  • variables (Map of String) A list of values for variables in gateway specification of canary release.
  • weight (Number) Percentage of requests, which will be processed by canary release.

Nested Schema for Nested Schema for connectivity

Required:

  • network_id (String) Network the gateway will have access to. It's essential to specify network with subnets in all availability zones.

Nested Schema for Nested Schema for custom_domains

Required:

  • certificate_id (String)
  • fqdn (String)

Optional:

  • domain_id (String)

Nested Schema for Nested Schema for log_options

Optional:

  • disabled (Boolean) Is logging from Yandex Cloud API Gateway disabled.
  • folder_id (String) Log entries are written to default log group for specified folder.
  • log_group_id (String) Log entries are written to specified log group.
  • min_level (String) Minimum log entry level.

Nested Schema for Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

ImportImport

Warning

Import for this resource is not implemented yet.

Was the article helpful?

Previous
api_gateway
Next
yq_monitoring_connection
© 2025 Direct Cursus Technology L.L.C.