UNPKG

cdk-amazon-chime-resources

Version:

![Experimental](https://img.shields.io/badge/experimental-important.svg?style=for-the-badge)

283 lines (282 loc) 24 kB
import { HostHeaderInputConfig, HostHeaderResolvedConfig } from "@aws-sdk/middleware-host-header"; import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent"; import { RegionInputConfig, RegionResolvedConfig } from "@smithy/config-resolver"; import { EventStreamSerdeInputConfig, EventStreamSerdeResolvedConfig } from "@smithy/eventstream-serde-config-resolver"; import { EndpointInputConfig, EndpointResolvedConfig } from "@smithy/middleware-endpoint"; import { RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry"; import { HttpHandlerUserInput as __HttpHandlerUserInput } from "@smithy/protocol-http"; import { Client as __Client, DefaultsMode as __DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@smithy/smithy-client"; import { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, EventStreamSerdeProvider as __EventStreamSerdeProvider, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types"; import { HttpAuthSchemeInputConfig, HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider"; import { AssociateKmsKeyCommandInput, AssociateKmsKeyCommandOutput } from "./commands/AssociateKmsKeyCommand"; import { CancelExportTaskCommandInput, CancelExportTaskCommandOutput } from "./commands/CancelExportTaskCommand"; import { CreateDeliveryCommandInput, CreateDeliveryCommandOutput } from "./commands/CreateDeliveryCommand"; import { CreateExportTaskCommandInput, CreateExportTaskCommandOutput } from "./commands/CreateExportTaskCommand"; import { CreateLogAnomalyDetectorCommandInput, CreateLogAnomalyDetectorCommandOutput } from "./commands/CreateLogAnomalyDetectorCommand"; import { CreateLogGroupCommandInput, CreateLogGroupCommandOutput } from "./commands/CreateLogGroupCommand"; import { CreateLogStreamCommandInput, CreateLogStreamCommandOutput } from "./commands/CreateLogStreamCommand"; import { DeleteAccountPolicyCommandInput, DeleteAccountPolicyCommandOutput } from "./commands/DeleteAccountPolicyCommand"; import { DeleteDataProtectionPolicyCommandInput, DeleteDataProtectionPolicyCommandOutput } from "./commands/DeleteDataProtectionPolicyCommand"; import { DeleteDeliveryCommandInput, DeleteDeliveryCommandOutput } from "./commands/DeleteDeliveryCommand"; import { DeleteDeliveryDestinationCommandInput, DeleteDeliveryDestinationCommandOutput } from "./commands/DeleteDeliveryDestinationCommand"; import { DeleteDeliveryDestinationPolicyCommandInput, DeleteDeliveryDestinationPolicyCommandOutput } from "./commands/DeleteDeliveryDestinationPolicyCommand"; import { DeleteDeliverySourceCommandInput, DeleteDeliverySourceCommandOutput } from "./commands/DeleteDeliverySourceCommand"; import { DeleteDestinationCommandInput, DeleteDestinationCommandOutput } from "./commands/DeleteDestinationCommand"; import { DeleteLogAnomalyDetectorCommandInput, DeleteLogAnomalyDetectorCommandOutput } from "./commands/DeleteLogAnomalyDetectorCommand"; import { DeleteLogGroupCommandInput, DeleteLogGroupCommandOutput } from "./commands/DeleteLogGroupCommand"; import { DeleteLogStreamCommandInput, DeleteLogStreamCommandOutput } from "./commands/DeleteLogStreamCommand"; import { DeleteMetricFilterCommandInput, DeleteMetricFilterCommandOutput } from "./commands/DeleteMetricFilterCommand"; import { DeleteQueryDefinitionCommandInput, DeleteQueryDefinitionCommandOutput } from "./commands/DeleteQueryDefinitionCommand"; import { DeleteResourcePolicyCommandInput, DeleteResourcePolicyCommandOutput } from "./commands/DeleteResourcePolicyCommand"; import { DeleteRetentionPolicyCommandInput, DeleteRetentionPolicyCommandOutput } from "./commands/DeleteRetentionPolicyCommand"; import { DeleteSubscriptionFilterCommandInput, DeleteSubscriptionFilterCommandOutput } from "./commands/DeleteSubscriptionFilterCommand"; import { DescribeAccountPoliciesCommandInput, DescribeAccountPoliciesCommandOutput } from "./commands/DescribeAccountPoliciesCommand"; import { DescribeDeliveriesCommandInput, DescribeDeliveriesCommandOutput } from "./commands/DescribeDeliveriesCommand"; import { DescribeDeliveryDestinationsCommandInput, DescribeDeliveryDestinationsCommandOutput } from "./commands/DescribeDeliveryDestinationsCommand"; import { DescribeDeliverySourcesCommandInput, DescribeDeliverySourcesCommandOutput } from "./commands/DescribeDeliverySourcesCommand"; import { DescribeDestinationsCommandInput, DescribeDestinationsCommandOutput } from "./commands/DescribeDestinationsCommand"; import { DescribeExportTasksCommandInput, DescribeExportTasksCommandOutput } from "./commands/DescribeExportTasksCommand"; import { DescribeLogGroupsCommandInput, DescribeLogGroupsCommandOutput } from "./commands/DescribeLogGroupsCommand"; import { DescribeLogStreamsCommandInput, DescribeLogStreamsCommandOutput } from "./commands/DescribeLogStreamsCommand"; import { DescribeMetricFiltersCommandInput, DescribeMetricFiltersCommandOutput } from "./commands/DescribeMetricFiltersCommand"; import { DescribeQueriesCommandInput, DescribeQueriesCommandOutput } from "./commands/DescribeQueriesCommand"; import { DescribeQueryDefinitionsCommandInput, DescribeQueryDefinitionsCommandOutput } from "./commands/DescribeQueryDefinitionsCommand"; import { DescribeResourcePoliciesCommandInput, DescribeResourcePoliciesCommandOutput } from "./commands/DescribeResourcePoliciesCommand"; import { DescribeSubscriptionFiltersCommandInput, DescribeSubscriptionFiltersCommandOutput } from "./commands/DescribeSubscriptionFiltersCommand"; import { DisassociateKmsKeyCommandInput, DisassociateKmsKeyCommandOutput } from "./commands/DisassociateKmsKeyCommand"; import { FilterLogEventsCommandInput, FilterLogEventsCommandOutput } from "./commands/FilterLogEventsCommand"; import { GetDataProtectionPolicyCommandInput, GetDataProtectionPolicyCommandOutput } from "./commands/GetDataProtectionPolicyCommand"; import { GetDeliveryCommandInput, GetDeliveryCommandOutput } from "./commands/GetDeliveryCommand"; import { GetDeliveryDestinationCommandInput, GetDeliveryDestinationCommandOutput } from "./commands/GetDeliveryDestinationCommand"; import { GetDeliveryDestinationPolicyCommandInput, GetDeliveryDestinationPolicyCommandOutput } from "./commands/GetDeliveryDestinationPolicyCommand"; import { GetDeliverySourceCommandInput, GetDeliverySourceCommandOutput } from "./commands/GetDeliverySourceCommand"; import { GetLogAnomalyDetectorCommandInput, GetLogAnomalyDetectorCommandOutput } from "./commands/GetLogAnomalyDetectorCommand"; import { GetLogEventsCommandInput, GetLogEventsCommandOutput } from "./commands/GetLogEventsCommand"; import { GetLogGroupFieldsCommandInput, GetLogGroupFieldsCommandOutput } from "./commands/GetLogGroupFieldsCommand"; import { GetLogRecordCommandInput, GetLogRecordCommandOutput } from "./commands/GetLogRecordCommand"; import { GetQueryResultsCommandInput, GetQueryResultsCommandOutput } from "./commands/GetQueryResultsCommand"; import { ListAnomaliesCommandInput, ListAnomaliesCommandOutput } from "./commands/ListAnomaliesCommand"; import { ListLogAnomalyDetectorsCommandInput, ListLogAnomalyDetectorsCommandOutput } from "./commands/ListLogAnomalyDetectorsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand"; import { ListTagsLogGroupCommandInput, ListTagsLogGroupCommandOutput } from "./commands/ListTagsLogGroupCommand"; import { PutAccountPolicyCommandInput, PutAccountPolicyCommandOutput } from "./commands/PutAccountPolicyCommand"; import { PutDataProtectionPolicyCommandInput, PutDataProtectionPolicyCommandOutput } from "./commands/PutDataProtectionPolicyCommand"; import { PutDeliveryDestinationCommandInput, PutDeliveryDestinationCommandOutput } from "./commands/PutDeliveryDestinationCommand"; import { PutDeliveryDestinationPolicyCommandInput, PutDeliveryDestinationPolicyCommandOutput } from "./commands/PutDeliveryDestinationPolicyCommand"; import { PutDeliverySourceCommandInput, PutDeliverySourceCommandOutput } from "./commands/PutDeliverySourceCommand"; import { PutDestinationCommandInput, PutDestinationCommandOutput } from "./commands/PutDestinationCommand"; import { PutDestinationPolicyCommandInput, PutDestinationPolicyCommandOutput } from "./commands/PutDestinationPolicyCommand"; import { PutLogEventsCommandInput, PutLogEventsCommandOutput } from "./commands/PutLogEventsCommand"; import { PutMetricFilterCommandInput, PutMetricFilterCommandOutput } from "./commands/PutMetricFilterCommand"; import { PutQueryDefinitionCommandInput, PutQueryDefinitionCommandOutput } from "./commands/PutQueryDefinitionCommand"; import { PutResourcePolicyCommandInput, PutResourcePolicyCommandOutput } from "./commands/PutResourcePolicyCommand"; import { PutRetentionPolicyCommandInput, PutRetentionPolicyCommandOutput } from "./commands/PutRetentionPolicyCommand"; import { PutSubscriptionFilterCommandInput, PutSubscriptionFilterCommandOutput } from "./commands/PutSubscriptionFilterCommand"; import { StartLiveTailCommandInput, StartLiveTailCommandOutput } from "./commands/StartLiveTailCommand"; import { StartQueryCommandInput, StartQueryCommandOutput } from "./commands/StartQueryCommand"; import { StopQueryCommandInput, StopQueryCommandOutput } from "./commands/StopQueryCommand"; import { TagLogGroupCommandInput, TagLogGroupCommandOutput } from "./commands/TagLogGroupCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { TestMetricFilterCommandInput, TestMetricFilterCommandOutput } from "./commands/TestMetricFilterCommand"; import { UntagLogGroupCommandInput, UntagLogGroupCommandOutput } from "./commands/UntagLogGroupCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateAnomalyCommandInput, UpdateAnomalyCommandOutput } from "./commands/UpdateAnomalyCommand"; import { UpdateLogAnomalyDetectorCommandInput, UpdateLogAnomalyDetectorCommandOutput } from "./commands/UpdateLogAnomalyDetectorCommand"; import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters"; import { RuntimeExtension, RuntimeExtensionsConfig } from "./runtimeExtensions"; export { __Client }; /** * @public */ export type ServiceInputTypes = AssociateKmsKeyCommandInput | CancelExportTaskCommandInput | CreateDeliveryCommandInput | CreateExportTaskCommandInput | CreateLogAnomalyDetectorCommandInput | CreateLogGroupCommandInput | CreateLogStreamCommandInput | DeleteAccountPolicyCommandInput | DeleteDataProtectionPolicyCommandInput | DeleteDeliveryCommandInput | DeleteDeliveryDestinationCommandInput | DeleteDeliveryDestinationPolicyCommandInput | DeleteDeliverySourceCommandInput | DeleteDestinationCommandInput | DeleteLogAnomalyDetectorCommandInput | DeleteLogGroupCommandInput | DeleteLogStreamCommandInput | DeleteMetricFilterCommandInput | DeleteQueryDefinitionCommandInput | DeleteResourcePolicyCommandInput | DeleteRetentionPolicyCommandInput | DeleteSubscriptionFilterCommandInput | DescribeAccountPoliciesCommandInput | DescribeDeliveriesCommandInput | DescribeDeliveryDestinationsCommandInput | DescribeDeliverySourcesCommandInput | DescribeDestinationsCommandInput | DescribeExportTasksCommandInput | DescribeLogGroupsCommandInput | DescribeLogStreamsCommandInput | DescribeMetricFiltersCommandInput | DescribeQueriesCommandInput | DescribeQueryDefinitionsCommandInput | DescribeResourcePoliciesCommandInput | DescribeSubscriptionFiltersCommandInput | DisassociateKmsKeyCommandInput | FilterLogEventsCommandInput | GetDataProtectionPolicyCommandInput | GetDeliveryCommandInput | GetDeliveryDestinationCommandInput | GetDeliveryDestinationPolicyCommandInput | GetDeliverySourceCommandInput | GetLogAnomalyDetectorCommandInput | GetLogEventsCommandInput | GetLogGroupFieldsCommandInput | GetLogRecordCommandInput | GetQueryResultsCommandInput | ListAnomaliesCommandInput | ListLogAnomalyDetectorsCommandInput | ListTagsForResourceCommandInput | ListTagsLogGroupCommandInput | PutAccountPolicyCommandInput | PutDataProtectionPolicyCommandInput | PutDeliveryDestinationCommandInput | PutDeliveryDestinationPolicyCommandInput | PutDeliverySourceCommandInput | PutDestinationCommandInput | PutDestinationPolicyCommandInput | PutLogEventsCommandInput | PutMetricFilterCommandInput | PutQueryDefinitionCommandInput | PutResourcePolicyCommandInput | PutRetentionPolicyCommandInput | PutSubscriptionFilterCommandInput | StartLiveTailCommandInput | StartQueryCommandInput | StopQueryCommandInput | TagLogGroupCommandInput | TagResourceCommandInput | TestMetricFilterCommandInput | UntagLogGroupCommandInput | UntagResourceCommandInput | UpdateAnomalyCommandInput | UpdateLogAnomalyDetectorCommandInput; /** * @public */ export type ServiceOutputTypes = AssociateKmsKeyCommandOutput | CancelExportTaskCommandOutput | CreateDeliveryCommandOutput | CreateExportTaskCommandOutput | CreateLogAnomalyDetectorCommandOutput | CreateLogGroupCommandOutput | CreateLogStreamCommandOutput | DeleteAccountPolicyCommandOutput | DeleteDataProtectionPolicyCommandOutput | DeleteDeliveryCommandOutput | DeleteDeliveryDestinationCommandOutput | DeleteDeliveryDestinationPolicyCommandOutput | DeleteDeliverySourceCommandOutput | DeleteDestinationCommandOutput | DeleteLogAnomalyDetectorCommandOutput | DeleteLogGroupCommandOutput | DeleteLogStreamCommandOutput | DeleteMetricFilterCommandOutput | DeleteQueryDefinitionCommandOutput | DeleteResourcePolicyCommandOutput | DeleteRetentionPolicyCommandOutput | DeleteSubscriptionFilterCommandOutput | DescribeAccountPoliciesCommandOutput | DescribeDeliveriesCommandOutput | DescribeDeliveryDestinationsCommandOutput | DescribeDeliverySourcesCommandOutput | DescribeDestinationsCommandOutput | DescribeExportTasksCommandOutput | DescribeLogGroupsCommandOutput | DescribeLogStreamsCommandOutput | DescribeMetricFiltersCommandOutput | DescribeQueriesCommandOutput | DescribeQueryDefinitionsCommandOutput | DescribeResourcePoliciesCommandOutput | DescribeSubscriptionFiltersCommandOutput | DisassociateKmsKeyCommandOutput | FilterLogEventsCommandOutput | GetDataProtectionPolicyCommandOutput | GetDeliveryCommandOutput | GetDeliveryDestinationCommandOutput | GetDeliveryDestinationPolicyCommandOutput | GetDeliverySourceCommandOutput | GetLogAnomalyDetectorCommandOutput | GetLogEventsCommandOutput | GetLogGroupFieldsCommandOutput | GetLogRecordCommandOutput | GetQueryResultsCommandOutput | ListAnomaliesCommandOutput | ListLogAnomalyDetectorsCommandOutput | ListTagsForResourceCommandOutput | ListTagsLogGroupCommandOutput | PutAccountPolicyCommandOutput | PutDataProtectionPolicyCommandOutput | PutDeliveryDestinationCommandOutput | PutDeliveryDestinationPolicyCommandOutput | PutDeliverySourceCommandOutput | PutDestinationCommandOutput | PutDestinationPolicyCommandOutput | PutLogEventsCommandOutput | PutMetricFilterCommandOutput | PutQueryDefinitionCommandOutput | PutResourcePolicyCommandOutput | PutRetentionPolicyCommandOutput | PutSubscriptionFilterCommandOutput | StartLiveTailCommandOutput | StartQueryCommandOutput | StopQueryCommandOutput | TagLogGroupCommandOutput | TagResourceCommandOutput | TestMetricFilterCommandOutput | UntagLogGroupCommandOutput | UntagResourceCommandOutput | UpdateAnomalyCommandOutput | UpdateLogAnomalyDetectorCommandOutput; /** * @public */ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHandlerOptions>> { /** * The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs. */ requestHandler?: __HttpHandlerUserInput; /** * A constructor for a class implementing the {@link @smithy/types#ChecksumConstructor} interface * that computes the SHA-256 HMAC or checksum of a string or binary buffer. * @internal */ sha256?: __ChecksumConstructor | __HashConstructor; /** * The function that will be used to convert strings into HTTP endpoints. * @internal */ urlParser?: __UrlParser; /** * A function that can calculate the length of a request body. * @internal */ bodyLengthChecker?: __BodyLengthCalculator; /** * A function that converts a stream into an array of bytes. * @internal */ streamCollector?: __StreamCollector; /** * The function that will be used to convert a base64-encoded string to a byte array. * @internal */ base64Decoder?: __Decoder; /** * The function that will be used to convert binary data to a base64-encoded string. * @internal */ base64Encoder?: __Encoder; /** * The function that will be used to convert a UTF8-encoded string to a byte array. * @internal */ utf8Decoder?: __Decoder; /** * The function that will be used to convert binary data to a UTF-8 encoded string. * @internal */ utf8Encoder?: __Encoder; /** * The runtime environment. * @internal */ runtime?: string; /** * Disable dynamically changing the endpoint of the client based on the hostPrefix * trait of an operation. */ disableHostPrefix?: boolean; /** * Unique service identifier. * @internal */ serviceId?: string; /** * Enables IPv6/IPv4 dualstack endpoint. */ useDualstackEndpoint?: boolean | __Provider<boolean>; /** * Enables FIPS compatible endpoints. */ useFipsEndpoint?: boolean | __Provider<boolean>; /** * The AWS region to which this client will send requests */ region?: string | __Provider<string>; /** * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header * @internal */ defaultUserAgentProvider?: Provider<__UserAgent>; /** * Default credentials provider; Not available in browser runtime. * @deprecated * @internal */ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider; /** * Value for how many times a request will be made at most in case of retry. */ maxAttempts?: number | __Provider<number>; /** * Specifies which retry algorithm to use. * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/ * */ retryMode?: string | __Provider<string>; /** * Optional logger for logging debug/info/warn/error. */ logger?: __Logger; /** * Optional extensions */ extensions?: RuntimeExtension[]; /** * The function that provides necessary utilities for generating and parsing event stream */ eventStreamSerdeProvider?: __EventStreamSerdeProvider; /** * The {@link @smithy/smithy-client#DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK. */ defaultsMode?: __DefaultsMode | __Provider<__DefaultsMode>; } /** * @public */ export type CloudWatchLogsClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & UserAgentInputConfig & RetryInputConfig & RegionInputConfig & HostHeaderInputConfig & EndpointInputConfig<EndpointParameters> & EventStreamSerdeInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters; /** * @public * * The configuration interface of CloudWatchLogsClient class constructor that set the region, credentials and other options. */ export interface CloudWatchLogsClientConfig extends CloudWatchLogsClientConfigType { } /** * @public */ export type CloudWatchLogsClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & UserAgentResolvedConfig & RetryResolvedConfig & RegionResolvedConfig & HostHeaderResolvedConfig & EndpointResolvedConfig<EndpointParameters> & EventStreamSerdeResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters; /** * @public * * The resolved configuration interface of CloudWatchLogsClient class. This is resolved and normalized from the {@link CloudWatchLogsClientConfig | constructor configuration interface}. */ export interface CloudWatchLogsClientResolvedConfig extends CloudWatchLogsClientResolvedConfigType { } /** * <p>You can use Amazon CloudWatch Logs to monitor, store, and access your log files from * EC2 instances, CloudTrail, and other sources. You can then retrieve the associated * log data from CloudWatch Logs using the CloudWatch console. Alternatively, you can use * CloudWatch Logs commands in the Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch * Logs SDK.</p> * <p>You can use CloudWatch Logs to:</p> * <ul> * <li> * <p> * <b>Monitor logs from EC2 instances in real time</b>: You * can use CloudWatch Logs to monitor applications and systems using log data. For example, * CloudWatch Logs can track the number of errors that occur in your application logs. Then, * it can send you a notification whenever the rate of errors exceeds a threshold that you * specify. CloudWatch Logs uses your log data for monitoring so no code changes are * required. For example, you can monitor application logs for specific literal terms (such * as "NullReferenceException"). You can also count the number of occurrences of a literal * term at a particular position in log data (such as "404" status codes in an Apache access * log). When the term you are searching for is found, CloudWatch Logs reports the data to a * CloudWatch metric that you specify.</p> * </li> * <li> * <p> * <b>Monitor CloudTrail logged events</b>: You can * create alarms in CloudWatch and receive notifications of particular API activity as * captured by CloudTrail. You can use the notification to perform troubleshooting.</p> * </li> * <li> * <p> * <b>Archive log data</b>: You can use CloudWatch Logs to * store your log data in highly durable storage. You can change the log retention setting so * that any log events earlier than this setting are automatically deleted. The CloudWatch * Logs agent helps to quickly send both rotated and non-rotated log data off of a host and * into the log service. You can then access the raw log data when you need it.</p> * </li> * </ul> * @public */ export declare class CloudWatchLogsClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, CloudWatchLogsClientResolvedConfig> { /** * The resolved configuration of CloudWatchLogsClient class. This is resolved and normalized from the {@link CloudWatchLogsClientConfig | constructor configuration interface}. */ readonly config: CloudWatchLogsClientResolvedConfig; constructor(...[configuration]: __CheckOptionalClientConfig<CloudWatchLogsClientConfig>); /** * Destroy underlying resources, like sockets. It's usually not necessary to do this. * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. * Otherwise, sockets might stay open for quite a long time before the server terminates them. */ destroy(): void; }