import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { EmptyInputAndEmptyOutputCommand , EmptyInputAndEmptyOutputCommandInput , EmptyInputAndEmptyOutputCommandOutput , } from "./commands/EmptyInputAndEmptyOutputCommand" ; import { EndpointOperationCommand , EndpointOperationCommandInput , EndpointOperationCommandOutput , } from "./commands/EndpointOperationCommand" ; import { EndpointWithHostLabelOperationCommand , EndpointWithHostLabelOperationCommandInput , EndpointWithHostLabelOperationCommandOutput , } from "./commands/EndpointWithHostLabelOperationCommand" ; import { GreetingWithErrorsCommand , GreetingWithErrorsCommandInput , GreetingWithErrorsCommandOutput , } from "./commands/GreetingWithErrorsCommand" ; import { HostWithPathOperationCommand , HostWithPathOperationCommandInput , HostWithPathOperationCommandOutput , } from "./commands/HostWithPathOperationCommand" ; import { IgnoresWrappingXmlNameCommand , IgnoresWrappingXmlNameCommandInput , IgnoresWrappingXmlNameCommandOutput , } from "./commands/IgnoresWrappingXmlNameCommand" ; import { NestedStructuresCommand , NestedStructuresCommandInput , NestedStructuresCommandOutput , } from "./commands/NestedStructuresCommand" ; import { NoInputAndOutputCommand , NoInputAndOutputCommandInput , NoInputAndOutputCommandOutput , } from "./commands/NoInputAndOutputCommand" ; import { QueryIdempotencyTokenAutoFillCommand , QueryIdempotencyTokenAutoFillCommandInput , QueryIdempotencyTokenAutoFillCommandOutput , } from "./commands/QueryIdempotencyTokenAutoFillCommand" ; import { QueryListsCommand , QueryListsCommandInput , QueryListsCommandOutput } from "./commands/QueryListsCommand" ; import { QueryTimestampsCommand , QueryTimestampsCommandInput , QueryTimestampsCommandOutput , } from "./commands/QueryTimestampsCommand" ; import { RecursiveXmlShapesCommand , RecursiveXmlShapesCommandInput , RecursiveXmlShapesCommandOutput , } from "./commands/RecursiveXmlShapesCommand" ; import { SimpleInputParamsCommand , SimpleInputParamsCommandInput , SimpleInputParamsCommandOutput , } from "./commands/SimpleInputParamsCommand" ; import { SimpleScalarXmlPropertiesCommand , SimpleScalarXmlPropertiesCommandInput , SimpleScalarXmlPropertiesCommandOutput , } from "./commands/SimpleScalarXmlPropertiesCommand" ; import { XmlBlobsCommand , XmlBlobsCommandInput , XmlBlobsCommandOutput } from "./commands/XmlBlobsCommand" ; import { XmlEmptyBlobsCommand , XmlEmptyBlobsCommandInput , XmlEmptyBlobsCommandOutput , } from "./commands/XmlEmptyBlobsCommand" ; import { XmlEmptyListsCommand , XmlEmptyListsCommandInput , XmlEmptyListsCommandOutput , } from "./commands/XmlEmptyListsCommand" ; import { XmlEnumsCommand , XmlEnumsCommandInput , XmlEnumsCommandOutput } from "./commands/XmlEnumsCommand" ; import { XmlListsCommand , XmlListsCommandInput , XmlListsCommandOutput } from "./commands/XmlListsCommand" ; import { XmlNamespacesCommand , XmlNamespacesCommandInput , XmlNamespacesCommandOutput , } from "./commands/XmlNamespacesCommand" ; import { XmlTimestampsCommand , XmlTimestampsCommandInput , XmlTimestampsCommandOutput , } from "./commands/XmlTimestampsCommand" ; import { EC2ProtocolClient } from "./EC2ProtocolClient" ; /**
 * An EC2 query service that sends query requests and XML responses.
 */ export class EC2Protocol extends EC2ProtocolClient { /**
     * The example tests how requests and responses are serialized when there's
     * no request or response members.
     *
     * While this should be rare, code generators must support this.
     */ public emptyInputAndEmptyOutput ( args , options ? ) ; public emptyInputAndEmptyOutput ( args , cb ) ; public emptyInputAndEmptyOutput ( args , options , cb ) ; public emptyInputAndEmptyOutput ( args , optionsOrCb ? , cb ? ) { const command = new EmptyInputAndEmptyOutputCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public endpointOperation ( args , options ? ) ; public endpointOperation ( args , cb ) ; public endpointOperation ( args , options , cb ) ; public endpointOperation ( args , optionsOrCb ? , cb ? ) { const command = new EndpointOperationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public endpointWithHostLabelOperation ( args , options ? ) ; public endpointWithHostLabelOperation ( args , cb ) ; public endpointWithHostLabelOperation ( args , options , cb ) ; public endpointWithHostLabelOperation ( args , optionsOrCb ? , cb ? ) { const command = new EndpointWithHostLabelOperationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This operation has three possible return values:
     *
     * 1. A successful response in the form of GreetingWithErrorsOutput
     * 2. An InvalidGreeting error.
     * 3. A BadRequest error.
     */ public greetingWithErrors ( args , options ? ) ; public greetingWithErrors ( args , cb ) ; public greetingWithErrors ( args , options , cb ) ; public greetingWithErrors ( args , optionsOrCb ? , cb ? ) { const command = new GreetingWithErrorsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public hostWithPathOperation ( args , options ? ) ; public hostWithPathOperation ( args , cb ) ; public hostWithPathOperation ( args , options , cb ) ; public hostWithPathOperation ( args , optionsOrCb ? , cb ? ) { const command = new HostWithPathOperationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * The xmlName trait on the output structure is ignored in AWS Query.
     *
     * The wrapping element is always operation name + "Response".
     */ public ignoresWrappingXmlName ( args , options ? ) ; public ignoresWrappingXmlName ( args , cb ) ; public ignoresWrappingXmlName ( args , options , cb ) ; public ignoresWrappingXmlName ( args , optionsOrCb ? , cb ? ) { const command = new IgnoresWrappingXmlNameCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This test serializes nested and recursive structure members.
     */ public nestedStructures ( args , options ? ) ; public nestedStructures ( args , cb ) ; public nestedStructures ( args , options , cb ) ; public nestedStructures ( args , optionsOrCb ? , cb ? ) { const command = new NestedStructuresCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * The example tests how requests and responses are serialized when there's
     * no request payload or response members.
     *
     * While this should be rare, code generators must support this.
     */ public noInputAndOutput ( args , options ? ) ; public noInputAndOutput ( args , cb ) ; public noInputAndOutput ( args , options , cb ) ; public noInputAndOutput ( args , optionsOrCb ? , cb ? ) { const command = new NoInputAndOutputCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * Automatically adds idempotency tokens.
     */ public queryIdempotencyTokenAutoFill ( args , options ? ) ; public queryIdempotencyTokenAutoFill ( args , cb ) ; public queryIdempotencyTokenAutoFill ( args , options , cb ) ; public queryIdempotencyTokenAutoFill ( args , optionsOrCb ? , cb ? ) { const command = new QueryIdempotencyTokenAutoFillCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This test serializes simple and complex lists.
     */ public queryLists ( args , options ? ) ; public queryLists ( args , cb ) ; public queryLists ( args , options , cb ) ; public queryLists ( args , optionsOrCb ? , cb ? ) { const command = new QueryListsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This test serializes timestamps.
     *
     * 1. Timestamps are serialized as RFC 3339 date-time values by default.
     * 2. A timestampFormat trait on a member changes the format.
     * 3. A timestampFormat trait on the shape targeted by the member changes the format.
     */ public queryTimestamps ( args , options ? ) ; public queryTimestamps ( args , cb ) ; public queryTimestamps ( args , options , cb ) ; public queryTimestamps ( args , optionsOrCb ? , cb ? ) { const command = new QueryTimestampsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * Recursive shapes
     */ public recursiveXmlShapes ( args , options ? ) ; public recursiveXmlShapes ( args , cb ) ; public recursiveXmlShapes ( args , options , cb ) ; public recursiveXmlShapes ( args , optionsOrCb ? , cb ? ) { const command = new RecursiveXmlShapesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This test serializes strings, numbers, and boolean values.
     */ public simpleInputParams ( args , options ? ) ; public simpleInputParams ( args , cb ) ; public simpleInputParams ( args , options , cb ) ; public simpleInputParams ( args , optionsOrCb ? , cb ? ) { const command = new SimpleInputParamsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public simpleScalarXmlProperties ( args , options ? ) ; public simpleScalarXmlProperties ( args , cb ) ; public simpleScalarXmlProperties ( args , options , cb ) ; public simpleScalarXmlProperties ( args , optionsOrCb ? , cb ? ) { const command = new SimpleScalarXmlPropertiesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * Blobs are base64 encoded
     */ public xmlBlobs ( args , options ? ) ; public xmlBlobs ( args , cb ) ; public xmlBlobs ( args , options , cb ) ; public xmlBlobs ( args , optionsOrCb ? , cb ? ) { const command = new XmlBlobsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public xmlEmptyBlobs ( args , options ? ) ; public xmlEmptyBlobs ( args , cb ) ; public xmlEmptyBlobs ( args , options , cb ) ; public xmlEmptyBlobs ( args , optionsOrCb ? , cb ? ) { const command = new XmlEmptyBlobsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public xmlEmptyLists ( args , options ? ) ; public xmlEmptyLists ( args , cb ) ; public xmlEmptyLists ( args , options , cb ) ; public xmlEmptyLists ( args , optionsOrCb ? , cb ? ) { const command = new XmlEmptyListsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This example serializes enums as top level properties, in lists, sets, and maps.
     */ public xmlEnums ( args , options ? ) ; public xmlEnums ( args , cb ) ; public xmlEnums ( args , options , cb ) ; public xmlEnums ( args , optionsOrCb ? , cb ? ) { const command = new XmlEnumsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This test case serializes XML lists for the following cases for both
     * input and output:
     *
     * 1. Normal XML lists.
     * 2. Normal XML sets.
     * 3. XML lists of lists.
     * 4. XML lists with @xmlName on its members
     * 5. Flattened XML lists.
     * 6. Flattened XML lists with @xmlName.
     * 7. Flattened XML lists with @xmlNamespace.
     * 8. Lists of structures.
     */ public xmlLists ( args , options ? ) ; public xmlLists ( args , cb ) ; public xmlLists ( args , options , cb ) ; public xmlLists ( args , optionsOrCb ? , cb ? ) { const command = new XmlListsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } public xmlNamespaces ( args , options ? ) ; public xmlNamespaces ( args , cb ) ; public xmlNamespaces ( args , options , cb ) ; public xmlNamespaces ( args , optionsOrCb ? , cb ? ) { const command = new XmlNamespacesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * This tests how timestamps are serialized, including using the
     * default format of date-time and various @timestampFormat trait
     * values.
     */ public xmlTimestamps ( args , options ? ) ; public xmlTimestamps ( args , cb ) ; public xmlTimestamps ( args , options , cb ) ; public xmlTimestamps ( args , optionsOrCb ? , cb ? ) { const command = new XmlTimestampsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }