Load Testing API, gRPC: AgentService.Create
Creates an agent in the specified folder.
Also creates a corresponding compute instance.
gRPC request
rpc Create (CreateAgentRequest) returns (operation.Operation)
CreateAgentRequest
{
"folder_id": "string",
"name": "string",
"description": "string",
"compute_instance_params": {
"labels": "map<string, string>",
"zone_id": "string",
"resources_spec": {
"memory": "int64",
"cores": "int64",
"core_fraction": "int64",
"gpus": "int64"
},
"metadata": "map<string, string>",
"boot_disk_spec": {
"mode": "Mode",
"device_name": "string",
"auto_delete": "bool",
// Includes only one of the fields `disk_spec`, `disk_id`
"disk_spec": {
"name": "string",
"description": "string",
"type_id": "string",
"size": "int64",
// Includes only one of the fields `image_id`, `snapshot_id`
"image_id": "string",
"snapshot_id": "string",
// end of the list of possible fields
"disk_placement_policy": {
"placement_group_id": "string",
"placement_group_partition": "int64"
},
"block_size": "int64",
"kms_key_id": "string"
},
"disk_id": "string"
// end of the list of possible fields
},
"network_interface_specs": [
{
"subnet_id": "string",
"primary_v4_address_spec": {
"address": "string",
"one_to_one_nat_spec": {
"ip_version": "IpVersion",
"address": "string",
"dns_record_specs": [
{
"fqdn": "string",
"dns_zone_id": "string",
"ttl": "int64",
"ptr": "bool"
}
]
},
"dns_record_specs": [
{
"fqdn": "string",
"dns_zone_id": "string",
"ttl": "int64",
"ptr": "bool"
}
]
},
"primary_v6_address_spec": {
"address": "string",
"one_to_one_nat_spec": {
"ip_version": "IpVersion",
"address": "string",
"dns_record_specs": [
{
"fqdn": "string",
"dns_zone_id": "string",
"ttl": "int64",
"ptr": "bool"
}
]
},
"dns_record_specs": [
{
"fqdn": "string",
"dns_zone_id": "string",
"ttl": "int64",
"ptr": "bool"
}
]
},
"security_group_ids": [
"string"
],
"index": "string"
}
],
"service_account_id": "string",
"platform_id": "string"
},
"agent_version": "string",
"labels": "map<string, string>",
"log_settings": {
"cloud_log_group_id": "string"
}
}
Field |
Description |
folder_id |
string Required field. ID of the folder to create an agent in. |
name |
string Name of the agent. A created compute instance will have the same name. |
description |
string Description of the agent. A created compute instance will have the same description. |
compute_instance_params |
Parameters for compute instance to be created. |
agent_version |
string Version of the agent. If not provided, the most recent agent version will be used. |
labels |
object (map<string, string>) Agent labels as |
log_settings |
Agent log settings |
CreateComputeInstance
Field |
Description |
labels |
object (map<string, string>) Resource labels as |
zone_id |
string Required field. ID of the availability zone where the instance resides. |
resources_spec |
Required field. Computing resources of the instance, such as the amount of memory and number of cores. |
metadata |
object (map<string, string>) The metadata Values are free-form strings, and only have meaning as interpreted by the programs which configure the instance. For example, you may use the metadata in order to provide your public SSH key to the instance. |
boot_disk_spec |
Required field. Boot disk to attach to the instance. |
network_interface_specs[] |
Network configuration for the instance. Specifies how the network interface is configured |
service_account_id |
string ID of the service account to use for authentication inside the instance. |
platform_id |
string ID of the Compute VM platform on which the agent will be created. |
ResourcesSpec
Field |
Description |
memory |
int64 Required field. The amount of memory available to the instance, specified in bytes. |
cores |
int64 Required field. The number of cores available to the instance. |
core_fraction |
int64 Baseline level of CPU performance with the ability to burst performance above that baseline level. For example, if you need only 5% of the CPU performance, you can set core_fraction=5. |
gpus |
int64 The number of GPUs available to the instance. |
AttachedDiskSpec
Field |
Description |
mode |
enum Mode The mode in which to attach this disk.
|
device_name |
string Specifies a unique serial number of your choice that is reflected into the /dev/disk/by-id/ tree This value can be used to reference the device for mounting, resizing, and so on, from within the instance. |
auto_delete |
bool Specifies whether the disk will be auto-deleted when the instance is deleted. |
disk_spec |
Disk specification. Includes only one of the fields |
disk_id |
string ID of the disk that should be attached. Includes only one of the fields |
DiskSpec
Field |
Description |
name |
string Name of the disk. |
description |
string Description of the disk. |
type_id |
string ID of the disk type. |
size |
int64 Required field. Size of the disk, specified in bytes. |
image_id |
string ID of the image to create the disk from. Includes only one of the fields |
snapshot_id |
string ID of the snapshot to restore the disk from. Includes only one of the fields |
disk_placement_policy |
Placement policy configuration. |
block_size |
int64 Block size of the disk, specified in bytes. The default is 4096. |
kms_key_id |
string ID of KMS key for disk encryption |
DiskPlacementPolicy
Field |
Description |
placement_group_id |
string Placement group ID. |
placement_group_partition |
int64 |
NetworkInterfaceSpec
Field |
Description |
subnet_id |
string Required field. ID of the subnet. |
primary_v4_address_spec |
Primary IPv4 address that will be assigned to the instance for this network interface. |
primary_v6_address_spec |
Primary IPv6 address that will be assigned to the instance for this network interface. IPv6 not available yet. |
security_group_ids[] |
string ID's of security groups attached to the interface |
index |
string The index of the network interface, will be generated by the server, 0,1,2... etc if not specified. |
PrimaryAddressSpec
Field |
Description |
address |
string An IPv4 internal network address that is assigned to the instance for this network interface. |
one_to_one_nat_spec |
An external IP address configuration. |
dns_record_specs[] |
Internal DNS configuration |
OneToOneNatSpec
Field |
Description |
ip_version |
enum IpVersion External IP address version.
|
address |
string set static IP by value |
dns_record_specs[] |
External DNS configuration |
DnsRecordSpec
Field |
Description |
fqdn |
string Required field. FQDN (required) |
dns_zone_id |
string DNS zone id (optional, if not set, private zone used) |
ttl |
int64 DNS record ttl, values in 0-86400 (optional) |
ptr |
bool When set to true, also create PTR DNS record (optional) |
LogSettings
Field |
Description |
cloud_log_group_id |
string Id of Yandex Cloud log group to upload agent logs to |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"agent_id": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"folder_id": "string",
"name": "string",
"description": "string",
"compute_instance_id": "string",
"status": "Status",
"errors": [
"string"
],
"current_job_id": "string",
"agent_version_id": "string",
"labels": "map<string, string>",
"log_settings": {
"cloud_log_group_id": "string"
}
}
// 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. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateAgentMetadata
Field |
Description |
agent_id |
string ID of the agent that is being created. |
Agent
Load testing agent on which tests are executed.
Field |
Description |
id |
string ID of the agent. Generated at creation time. |
folder_id |
string ID of the folder that the agent belongs to. |
name |
string Name of the agent. |
description |
string Description of the agent. |
compute_instance_id |
string ID of the compute instance managed by the agent. Empty if there is no such instance (i.e. the case of external agent). |
status |
enum Status Status of the agent.
|
errors[] |
string List of errors reported by the agent. |
current_job_id |
string ID of the test that is currently being executed by the agent. |
agent_version_id |
string Version of the agent. |
labels |
object (map<string, string>) Agent labels as |
log_settings |
Agent log settings |
LogSettings
Field |
Description |
cloud_log_group_id |
string Id of Yandex Cloud log group to upload agent logs to |