aws-cdk-lib.aws_sam.CfnApiProps

interface CfnApiProps

LanguageType name
.NETAmazon.CDK.AWS.SAM.CfnApiProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awssam#CfnApiProps
Javasoftware.amazon.awscdk.services.sam.CfnApiProps
Pythonaws_cdk.aws_sam.CfnApiProps
TypeScript aws-cdk-lib » aws_sam » CfnApiProps

Properties for defining a CfnApi.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_sam as sam } from 'aws-cdk-lib';

declare const authorizers: any;
declare const definitionBody: any;
declare const gatewayResponses: any;
declare const methodSettings: any;
declare const models: any;
const cfnApiProps: sam.CfnApiProps = {
  stageName: 'stageName',

  // the properties below are optional
  accessLogSetting: {
    destinationArn: 'destinationArn',
    format: 'format',
  },
  auth: {
    addDefaultAuthorizerToCorsPreflight: false,
    authorizers: authorizers,
    defaultAuthorizer: 'defaultAuthorizer',
  },
  binaryMediaTypes: ['binaryMediaTypes'],
  cacheClusterEnabled: false,
  cacheClusterSize: 'cacheClusterSize',
  canarySetting: {
    deploymentId: 'deploymentId',
    percentTraffic: 123,
    stageVariableOverrides: {
      stageVariableOverridesKey: 'stageVariableOverrides',
    },
    useStageCache: false,
  },
  cors: 'cors',
  definitionBody: definitionBody,
  definitionUri: 'definitionUri',
  description: 'description',
  disableExecuteApiEndpoint: false,
  domain: {
    certificateArn: 'certificateArn',
    domainName: 'domainName',

    // the properties below are optional
    basePath: ['basePath'],
    endpointConfiguration: 'endpointConfiguration',
    mutualTlsAuthentication: {
      truststoreUri: 'truststoreUri',
      truststoreVersion: 'truststoreVersion',
    },
    ownershipVerificationCertificateArn: 'ownershipVerificationCertificateArn',
    route53: {
      distributedDomainName: 'distributedDomainName',
      evaluateTargetHealth: false,
      hostedZoneId: 'hostedZoneId',
      hostedZoneName: 'hostedZoneName',
      ipV6: false,
    },
    securityPolicy: 'securityPolicy',
  },
  endpointConfiguration: 'endpointConfiguration',
  gatewayResponses: gatewayResponses,
  methodSettings: [methodSettings],
  minimumCompressionSize: 123,
  models: models,
  name: 'name',
  openApiVersion: 'openApiVersion',
  tags: {
    tagsKey: 'tags',
  },
  tracingEnabled: false,
  variables: {
    variablesKey: 'variables',
  },
};

Properties

NameTypeDescription
stageNamestringAWS::Serverless::Api.StageName.
accessLogSetting?IResolvable | AccessLogSettingPropertyAWS::Serverless::Api.AccessLogSetting.
auth?IResolvable | AuthPropertyAWS::Serverless::Api.Auth.
binaryMediaTypes?string[]AWS::Serverless::Api.BinaryMediaTypes.
cacheClusterEnabled?boolean | IResolvableAWS::Serverless::Api.CacheClusterEnabled.
cacheClusterSize?stringAWS::Serverless::Api.CacheClusterSize.
canarySetting?IResolvable | CanarySettingPropertyAWS::Serverless::Api.CanarySetting.
cors?string | IResolvable | CorsConfigurationPropertyAWS::Serverless::Api.Cors.
definitionBody?anyAWS::Serverless::Api.DefinitionBody.
definitionUri?string | IResolvable | S3LocationPropertyAWS::Serverless::Api.DefinitionUri.
description?stringAWS::Serverless::Api.Description.
disableExecuteApiEndpoint?boolean | IResolvableAWS::Serverless::Api.DisableExecuteApiEndpoint.
domain?IResolvable | DomainConfigurationPropertyAWS::Serverless::Api.Domain.
endpointConfiguration?string | IResolvable | EndpointConfigurationPropertyAWS::Serverless::Api.EndpointConfiguration.
gatewayResponses?anyAWS::Serverless::Api.GatewayResponses.
methodSettings?any[] | IResolvableAWS::Serverless::Api.MethodSettings.
minimumCompressionSize?numberAWS::Serverless::Api.MinimumCompressionSize.
models?anyAWS::Serverless::Api.Models.
name?stringAWS::Serverless::Api.Name.
openApiVersion?stringAWS::Serverless::Api.OpenApiVersion.
tags?{ [string]: string }AWS::Serverless::Api.Tags.
tracingEnabled?boolean | IResolvableAWS::Serverless::Api.TracingEnabled.
variables?IResolvable | { [string]: string }AWS::Serverless::Api.Variables.

stageName

Type: string

AWS::Serverless::Api.StageName.


accessLogSetting?

Type: IResolvable | AccessLogSettingProperty (optional)

AWS::Serverless::Api.AccessLogSetting.


auth?

Type: IResolvable | AuthProperty (optional)

AWS::Serverless::Api.Auth.


binaryMediaTypes?

Type: string[] (optional)

AWS::Serverless::Api.BinaryMediaTypes.


cacheClusterEnabled?

Type: boolean | IResolvable (optional)

AWS::Serverless::Api.CacheClusterEnabled.


cacheClusterSize?

Type: string (optional)

AWS::Serverless::Api.CacheClusterSize.


canarySetting?

Type: IResolvable | CanarySettingProperty (optional)

AWS::Serverless::Api.CanarySetting.


cors?

Type: string | IResolvable | CorsConfigurationProperty (optional)

AWS::Serverless::Api.Cors.


definitionBody?

Type: any (optional)

AWS::Serverless::Api.DefinitionBody.


definitionUri?

Type: string | IResolvable | S3LocationProperty (optional)

AWS::Serverless::Api.DefinitionUri.


description?

Type: string (optional)

AWS::Serverless::Api.Description.


disableExecuteApiEndpoint?

Type: boolean | IResolvable (optional)

AWS::Serverless::Api.DisableExecuteApiEndpoint.


domain?

Type: IResolvable | DomainConfigurationProperty (optional)

AWS::Serverless::Api.Domain.


endpointConfiguration?

Type: string | IResolvable | EndpointConfigurationProperty (optional)

AWS::Serverless::Api.EndpointConfiguration.


gatewayResponses?

Type: any (optional)

AWS::Serverless::Api.GatewayResponses.


methodSettings?

Type: any[] | IResolvable (optional)

AWS::Serverless::Api.MethodSettings.


minimumCompressionSize?

Type: number (optional)

AWS::Serverless::Api.MinimumCompressionSize.


models?

Type: any (optional)

AWS::Serverless::Api.Models.


name?

Type: string (optional)

AWS::Serverless::Api.Name.


openApiVersion?

Type: string (optional)

AWS::Serverless::Api.OpenApiVersion.


tags?

Type: { [string]: string } (optional)

AWS::Serverless::Api.Tags.


tracingEnabled?

Type: boolean | IResolvable (optional)

AWS::Serverless::Api.TracingEnabled.


variables?

Type: IResolvable | { [string]: string } (optional)

AWS::Serverless::Api.Variables.