Create
Creates a service account in the specified folder.
- TypeScript
- Python
import {
  cloudApi,
  decodeMessage,
  serviceClients,
  Session,
  waitForOperation,
} from "@yandex-cloud/nodejs-sdk";
const CreateServiceAccountRequest =
  cloudApi.iam.service_account_service.CreateServiceAccountRequest;
const ServiceAccount = cloudApi.iam.service_account.ServiceAccount;
(async () => {
  const authToken = process.env["YC_OAUTH_TOKEN"];
  const session = new Session({ oauthToken: authToken });
  const client = session.client(serviceClients.ServiceAccountServiceClient);
  const operation = await client.create(
    CreateServiceAccountRequest.fromPartial({
      folderId: "folderId",
      name: "name",
      // description: "description",
      // labels: {"key": "labels"}
    })
  );
  const finishedOp = await waitForOperation(operation, session);
  if (finishedOp.response) {
    const result = decodeMessage<typeof ServiceAccount>(finishedOp.response);
    console.log(result);
  }
})();
import os
import grpc
import yandexcloud
from yandex.cloud.iam.v1.service_account_service_pb2 import CreateServiceAccountMetadata
from yandex.cloud.iam.v1.service_account_service_pb2 import CreateServiceAccountRequest
from yandex.cloud.iam.v1.service_account_pb2 import ServiceAccount
from yandex.cloud.iam.v1.service_account_service_pb2_grpc import ServiceAccountServiceStub
token = os.getenv("YC_OAUTH_TOKEN")
sdk = yandexcloud.SDK(token=token)
service = sdk.client(ServiceAccountServiceStub)
operation = service.Create(
    CreateServiceAccountRequest(
        folder_id="folderId",
        name="name",
        # description = "description",
        # labels = {"key": "labels"}
    )
)
operation_result = sdk.wait_operation_and_get_result(
    operation,
    response_type=ServiceAccount,
    meta_type=CreateServiceAccountMetadata,
)
print(operation_result)
CreateServiceAccountRequest
folderId : string
ID of the folder to create a service account in. To get the folder ID, use a yandex.cloud.resourcemanager.v1.FolderService.List request.
name : string
Name of the service account. The name must be unique within the cloud.
description : string
Description of the service account.
labels : string
Resource labels as key:value pairs.
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.Status- The error result of the operation in case of failure or cancellation. 
- response: google.protobuf.Any- 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.