Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Истории успеха
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Terraform в Yandex Cloud
  • Начало работы
  • Библиотека решений
    • Обзор
    • История изменений (англ.)
          • api_gateway
          • function
          • function_iam_binding
          • function_trigger
          • iot_core_broker
          • iot_core_registry
          • logging_group
          • serverless_container
          • serverless_container_iam_binding

В этой статье:

  • Example usage
  • Arguments & Attributes Reference
  • Import
  1. Справочник Terraform
  2. Ресурсы (англ.)
  3. Cloud Logging
  4. Resources
  5. function

yandex_function (Resource)

Статья создана
Yandex Cloud
Обновлена 9 февраля 2026 г.
  • Example usage
  • Arguments & Attributes Reference
  • Import

Allows management of Yandex Cloud Function

Example usageExample usage

//
// Create a new Yandex Cloud Function
//
resource "yandex_function" "test-function" {
  name               = "some_name"
  description        = "any description"
  user_hash          = "any_user_defined_string"
  runtime            = "python37"
  entrypoint         = "main"
  memory             = "128"
  execution_timeout  = "10"
  service_account_id = "ajeih**********838kk"
  tags               = ["my_tag"]
  secrets {
    id                   = yandex_lockbox_secret.secret.id
    version_id           = yandex_lockbox_secret_version.secret_version.id
    key                  = "secret-key"
    environment_variable = "ENV_VARIABLE"
  }
  content {
    zip_filename = "function.zip"
  }
  mounts {
    name = "mnt"
    ephemeral_disk {
      size_gb = 32
    }
  }
  async_invocation {
    retries_count      = "3"
    service_account_id = "ajeih**********838kk"
    ymq_failure_target {
      service_account_id = "ajeqr**********qb76m"
      arn                = "yrn:yc:ymq:ru-central1:b1glr**********9hsfp:fail"
    }
    ymq_success_target {
      service_account_id = "ajeqr**********qb76m"
      arn                = "yrn:yc:ymq:ru-central1:b1glr**********9hsfp:success"
    }
  }
  log_options {
    log_group_id = "e2392**********eq9fr"
    min_level    = "ERROR"
  }
}
//
// Create a new Yandex Cloud Function with mounted Object Storage Bucket.
//
resource "yandex_function" "test-function" {
  name               = "some_name"
  user_hash          = "v1"
  runtime            = "python37"
  entrypoint         = "index.handler"
  memory             = "128"
  execution_timeout  = "10"
  service_account_id = yandex_iam_service_account.sa.id
  content {
    zip_filename = "function.zip"
  }
  mounts {
    name = "mnt"
    mode = "ro"
    object_storage {
      bucket = yandex_storage_bucket.my-bucket.bucket
    }
  }
}

locals {
  folder_id = "folder_id"
}

resource "yandex_iam_service_account" "sa" {
  folder_id = local.folder_id
  name      = "test-sa"
}

resource "yandex_resourcemanager_folder_iam_member" "sa-editor" {
  folder_id = local.folder_id
  role      = "storage.editor"
  member    = "serviceAccount:${yandex_iam_service_account.sa.id}"
}

resource "yandex_iam_service_account_static_access_key" "sa-static-key" {
  service_account_id = yandex_iam_service_account.sa.id
  description        = "static access key for object storage"
}

resource "yandex_storage_bucket" "my-bucket" {
  access_key = yandex_iam_service_account_static_access_key.sa-static-key.access_key
  secret_key = yandex_iam_service_account_static_access_key.sa-static-key.secret_key
  bucket     = "bucket"
}

Arguments & Attributes ReferenceArguments & Attributes Reference

  • concurrency (Number). The maximum number of requests processed by a function instance at the same time.
  • created_at (Read-Only) (String).
  • description (String). The resource description.
  • entrypoint (Required)(String). Entrypoint for Yandex Cloud Function.
  • environment (Map Of String). A set of key/value environment variables for Yandex Cloud Function. Each key must begin with a letter (A-Z, a-z).
  • execution_timeout (String). Execution timeout in seconds for Yandex Cloud Function.
  • folder_id (String). The folder identifier that resource belongs to. If it is not provided, the default provider folder-id is used.
  • id (String).
  • image_size (Read-Only) (Number). Image size for Yandex Cloud Function.
  • labels (Map Of String). A set of key/value label pairs which assigned to resource.
  • memory (Required)(Number). Memory in megabytes (aligned to 128MB) for Yandex Cloud Function.
  • name (Required)(String). The resource name.
  • runtime (Required)(String). Runtime for Yandex Cloud Function.
  • service_account_id (String). Service account which linked to the resource.
  • tags (Set Of String). Tags for Yandex Cloud Function. Tag $latest isn't returned.
  • tmpfs_size (Number). Tmpfs size for Yandex Cloud Function.
  • user_hash (Required)(String). User-defined string for current function version. User must change this string any times when function changed. Function will be updated when hash is changed.
  • version (Read-Only) (String). Version of Yandex Cloud Function.
  • async_invocation [Block]. Config for asynchronous invocations of Yandex Cloud Function.
    • retries_count (Number). Maximum number of retries for async invocation.
    • service_account_id (String). Service account used for async invocation.
    • ymq_failure_target [Block]. Target for unsuccessful async invocation.
      • arn (Required)(String). YMQ ARN.
      • service_account_id (Required)(String). Service account used for writing result to queue.
    • ymq_success_target [Block]. Target for successful async invocation.
      • arn (Required)(String). YMQ ARN.
      • service_account_id (Required)(String). Service account used for writing result to queue.
  • connectivity [Block]. Function version connectivity. If specified the version will be attached to specified network.
    • network_id (Required)(String). Network the version will have access to. It's essential to specify network with subnets in all availability zones.
  • content [Block]. Version deployment content for Yandex Cloud Function code. Can be only one package or content section. Either package or content section must be specified.
    • zip_filename (Required)(String). Filename to zip archive for the version.
  • log_options [Block]. Options for logging from Yandex Cloud Function.
    • disabled (Bool). Is logging from function 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.
  • metadata_options [Block]. Options set the access mode to function's metadata endpoints.
    • aws_v1_http_endpoint (Number). Enables access to AWS flavored metadata (IMDSv1). Values: 0 - default, 1 - enabled, 2 - disabled.
    • gce_http_endpoint (Number). Enables access to GCE flavored metadata. Values: 0- default, 1 - enabled, 2 - disabled.
  • mounts [Block]. Mounts for Yandex Cloud Function.
    • mode (String). Mount’s accessibility mode. Valid values are ro and rw.
    • name (Required)(String). Name of the mount point. The directory where the target is mounted will be accessible at the /function/storage/<mounts.0.name> path.
    • ephemeral_disk [Block]. One of the available mount types. Disk available during the function execution time.
      • block_size_kb (Number). Optional block size of the ephemeral disk in KB.
      • size_gb (Required)(Number). Size of the ephemeral disk in GB.
    • object_storage [Block]. One of the available mount types. Object storage as a mount.
      • bucket (Required)(String). Name of the mounting bucket.
      • prefix (String). Prefix within the bucket. If you leave this field empty, the entire bucket will be mounted.
  • package [Block]. Version deployment package for Yandex Cloud Function code. Can be only one package or content section. Either package or content section must be specified.
    • bucket_name (Required)(String). Name of the bucket that stores the code for the version.
    • object_name (Required)(String). Name of the object in the bucket that stores the code for the version.
    • sha_256 (String). SHA256 hash of the version deployment package.
  • secrets [Block]. Secrets for Yandex Cloud Function.
    • environment_variable (Required)(String). Function's environment variable in which secret's value will be stored. Must begin with a letter (A-Z, a-z).
    • id (Required)(String). Secret's ID.
    • key (Required)(String). Secret's entries key which value will be stored in environment variable.
    • version_id (Required)(String). Secret's version ID.
  • storage_mounts [Block]. (DEPRECATED, use mounts -> object_storage instead). Storage mounts for Yandex Cloud Function.
    • bucket (Required)(String). Name of the mounting bucket.
    • mount_point_name (Required)(String). Name of the mount point. The directory where the bucket is mounted will be accessible at the /function/storage/<mount_point> path.
    • prefix (String). Prefix within the bucket. If you leave this field empty, the entire bucket will be mounted.
    • read_only (Bool). Mount the bucket in read-only mode.

ImportImport

The resource can be imported by using their resource ID. For getting it you can use Yandex Cloud Web Console or Yandex Cloud CLI.

# terraform import yandex_function.<resource Name> <resource Id>
terraform import yandex_function.test-function d4e45**********pqvd3

Была ли статья полезна?

Предыдущая
api_gateway
Следующая
function_iam_binding
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»