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

com.pulumi.awsnative.apigateway.kotlin.ApigatewayFunctions.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.apigateway.kotlin

import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getAccountPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getApiKeyPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getAuthorizerPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getBasePathMappingPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getClientCertificatePlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getDeploymentPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getDocumentationPartPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getDocumentationVersionPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getDomainNamePlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getGatewayResponsePlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getMethodPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getModelPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getRequestValidatorPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getResourcePlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getRestApiPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getStagePlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getUsagePlanKeyPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getUsagePlanPlain
import com.pulumi.awsnative.apigateway.ApigatewayFunctions.getVpcLinkPlain
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetAccountPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetAccountPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetApiKeyPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetApiKeyPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetAuthorizerPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetAuthorizerPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetBasePathMappingPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetBasePathMappingPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetClientCertificatePlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetClientCertificatePlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDeploymentPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDeploymentPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDocumentationPartPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDocumentationPartPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDocumentationVersionPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDocumentationVersionPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDomainNamePlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetDomainNamePlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetGatewayResponsePlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetGatewayResponsePlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetMethodPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetMethodPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetModelPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetModelPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetRequestValidatorPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetRequestValidatorPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetResourcePlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetResourcePlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetRestApiPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetRestApiPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetStagePlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetStagePlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetUsagePlanKeyPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetUsagePlanKeyPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetUsagePlanPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetUsagePlanPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetVpcLinkPlainArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.GetVpcLinkPlainArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetAccountResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetApiKeyResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetAuthorizerResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetBasePathMappingResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetClientCertificateResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDeploymentResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDocumentationPartResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDocumentationVersionResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDomainNameResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetGatewayResponseResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetMethodResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetModelResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetRequestValidatorResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetResourceResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetRestApiResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetStageResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetUsagePlanKeyResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetUsagePlanResult
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetVpcLinkResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetAccountResult.Companion.toKotlin as getAccountResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetApiKeyResult.Companion.toKotlin as getApiKeyResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetAuthorizerResult.Companion.toKotlin as getAuthorizerResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetBasePathMappingResult.Companion.toKotlin as getBasePathMappingResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetClientCertificateResult.Companion.toKotlin as getClientCertificateResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDeploymentResult.Companion.toKotlin as getDeploymentResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDocumentationPartResult.Companion.toKotlin as getDocumentationPartResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDocumentationVersionResult.Companion.toKotlin as getDocumentationVersionResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetDomainNameResult.Companion.toKotlin as getDomainNameResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetGatewayResponseResult.Companion.toKotlin as getGatewayResponseResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetMethodResult.Companion.toKotlin as getMethodResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetModelResult.Companion.toKotlin as getModelResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetRequestValidatorResult.Companion.toKotlin as getRequestValidatorResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetResourceResult.Companion.toKotlin as getResourceResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetRestApiResult.Companion.toKotlin as getRestApiResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetStageResult.Companion.toKotlin as getStageResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetUsagePlanKeyResult.Companion.toKotlin as getUsagePlanKeyResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetUsagePlanResult.Companion.toKotlin as getUsagePlanResultToKotlin
import com.pulumi.awsnative.apigateway.kotlin.outputs.GetVpcLinkResult.Companion.toKotlin as getVpcLinkResultToKotlin

public object ApigatewayFunctions {
    /**
     * The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account.
     * @param argument null
     * @return null
     */
    public suspend fun getAccount(argument: GetAccountPlainArgs): GetAccountResult =
        getAccountResultToKotlin(getAccountPlain(argument.toJava()).await())

    /**
     * @see [getAccount].
     * @param id The ID for the account. For example: `abc123` .
     * @return null
     */
    public suspend fun getAccount(id: String): GetAccountResult {
        val argument = GetAccountPlainArgs(
            id = id,
        )
        return getAccountResultToKotlin(getAccountPlain(argument.toJava()).await())
    }

    /**
     * @see [getAccount].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetAccountPlainArgs].
     * @return null
     */
    public suspend fun getAccount(argument: suspend GetAccountPlainArgsBuilder.() -> Unit): GetAccountResult {
        val builder = GetAccountPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAccountResultToKotlin(getAccountPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key.
     * @param argument null
     * @return null
     */
    public suspend fun getApiKey(argument: GetApiKeyPlainArgs): GetApiKeyResult =
        getApiKeyResultToKotlin(getApiKeyPlain(argument.toJava()).await())

    /**
     * @see [getApiKey].
     * @param apiKeyId The ID for the API key. For example: `abc123` .
     * @return null
     */
    public suspend fun getApiKey(apiKeyId: String): GetApiKeyResult {
        val argument = GetApiKeyPlainArgs(
            apiKeyId = apiKeyId,
        )
        return getApiKeyResultToKotlin(getApiKeyPlain(argument.toJava()).await())
    }

    /**
     * @see [getApiKey].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetApiKeyPlainArgs].
     * @return null
     */
    public suspend fun getApiKey(argument: suspend GetApiKeyPlainArgsBuilder.() -> Unit): GetApiKeyResult {
        val builder = GetApiKeyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getApiKeyResultToKotlin(getApiKeyPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.
     * @param argument null
     * @return null
     */
    public suspend fun getAuthorizer(argument: GetAuthorizerPlainArgs): GetAuthorizerResult =
        getAuthorizerResultToKotlin(getAuthorizerPlain(argument.toJava()).await())

    /**
     * @see [getAuthorizer].
     * @param authorizerId The ID for the authorizer. For example: `abc123` .
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getAuthorizer(authorizerId: String, restApiId: String): GetAuthorizerResult {
        val argument = GetAuthorizerPlainArgs(
            authorizerId = authorizerId,
            restApiId = restApiId,
        )
        return getAuthorizerResultToKotlin(getAuthorizerPlain(argument.toJava()).await())
    }

    /**
     * @see [getAuthorizer].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetAuthorizerPlainArgs].
     * @return null
     */
    public suspend fun getAuthorizer(argument: suspend GetAuthorizerPlainArgsBuilder.() -> Unit): GetAuthorizerResult {
        val builder = GetAuthorizerPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getAuthorizerResultToKotlin(getAuthorizerPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL.
     * @param argument null
     * @return null
     */
    public suspend fun getBasePathMapping(argument: GetBasePathMappingPlainArgs): GetBasePathMappingResult =
        getBasePathMappingResultToKotlin(getBasePathMappingPlain(argument.toJava()).await())

    /**
     * @see [getBasePathMapping].
     * @param basePath The base path name that callers of the API must provide as part of the URL after the domain name.
     * @param domainName The domain name of the BasePathMapping resource to be described.
     * @return null
     */
    public suspend fun getBasePathMapping(basePath: String, domainName: String): GetBasePathMappingResult {
        val argument = GetBasePathMappingPlainArgs(
            basePath = basePath,
            domainName = domainName,
        )
        return getBasePathMappingResultToKotlin(getBasePathMappingPlain(argument.toJava()).await())
    }

    /**
     * @see [getBasePathMapping].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetBasePathMappingPlainArgs].
     * @return null
     */
    public suspend fun getBasePathMapping(argument: suspend GetBasePathMappingPlainArgsBuilder.() -> Unit): GetBasePathMappingResult {
        val builder = GetBasePathMappingPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getBasePathMappingResultToKotlin(getBasePathMappingPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint.
     * @param argument null
     * @return null
     */
    public suspend fun getClientCertificate(argument: GetClientCertificatePlainArgs): GetClientCertificateResult =
        getClientCertificateResultToKotlin(getClientCertificatePlain(argument.toJava()).await())

    /**
     * @see [getClientCertificate].
     * @param clientCertificateId The ID for the client certificate. For example: `abc123` .
     * @return null
     */
    public suspend fun getClientCertificate(clientCertificateId: String): GetClientCertificateResult {
        val argument = GetClientCertificatePlainArgs(
            clientCertificateId = clientCertificateId,
        )
        return getClientCertificateResultToKotlin(getClientCertificatePlain(argument.toJava()).await())
    }

    /**
     * @see [getClientCertificate].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetClientCertificatePlainArgs].
     * @return null
     */
    public suspend fun getClientCertificate(argument: suspend GetClientCertificatePlainArgsBuilder.() -> Unit): GetClientCertificateResult {
        val builder = GetClientCertificatePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getClientCertificateResultToKotlin(getClientCertificatePlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
     * @param argument null
     * @return null
     */
    public suspend fun getDeployment(argument: GetDeploymentPlainArgs): GetDeploymentResult =
        getDeploymentResultToKotlin(getDeploymentPlain(argument.toJava()).await())

    /**
     * @see [getDeployment].
     * @param deploymentId The ID for the deployment. For example: `abc123` .
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getDeployment(deploymentId: String, restApiId: String): GetDeploymentResult {
        val argument = GetDeploymentPlainArgs(
            deploymentId = deploymentId,
            restApiId = restApiId,
        )
        return getDeploymentResultToKotlin(getDeploymentPlain(argument.toJava()).await())
    }

    /**
     * @see [getDeployment].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetDeploymentPlainArgs].
     * @return null
     */
    public suspend fun getDeployment(argument: suspend GetDeploymentPlainArgsBuilder.() -> Unit): GetDeploymentResult {
        val builder = GetDeploymentPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDeploymentResultToKotlin(getDeploymentPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.
     * @param argument null
     * @return null
     */
    public suspend fun getDocumentationPart(argument: GetDocumentationPartPlainArgs): GetDocumentationPartResult =
        getDocumentationPartResultToKotlin(getDocumentationPartPlain(argument.toJava()).await())

    /**
     * @see [getDocumentationPart].
     * @param documentationPartId The ID for the documentation part.
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getDocumentationPart(documentationPartId: String, restApiId: String): GetDocumentationPartResult {
        val argument = GetDocumentationPartPlainArgs(
            documentationPartId = documentationPartId,
            restApiId = restApiId,
        )
        return getDocumentationPartResultToKotlin(getDocumentationPartPlain(argument.toJava()).await())
    }

    /**
     * @see [getDocumentationPart].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetDocumentationPartPlainArgs].
     * @return null
     */
    public suspend fun getDocumentationPart(argument: suspend GetDocumentationPartPlainArgsBuilder.() -> Unit): GetDocumentationPartResult {
        val builder = GetDocumentationPartPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDocumentationPartResultToKotlin(getDocumentationPartPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.
     * @param argument null
     * @return null
     */
    public suspend fun getDocumentationVersion(argument: GetDocumentationVersionPlainArgs): GetDocumentationVersionResult =
        getDocumentationVersionResultToKotlin(getDocumentationVersionPlain(argument.toJava()).await())

    /**
     * @see [getDocumentationVersion].
     * @param documentationVersion The version identifier of the to-be-updated documentation version.
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getDocumentationVersion(documentationVersion: String, restApiId: String): GetDocumentationVersionResult {
        val argument = GetDocumentationVersionPlainArgs(
            documentationVersion = documentationVersion,
            restApiId = restApiId,
        )
        return getDocumentationVersionResultToKotlin(getDocumentationVersionPlain(argument.toJava()).await())
    }

    /**
     * @see [getDocumentationVersion].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetDocumentationVersionPlainArgs].
     * @return null
     */
    public suspend fun getDocumentationVersion(argument: suspend GetDocumentationVersionPlainArgsBuilder.() -> Unit): GetDocumentationVersionResult {
        val builder = GetDocumentationVersionPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDocumentationVersionResultToKotlin(getDocumentationVersionPlain(builtArgument.toJava()).await())
    }

    /**
     * Resource Type definition for AWS::ApiGateway::DomainName.
     * @param argument null
     * @return null
     */
    public suspend fun getDomainName(argument: GetDomainNamePlainArgs): GetDomainNameResult =
        getDomainNameResultToKotlin(getDomainNamePlain(argument.toJava()).await())

    /**
     * @see [getDomainName].
     * @param domainName The custom domain name as an API host name, for example, `my-api.example.com` .
     * @return null
     */
    public suspend fun getDomainName(domainName: String): GetDomainNameResult {
        val argument = GetDomainNamePlainArgs(
            domainName = domainName,
        )
        return getDomainNameResultToKotlin(getDomainNamePlain(argument.toJava()).await())
    }

    /**
     * @see [getDomainName].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetDomainNamePlainArgs].
     * @return null
     */
    public suspend fun getDomainName(argument: suspend GetDomainNamePlainArgsBuilder.() -> Unit): GetDomainNameResult {
        val builder = GetDomainNamePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getDomainNameResultToKotlin(getDomainNamePlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*.
     * @param argument null
     * @return null
     */
    public suspend fun getGatewayResponse(argument: GetGatewayResponsePlainArgs): GetGatewayResponseResult =
        getGatewayResponseResultToKotlin(getGatewayResponsePlain(argument.toJava()).await())

    /**
     * @see [getGatewayResponse].
     * @param id The ID for the gateway response. For example: `abc123` .
     * @return null
     */
    public suspend fun getGatewayResponse(id: String): GetGatewayResponseResult {
        val argument = GetGatewayResponsePlainArgs(
            id = id,
        )
        return getGatewayResponseResultToKotlin(getGatewayResponsePlain(argument.toJava()).await())
    }

    /**
     * @see [getGatewayResponse].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetGatewayResponsePlainArgs].
     * @return null
     */
    public suspend fun getGatewayResponse(argument: suspend GetGatewayResponsePlainArgsBuilder.() -> Unit): GetGatewayResponseResult {
        val builder = GetGatewayResponsePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getGatewayResponseResultToKotlin(getGatewayResponsePlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.
     * @param argument null
     * @return null
     */
    public suspend fun getMethod(argument: GetMethodPlainArgs): GetMethodResult =
        getMethodResultToKotlin(getMethodPlain(argument.toJava()).await())

    /**
     * @see [getMethod].
     * @param httpMethod The method's HTTP verb.
     * @param resourceId The Resource identifier for the MethodResponse resource.
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getMethod(
        httpMethod: String,
        resourceId: String,
        restApiId: String,
    ): GetMethodResult {
        val argument = GetMethodPlainArgs(
            httpMethod = httpMethod,
            resourceId = resourceId,
            restApiId = restApiId,
        )
        return getMethodResultToKotlin(getMethodPlain(argument.toJava()).await())
    }

    /**
     * @see [getMethod].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetMethodPlainArgs].
     * @return null
     */
    public suspend fun getMethod(argument: suspend GetMethodPlainArgsBuilder.() -> Unit): GetMethodResult {
        val builder = GetMethodPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getMethodResultToKotlin(getMethodPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method.
     * @param argument null
     * @return null
     */
    public suspend fun getModel(argument: GetModelPlainArgs): GetModelResult =
        getModelResultToKotlin(getModelPlain(argument.toJava()).await())

    /**
     * @see [getModel].
     * @param name A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
     *   If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getModel(name: String, restApiId: String): GetModelResult {
        val argument = GetModelPlainArgs(
            name = name,
            restApiId = restApiId,
        )
        return getModelResultToKotlin(getModelPlain(argument.toJava()).await())
    }

    /**
     * @see [getModel].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetModelPlainArgs].
     * @return null
     */
    public suspend fun getModel(argument: suspend GetModelPlainArgsBuilder.() -> Unit): GetModelResult {
        val builder = GetModelPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getModelResultToKotlin(getModelPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*.
     * @param argument null
     * @return null
     */
    public suspend fun getRequestValidator(argument: GetRequestValidatorPlainArgs): GetRequestValidatorResult =
        getRequestValidatorResultToKotlin(getRequestValidatorPlain(argument.toJava()).await())

    /**
     * @see [getRequestValidator].
     * @param requestValidatorId The ID for the request validator. For example: `abc123` .
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getRequestValidator(requestValidatorId: String, restApiId: String): GetRequestValidatorResult {
        val argument = GetRequestValidatorPlainArgs(
            requestValidatorId = requestValidatorId,
            restApiId = restApiId,
        )
        return getRequestValidatorResultToKotlin(getRequestValidatorPlain(argument.toJava()).await())
    }

    /**
     * @see [getRequestValidator].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetRequestValidatorPlainArgs].
     * @return null
     */
    public suspend fun getRequestValidator(argument: suspend GetRequestValidatorPlainArgsBuilder.() -> Unit): GetRequestValidatorResult {
        val builder = GetRequestValidatorPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getRequestValidatorResultToKotlin(getRequestValidatorPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.
     * @param argument null
     * @return null
     */
    public suspend fun getResource(argument: GetResourcePlainArgs): GetResourceResult =
        getResourceResultToKotlin(getResourcePlain(argument.toJava()).await())

    /**
     * @see [getResource].
     * @param resourceId The ID for the resource. For example: `abc123` .
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getResource(resourceId: String, restApiId: String): GetResourceResult {
        val argument = GetResourcePlainArgs(
            resourceId = resourceId,
            restApiId = restApiId,
        )
        return getResourceResultToKotlin(getResourcePlain(argument.toJava()).await())
    }

    /**
     * @see [getResource].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetResourcePlainArgs].
     * @return null
     */
    public suspend fun getResource(argument: suspend GetResourcePlainArgsBuilder.() -> Unit): GetResourceResult {
        val builder = GetResourcePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getResourceResultToKotlin(getResourcePlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.
     *  On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.
     * @param argument null
     * @return null
     */
    public suspend fun getRestApi(argument: GetRestApiPlainArgs): GetRestApiResult =
        getRestApiResultToKotlin(getRestApiPlain(argument.toJava()).await())

    /**
     * @see [getRestApi].
     * @param restApiId The string identifier of the associated RestApi.
     * @return null
     */
    public suspend fun getRestApi(restApiId: String): GetRestApiResult {
        val argument = GetRestApiPlainArgs(
            restApiId = restApiId,
        )
        return getRestApiResultToKotlin(getRestApiPlain(argument.toJava()).await())
    }

    /**
     * @see [getRestApi].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetRestApiPlainArgs].
     * @return null
     */
    public suspend fun getRestApi(argument: suspend GetRestApiPlainArgsBuilder.() -> Unit): GetRestApiResult {
        val builder = GetRestApiPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getRestApiResultToKotlin(getRestApiPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment.
     * @param argument null
     * @return null
     */
    public suspend fun getStage(argument: GetStagePlainArgs): GetStageResult =
        getStageResultToKotlin(getStagePlain(argument.toJava()).await())

    /**
     * @see [getStage].
     * @param restApiId The string identifier of the associated RestApi.
     * @param stageName The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
     * @return null
     */
    public suspend fun getStage(restApiId: String, stageName: String): GetStageResult {
        val argument = GetStagePlainArgs(
            restApiId = restApiId,
            stageName = stageName,
        )
        return getStageResultToKotlin(getStagePlain(argument.toJava()).await())
    }

    /**
     * @see [getStage].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetStagePlainArgs].
     * @return null
     */
    public suspend fun getStage(argument: suspend GetStagePlainArgsBuilder.() -> Unit): GetStageResult {
        val builder = GetStagePlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getStageResultToKotlin(getStagePlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.
     *  In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
     * @param argument null
     * @return null
     */
    public suspend fun getUsagePlan(argument: GetUsagePlanPlainArgs): GetUsagePlanResult =
        getUsagePlanResultToKotlin(getUsagePlanPlain(argument.toJava()).await())

    /**
     * @see [getUsagePlan].
     * @param id The ID for the usage plan. For example: `abc123` .
     * @return null
     */
    public suspend fun getUsagePlan(id: String): GetUsagePlanResult {
        val argument = GetUsagePlanPlainArgs(
            id = id,
        )
        return getUsagePlanResultToKotlin(getUsagePlanPlain(argument.toJava()).await())
    }

    /**
     * @see [getUsagePlan].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetUsagePlanPlainArgs].
     * @return null
     */
    public suspend fun getUsagePlan(argument: suspend GetUsagePlanPlainArgsBuilder.() -> Unit): GetUsagePlanResult {
        val builder = GetUsagePlanPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getUsagePlanResultToKotlin(getUsagePlanPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.
     * @param argument null
     * @return null
     */
    public suspend fun getUsagePlanKey(argument: GetUsagePlanKeyPlainArgs): GetUsagePlanKeyResult =
        getUsagePlanKeyResultToKotlin(getUsagePlanKeyPlain(argument.toJava()).await())

    /**
     * @see [getUsagePlanKey].
     * @param id The ID for the usage plan key. For example: `abc123` .
     * @return null
     */
    public suspend fun getUsagePlanKey(id: String): GetUsagePlanKeyResult {
        val argument = GetUsagePlanKeyPlainArgs(
            id = id,
        )
        return getUsagePlanKeyResultToKotlin(getUsagePlanKeyPlain(argument.toJava()).await())
    }

    /**
     * @see [getUsagePlanKey].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetUsagePlanKeyPlainArgs].
     * @return null
     */
    public suspend fun getUsagePlanKey(argument: suspend GetUsagePlanKeyPlainArgsBuilder.() -> Unit): GetUsagePlanKeyResult {
        val builder = GetUsagePlanKeyPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getUsagePlanKeyResultToKotlin(getUsagePlanKeyPlain(builtArgument.toJava()).await())
    }

    /**
     * The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``.
     * @param argument null
     * @return null
     */
    public suspend fun getVpcLink(argument: GetVpcLinkPlainArgs): GetVpcLinkResult =
        getVpcLinkResultToKotlin(getVpcLinkPlain(argument.toJava()).await())

    /**
     * @see [getVpcLink].
     * @param vpcLinkId The ID for the VPC link. For example: `abc123` .
     * @return null
     */
    public suspend fun getVpcLink(vpcLinkId: String): GetVpcLinkResult {
        val argument = GetVpcLinkPlainArgs(
            vpcLinkId = vpcLinkId,
        )
        return getVpcLinkResultToKotlin(getVpcLinkPlain(argument.toJava()).await())
    }

    /**
     * @see [getVpcLink].
     * @param argument Builder for [com.pulumi.awsnative.apigateway.kotlin.inputs.GetVpcLinkPlainArgs].
     * @return null
     */
    public suspend fun getVpcLink(argument: suspend GetVpcLinkPlainArgsBuilder.() -> Unit): GetVpcLinkResult {
        val builder = GetVpcLinkPlainArgsBuilder()
        builder.argument()
        val builtArgument = builder.build()
        return getVpcLinkResultToKotlin(getVpcLinkPlain(builtArgument.toJava()).await())
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy