import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CreateHttpNamespaceCommand , CreateHttpNamespaceCommandInput , CreateHttpNamespaceCommandOutput , } from "./commands/CreateHttpNamespaceCommand" ; import { CreatePrivateDnsNamespaceCommand , CreatePrivateDnsNamespaceCommandInput , CreatePrivateDnsNamespaceCommandOutput , } from "./commands/CreatePrivateDnsNamespaceCommand" ; import { CreatePublicDnsNamespaceCommand , CreatePublicDnsNamespaceCommandInput , CreatePublicDnsNamespaceCommandOutput , } from "./commands/CreatePublicDnsNamespaceCommand" ; import { CreateServiceCommand , CreateServiceCommandInput , CreateServiceCommandOutput , } from "./commands/CreateServiceCommand" ; import { DeleteNamespaceCommand , DeleteNamespaceCommandInput , DeleteNamespaceCommandOutput , } from "./commands/DeleteNamespaceCommand" ; import { DeleteServiceCommand , DeleteServiceCommandInput , DeleteServiceCommandOutput , } from "./commands/DeleteServiceCommand" ; import { DeregisterInstanceCommand , DeregisterInstanceCommandInput , DeregisterInstanceCommandOutput , } from "./commands/DeregisterInstanceCommand" ; import { DiscoverInstancesCommand , DiscoverInstancesCommandInput , DiscoverInstancesCommandOutput , } from "./commands/DiscoverInstancesCommand" ; import { GetInstanceCommand , GetInstanceCommandInput , GetInstanceCommandOutput } from "./commands/GetInstanceCommand" ; import { GetInstancesHealthStatusCommand , GetInstancesHealthStatusCommandInput , GetInstancesHealthStatusCommandOutput , } from "./commands/GetInstancesHealthStatusCommand" ; import { GetNamespaceCommand , GetNamespaceCommandInput , GetNamespaceCommandOutput , } from "./commands/GetNamespaceCommand" ; import { GetOperationCommand , GetOperationCommandInput , GetOperationCommandOutput , } from "./commands/GetOperationCommand" ; import { GetServiceCommand , GetServiceCommandInput , GetServiceCommandOutput } from "./commands/GetServiceCommand" ; import { ListInstancesCommand , ListInstancesCommandInput , ListInstancesCommandOutput , } from "./commands/ListInstancesCommand" ; import { ListNamespacesCommand , ListNamespacesCommandInput , ListNamespacesCommandOutput , } from "./commands/ListNamespacesCommand" ; import { ListOperationsCommand , ListOperationsCommandInput , ListOperationsCommandOutput , } from "./commands/ListOperationsCommand" ; import { ListServicesCommand , ListServicesCommandInput , ListServicesCommandOutput , } from "./commands/ListServicesCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { RegisterInstanceCommand , RegisterInstanceCommandInput , RegisterInstanceCommandOutput , } from "./commands/RegisterInstanceCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateHttpNamespaceCommand , UpdateHttpNamespaceCommandInput , UpdateHttpNamespaceCommandOutput , } from "./commands/UpdateHttpNamespaceCommand" ; import { UpdateInstanceCustomHealthStatusCommand , UpdateInstanceCustomHealthStatusCommandInput , UpdateInstanceCustomHealthStatusCommandOutput , } from "./commands/UpdateInstanceCustomHealthStatusCommand" ; import { UpdatePrivateDnsNamespaceCommand , UpdatePrivateDnsNamespaceCommandInput , UpdatePrivateDnsNamespaceCommandOutput , } from "./commands/UpdatePrivateDnsNamespaceCommand" ; import { UpdatePublicDnsNamespaceCommand , UpdatePublicDnsNamespaceCommandInput , UpdatePublicDnsNamespaceCommandOutput , } from "./commands/UpdatePublicDnsNamespaceCommand" ; import { UpdateServiceCommand , UpdateServiceCommandInput , UpdateServiceCommandOutput , } from "./commands/UpdateServiceCommand" ; import { ServiceDiscoveryClient } from "./ServiceDiscoveryClient" ; /**
 * <fullname>Cloud Map</fullname>
 *          <p>With Cloud Map, you can configure public DNS, private DNS, or HTTP namespaces that your microservice
 *    applications run in. When an instance becomes available, you can call the Cloud Map API to register the instance
 *    with Cloud Map. For public or private DNS namespaces, Cloud Map automatically creates DNS records and an optional
 *    health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer
 *    that contains up to eight healthy records. </p>
 */ export class ServiceDiscovery extends ServiceDiscoveryClient { /**
     * <p>Creates an HTTP namespace. Service instances registered using an HTTP namespace can be discovered using a
     *     <code>DiscoverInstances</code> request but can't be discovered using DNS.</p>
     *          <p>For the current quota on the number of namespaces that you can create using the same account,
     *    see <a href="https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html">Cloud Map quotas</a> in the
     *     <i>Cloud Map Developer Guide</i>.</p>
     */ public createHttpNamespace ( args , options ? ) ; public createHttpNamespace ( args , cb ) ; public createHttpNamespace ( args , options , cb ) ; public createHttpNamespace ( args , optionsOrCb ? , cb ? ) { const command = new CreateHttpNamespaceCommand ( 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 ) ; } } /**
     * <p>Creates a private namespace based on DNS, which is visible only inside a specified Amazon VPC. The namespace
     *    defines your service naming scheme. For example, if you name your namespace <code>example.com</code> and name your
     *    service <code>backend</code>, the resulting DNS name for the service is <code>backend.example.com</code>. Service
     *    instances that are registered using a private DNS namespace can be discovered using either a
     *     <code>DiscoverInstances</code> request or using DNS. For the current quota on the number of namespaces that you can
     *    create using the same account, see <a href="https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html">Cloud Map quotas</a> in the
     *     <i>Cloud Map Developer Guide</i>.</p>
     */ public createPrivateDnsNamespace ( args , options ? ) ; public createPrivateDnsNamespace ( args , cb ) ; public createPrivateDnsNamespace ( args , options , cb ) ; public createPrivateDnsNamespace ( args , optionsOrCb ? , cb ? ) { const command = new CreatePrivateDnsNamespaceCommand ( 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 ) ; } } /**
     * <p>Creates a public namespace based on DNS, which is visible on the internet. The namespace defines your service
     *    naming scheme. For example, if you name your namespace <code>example.com</code> and name your service
     *     <code>backend</code>, the resulting DNS name for the service is <code>backend.example.com</code>. You can discover
     *    instances that were registered with a public DNS namespace by using either a <code>DiscoverInstances</code> request
     *    or using DNS. For the current quota on the number of namespaces that you can create using the same account, see <a href="https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html">Cloud Map
     *     quotas</a> in the <i>Cloud Map Developer Guide</i>.</p>
     */ public createPublicDnsNamespace ( args , options ? ) ; public createPublicDnsNamespace ( args , cb ) ; public createPublicDnsNamespace ( args , options , cb ) ; public createPublicDnsNamespace ( args , optionsOrCb ? , cb ? ) { const command = new CreatePublicDnsNamespaceCommand ( 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 ) ; } } /**
     * <p>Creates a service. This action defines the configuration for the following entities:</p>
     *          <ul>
     *             <li>
     *                <p>For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:</p>
     *                <ul>
     *                   <li>
     *                      <p>
     *                         <code>A</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>
     *                         <code>AAAA</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>
     *                         <code>A</code> and <code>AAAA</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>
     *                         <code>SRV</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>
     *                         <code>CNAME</code>
     *                      </p>
     *                   </li>
     *                </ul>
     *             </li>
     *             <li>
     *                <p>Optionally, a health check</p>
     *             </li>
     *          </ul>
     *          <p>After you create the service, you can submit a <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html">RegisterInstance</a> request, and Cloud Map uses the
     *    values in the configuration to create the specified entities.</p>
     *          <p>For the current quota on the number of instances that you can register using the same namespace and using the
     *    same service, see <a href="https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html">Cloud Map
     *     quotas</a> in the <i>Cloud Map Developer Guide</i>.</p>
     */ public createService ( args , options ? ) ; public createService ( args , cb ) ; public createService ( args , options , cb ) ; public createService ( args , optionsOrCb ? , cb ? ) { const command = new CreateServiceCommand ( 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 ) ; } } /**
     * <p>Deletes a namespace from the current account. If the namespace still contains one or more services, the request
     *    fails.</p>
     */ public deleteNamespace ( args , options ? ) ; public deleteNamespace ( args , cb ) ; public deleteNamespace ( args , options , cb ) ; public deleteNamespace ( args , optionsOrCb ? , cb ? ) { const command = new DeleteNamespaceCommand ( 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 ) ; } } /**
     * <p>Deletes a specified service. If the service still contains one or more registered instances, the request
     *    fails.</p>
     */ public deleteService ( args , options ? ) ; public deleteService ( args , cb ) ; public deleteService ( args , options , cb ) ; public deleteService ( args , optionsOrCb ? , cb ? ) { const command = new DeleteServiceCommand ( 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 ) ; } } /**
     * <p>Deletes the Amazon Route 53 DNS records and health check, if any, that Cloud Map created for the specified
     *    instance.</p>
     */ public deregisterInstance ( args , options ? ) ; public deregisterInstance ( args , cb ) ; public deregisterInstance ( args , options , cb ) ; public deregisterInstance ( args , optionsOrCb ? , cb ? ) { const command = new DeregisterInstanceCommand ( 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 ) ; } } /**
     * <p>Discovers registered instances for a specified namespace and service. You can use <code>DiscoverInstances</code>
     *    to discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries
     *    to discover instances.</p>
     */ public discoverInstances ( args , options ? ) ; public discoverInstances ( args , cb ) ; public discoverInstances ( args , options , cb ) ; public discoverInstances ( args , optionsOrCb ? , cb ? ) { const command = new DiscoverInstancesCommand ( 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 ) ; } } /**
     * <p>Gets information about a specified instance.</p>
     */ public getInstance ( args , options ? ) ; public getInstance ( args , cb ) ; public getInstance ( args , options , cb ) ; public getInstance ( args , optionsOrCb ? , cb ? ) { const command = new GetInstanceCommand ( 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 ) ; } } /**
     * <p>Gets the current health status (<code>Healthy</code>, <code>Unhealthy</code>, or <code>Unknown</code>) of one or
     *    more instances that are associated with a specified service.</p>
     *          <note>
     *             <p>There's a brief delay between when you register an instance and when the health status for the instance is
     *     available. </p>
     *          </note>
     */ public getInstancesHealthStatus ( args , options ? ) ; public getInstancesHealthStatus ( args , cb ) ; public getInstancesHealthStatus ( args , options , cb ) ; public getInstancesHealthStatus ( args , optionsOrCb ? , cb ? ) { const command = new GetInstancesHealthStatusCommand ( 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 ) ; } } /**
     * <p>Gets information about a namespace.</p>
     */ public getNamespace ( args , options ? ) ; public getNamespace ( args , cb ) ; public getNamespace ( args , options , cb ) ; public getNamespace ( args , optionsOrCb ? , cb ? ) { const command = new GetNamespaceCommand ( 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 ) ; } } /**
     * <p>Gets information about any operation that returns an operation ID in the response, such as a
     *     <code>CreateService</code> request.</p>
     *          <note>
     *             <p>To get a list of operations that match specified criteria, see <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html">ListOperations</a>.</p>
     *          </note>
     */ public getOperation ( args , options ? ) ; public getOperation ( args , cb ) ; public getOperation ( args , options , cb ) ; public getOperation ( args , optionsOrCb ? , cb ? ) { const command = new GetOperationCommand ( 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 ) ; } } /**
     * <p>Gets the settings for a specified service.</p>
     */ public getService ( args , options ? ) ; public getService ( args , cb ) ; public getService ( args , options , cb ) ; public getService ( args , optionsOrCb ? , cb ? ) { const command = new GetServiceCommand ( 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 ) ; } } /**
     * <p>Lists summary information about the instances that you registered by using a specified service.</p>
     */ public listInstances ( args , options ? ) ; public listInstances ( args , cb ) ; public listInstances ( args , options , cb ) ; public listInstances ( args , optionsOrCb ? , cb ? ) { const command = new ListInstancesCommand ( 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 ) ; } } /**
     * <p>Lists summary information about the namespaces that were created by the current account.</p>
     */ public listNamespaces ( args , options ? ) ; public listNamespaces ( args , cb ) ; public listNamespaces ( args , options , cb ) ; public listNamespaces ( args , optionsOrCb ? , cb ? ) { const command = new ListNamespacesCommand ( 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 ) ; } } /**
     * <p>Lists operations that match the criteria that you specify.</p>
     */ public listOperations ( args , options ? ) ; public listOperations ( args , cb ) ; public listOperations ( args , options , cb ) ; public listOperations ( args , optionsOrCb ? , cb ? ) { const command = new ListOperationsCommand ( 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 ) ; } } /**
     * <p>Lists summary information for all the services that are associated with one or more specified namespaces.</p>
     */ public listServices ( args , options ? ) ; public listServices ( args , cb ) ; public listServices ( args , options , cb ) ; public listServices ( args , optionsOrCb ? , cb ? ) { const command = new ListServicesCommand ( 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 ) ; } } /**
     * <p>Lists tags for the specified resource.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( 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 ) ; } } /**
     * <p>Creates or updates one or more records and, optionally, creates a health check based on the settings in a
     *    specified service. When you submit a <code>RegisterInstance</code> request, the following occurs:</p>
     *          <ul>
     *             <li>
     *                <p>For each DNS record that you define in the service that's specified by <code>ServiceId</code>, a record is
     *      created or updated in the hosted zone that's associated with the corresponding namespace.</p>
     *             </li>
     *             <li>
     *                <p>If the service includes <code>HealthCheckConfig</code>, a health check is created based on the settings in the
     *      health check configuration.</p>
     *             </li>
     *             <li>
     *                <p>The health check, if any, is associated with each of the new or updated records.</p>
     *             </li>
     *          </ul>
     *          <important>
     *             <p>One <code>RegisterInstance</code> request must complete before you can submit another request and specify the
     *     same service ID and instance ID.</p>
     *          </important>
     *          <p>For more information, see <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html">CreateService</a>.</p>
     *          <p>When Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:</p>
     *          <ul>
     *             <li>
     *                <p>
     *                   <b>If the health check is healthy</b>: returns all the records</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <b>If the health check is unhealthy</b>: returns the applicable value for the last
     *      healthy instance</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <b>If you didn't specify a health check configuration</b>: returns all the
     *      records</p>
     *             </li>
     *          </ul>
     *          <p>For the current quota on the number of instances that you can register using the same namespace and using the
     *    same service, see <a href="https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html">Cloud Map
     *     quotas</a> in the <i>Cloud Map Developer Guide</i>.</p>
     */ public registerInstance ( args , options ? ) ; public registerInstance ( args , cb ) ; public registerInstance ( args , options , cb ) ; public registerInstance ( args , optionsOrCb ? , cb ? ) { const command = new RegisterInstanceCommand ( 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 ) ; } } /**
     * <p>Adds one or more tags to the specified resource.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( 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 ) ; } } /**
     * <p>Removes one or more tags from the specified resource.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( 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 ) ; } } /**
     * <p>Updates an HTTP
     *    namespace.</p>
     */ public updateHttpNamespace ( args , options ? ) ; public updateHttpNamespace ( args , cb ) ; public updateHttpNamespace ( args , options , cb ) ; public updateHttpNamespace ( args , optionsOrCb ? , cb ? ) { const command = new UpdateHttpNamespaceCommand ( 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 ) ; } } /**
     * <p>Submits a request to change the health status of a custom health check to healthy or unhealthy.</p>
     *          <p>You can use <code>UpdateInstanceCustomHealthStatus</code> to change the status only for custom health checks,
     *    which you define using <code>HealthCheckCustomConfig</code> when you create a service. You can't use it to change the
     *    status for Route 53 health checks, which you define using <code>HealthCheckConfig</code>.</p>
     *          <p>For more information, see <a href="https://docs.aws.amazon.com/cloud-map/latest/api/API_HealthCheckCustomConfig.html">HealthCheckCustomConfig</a>.</p>
     */ public updateInstanceCustomHealthStatus ( args , options ? ) ; public updateInstanceCustomHealthStatus ( args , cb ) ; public updateInstanceCustomHealthStatus ( args , options , cb ) ; public updateInstanceCustomHealthStatus ( args , optionsOrCb ? , cb ? ) { const command = new UpdateInstanceCustomHealthStatusCommand ( 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 ) ; } } /**
     * <p>Updates a private DNS
     *    namespace.</p>
     */ public updatePrivateDnsNamespace ( args , options ? ) ; public updatePrivateDnsNamespace ( args , cb ) ; public updatePrivateDnsNamespace ( args , options , cb ) ; public updatePrivateDnsNamespace ( args , optionsOrCb ? , cb ? ) { const command = new UpdatePrivateDnsNamespaceCommand ( 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 ) ; } } /**
     * <p>Updates a public DNS
     *    namespace.</p>
     */ public updatePublicDnsNamespace ( args , options ? ) ; public updatePublicDnsNamespace ( args , cb ) ; public updatePublicDnsNamespace ( args , options , cb ) ; public updatePublicDnsNamespace ( args , optionsOrCb ? , cb ? ) { const command = new UpdatePublicDnsNamespaceCommand ( 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 ) ; } } /**
     * <p>Submits a request to perform the following operations:</p>
     *          <ul>
     *             <li>
     *                <p>Update the TTL setting for existing <code>DnsRecords</code> configurations</p>
     *             </li>
     *             <li>
     *                <p>Add, update, or delete <code>HealthCheckConfig</code> for a specified service</p>
     *                <note>
     *                   <p>You can't add, update, or delete a <code>HealthCheckCustomConfig</code> configuration.</p>
     *                </note>
     *             </li>
     *          </ul>
     *          <p>For public and private DNS namespaces, note the following:</p>
     *          <ul>
     *             <li>
     *                <p>If you omit any existing <code>DnsRecords</code> or <code>HealthCheckConfig</code> configurations from an
     *       <code>UpdateService</code> request, the configurations are deleted from the service.</p>
     *             </li>
     *             <li>
     *                <p>If you omit an existing <code>HealthCheckCustomConfig</code> configuration from an <code>UpdateService</code>
     *      request, the configuration isn't deleted from the service.</p>
     *             </li>
     *          </ul>
     *          <p>When you update settings for a service, Cloud Map also updates the corresponding settings in all the records
     *    and health checks that were created by using the specified service.</p>
     */ public updateService ( args , options ? ) ; public updateService ( args , cb ) ; public updateService ( args , options , cb ) ; public updateService ( args , optionsOrCb ? , cb ? ) { const command = new UpdateServiceCommand ( 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 ) ; } } }