Table of Contents

Class SpecRestApiProps

Namespace
Amazon.CDK.AWS.APIGateway
Assembly
Amazon.CDK.AWS.APIGateway.dll

Props to instantiate a new SpecRestApi.

public class SpecRestApiProps : ISpecRestApiProps, IRestApiBaseProps
Inheritance
SpecRestApiProps
Implements
Inherited Members

Examples

Integration integration;


            var api = new SpecRestApi(this, "books-api", new SpecRestApiProps {
                ApiDefinition = ApiDefinition.FromAsset("path-to-file.json")
            });

            var booksResource = api.Root.AddResource("books");
            booksResource.AddMethod("GET", integration);

Remarks

ExampleMetadata: infused

Constructors

SpecRestApiProps()

public SpecRestApiProps()

Properties

ApiDefinition

An OpenAPI definition compatible with API Gateway.

public ApiDefinition ApiDefinition { get; set; }

Property Value

ApiDefinition

Remarks

CloudWatchRole

Automatically configure an AWS CloudWatch role for API Gateway.

public bool? CloudWatchRole { get; set; }

Property Value

bool?

Remarks

Default: true

Deploy

Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes.

public bool? Deploy { get; set; }

Property Value

bool?

Remarks

Since API Gateway deployments are immutable, When this option is enabled (by default), an AWS::ApiGateway::Deployment resource will automatically created with a logical ID that hashes the API model (methods, resources and options). This means that when the model changes, the logical ID of this CloudFormation resource will change, and a new deployment will be created.

If this is set, latestDeployment will refer to the Deployment object and deploymentStage will refer to a Stage that points to this deployment. To customize the stage options, use the deployOptions property.

A CloudFormation Output will also be defined with the root URL endpoint of this REST API.

Default: true

DeployOptions

Options for the API Gateway stage that will always point to the latest deployment when deploy is enabled.

public IStageOptions? DeployOptions { get; set; }

Property Value

IStageOptions

Remarks

If deploy is disabled, this value cannot be set.

Default: - Based on defaults of StageOptions.

DisableExecuteApiEndpoint

Specifies whether clients can invoke the API using the default execute-api endpoint.

public bool? DisableExecuteApiEndpoint { get; set; }

Property Value

bool?

Remarks

To require that clients use a custom domain name to invoke the API, disable the default endpoint.

Default: false

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html

DomainName

Configure a custom domain name and map it to this API.

public IDomainNameOptions? DomainName { get; set; }

Property Value

IDomainNameOptions

Remarks

Default: - no domain name is defined, use addDomainName or directly define a DomainName.

EndpointExportName

Export name for the CfnOutput containing the API endpoint.

public string? EndpointExportName { get; set; }

Property Value

string

Remarks

Default: - when no export name is given, output will be created without export

EndpointTypes

A list of the endpoint types of the API.

public EndpointType[]? EndpointTypes { get; set; }

Property Value

EndpointType[]

Remarks

Use this property when creating an API.

Default: EndpointType.EDGE

FailOnWarnings

Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource.

public bool? FailOnWarnings { get; set; }

Property Value

bool?

Remarks

Default: false

Parameters

Custom header parameters for the request.

public IDictionary<string, string>? Parameters { get; set; }

Property Value

IDictionary<string, string>

Remarks

Policy

A policy document that contains the permissions for this RestApi.

public PolicyDocument? Policy { get; set; }

Property Value

PolicyDocument

Remarks

Default: - No policy.

RestApiName

A name for the API Gateway RestApi resource.

public string? RestApiName { get; set; }

Property Value

string

Remarks

Default: - ID of the RestApi construct.

RetainDeployments

Retains old deployment resources when the API changes.

public bool? RetainDeployments { get; set; }

Property Value

bool?

Remarks

This allows manually reverting stages to point to old deployments via the AWS Console.

Default: false