UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

130 lines 6.39 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.DomainName = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * The ``AWS::ApiGateway::DomainName`` resource specifies a public custom domain name for your API in API Gateway. * To create a custom domain name for private APIs, use [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html). * You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const config = new pulumi.Config(); * const cfnDomainName = config.require("cfnDomainName"); * const certificateArn = config.require("certificateArn"); * const type = config.require("type"); * const myDomainName = new aws_native.apigateway.DomainName("myDomainName", { * certificateArn: certificateArn, * domainName: cfnDomainName, * endpointConfiguration: { * types: [type], * }, * regionalCertificateArn: certificateArn, * }); * export const domainName = myDomainName.id; * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const config = new pulumi.Config(); * const cfnDomainName = config.require("cfnDomainName"); * const certificateArn = config.require("certificateArn"); * const type = config.require("type"); * const myDomainName = new aws_native.apigateway.DomainName("myDomainName", { * certificateArn: certificateArn, * domainName: cfnDomainName, * endpointConfiguration: { * types: [type], * }, * regionalCertificateArn: certificateArn, * }); * export const domainName = myDomainName.id; * * ``` */ class DomainName extends pulumi.CustomResource { /** * Get an existing DomainName resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, opts) { return new DomainName(name, undefined, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of DomainName. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === DomainName.__pulumiType; } /** * Create a DomainName resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name, args, opts) { let resourceInputs = {}; opts = opts || {}; if (!opts.id) { resourceInputs["certificateArn"] = args ? args.certificateArn : undefined; resourceInputs["domainName"] = args ? args.domainName : undefined; resourceInputs["endpointConfiguration"] = args ? args.endpointConfiguration : undefined; resourceInputs["mutualTlsAuthentication"] = args ? args.mutualTlsAuthentication : undefined; resourceInputs["ownershipVerificationCertificateArn"] = args ? args.ownershipVerificationCertificateArn : undefined; resourceInputs["regionalCertificateArn"] = args ? args.regionalCertificateArn : undefined; resourceInputs["routingMode"] = args ? args.routingMode : undefined; resourceInputs["securityPolicy"] = args ? args.securityPolicy : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["distributionDomainName"] = undefined /*out*/; resourceInputs["distributionHostedZoneId"] = undefined /*out*/; resourceInputs["domainNameArn"] = undefined /*out*/; resourceInputs["regionalDomainName"] = undefined /*out*/; resourceInputs["regionalHostedZoneId"] = undefined /*out*/; } else { resourceInputs["certificateArn"] = undefined /*out*/; resourceInputs["distributionDomainName"] = undefined /*out*/; resourceInputs["distributionHostedZoneId"] = undefined /*out*/; resourceInputs["domainName"] = undefined /*out*/; resourceInputs["domainNameArn"] = undefined /*out*/; resourceInputs["endpointConfiguration"] = undefined /*out*/; resourceInputs["mutualTlsAuthentication"] = undefined /*out*/; resourceInputs["ownershipVerificationCertificateArn"] = undefined /*out*/; resourceInputs["regionalCertificateArn"] = undefined /*out*/; resourceInputs["regionalDomainName"] = undefined /*out*/; resourceInputs["regionalHostedZoneId"] = undefined /*out*/; resourceInputs["routingMode"] = undefined /*out*/; resourceInputs["securityPolicy"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const replaceOnChanges = { replaceOnChanges: ["domainName"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(DomainName.__pulumiType, name, resourceInputs, opts); } } exports.DomainName = DomainName; /** @internal */ DomainName.__pulumiType = 'aws-native:apigateway:DomainName'; //# sourceMappingURL=domainName.js.map