All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.route53domains.Route53DomainsClient.kt Maven / Gradle / Ivy

There is a newer version: 1.3.76
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.route53domains

import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
import aws.sdk.kotlin.runtime.client.AwsSdkClientConfig
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
import aws.sdk.kotlin.services.route53domains.auth.DefaultRoute53DomainsAuthSchemeProvider
import aws.sdk.kotlin.services.route53domains.auth.Route53DomainsAuthSchemeProvider
import aws.sdk.kotlin.services.route53domains.endpoints.DefaultRoute53DomainsEndpointProvider
import aws.sdk.kotlin.services.route53domains.endpoints.Route53DomainsEndpointParameters
import aws.sdk.kotlin.services.route53domains.endpoints.Route53DomainsEndpointProvider
import aws.sdk.kotlin.services.route53domains.model.AcceptDomainTransferFromAnotherAwsAccountRequest
import aws.sdk.kotlin.services.route53domains.model.AcceptDomainTransferFromAnotherAwsAccountResponse
import aws.sdk.kotlin.services.route53domains.model.AssociateDelegationSignerToDomainRequest
import aws.sdk.kotlin.services.route53domains.model.AssociateDelegationSignerToDomainResponse
import aws.sdk.kotlin.services.route53domains.model.CancelDomainTransferToAnotherAwsAccountRequest
import aws.sdk.kotlin.services.route53domains.model.CancelDomainTransferToAnotherAwsAccountResponse
import aws.sdk.kotlin.services.route53domains.model.CheckDomainAvailabilityRequest
import aws.sdk.kotlin.services.route53domains.model.CheckDomainAvailabilityResponse
import aws.sdk.kotlin.services.route53domains.model.CheckDomainTransferabilityRequest
import aws.sdk.kotlin.services.route53domains.model.CheckDomainTransferabilityResponse
import aws.sdk.kotlin.services.route53domains.model.DeleteDomainRequest
import aws.sdk.kotlin.services.route53domains.model.DeleteDomainResponse
import aws.sdk.kotlin.services.route53domains.model.DeleteTagsForDomainRequest
import aws.sdk.kotlin.services.route53domains.model.DeleteTagsForDomainResponse
import aws.sdk.kotlin.services.route53domains.model.DisableDomainAutoRenewRequest
import aws.sdk.kotlin.services.route53domains.model.DisableDomainAutoRenewResponse
import aws.sdk.kotlin.services.route53domains.model.DisableDomainTransferLockRequest
import aws.sdk.kotlin.services.route53domains.model.DisableDomainTransferLockResponse
import aws.sdk.kotlin.services.route53domains.model.DisassociateDelegationSignerFromDomainRequest
import aws.sdk.kotlin.services.route53domains.model.DisassociateDelegationSignerFromDomainResponse
import aws.sdk.kotlin.services.route53domains.model.EnableDomainAutoRenewRequest
import aws.sdk.kotlin.services.route53domains.model.EnableDomainAutoRenewResponse
import aws.sdk.kotlin.services.route53domains.model.EnableDomainTransferLockRequest
import aws.sdk.kotlin.services.route53domains.model.EnableDomainTransferLockResponse
import aws.sdk.kotlin.services.route53domains.model.GetContactReachabilityStatusRequest
import aws.sdk.kotlin.services.route53domains.model.GetContactReachabilityStatusResponse
import aws.sdk.kotlin.services.route53domains.model.GetDomainDetailRequest
import aws.sdk.kotlin.services.route53domains.model.GetDomainDetailResponse
import aws.sdk.kotlin.services.route53domains.model.GetDomainSuggestionsRequest
import aws.sdk.kotlin.services.route53domains.model.GetDomainSuggestionsResponse
import aws.sdk.kotlin.services.route53domains.model.GetOperationDetailRequest
import aws.sdk.kotlin.services.route53domains.model.GetOperationDetailResponse
import aws.sdk.kotlin.services.route53domains.model.ListDomainsRequest
import aws.sdk.kotlin.services.route53domains.model.ListDomainsResponse
import aws.sdk.kotlin.services.route53domains.model.ListOperationsRequest
import aws.sdk.kotlin.services.route53domains.model.ListOperationsResponse
import aws.sdk.kotlin.services.route53domains.model.ListPricesRequest
import aws.sdk.kotlin.services.route53domains.model.ListPricesResponse
import aws.sdk.kotlin.services.route53domains.model.ListTagsForDomainRequest
import aws.sdk.kotlin.services.route53domains.model.ListTagsForDomainResponse
import aws.sdk.kotlin.services.route53domains.model.PushDomainRequest
import aws.sdk.kotlin.services.route53domains.model.PushDomainResponse
import aws.sdk.kotlin.services.route53domains.model.RegisterDomainRequest
import aws.sdk.kotlin.services.route53domains.model.RegisterDomainResponse
import aws.sdk.kotlin.services.route53domains.model.RejectDomainTransferFromAnotherAwsAccountRequest
import aws.sdk.kotlin.services.route53domains.model.RejectDomainTransferFromAnotherAwsAccountResponse
import aws.sdk.kotlin.services.route53domains.model.RenewDomainRequest
import aws.sdk.kotlin.services.route53domains.model.RenewDomainResponse
import aws.sdk.kotlin.services.route53domains.model.ResendContactReachabilityEmailRequest
import aws.sdk.kotlin.services.route53domains.model.ResendContactReachabilityEmailResponse
import aws.sdk.kotlin.services.route53domains.model.ResendOperationAuthorizationRequest
import aws.sdk.kotlin.services.route53domains.model.ResendOperationAuthorizationResponse
import aws.sdk.kotlin.services.route53domains.model.RetrieveDomainAuthCodeRequest
import aws.sdk.kotlin.services.route53domains.model.RetrieveDomainAuthCodeResponse
import aws.sdk.kotlin.services.route53domains.model.TransferDomainRequest
import aws.sdk.kotlin.services.route53domains.model.TransferDomainResponse
import aws.sdk.kotlin.services.route53domains.model.TransferDomainToAnotherAwsAccountRequest
import aws.sdk.kotlin.services.route53domains.model.TransferDomainToAnotherAwsAccountResponse
import aws.sdk.kotlin.services.route53domains.model.UpdateDomainContactPrivacyRequest
import aws.sdk.kotlin.services.route53domains.model.UpdateDomainContactPrivacyResponse
import aws.sdk.kotlin.services.route53domains.model.UpdateDomainContactRequest
import aws.sdk.kotlin.services.route53domains.model.UpdateDomainContactResponse
import aws.sdk.kotlin.services.route53domains.model.UpdateDomainNameserversRequest
import aws.sdk.kotlin.services.route53domains.model.UpdateDomainNameserversResponse
import aws.sdk.kotlin.services.route53domains.model.UpdateTagsForDomainRequest
import aws.sdk.kotlin.services.route53domains.model.UpdateTagsForDomainResponse
import aws.sdk.kotlin.services.route53domains.model.ViewBillingRequest
import aws.sdk.kotlin.services.route53domains.model.ViewBillingResponse
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
import aws.smithy.kotlin.runtime.client.LogMode
import aws.smithy.kotlin.runtime.client.RetryClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
import aws.smithy.kotlin.runtime.client.SdkClient
import aws.smithy.kotlin.runtime.client.SdkClientConfig
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
import aws.smithy.kotlin.runtime.net.url.Url
import aws.smithy.kotlin.runtime.retries.RetryStrategy
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
import aws.smithy.kotlin.runtime.telemetry.Global
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
import kotlin.collections.List
import kotlin.jvm.JvmStatic


public const val ServiceId: String = "Route 53 Domains"
public const val SdkVersion: String = "1.3.25"
public const val ServiceApiVersion: String = "2014-05-15"

/**
 * Amazon Route 53 API actions let you register domain names and perform related operations.
 */
public interface Route53DomainsClient : SdkClient {
    /**
     * Route53DomainsClient's configuration
     */
    public override val config: Config

    public companion object : AbstractAwsSdkClientFactory()
     {
        @JvmStatic
        override fun builder(): Builder = Builder()

        override fun finalizeConfig(builder: Builder) {
            super.finalizeConfig(builder)
            builder.config.interceptors.add(0, ClockSkewInterceptor())
        }

        override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue) {
            super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
                sharedConfig,
                "Route53Domains",
                "ROUTE_53_DOMAINS",
                "route_53_domains",
            )
        }
    }

    public class Builder internal constructor(): AbstractSdkClientBuilder() {
        override val config: Config.Builder = Config.Builder()
        override fun newClient(config: Config): Route53DomainsClient = DefaultRoute53DomainsClient(config)
    }

    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig {
        override val clientName: String = builder.clientName
        override val region: String? = builder.region
        override val authSchemes: kotlin.collections.List = builder.authSchemes
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
        public val endpointProvider: Route53DomainsEndpointProvider = builder.endpointProvider ?: DefaultRoute53DomainsEndpointProvider()
        public val endpointUrl: Url? = builder.endpointUrl
        override val interceptors: kotlin.collections.List = builder.interceptors
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
        override val retryPolicy: RetryPolicy = builder.retryPolicy ?: AwsRetryPolicy.Default
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
        override val useDualStack: Boolean = builder.useDualStack ?: false
        override val useFips: Boolean = builder.useFips ?: false
        override val applicationId: String? = builder.applicationId
        public val authSchemeProvider: Route53DomainsAuthSchemeProvider = builder.authSchemeProvider ?: DefaultRoute53DomainsAuthSchemeProvider()
        public companion object {
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
        }

        public fun toBuilder(): Builder = Builder().apply {
            clientName = [email protected]
            region = [email protected]
            authSchemes = [email protected]
            credentialsProvider = [email protected]
            endpointProvider = [email protected]
            endpointUrl = [email protected]
            httpClient = [email protected]
            interceptors = [email protected]()
            logMode = [email protected]
            retryPolicy = [email protected]
            retryStrategy = [email protected]
            telemetryProvider = [email protected]
            useDualStack = [email protected]
            useFips = [email protected]
            applicationId = [email protected]
            authSchemeProvider = [email protected]
        }

        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder, TelemetryConfig.Builder {
            /**
             * A reader-friendly name for the client.
             */
            override var clientName: String = "Route 53 Domains"

            /**
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more
             * information
             */
            override var region: String? = null

            /**
             * Register new or override default [AuthScheme]s configured for this client. By default, the set
             * of auth schemes configured comes from the service model. An auth scheme configured explicitly takes
             * precedence over the defaults and can be used to customize identity resolution and signing for specific
             * authentication schemes.
             */
            override var authSchemes: kotlin.collections.List = emptyList()

            /**
             * The AWS credentials provider to use for authenticating requests. If not provided a
             * [aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider] instance will be used.
             * NOTE: The caller is responsible for managing the lifetime of the provider when set. The SDK
             * client will not close it when the client is closed.
             */
            override var credentialsProvider: CredentialsProvider? = null

            /**
             * The endpoint provider used to determine where to make service requests. **This is an advanced config
             * option.**
             *
             * Endpoint resolution occurs as part of the workflow for every request made via the service client.
             *
             * The inputs to endpoint resolution are defined on a per-service basis (see [EndpointParameters]).
             */
            public var endpointProvider: Route53DomainsEndpointProvider? = null

            /**
             * A custom endpoint to route requests to. The endpoint set here is passed to the configured
             * [endpointProvider], which may inspect and modify it as needed.
             *
             * Setting a custom endpointUrl should generally be preferred to overriding the [endpointProvider] and is
             * the recommended way to route requests to development or preview instances of a service.
             *
             * **This is an advanced config option.**
             */
            public var endpointUrl: Url? = null

            /**
             * Add an [aws.smithy.kotlin.runtime.client.Interceptor] that will have access to read and modify
             * the request and response objects as they are processed by the SDK.
             * Interceptors added using this method are executed in the order they are configured and are always
             * later than any added automatically by the SDK.
             */
            override var interceptors: kotlin.collections.MutableList = kotlin.collections.mutableListOf()

            /**
             * Configure events that will be logged. By default clients will not output
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
             *
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
             *
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
             * performance considerations when dumping the request/response body. This is primarily a tool for
             * debug purposes.
             */
            override var logMode: LogMode? = null

            /**
             * The policy to use for evaluating operation results and determining whether/how to retry.
             */
            override var retryPolicy: RetryPolicy? = null

            /**
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
             * provider will be used.
             */
            override var telemetryProvider: TelemetryProvider? = null

            /**
             *            Flag to toggle whether to use dual-stack endpoints when making requests.
             *            See [https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html] for more information.
             * `          Disabled by default.
             */
            override var useDualStack: Boolean? = null

            /**
             *            Flag to toggle whether to use [FIPS](https://aws.amazon.com/compliance/fips/) endpoints when making requests.
             * `          Disabled by default.
             */
            override var useFips: Boolean? = null

            /**
             * An optional application specific identifier.
             * When set it will be appended to the User-Agent header of every request in the form of: `app/{applicationId}`.
             * When not explicitly set, the value will be loaded from the following locations:
             *
             * - JVM System Property: `aws.userAgentAppId`
             * - Environment variable: `AWS_SDK_UA_APP_ID`
             * - Shared configuration profile attribute: `sdk_ua_app_id`
             *
             * See [shared configuration settings](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)
             * reference for more information on environment variables and shared config settings.
             */
            override var applicationId: String? = null

            /**
             * Configure the provider used to resolve the authentication scheme to use for a particular operation.
             */
            public var authSchemeProvider: Route53DomainsAuthSchemeProvider? = null

            override fun build(): Config = Config(this)
        }
    }

    /**
     * Accepts the transfer of a domain from another Amazon Web Services account to the currentAmazon Web Services account. You initiate a transfer between Amazon Web Services accounts using [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
     *
     * If you use the CLI command at [accept-domain-transfer-from-another-aws-account](https://docs.aws.amazon.com/cli/latest/reference/route53domains/accept-domain-transfer-from-another-aws-account.html), use JSON format as input instead of text because otherwise CLI will throw an error from domain transfer input that includes single quotes.
     *
     * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
     */
    public suspend fun acceptDomainTransferFromAnotherAwsAccount(input: AcceptDomainTransferFromAnotherAwsAccountRequest): AcceptDomainTransferFromAnotherAwsAccountResponse

    /**
     * Creates a delegation signer (DS) record in the registry zone for this domain name.
     *
     * Note that creating DS record at the registry impacts DNSSEC validation of your DNS records. This action may render your domain name unavailable on the internet if the steps are completed in the wrong order, or with incorrect timing. For more information about DNSSEC signing, see [Configuring DNSSEC signing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html) in the *Route 53 developer guide*.
     */
    public suspend fun associateDelegationSignerToDomain(input: AssociateDelegationSignerToDomainRequest): AssociateDelegationSignerToDomainResponse

    /**
     * Cancels the transfer of a domain from the current Amazon Web Services account to another Amazon Web Services account. You initiate a transfer betweenAmazon Web Services accounts using [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
     *
     * You must cancel the transfer before the other Amazon Web Services account accepts the transfer using [AcceptDomainTransferFromAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html).
     *
     * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
     */
    public suspend fun cancelDomainTransferToAnotherAwsAccount(input: CancelDomainTransferToAnotherAwsAccountRequest): CancelDomainTransferToAnotherAwsAccountResponse

    /**
     * This operation checks the availability of one domain name. Note that if the availability status of a domain is pending, you must submit another request to determine the availability of the domain name.
     */
    public suspend fun checkDomainAvailability(input: CheckDomainAvailabilityRequest): CheckDomainAvailabilityResponse

    /**
     * Checks whether a domain name can be transferred to Amazon Route 53.
     */
    public suspend fun checkDomainTransferability(input: CheckDomainTransferabilityRequest): CheckDomainTransferabilityResponse

    /**
     * This operation deletes the specified domain. This action is permanent. For more information, see [Deleting a domain name registration](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-delete.html).
     *
     * To transfer the domain registration to another registrar, use the transfer process that’s provided by the registrar to which you want to transfer the registration. Otherwise, the following apply:
     * + You can’t get a refund for the cost of a deleted domain registration.
     * + The registry for the top-level domain might hold the domain name for a brief time before releasing it for other users to register (varies by registry).
     * + When the registration has been deleted, we'll send you a confirmation to the registrant contact. The email will come from `[email protected]` or `[email protected]`.
     */
    public suspend fun deleteDomain(input: DeleteDomainRequest): DeleteDomainResponse

    /**
     * This operation deletes the specified tags for a domain.
     *
     * All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.
     */
    public suspend fun deleteTagsForDomain(input: DeleteTagsForDomainRequest): DeleteTagsForDomainResponse

    /**
     * This operation disables automatic renewal of domain registration for the specified domain.
     */
    public suspend fun disableDomainAutoRenew(input: DisableDomainAutoRenewRequest): DisableDomainAutoRenewResponse

    /**
     * This operation removes the transfer lock on the domain (specifically the `clientTransferProhibited` status) to allow domain transfers. We recommend you refrain from performing this action unless you intend to transfer the domain to a different registrar. Successful submission returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.
     */
    public suspend fun disableDomainTransferLock(input: DisableDomainTransferLockRequest): DisableDomainTransferLockResponse

    /**
     * Deletes a delegation signer (DS) record in the registry zone for this domain name.
     */
    public suspend fun disassociateDelegationSignerFromDomain(input: DisassociateDelegationSignerFromDomainRequest): DisassociateDelegationSignerFromDomainResponse

    /**
     * This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your Amazon Web Services account.
     *
     * The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see [Domains That You Can Register with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html) in the *Amazon Route 53 Developer Guide*. Route 53 requires that you renew before the end of the renewal period so we can complete processing before the deadline.
     */
    public suspend fun enableDomainAutoRenew(input: EnableDomainAutoRenewRequest): EnableDomainAutoRenewResponse

    /**
     * This operation sets the transfer lock on the domain (specifically the `clientTransferProhibited` status) to prevent domain transfers. Successful submission returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.
     */
    public suspend fun enableDomainTransferLock(input: EnableDomainTransferLockRequest): EnableDomainTransferLockResponse

    /**
     * For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation returns information about whether the registrant contact has responded.
     *
     * If you want us to resend the email, use the `ResendContactReachabilityEmail` operation.
     */
    public suspend fun getContactReachabilityStatus(input: GetContactReachabilityStatusRequest = GetContactReachabilityStatusRequest { }): GetContactReachabilityStatusResponse

    /**
     * This operation returns detailed information about a specified domain that is associated with the current Amazon Web Services account. Contact information for the domain is also returned as part of the output.
     */
    public suspend fun getDomainDetail(input: GetDomainDetailRequest): GetDomainDetailResponse

    /**
     * The GetDomainSuggestions operation returns a list of suggested domain names.
     */
    public suspend fun getDomainSuggestions(input: GetDomainSuggestionsRequest): GetDomainSuggestionsResponse

    /**
     * This operation returns the current status of an operation that is not completed.
     */
    public suspend fun getOperationDetail(input: GetOperationDetailRequest): GetOperationDetailResponse

    /**
     * This operation returns all the domain names registered with Amazon Route 53 for the current Amazon Web Services account if no filtering conditions are used.
     */
    public suspend fun listDomains(input: ListDomainsRequest = ListDomainsRequest { }): ListDomainsResponse

    /**
     * Returns information about all of the operations that return an operation ID and that have ever been performed on domains that were registered by the current account.
     *
     * This command runs only in the us-east-1 Region.
     */
    public suspend fun listOperations(input: ListOperationsRequest = ListOperationsRequest { }): ListOperationsResponse

    /**
     * Lists the following prices for either all the TLDs supported by Route 53, or the specified TLD:
     * + Registration
     * + Transfer
     * + Owner change
     * + Domain renewal
     * + Domain restoration
     */
    public suspend fun listPrices(input: ListPricesRequest = ListPricesRequest { }): ListPricesResponse

    /**
     * This operation returns all of the tags that are associated with the specified domain.
     *
     * All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.
     */
    public suspend fun listTagsForDomain(input: ListTagsForDomainRequest): ListTagsForDomainResponse

    /**
     * Moves a domain from Amazon Web Services to another registrar.
     *
     * Supported actions:
     * + Changes the IPS tags of a .uk domain, and pushes it to transit. Transit means that the domain is ready to be transferred to another registrar.
     */
    public suspend fun pushDomain(input: PushDomainRequest): PushDomainResponse

    /**
     * This operation registers a domain. For some top-level domains (TLDs), this operation requires extra parameters.
     *
     * When you register a domain, Amazon Route 53 does the following:
     * + Creates a Route 53 hosted zone that has the same name as the domain. Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.
     * + Enables auto renew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.
     * + Optionally enables privacy protection, so WHOIS queries return contact for the registrar or the phrase "REDACTED FOR PRIVACY", or "On behalf of  owner." If you don't enable privacy protection, WHOIS queries return the information that you entered for the administrative, registrant, and technical contacts.While some domains may allow different privacy settings per contact, we recommend specifying the same privacy setting for all contacts.
     * + If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.
     * + Charges your Amazon Web Services account an amount based on the top-level domain. For more information, see [Amazon Route 53 Pricing](http://aws.amazon.com/route53/pricing/).
     */
    public suspend fun registerDomain(input: RegisterDomainRequest): RegisterDomainResponse

    /**
     * Rejects the transfer of a domain from another Amazon Web Services account to the current Amazon Web Services account. You initiate a transfer betweenAmazon Web Services accounts using [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
     *
     * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
     */
    public suspend fun rejectDomainTransferFromAnotherAwsAccount(input: RejectDomainTransferFromAnotherAwsAccountRequest): RejectDomainTransferFromAnotherAwsAccountResponse

    /**
     * This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your Amazon Web Services account.
     *
     * We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see [Renewing Registration for a Domain](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-renew.html) in the *Amazon Route 53 Developer Guide*.
     */
    public suspend fun renewDomain(input: RenewDomainRequest): RenewDomainResponse

    /**
     * For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact.
     */
    public suspend fun resendContactReachabilityEmail(input: ResendContactReachabilityEmailRequest = ResendContactReachabilityEmailRequest { }): ResendContactReachabilityEmailResponse

    /**
     * Resend the form of authorization email for this operation.
     */
    public suspend fun resendOperationAuthorization(input: ResendOperationAuthorizationRequest): ResendOperationAuthorizationResponse

    /**
     * This operation returns the authorization code for the domain. To transfer a domain to another registrar, you provide this value to the new registrar.
     */
    public suspend fun retrieveDomainAuthCode(input: RetrieveDomainAuthCodeRequest): RetrieveDomainAuthCodeResponse

    /**
     * Transfers a domain from another registrar to Amazon Route 53.
     *
     * For more information about transferring domains, see the following topics:
     * + For transfer requirements, a detailed procedure, and information about viewing the status of a domain that you're transferring to Route 53, see [Transferring Registration for a Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-to-route-53.html) in the *Amazon Route 53 Developer Guide*.
     * + For information about how to transfer a domain from one Amazon Web Services account to another, see [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
     * + For information about how to transfer a domain to another domain registrar, see [Transferring a Domain from Amazon Route 53 to Another Registrar](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-from-route-53.html) in the *Amazon Route 53 Developer Guide*.
     *
     * During the transfer of any country code top-level domains (ccTLDs) to Route 53, except for .cc and .tv, updates to the owner contact are ignored and the owner contact data from the registry is used. You can update the owner contact after the transfer is complete. For more information, see [UpdateDomainContact](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_UpdateDomainContact.html).
     *
     * If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you transfer your DNS service to Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.
     *
     * If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.
     *
     * If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.
     */
    public suspend fun transferDomain(input: TransferDomainRequest): TransferDomainResponse

    /**
     * Transfers a domain from the current Amazon Web Services account to another Amazon Web Services account. Note the following:
     * + The Amazon Web Services account that you're transferring the domain to must accept the transfer. If the other account doesn't accept the transfer within 3 days, we cancel the transfer. See [AcceptDomainTransferFromAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html).
     * + You can cancel the transfer before the other account accepts it. See [CancelDomainTransferToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_CancelDomainTransferToAnotherAwsAccount.html).
     * + The other account can reject the transfer. See [RejectDomainTransferFromAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_RejectDomainTransferFromAnotherAwsAccount.html).
     *
     * When you transfer a domain from one Amazon Web Services account to another, Route 53 doesn't transfer the hosted zone that is associated with the domain. DNS resolution isn't affected if the domain and the hosted zone are owned by separate accounts, so transferring the hosted zone is optional. For information about transferring the hosted zone to another Amazon Web Services account, see [Migrating a Hosted Zone to a Different Amazon Web Services Account](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-migrating.html) in the *Amazon Route 53 Developer Guide*.
     *
     * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
     */
    public suspend fun transferDomainToAnotherAwsAccount(input: TransferDomainToAnotherAwsAccountRequest): TransferDomainToAnotherAwsAccountResponse

    /**
     * This operation updates the contact information for a particular domain. You must specify information for at least one contact: registrant, administrator, or technical.
     *
     * If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the operation. If the request is not completed successfully, the domain registrant will be notified by email.
     */
    public suspend fun updateDomainContact(input: UpdateDomainContactRequest): UpdateDomainContactResponse

    /**
     * This operation updates the specified domain contact's privacy setting. When privacy protection is enabled, your contact information is replaced with contact information for the registrar or with the phrase "REDACTED FOR PRIVACY", or "On behalf of  owner."
     *
     * While some domains may allow different privacy settings per contact, we recommend specifying the same privacy setting for all contacts.
     *
     * This operation affects only the contact information for the specified contact type (administrative, registrant, or technical). If the request succeeds, Amazon Route 53 returns an operation ID that you can use with [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to track the progress and completion of the action. If the request doesn't complete successfully, the domain registrant will be notified by email.
     *
     * By disabling the privacy service via API, you consent to the publication of the contact information provided for this domain via the public WHOIS database. You certify that you are the registrant of this domain name and have the authority to make this decision. You may withdraw your consent at any time by enabling privacy protection using either `UpdateDomainContactPrivacy` or the Route 53 console. Enabling privacy protection removes the contact information provided for this domain from the WHOIS database. For more information on our privacy practices, see [https://aws.amazon.com/privacy/](https://aws.amazon.com/privacy/).
     */
    public suspend fun updateDomainContactPrivacy(input: UpdateDomainContactPrivacyRequest): UpdateDomainContactPrivacyResponse

    /**
     * This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.
     *
     * If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.
     */
    public suspend fun updateDomainNameservers(input: UpdateDomainNameserversRequest): UpdateDomainNameserversResponse

    /**
     * This operation adds or updates tags for a specified domain.
     *
     * All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.
     */
    public suspend fun updateTagsForDomain(input: UpdateTagsForDomainRequest): UpdateTagsForDomainResponse

    /**
     * Returns all the domain-related billing records for the current Amazon Web Services account for a specified period
     */
    public suspend fun viewBilling(input: ViewBillingRequest = ViewBillingRequest { }): ViewBillingResponse
}

/**
 * Create a copy of the client with one or more configuration values overridden.
 * This method allows the caller to perform scoped config overrides for one or more client operations.
 *
 * Any resources created on your behalf will be shared between clients, and will only be closed when ALL clients using them are closed.
 * If you provide a resource (e.g. [HttpClientEngine]) to the SDK, you are responsible for managing the lifetime of that resource.
 */
public fun Route53DomainsClient.withConfig(block: Route53DomainsClient.Config.Builder.() -> Unit): Route53DomainsClient {
    val newConfig = config.toBuilder().apply(block).build()
    return DefaultRoute53DomainsClient(newConfig)
}

/**
 * Accepts the transfer of a domain from another Amazon Web Services account to the currentAmazon Web Services account. You initiate a transfer between Amazon Web Services accounts using [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
 *
 * If you use the CLI command at [accept-domain-transfer-from-another-aws-account](https://docs.aws.amazon.com/cli/latest/reference/route53domains/accept-domain-transfer-from-another-aws-account.html), use JSON format as input instead of text because otherwise CLI will throw an error from domain transfer input that includes single quotes.
 *
 * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
 */
public suspend inline fun Route53DomainsClient.acceptDomainTransferFromAnotherAwsAccount(crossinline block: AcceptDomainTransferFromAnotherAwsAccountRequest.Builder.() -> Unit): AcceptDomainTransferFromAnotherAwsAccountResponse = acceptDomainTransferFromAnotherAwsAccount(AcceptDomainTransferFromAnotherAwsAccountRequest.Builder().apply(block).build())

/**
 * Creates a delegation signer (DS) record in the registry zone for this domain name.
 *
 * Note that creating DS record at the registry impacts DNSSEC validation of your DNS records. This action may render your domain name unavailable on the internet if the steps are completed in the wrong order, or with incorrect timing. For more information about DNSSEC signing, see [Configuring DNSSEC signing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec.html) in the *Route 53 developer guide*.
 */
public suspend inline fun Route53DomainsClient.associateDelegationSignerToDomain(crossinline block: AssociateDelegationSignerToDomainRequest.Builder.() -> Unit): AssociateDelegationSignerToDomainResponse = associateDelegationSignerToDomain(AssociateDelegationSignerToDomainRequest.Builder().apply(block).build())

/**
 * Cancels the transfer of a domain from the current Amazon Web Services account to another Amazon Web Services account. You initiate a transfer betweenAmazon Web Services accounts using [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
 *
 * You must cancel the transfer before the other Amazon Web Services account accepts the transfer using [AcceptDomainTransferFromAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html).
 *
 * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
 */
public suspend inline fun Route53DomainsClient.cancelDomainTransferToAnotherAwsAccount(crossinline block: CancelDomainTransferToAnotherAwsAccountRequest.Builder.() -> Unit): CancelDomainTransferToAnotherAwsAccountResponse = cancelDomainTransferToAnotherAwsAccount(CancelDomainTransferToAnotherAwsAccountRequest.Builder().apply(block).build())

/**
 * This operation checks the availability of one domain name. Note that if the availability status of a domain is pending, you must submit another request to determine the availability of the domain name.
 */
public suspend inline fun Route53DomainsClient.checkDomainAvailability(crossinline block: CheckDomainAvailabilityRequest.Builder.() -> Unit): CheckDomainAvailabilityResponse = checkDomainAvailability(CheckDomainAvailabilityRequest.Builder().apply(block).build())

/**
 * Checks whether a domain name can be transferred to Amazon Route 53.
 */
public suspend inline fun Route53DomainsClient.checkDomainTransferability(crossinline block: CheckDomainTransferabilityRequest.Builder.() -> Unit): CheckDomainTransferabilityResponse = checkDomainTransferability(CheckDomainTransferabilityRequest.Builder().apply(block).build())

/**
 * This operation deletes the specified domain. This action is permanent. For more information, see [Deleting a domain name registration](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-delete.html).
 *
 * To transfer the domain registration to another registrar, use the transfer process that’s provided by the registrar to which you want to transfer the registration. Otherwise, the following apply:
 * + You can’t get a refund for the cost of a deleted domain registration.
 * + The registry for the top-level domain might hold the domain name for a brief time before releasing it for other users to register (varies by registry).
 * + When the registration has been deleted, we'll send you a confirmation to the registrant contact. The email will come from `[email protected]` or `[email protected]`.
 */
public suspend inline fun Route53DomainsClient.deleteDomain(crossinline block: DeleteDomainRequest.Builder.() -> Unit): DeleteDomainResponse = deleteDomain(DeleteDomainRequest.Builder().apply(block).build())

/**
 * This operation deletes the specified tags for a domain.
 *
 * All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.
 */
public suspend inline fun Route53DomainsClient.deleteTagsForDomain(crossinline block: DeleteTagsForDomainRequest.Builder.() -> Unit): DeleteTagsForDomainResponse = deleteTagsForDomain(DeleteTagsForDomainRequest.Builder().apply(block).build())

/**
 * This operation disables automatic renewal of domain registration for the specified domain.
 */
public suspend inline fun Route53DomainsClient.disableDomainAutoRenew(crossinline block: DisableDomainAutoRenewRequest.Builder.() -> Unit): DisableDomainAutoRenewResponse = disableDomainAutoRenew(DisableDomainAutoRenewRequest.Builder().apply(block).build())

/**
 * This operation removes the transfer lock on the domain (specifically the `clientTransferProhibited` status) to allow domain transfers. We recommend you refrain from performing this action unless you intend to transfer the domain to a different registrar. Successful submission returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.
 */
public suspend inline fun Route53DomainsClient.disableDomainTransferLock(crossinline block: DisableDomainTransferLockRequest.Builder.() -> Unit): DisableDomainTransferLockResponse = disableDomainTransferLock(DisableDomainTransferLockRequest.Builder().apply(block).build())

/**
 * Deletes a delegation signer (DS) record in the registry zone for this domain name.
 */
public suspend inline fun Route53DomainsClient.disassociateDelegationSignerFromDomain(crossinline block: DisassociateDelegationSignerFromDomainRequest.Builder.() -> Unit): DisassociateDelegationSignerFromDomainResponse = disassociateDelegationSignerFromDomain(DisassociateDelegationSignerFromDomainRequest.Builder().apply(block).build())

/**
 * This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your Amazon Web Services account.
 *
 * The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see [Domains That You Can Register with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html) in the *Amazon Route 53 Developer Guide*. Route 53 requires that you renew before the end of the renewal period so we can complete processing before the deadline.
 */
public suspend inline fun Route53DomainsClient.enableDomainAutoRenew(crossinline block: EnableDomainAutoRenewRequest.Builder.() -> Unit): EnableDomainAutoRenewResponse = enableDomainAutoRenew(EnableDomainAutoRenewRequest.Builder().apply(block).build())

/**
 * This operation sets the transfer lock on the domain (specifically the `clientTransferProhibited` status) to prevent domain transfers. Successful submission returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.
 */
public suspend inline fun Route53DomainsClient.enableDomainTransferLock(crossinline block: EnableDomainTransferLockRequest.Builder.() -> Unit): EnableDomainTransferLockResponse = enableDomainTransferLock(EnableDomainTransferLockRequest.Builder().apply(block).build())

/**
 * For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation returns information about whether the registrant contact has responded.
 *
 * If you want us to resend the email, use the `ResendContactReachabilityEmail` operation.
 */
public suspend inline fun Route53DomainsClient.getContactReachabilityStatus(crossinline block: GetContactReachabilityStatusRequest.Builder.() -> Unit): GetContactReachabilityStatusResponse = getContactReachabilityStatus(GetContactReachabilityStatusRequest.Builder().apply(block).build())

/**
 * This operation returns detailed information about a specified domain that is associated with the current Amazon Web Services account. Contact information for the domain is also returned as part of the output.
 */
public suspend inline fun Route53DomainsClient.getDomainDetail(crossinline block: GetDomainDetailRequest.Builder.() -> Unit): GetDomainDetailResponse = getDomainDetail(GetDomainDetailRequest.Builder().apply(block).build())

/**
 * The GetDomainSuggestions operation returns a list of suggested domain names.
 */
public suspend inline fun Route53DomainsClient.getDomainSuggestions(crossinline block: GetDomainSuggestionsRequest.Builder.() -> Unit): GetDomainSuggestionsResponse = getDomainSuggestions(GetDomainSuggestionsRequest.Builder().apply(block).build())

/**
 * This operation returns the current status of an operation that is not completed.
 */
public suspend inline fun Route53DomainsClient.getOperationDetail(crossinline block: GetOperationDetailRequest.Builder.() -> Unit): GetOperationDetailResponse = getOperationDetail(GetOperationDetailRequest.Builder().apply(block).build())

/**
 * This operation returns all the domain names registered with Amazon Route 53 for the current Amazon Web Services account if no filtering conditions are used.
 */
public suspend inline fun Route53DomainsClient.listDomains(crossinline block: ListDomainsRequest.Builder.() -> Unit): ListDomainsResponse = listDomains(ListDomainsRequest.Builder().apply(block).build())

/**
 * Returns information about all of the operations that return an operation ID and that have ever been performed on domains that were registered by the current account.
 *
 * This command runs only in the us-east-1 Region.
 */
public suspend inline fun Route53DomainsClient.listOperations(crossinline block: ListOperationsRequest.Builder.() -> Unit): ListOperationsResponse = listOperations(ListOperationsRequest.Builder().apply(block).build())

/**
 * Lists the following prices for either all the TLDs supported by Route 53, or the specified TLD:
 * + Registration
 * + Transfer
 * + Owner change
 * + Domain renewal
 * + Domain restoration
 */
public suspend inline fun Route53DomainsClient.listPrices(crossinline block: ListPricesRequest.Builder.() -> Unit): ListPricesResponse = listPrices(ListPricesRequest.Builder().apply(block).build())

/**
 * This operation returns all of the tags that are associated with the specified domain.
 *
 * All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.
 */
public suspend inline fun Route53DomainsClient.listTagsForDomain(crossinline block: ListTagsForDomainRequest.Builder.() -> Unit): ListTagsForDomainResponse = listTagsForDomain(ListTagsForDomainRequest.Builder().apply(block).build())

/**
 * Moves a domain from Amazon Web Services to another registrar.
 *
 * Supported actions:
 * + Changes the IPS tags of a .uk domain, and pushes it to transit. Transit means that the domain is ready to be transferred to another registrar.
 */
public suspend inline fun Route53DomainsClient.pushDomain(crossinline block: PushDomainRequest.Builder.() -> Unit): PushDomainResponse = pushDomain(PushDomainRequest.Builder().apply(block).build())

/**
 * This operation registers a domain. For some top-level domains (TLDs), this operation requires extra parameters.
 *
 * When you register a domain, Amazon Route 53 does the following:
 * + Creates a Route 53 hosted zone that has the same name as the domain. Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.
 * + Enables auto renew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.
 * + Optionally enables privacy protection, so WHOIS queries return contact for the registrar or the phrase "REDACTED FOR PRIVACY", or "On behalf of  owner." If you don't enable privacy protection, WHOIS queries return the information that you entered for the administrative, registrant, and technical contacts.While some domains may allow different privacy settings per contact, we recommend specifying the same privacy setting for all contacts.
 * + If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.
 * + Charges your Amazon Web Services account an amount based on the top-level domain. For more information, see [Amazon Route 53 Pricing](http://aws.amazon.com/route53/pricing/).
 */
public suspend inline fun Route53DomainsClient.registerDomain(crossinline block: RegisterDomainRequest.Builder.() -> Unit): RegisterDomainResponse = registerDomain(RegisterDomainRequest.Builder().apply(block).build())

/**
 * Rejects the transfer of a domain from another Amazon Web Services account to the current Amazon Web Services account. You initiate a transfer betweenAmazon Web Services accounts using [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
 *
 * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
 */
public suspend inline fun Route53DomainsClient.rejectDomainTransferFromAnotherAwsAccount(crossinline block: RejectDomainTransferFromAnotherAwsAccountRequest.Builder.() -> Unit): RejectDomainTransferFromAnotherAwsAccountResponse = rejectDomainTransferFromAnotherAwsAccount(RejectDomainTransferFromAnotherAwsAccountRequest.Builder().apply(block).build())

/**
 * This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your Amazon Web Services account.
 *
 * We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see [Renewing Registration for a Domain](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-renew.html) in the *Amazon Route 53 Developer Guide*.
 */
public suspend inline fun Route53DomainsClient.renewDomain(crossinline block: RenewDomainRequest.Builder.() -> Unit): RenewDomainResponse = renewDomain(RenewDomainRequest.Builder().apply(block).build())

/**
 * For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact.
 */
public suspend inline fun Route53DomainsClient.resendContactReachabilityEmail(crossinline block: ResendContactReachabilityEmailRequest.Builder.() -> Unit): ResendContactReachabilityEmailResponse = resendContactReachabilityEmail(ResendContactReachabilityEmailRequest.Builder().apply(block).build())

/**
 * Resend the form of authorization email for this operation.
 */
public suspend inline fun Route53DomainsClient.resendOperationAuthorization(crossinline block: ResendOperationAuthorizationRequest.Builder.() -> Unit): ResendOperationAuthorizationResponse = resendOperationAuthorization(ResendOperationAuthorizationRequest.Builder().apply(block).build())

/**
 * This operation returns the authorization code for the domain. To transfer a domain to another registrar, you provide this value to the new registrar.
 */
public suspend inline fun Route53DomainsClient.retrieveDomainAuthCode(crossinline block: RetrieveDomainAuthCodeRequest.Builder.() -> Unit): RetrieveDomainAuthCodeResponse = retrieveDomainAuthCode(RetrieveDomainAuthCodeRequest.Builder().apply(block).build())

/**
 * Transfers a domain from another registrar to Amazon Route 53.
 *
 * For more information about transferring domains, see the following topics:
 * + For transfer requirements, a detailed procedure, and information about viewing the status of a domain that you're transferring to Route 53, see [Transferring Registration for a Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-to-route-53.html) in the *Amazon Route 53 Developer Guide*.
 * + For information about how to transfer a domain from one Amazon Web Services account to another, see [TransferDomainToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_TransferDomainToAnotherAwsAccount.html).
 * + For information about how to transfer a domain to another domain registrar, see [Transferring a Domain from Amazon Route 53 to Another Registrar](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-from-route-53.html) in the *Amazon Route 53 Developer Guide*.
 *
 * During the transfer of any country code top-level domains (ccTLDs) to Route 53, except for .cc and .tv, updates to the owner contact are ignored and the owner contact data from the registry is used. You can update the owner contact after the transfer is complete. For more information, see [UpdateDomainContact](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_UpdateDomainContact.html).
 *
 * If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you transfer your DNS service to Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.
 *
 * If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.
 *
 * If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.
 */
public suspend inline fun Route53DomainsClient.transferDomain(crossinline block: TransferDomainRequest.Builder.() -> Unit): TransferDomainResponse = transferDomain(TransferDomainRequest.Builder().apply(block).build())

/**
 * Transfers a domain from the current Amazon Web Services account to another Amazon Web Services account. Note the following:
 * + The Amazon Web Services account that you're transferring the domain to must accept the transfer. If the other account doesn't accept the transfer within 3 days, we cancel the transfer. See [AcceptDomainTransferFromAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_AcceptDomainTransferFromAnotherAwsAccount.html).
 * + You can cancel the transfer before the other account accepts it. See [CancelDomainTransferToAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_CancelDomainTransferToAnotherAwsAccount.html).
 * + The other account can reject the transfer. See [RejectDomainTransferFromAnotherAwsAccount](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_RejectDomainTransferFromAnotherAwsAccount.html).
 *
 * When you transfer a domain from one Amazon Web Services account to another, Route 53 doesn't transfer the hosted zone that is associated with the domain. DNS resolution isn't affected if the domain and the hosted zone are owned by separate accounts, so transferring the hosted zone is optional. For information about transferring the hosted zone to another Amazon Web Services account, see [Migrating a Hosted Zone to a Different Amazon Web Services Account](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-migrating.html) in the *Amazon Route 53 Developer Guide*.
 *
 * Use either [ListOperations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_ListOperations.html) or [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to determine whether the operation succeeded. [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) provides additional information, for example, `Domain Transfer from Aws Account 111122223333 has been cancelled`.
 */
public suspend inline fun Route53DomainsClient.transferDomainToAnotherAwsAccount(crossinline block: TransferDomainToAnotherAwsAccountRequest.Builder.() -> Unit): TransferDomainToAnotherAwsAccountResponse = transferDomainToAnotherAwsAccount(TransferDomainToAnotherAwsAccountRequest.Builder().apply(block).build())

/**
 * This operation updates the contact information for a particular domain. You must specify information for at least one contact: registrant, administrator, or technical.
 *
 * If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the operation. If the request is not completed successfully, the domain registrant will be notified by email.
 */
public suspend inline fun Route53DomainsClient.updateDomainContact(crossinline block: UpdateDomainContactRequest.Builder.() -> Unit): UpdateDomainContactResponse = updateDomainContact(UpdateDomainContactRequest.Builder().apply(block).build())

/**
 * This operation updates the specified domain contact's privacy setting. When privacy protection is enabled, your contact information is replaced with contact information for the registrar or with the phrase "REDACTED FOR PRIVACY", or "On behalf of  owner."
 *
 * While some domains may allow different privacy settings per contact, we recommend specifying the same privacy setting for all contacts.
 *
 * This operation affects only the contact information for the specified contact type (administrative, registrant, or technical). If the request succeeds, Amazon Route 53 returns an operation ID that you can use with [GetOperationDetail](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_GetOperationDetail.html) to track the progress and completion of the action. If the request doesn't complete successfully, the domain registrant will be notified by email.
 *
 * By disabling the privacy service via API, you consent to the publication of the contact information provided for this domain via the public WHOIS database. You certify that you are the registrant of this domain name and have the authority to make this decision. You may withdraw your consent at any time by enabling privacy protection using either `UpdateDomainContactPrivacy` or the Route 53 console. Enabling privacy protection removes the contact information provided for this domain from the WHOIS database. For more information on our privacy practices, see [https://aws.amazon.com/privacy/](https://aws.amazon.com/privacy/).
 */
public suspend inline fun Route53DomainsClient.updateDomainContactPrivacy(crossinline block: UpdateDomainContactPrivacyRequest.Builder.() -> Unit): UpdateDomainContactPrivacyResponse = updateDomainContactPrivacy(UpdateDomainContactPrivacyRequest.Builder().apply(block).build())

/**
 * This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.
 *
 * If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.
 */
public suspend inline fun Route53DomainsClient.updateDomainNameservers(crossinline block: UpdateDomainNameserversRequest.Builder.() -> Unit): UpdateDomainNameserversResponse = updateDomainNameservers(UpdateDomainNameserversRequest.Builder().apply(block).build())

/**
 * This operation adds or updates tags for a specified domain.
 *
 * All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.
 */
public suspend inline fun Route53DomainsClient.updateTagsForDomain(crossinline block: UpdateTagsForDomainRequest.Builder.() -> Unit): UpdateTagsForDomainResponse = updateTagsForDomain(UpdateTagsForDomainRequest.Builder().apply(block).build())

/**
 * Returns all the domain-related billing records for the current Amazon Web Services account for a specified period
 */
public suspend inline fun Route53DomainsClient.viewBilling(crossinline block: ViewBillingRequest.Builder.() -> Unit): ViewBillingResponse = viewBilling(ViewBillingRequest.Builder().apply(block).build())




© 2015 - 2024 Weber Informatics LLC | Privacy Policy