import * as core from "@terrascript/core"; export interface EndpointConfigurationArgs extends core.SchemaArgs { types: core.Array | core.ArrayOut; vpcEndpointIds: core.Array | core.ArrayOut; } export class EndpointConfiguration extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public types!: core.Array | core.ArrayOut; @core.attr(String, { computed: true, kind: "array" }) public vpcEndpointIds!: core.Array | core.ArrayOut; } export interface DsRestApiArgs { /** * (Required) The name of the REST API to look up. If no REST API is found with this name, an error wil * l be returned. If multiple REST APIs are found with this name, an error will be returned. */ name: string | core.StringOut; /** * Key-value map of resource tags. */ tags?: core.Map | core.MapOut; } export class DsRestApi extends core.Data { /** * The source of the API key for requests. */ @core.attr(String, { computed: true }) public apiKeySource!: string | core.StringOut; /** * The ARN of the REST API. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The list of binary media types supported by the REST API. */ @core.attr(String, { computed: true, kind: "array" }) public binaryMediaTypes!: core.Array | core.ArrayOut; /** * The description of the REST API. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * The endpoint configuration of this RestApi showing the endpoint types of the API. */ @core.attr(EndpointConfiguration, { computed: true, kind: "array" }) public endpointConfiguration!: | core.Array | core.ArrayOut; /** * The execution ARN part to be used in [`lambda_permission`](/docs/providers/aws/r/lambda_permission.h * tml)'s `source_arn` when allowing API Gateway to invoke a Lambda function, e.g., `arn:aws:execute-ap * i:eu-west-2:123456789012:z4675bid1j`, which can be concatenated with allowed stage, method and resou * rce path. */ @core.attr(String, { computed: true }) public executionArn!: string | core.StringOut; /** * Set to the ID of the found REST API. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * Minimum response size to compress for the REST API. */ @core.attr(Number, { computed: true }) public minimumCompressionSize!: number | core.NumberOut; /** * (Required) The name of the REST API to look up. If no REST API is found with this name, an error wil * l be returned. If multiple REST APIs are found with this name, an error will be returned. */ @core.attr(String) public name!: string | core.StringOut; /** * JSON formatted policy document that controls access to the API Gateway. */ @core.attr(String, { computed: true }) public policy!: string | core.StringOut; /** * Set to the ID of the API Gateway Resource on the found REST API where the route matches '/'. */ @core.attr(String, { computed: true }) public rootResourceId!: string | core.StringOut; /** * Key-value map of resource tags. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; constructor(name: string, args?: DsRestApiArgs) { super(name, "aws_api_gateway_rest_api", args); } public override getNamespace(): string { return "aws_api_gateway"; } }