// This file is auto-generated, don't edit it import * as $dara from '@darabonba/typescript'; import { ArmsConfiguration } from "./ArmsConfiguration"; import { CodeConfiguration } from "./CodeConfiguration"; import { ContainerConfiguration } from "./ContainerConfiguration"; import { HealthCheckConfiguration } from "./HealthCheckConfiguration"; import { LogConfiguration } from "./LogConfiguration"; import { NASConfig } from "./Nasconfig"; import { NetworkConfiguration } from "./NetworkConfiguration"; import { OSSMountConfig } from "./OssmountConfig"; import { ProtocolConfiguration } from "./ProtocolConfiguration"; export class UpdateAgentRuntimeInput extends $dara.Model { /** * @remarks * The name of the agent runtime. * * @example * my-agent-runtime */ agentRuntimeName?: string; /** * @remarks * 应用实时监控服务(ARMS)的配置信息 * * @example * {} */ armsConfiguration?: ArmsConfiguration; /** * @remarks * The artifact type. * * @example * Code */ artifactType?: string; /** * @remarks * The code configuration. * * @example * {} */ codeConfiguration?: CodeConfiguration; /** * @remarks * The container configuration. * * @example * {} */ containerConfiguration?: ContainerConfiguration; /** * @remarks * The number of CPU cores. * * This parameter is required. * * @example * 1.0 */ cpu?: number; /** * @remarks * The name of the credential that the agent runtime uses to authenticate requests. * * @example * my-credential */ credentialName?: string; /** * @remarks * The description of the agent runtime. * * @example * 更新后的智能体运行时描述 */ description?: string; /** * @remarks * Specifies whether to disable on-demand elasticity. Set to true to disable. Default: false. * * @example * false */ disableOndemand?: boolean; /** * @remarks * Specifies whether to disable session affinity. Set to true to disable. Default: false. * * @example * false */ disableSessionAffinity?: boolean; /** * @remarks * The disk size in gigabytes (GB). */ diskSize?: number; edition?: string; /** * @remarks * Specifies whether to enable session isolation. If enabled, each session runs in an isolated environment. * * @example * false */ enableSessionIsolation?: boolean; /** * @remarks * Environment variables for the agent runtime. * * @example * ENV_VAR1=value1,ENV_VAR2=value2 */ environmentVariables?: { [key: string]: string }; /** * @remarks * The execution role ARN that grants the agent runtime permissions to access cloud services. * * @example * acs:ram::1760720386195983:role/AgentRunExecutionRole */ executionRoleArn?: string; /** * @remarks * The endpoint URL for an externally registered agent. The platform uses this URL to connect to an agent service deployed outside the platform. * * @example * https://external-agent.example.com/api */ externalAgentEndpointUrl?: string; /** * @remarks * Specifies whether to perform a best-effort eviction of active Function Compute (FC) sessions when the configuration is updated. This helps the new settings take effect faster. * * @example * true */ forceEvictInstances?: boolean; /** * @remarks * The name of the request header used for session affinity when sessionAffinityType is set to "HEADER_FIELD". * * @example * x-agentrun-session-id */ headerFieldName?: string; /** * @remarks * The health check configuration for monitoring the health of agent runtime instances. * * @example * {} */ healthCheckConfiguration?: HealthCheckConfiguration; /** * @remarks * The configuration for Simple Log Service (SLS). * * @example * {} */ logConfiguration?: LogConfiguration; /** * @remarks * The amount of memory in megabytes (MB). * * @example * 1024 */ memory?: number; /** * @remarks * Configuration for mounting a NAS file system to the agent runtime. * * @example * {} */ nasConfig?: NASConfig; /** * @remarks * The network configuration. * * @example * {} */ networkConfiguration?: NetworkConfiguration; /** * @remarks * Configuration for mounting an OSS bucket to the agent runtime. * * @example * {} */ ossMountConfig?: OSSMountConfig; /** * @remarks * The port on which the agent service listens. * * @example * 8080 */ port?: number; /** * @remarks * The protocol configuration. * * @example * {} */ protocolConfiguration?: ProtocolConfiguration; /** * @remarks * The session affinity mode. Valid values: NONE (disables session affinity), HEADER_FIELD (routes requests based on a request header), and GENERATED_COOKIE (routes requests using a cookie generated by Function Compute (FC)). The value COOKIE is an alias for GENERATED_COOKIE. * * @example * GENERATED_COOKIE */ sessionAffinityType?: string; /** * @remarks * The maximum number of concurrent sessions allowed per runtime instance. * * @example * 100 */ sessionConcurrencyLimitPerInstance?: number; /** * @remarks * The idle timeout for a session, in seconds. If an instance remains idle longer than this timeout after receiving no requests, the session expires. * * @example * 3600 */ sessionIdleTimeoutSeconds?: number; /** * @remarks * The system tags for the agent runtime, used for resource classification and management. * * @example * system-tag-1,system-tag-2 */ systemTags?: string[]; /** * @remarks * The ID of the workspace. */ workspaceId?: string; static names(): { [key: string]: string } { return { agentRuntimeName: 'agentRuntimeName', armsConfiguration: 'armsConfiguration', artifactType: 'artifactType', codeConfiguration: 'codeConfiguration', containerConfiguration: 'containerConfiguration', cpu: 'cpu', credentialName: 'credentialName', description: 'description', disableOndemand: 'disableOndemand', disableSessionAffinity: 'disableSessionAffinity', diskSize: 'diskSize', edition: 'edition', enableSessionIsolation: 'enableSessionIsolation', environmentVariables: 'environmentVariables', executionRoleArn: 'executionRoleArn', externalAgentEndpointUrl: 'externalAgentEndpointUrl', forceEvictInstances: 'forceEvictInstances', headerFieldName: 'headerFieldName', healthCheckConfiguration: 'healthCheckConfiguration', logConfiguration: 'logConfiguration', memory: 'memory', nasConfig: 'nasConfig', networkConfiguration: 'networkConfiguration', ossMountConfig: 'ossMountConfig', port: 'port', protocolConfiguration: 'protocolConfiguration', sessionAffinityType: 'sessionAffinityType', sessionConcurrencyLimitPerInstance: 'sessionConcurrencyLimitPerInstance', sessionIdleTimeoutSeconds: 'sessionIdleTimeoutSeconds', systemTags: 'systemTags', workspaceId: 'workspaceId', }; } static types(): { [key: string]: any } { return { agentRuntimeName: 'string', armsConfiguration: ArmsConfiguration, artifactType: 'string', codeConfiguration: CodeConfiguration, containerConfiguration: ContainerConfiguration, cpu: 'number', credentialName: 'string', description: 'string', disableOndemand: 'boolean', disableSessionAffinity: 'boolean', diskSize: 'number', edition: 'string', enableSessionIsolation: 'boolean', environmentVariables: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, executionRoleArn: 'string', externalAgentEndpointUrl: 'string', forceEvictInstances: 'boolean', headerFieldName: 'string', healthCheckConfiguration: HealthCheckConfiguration, logConfiguration: LogConfiguration, memory: 'number', nasConfig: NASConfig, networkConfiguration: NetworkConfiguration, ossMountConfig: OSSMountConfig, port: 'number', protocolConfiguration: ProtocolConfiguration, sessionAffinityType: 'string', sessionConcurrencyLimitPerInstance: 'number', sessionIdleTimeoutSeconds: 'number', systemTags: { 'type': 'array', 'itemType': 'string' }, workspaceId: 'string', }; } validate() { if(this.armsConfiguration && typeof (this.armsConfiguration as any).validate === 'function') { (this.armsConfiguration as any).validate(); } if(this.codeConfiguration && typeof (this.codeConfiguration as any).validate === 'function') { (this.codeConfiguration as any).validate(); } if(this.containerConfiguration && typeof (this.containerConfiguration as any).validate === 'function') { (this.containerConfiguration as any).validate(); } if(this.environmentVariables) { $dara.Model.validateMap(this.environmentVariables); } if(this.healthCheckConfiguration && typeof (this.healthCheckConfiguration as any).validate === 'function') { (this.healthCheckConfiguration as any).validate(); } if(this.logConfiguration && typeof (this.logConfiguration as any).validate === 'function') { (this.logConfiguration as any).validate(); } if(this.nasConfig && typeof (this.nasConfig as any).validate === 'function') { (this.nasConfig as any).validate(); } if(this.networkConfiguration && typeof (this.networkConfiguration as any).validate === 'function') { (this.networkConfiguration as any).validate(); } if(this.ossMountConfig && typeof (this.ossMountConfig as any).validate === 'function') { (this.ossMountConfig as any).validate(); } if(this.protocolConfiguration && typeof (this.protocolConfiguration as any).validate === 'function') { (this.protocolConfiguration as any).validate(); } if(Array.isArray(this.systemTags)) { $dara.Model.validateArray(this.systemTags); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } }