Update
Updates specified Workflow.
- TypeScript
- Python
import {
cloudApi,
decodeMessage,
serviceClients,
Session,
waitForOperation,
} from "@yandex-cloud/nodejs-sdk";
const LogLevel_Level = cloudApi.logging.log_entry.LogLevel_Level;
const UpdateWorkflowRequest =
cloudApi.serverless.workflows_workflow_service.UpdateWorkflowRequest;
const Workflow = cloudApi.serverless.workflows_workflow.Workflow;
(async () => {
const authToken = process.env["YC_OAUTH_TOKEN"];
const session = new Session({ oauthToken: authToken });
const client = session.client(serviceClients.WorkflowServiceClient);
const operation = await client.update(
UpdateWorkflowRequest.fromPartial({
workflowId: "workflowId",
// name: "name",
// description: "description",
// labels: {"key": "labels"},
// specification: {
// specYaml: "specYaml"
// },
// logOptions: {
// disabled: true,
// logGroupId: "logGroupId",
// folderId: "folderId",
// minLevel: LogLevel_Level.TRACE
// },
// networkId: "networkId",
// serviceAccountId: "serviceAccountId",
// updateMask: {
// paths: ["paths"]
// }
})
);
const finishedOp = await waitForOperation(operation, session);
if (finishedOp.response) {
const result = decodeMessage<typeof Workflow>(finishedOp.response);
console.log(result);
}
})();
import os
import grpc
import yandexcloud
from yandex.cloud.serverless.workflows.v1.workflow_pb2 import LogOptions
from yandex.cloud.serverless.workflows.v1.workflow_service_pb2 import UpdateWorkflowMetadata
from yandex.cloud.serverless.workflows.v1.workflow_service_pb2 import UpdateWorkflowRequest
from yandex.cloud.serverless.workflows.v1.workflow_pb2 import Workflow
from yandex.cloud.serverless.workflows.v1.workflow_service_pb2_grpc import WorkflowServiceStub
from yandex.cloud.serverless.workflows.v1.workflow_pb2 import WorkflowSpecification
token = os.getenv("YC_OAUTH_TOKEN")
sdk = yandexcloud.SDK(token=token)
service = sdk.client(WorkflowServiceStub)
operation = service.Update(
UpdateWorkflowRequest(
workflow_id="workflowId",
# name = "name",
# description = "description",
# labels = {"key": "labels"},
# specification = WorkflowSpecification(
# spec_yaml = "specYaml"
# ),
# log_options = LogOptions(
# disabled = true,
# log_group_id = "logGroupId",
# folder_id = "folderId",
# min_level = LogLevel.Level.TRACE
# ),
# network_id = "networkId",
# service_account_id = "serviceAccountId",
# update_mask = FieldMask.FromJsonString("field1,field2")
)
)
operation_result = sdk.wait_operation_and_get_result(
operation,
response_type=Workflow,
meta_type=UpdateWorkflowMetadata,
)
print(operation_result)
UpdateWorkflowRequest
workflowId
: string
ID of the Workflow.
name
: string
Name of the Workflow. The name is unique within the folder.
description
: string
Description of the Workflow.
labels
: string
Workflow labels as key:value
pairs.
specification
: WorkflowSpecification
Specification of the Workflow.
logOptions
: LogOptions
Options for logging from the Workflow.
networkId
: string
ID of the VPC network Workflow will be executed in, in order to access private resources.
serviceAccountId
: string
ID of the Service Account which will be used for resources access in Workflow execution.
updateMask
: google.protobuf.FieldMask
Field mask that specifies which fields of the Workflow should be updated.
WorkflowSpecification
One of spec
specYaml
: stringWorkflow specification in YAML format.
LogOptions
disabled
: bool
Is logging from Workflow disabled.
One of destination
logGroupId
: stringID of the logging group which should be used for Workflows logs.
folderId
: stringID of the folder which default logging group should be used for Workflows.
minLevel
: yandex.cloud.logging.v1.LogLevel.Level
Minimum logs level.
See LogLevel.Level for details.
Operation
An Operation resource. For more information, see Operation.
id
: string
ID of the operation.
description
: string
Description of the operation. 0-256 characters long.
createdAt
: google.protobuf.Timestamp
Creation timestamp.
createdBy
: string
ID of the user or service account who initiated the operation.
modifiedAt
: google.protobuf.Timestamp
The time when the Operation resource was last modified.
done
: bool
If the value is false
, it means the operation is still in progress.
If true
, the operation is completed, and either error
or response
is available.
metadata
: google.protobuf.Any
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.
One of result
The operation result.
If done == false
and there was no failure detected, neither error
nor response
is set.
If done == false
and there was a failure detected, error
is set.
If done == true
, exactly one of error
or response
is set.
error
: google.rpc.StatusThe error result of the operation in case of failure or cancellation.
response
: google.protobuf.AnyThe 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.