Cloud Functions Service, REST: Function.createVersion
Creates a version for the specified function.
HTTP request
POST https://serverless-functions.api.cloud.yandex.net/functions/v1/versions
Body parameters
{
"functionId": "string",
"runtime": "string",
"description": "string",
"entrypoint": "string",
"resources": {
"memory": "string"
},
"executionTimeout": "string",
"serviceAccountId": "string",
"environment": "object",
"tag": [
"string"
],
"connectivity": {
"networkId": "string",
"subnetId": [
"string"
]
},
"namedServiceAccounts": "object",
"secrets": [
{
"id": "string",
"versionId": "string",
"key": "string",
"environmentVariable": "string"
}
],
"logOptions": {
"disabled": true,
"minLevel": "string",
// `logOptions` includes only one of the fields `logGroupId`, `folderId`
"logGroupId": "string",
"folderId": "string",
// end of the list of possible fields`logOptions`
},
"storageMounts": [
{
"bucketId": "string",
"prefix": "string",
"mountPointName": "string",
"readOnly": true
}
],
"asyncInvocationConfig": {
"retriesCount": "string",
"successTarget": {
// `asyncInvocationConfig.successTarget` includes only one of the fields `emptyTarget`, `ymqTarget`
"emptyTarget": {},
"ymqTarget": {
"queueArn": "string",
"serviceAccountId": "string"
},
// end of the list of possible fields`asyncInvocationConfig.successTarget`
},
"failureTarget": {
// `asyncInvocationConfig.failureTarget` includes only one of the fields `emptyTarget`, `ymqTarget`
"emptyTarget": {},
"ymqTarget": {
"queueArn": "string",
"serviceAccountId": "string"
},
// end of the list of possible fields`asyncInvocationConfig.failureTarget`
},
"serviceAccountId": "string"
},
"tmpfsSize": "string",
"concurrency": "string",
"mounts": [
{
"name": "string",
"mode": "string",
// `mounts[]` includes only one of the fields `objectStorage`, `ephemeralDiskSpec`
"objectStorage": {
"bucketId": "string",
"prefix": "string"
},
"ephemeralDiskSpec": {
"size": "string",
"blockSize": "string"
},
// end of the list of possible fields`mounts[]`
}
],
// includes only one of the fields `package`, `content`, `versionId`
"package": {
"bucketName": "string",
"objectName": "string",
"sha256": "string"
},
"content": "string",
"versionId": "string",
// end of the list of possible fields
}
Field | Description |
---|---|
functionId | string Required. ID of the function to create a version for. To get a function ID, make a list request. |
runtime | string Required. Runtime environment for the version. |
description | string Description of the version The string length in characters must be 0-256. |
entrypoint | string Required. Entrypoint of the version. |
resources | object Required. Resources allocated to the version. |
resources. memory |
string (int64) Amount of memory available to the version, specified in bytes, multiple of 128MB. Acceptable values are 134217728 to 8589934592, inclusive. |
executionTimeout | string Required. Timeout for the execution of the version. If the timeout is exceeded, Cloud Functions responds with a 504 HTTP code. |
serviceAccountId | string ID of the service account to associate with the version. |
environment | object Environment settings for the version. Each key must match the regular expression |
tag[] | string Function version tags. For details, see Version tag. Each value must match the regular expression |
connectivity | object Function version connectivity. If specified the version will be attached to specified network/subnet(s). |
connectivity. networkId |
string Network the version will have access to. It's essential to specify network with subnets in all availability zones. |
connectivity. subnetId[] |
string Complete list of subnets (from the same network) the version can be attached to. It's essential to specify at least one subnet for each availability zones. The string length in characters for each value must be greater than 0. |
namedServiceAccounts | object Additional service accounts to be used by the version. |
secrets[] | object Yandex Lockbox secrets to be used by the version. |
secrets[]. id |
string ID of Yandex Lockbox secret. |
secrets[]. versionId |
string ID of Yandex Lockbox version. |
secrets[]. key |
string Key in secret's payload, which value to be delivered into function environment. |
secrets[]. environmentVariable |
string environment variable in which secret's value to be delivered. |
logOptions | object Options for logging from the function |
logOptions. disabled |
boolean (boolean) Is logging from function disabled. |
logOptions. minLevel |
string Minimum log entry level. See [LogLevel.Level] for details.
|
logOptions. logGroupId |
string logOptions includes only one of the fields logGroupId , folderId Entry should be written to log group resolved by ID. Value must match the regular expression |
logOptions. folderId |
string logOptions includes only one of the fields logGroupId , folderId Entry should be written to default log group for specified folder. Value must match the regular expression |
storageMounts[] | object S3 mounts to be used by the version. |
storageMounts[]. bucketId |
string Required. S3 bucket name for mounting. The string length in characters must be 3-63. Value must match the regular expression |
storageMounts[]. prefix |
string S3 bucket prefix for mounting. |
storageMounts[]. mountPointName |
string Required. Mount point directory name (not path) for mounting. The string length in characters must be 1-100. Value must match the regular expression |
storageMounts[]. readOnly |
boolean (boolean) Is mount read only. |
asyncInvocationConfig | object Config for asynchronous invocations of the version |
asyncInvocationConfig. retriesCount |
string (int64) Number of retries of version invocation Acceptable values are 0 to 100, inclusive. |
asyncInvocationConfig. successTarget |
object Required. Target for successful result of the version's invocation Target to which a result of an invocation will be sent |
asyncInvocationConfig. successTarget. emptyTarget |
object Target to ignore a result asyncInvocationConfig.successTarget includes only one of the fields emptyTarget , ymqTarget |
asyncInvocationConfig. successTarget. ymqTarget |
object Target to send a result to ymq asyncInvocationConfig.successTarget includes only one of the fields emptyTarget , ymqTarget |
asyncInvocationConfig. successTarget. ymqTarget. queueArn |
string Required. Queue ARN |
asyncInvocationConfig. successTarget. ymqTarget. serviceAccountId |
string Required. Service account which has write permission on the queue. The maximum string length in characters is 50. |
asyncInvocationConfig. failureTarget |
object Required. Target for unsuccessful result, if all retries failed Target to which a result of an invocation will be sent |
asyncInvocationConfig. failureTarget. emptyTarget |
object Target to ignore a result asyncInvocationConfig.failureTarget includes only one of the fields emptyTarget , ymqTarget |
asyncInvocationConfig. failureTarget. ymqTarget |
object Target to send a result to ymq asyncInvocationConfig.failureTarget includes only one of the fields emptyTarget , ymqTarget |
asyncInvocationConfig. failureTarget. ymqTarget. queueArn |
string Required. Queue ARN |
asyncInvocationConfig. failureTarget. ymqTarget. serviceAccountId |
string Required. Service account which has write permission on the queue. The maximum string length in characters is 50. |
asyncInvocationConfig. serviceAccountId |
string Service account which can invoke version |
tmpfsSize | string (int64) Optional size of in-memory mounted /tmp directory in bytes. Available for versions with resources.memory greater or equal to 1024 MiB. 0 or in range from 512 MiB to 3/4 of resources.memory. |
concurrency | string (int64) The maximum number of requests processed by a function instance at the same time Acceptable values are 0 to 16, inclusive. |
mounts[] | object Mounts to be used by the version. |
mounts[]. name |
string Required. Unique mount point name. Device will be mounted into /function/storage/ The string length in characters must be 1-100. Value must match the regular expression |
mounts[]. mode |
string Mount's mode |
mounts[]. objectStorage |
object Object storage mounts mounts[] includes only one of the fields objectStorage , ephemeralDiskSpec |
mounts[]. objectStorage. bucketId |
string Required. ObjectStorage bucket name for mounting. The string length in characters must be 3-63. Value must match the regular expression |
mounts[]. objectStorage. prefix |
string ObjectStorage bucket prefix for mounting. |
mounts[]. ephemeralDiskSpec |
object Working disk (worker-local non-shared read-write NBS disk templates) mounts[] includes only one of the fields objectStorage , ephemeralDiskSpec |
mounts[]. ephemeralDiskSpec. size |
string (int64) The size of disk for mount in bytes Value must be greater than 0. |
mounts[]. ephemeralDiskSpec. blockSize |
string (int64) Optional block size of disk for mount in bytes |
package | object Functions deployment package. includes only one of the fields package , content , versionId |
package. bucketName |
string Required. Name of the bucket that stores the code for the version. |
package. objectName |
string Required. Name of the object in the bucket that stores the code for the version. |
package. sha256 |
string SHA256 hash of the version deployment package. |
content | string (byte) includes only one of the fields package , content , versionId Content of the deployment package. The maximum string length in characters is 52428800. |
versionId | string includes only one of the fields package , content , versionId ID of the version to be copied from. Source version must belong to the same folder as the created version and the user must have read permissions to the source version. |
Response
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": true,
"metadata": "object",
// includes only one of the fields `error`, `response`
"error": {
"code": "integer",
"message": "string",
"details": [
"object"
]
},
"response": "object",
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field | Description |
---|---|
id | string ID of the operation. |
description | string Description of the operation. 0-256 characters long. |
createdAt | string (date-time) Creation timestamp. String in RFC3339 text format. The range of possible values is from To work with values in this field, use the APIs described in the Protocol Buffers reference. In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). |
createdBy | string ID of the user or service account who initiated the operation. |
modifiedAt | string (date-time) The time when the Operation resource was last modified. String in RFC3339 text format. The range of possible values is from To work with values in this field, use the APIs described in the Protocol Buffers reference. In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). |
done | boolean (boolean) If the value is |
metadata | object Service-specific metadata associated with the operation. It typically contains the ID of the target resource that the operation is performed on. Any method that returns a long-running operation should document the metadata type, if any. |
error | object The error result of the operation in case of failure or cancellation. includes only one of the fields error , response |
error. code |
integer (int32) Error code. An enum value of google.rpc.Code. |
error. message |
string An error message. |
error. details[] |
object A list of messages that carry the error details. |
response | object includes only one of the fields error , response The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is the standard Create/Update, the response should be the target resource of the operation. Any method that returns a long-running operation should document the response type, if any. |