import * as core from "@terrascript/core"; export interface EndpointConfigurationArgs extends core.SchemaArgs { types: core.Array | core.ArrayOut; vpcEndpointIds?: core.Array | core.ArrayOut; } export declare class EndpointConfiguration extends core.Schema { types: core.Array | core.ArrayOut; vpcEndpointIds?: core.Array | core.ArrayOut; } export interface RestApiArgs extends core.ResourceArgs { /** * (Optional) Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. * If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-a * pigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/ap * i-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is differen * t than the OpenAPI value, the argument value will override the OpenAPI value. */ apiKeySource?: string | core.StringOut; /** * (Optional) List of binary media types supported by the REST API. By default, the REST API supports o * nly UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this * corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com * /apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the ar * gument value is provided and is different than the OpenAPI value, the argument value will override t * he OpenAPI value. */ binaryMediaTypes?: core.Array | core.ArrayOut; /** * (Optional) OpenAPI specification that defines the set of routes and integrations to create as part o * f the REST API. This configuration, and any updates to it, will replace all REST API configuration e * xcept values overridden in this resource configuration and other resource updates applied after this * resource but before any `aws_api_gateway_deployment` creation. More information about REST API Open * API support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway * /latest/developerguide/api-gateway-import-api.html). */ body?: string | core.StringOut; /** * (Optional) Description of the REST API. If importing an OpenAPI specification via the `body` argumen * t, this corresponds to the `info.description` field. If the argument value is provided and is differ * ent than the OpenAPI value, the argument value will override the OpenAPI value. */ description?: string | core.StringOut; /** * (Optional) Specifies whether clients can invoke your API by using the default execute-api endpoint. * By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazo * naws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the * default endpoint. Defaults to `false`. If importing an OpenAPI specification via the `body` argument * , this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApi * Endpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger * extensions-endpoint-configuration.html). If the argument value is `true` and is different than the * OpenAPI value, the argument value will override the OpenAPI value. */ disableExecuteApiEndpoint?: boolean | core.BooleanOut; /** * (Optional) Configuration block defining API endpoint configuration including endpoint type. Defined * below. */ endpointConfiguration?: EndpointConfiguration; /** * (Optional) Minimum response size to compress for the REST API. Integer between `-1` and `10485760` ( * 10MB). Setting a value greater than `-1` will enable compression, `-1` disables compression (default * ). If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon * apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/devel * operguide/api-gateway-openapi-minimum-compression-size.html). If the argument value (_except_ `-1`) * is provided and is different than the OpenAPI value, the argument value will override the OpenAPI va * lue. */ minimumCompressionSize?: number | core.NumberOut; /** * (Required) Name of the REST API. If importing an OpenAPI specification via the `body` argument, this * corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, t * he argument value will override the OpenAPI value. */ name: string | core.StringOut; /** * (Optional) Map of customizations for importing the specification in the `body` argument. For example * , to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additio * nal documentation, including other parameters such as `basepath`, can be found in the [API Gateway D * eveloper Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api. * html). */ parameters?: core.Map | core.MapOut; /** * (Optional) JSON formatted policy document that controls access to the API Gateway. For more informat * ion about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide]( * https://learn.hashicorp.com/terraform/aws/iam-policy). Terraform will only perform drift detection o * f its value when present in a configuration. We recommend using the [`aws_api_gateway_rest_api_polic * y` resource](/docs/providers/aws/r/api_gateway_rest_api_policy.html) instead. If importing an OpenAP * I specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` exten * sion](https://docs.aws.amazon.com/apigateway/latest/developerguide/openapi-extensions-policy.html). * If the argument value is provided and is different than the OpenAPI value, the argument value will o * verride the OpenAPI value. */ policy?: string | core.StringOut; /** * (Optional) Specifies the mode of the PutRestApi operation when importing an OpenAPI specification vi * a the `body` argument (create or update operation). Valid values are `merge` and `overwrite`. If uns * pecificed, defaults to `overwrite` (for backwards compatibility). This corresponds to the [`x-amazon * apigateway-put-integration-method` extension](https://docs.aws.amazon.com/apigateway/latest/develop * erguide/api-gateway-swagger-extensions-put-integration-method.html). If the argument value is provid * ed and is different than the OpenAPI value, the argument value will override the OpenAPI value. */ putRestApiMode?: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export declare class RestApi extends core.Resource { /** * (Optional) Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. * If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-a * pigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/ap * i-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is differen * t than the OpenAPI value, the argument value will override the OpenAPI value. */ apiKeySource?: string | core.StringOut; /** * Amazon Resource Name (ARN) */ arn: string | core.StringOut; /** * (Optional) List of binary media types supported by the REST API. By default, the REST API supports o * nly UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this * corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com * /apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the ar * gument value is provided and is different than the OpenAPI value, the argument value will override t * he OpenAPI value. */ binaryMediaTypes?: core.Array | core.ArrayOut; /** * (Optional) OpenAPI specification that defines the set of routes and integrations to create as part o * f the REST API. This configuration, and any updates to it, will replace all REST API configuration e * xcept values overridden in this resource configuration and other resource updates applied after this * resource but before any `aws_api_gateway_deployment` creation. More information about REST API Open * API support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway * /latest/developerguide/api-gateway-import-api.html). */ body?: string | core.StringOut; /** * The creation date of the REST API */ createdDate: string | core.StringOut; /** * (Optional) Description of the REST API. If importing an OpenAPI specification via the `body` argumen * t, this corresponds to the `info.description` field. If the argument value is provided and is differ * ent than the OpenAPI value, the argument value will override the OpenAPI value. */ description?: string | core.StringOut; /** * (Optional) Specifies whether clients can invoke your API by using the default execute-api endpoint. * By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazo * naws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the * default endpoint. Defaults to `false`. If importing an OpenAPI specification via the `body` argument * , this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApi * Endpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger * extensions-endpoint-configuration.html). If the argument value is `true` and is different than the * OpenAPI value, the argument value will override the OpenAPI value. */ disableExecuteApiEndpoint?: boolean | core.BooleanOut; /** * (Optional) Configuration block defining API endpoint configuration including endpoint type. Defined * below. */ endpointConfiguration?: EndpointConfiguration; /** * The execution ARN part to be used in [`lambda_permission`](/docs/providers/aws/r/lambda_permission.h * tml)'s `source_arn` */ executionArn: string | core.StringOut; /** * The ID of the REST API */ id: string | core.StringOut; /** * (Optional) Minimum response size to compress for the REST API. Integer between `-1` and `10485760` ( * 10MB). Setting a value greater than `-1` will enable compression, `-1` disables compression (default * ). If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon * apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/devel * operguide/api-gateway-openapi-minimum-compression-size.html). If the argument value (_except_ `-1`) * is provided and is different than the OpenAPI value, the argument value will override the OpenAPI va * lue. */ minimumCompressionSize?: number | core.NumberOut; /** * (Required) Name of the REST API. If importing an OpenAPI specification via the `body` argument, this * corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, t * he argument value will override the OpenAPI value. */ name: string | core.StringOut; /** * (Optional) Map of customizations for importing the specification in the `body` argument. For example * , to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additio * nal documentation, including other parameters such as `basepath`, can be found in the [API Gateway D * eveloper Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api. * html). */ parameters?: core.Map | core.MapOut; /** * (Optional) JSON formatted policy document that controls access to the API Gateway. For more informat * ion about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide]( * https://learn.hashicorp.com/terraform/aws/iam-policy). Terraform will only perform drift detection o * f its value when present in a configuration. We recommend using the [`aws_api_gateway_rest_api_polic * y` resource](/docs/providers/aws/r/api_gateway_rest_api_policy.html) instead. If importing an OpenAP * I specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` exten * sion](https://docs.aws.amazon.com/apigateway/latest/developerguide/openapi-extensions-policy.html). * If the argument value is provided and is different than the OpenAPI value, the argument value will o * verride the OpenAPI value. */ policy?: string | core.StringOut; /** * (Optional) Specifies the mode of the PutRestApi operation when importing an OpenAPI specification vi * a the `body` argument (create or update operation). Valid values are `merge` and `overwrite`. If uns * pecificed, defaults to `overwrite` (for backwards compatibility). This corresponds to the [`x-amazon * apigateway-put-integration-method` extension](https://docs.aws.amazon.com/apigateway/latest/develop * erguide/api-gateway-swagger-extensions-put-integration-method.html). If the argument value is provid * ed and is different than the OpenAPI value, the argument value will override the OpenAPI value. */ putRestApiMode?: string | core.StringOut; /** * The resource ID of the REST API's root */ rootResourceId: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: RestApiArgs); getNamespace(): string; } //# sourceMappingURL=rest_api.d.ts.map