aws-cdk-lib.aws_apigateway.IResource

interface IResource

LanguageType name
.NETAmazon.CDK.AWS.APIGateway.IResource
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsapigateway#IResource
Javasoftware.amazon.awscdk.services.apigateway.IResource
Pythonaws_cdk.aws_apigateway.IResource
TypeScript (source)aws-cdk-lib » aws_apigateway » IResource

Implemented by ProxyResource, Resource

Obtainable from Resource.fromResourceAttributes(), ResourceBase.getResource()

Properties

NameTypeDescription
apiIRestApiThe rest API that this resource is part of.
envResourceEnvironmentThe environment this resource belongs to.
nodeNodeThe tree node.
pathstringThe full path of this resource.
resourceIdstringThe ID of the resource.
stackStackThe stack in which this resource is defined.
defaultCorsPreflightOptions?CorsOptionsDefault options for CORS preflight OPTIONS method.
defaultIntegration?IntegrationAn integration to use as a default for all methods created within this API unless an integration is specified.
defaultMethodOptions?MethodOptionsMethod options to use as a default for all methods created within this API unless custom options are specified.
parentResource?IResourceThe parent of this resource or undefined for the root resource.

api

Type: IRestApi

The rest API that this resource is part of.

The reason we need the RestApi object itself and not just the ID is because the model is being tracked by the top-level RestApi object for the purpose of calculating it's hash to determine the ID of the deployment. This allows us to automatically update the deployment when the model of the REST API changes.


env

Type: ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


node

Type: Node

The tree node.


path

Type: string

The full path of this resource.


resourceId

Type: string

The ID of the resource.


stack

Type: Stack

The stack in which this resource is defined.


defaultCorsPreflightOptions?

Type: CorsOptions (optional)

Default options for CORS preflight OPTIONS method.


defaultIntegration?

Type: Integration (optional)

An integration to use as a default for all methods created within this API unless an integration is specified.


defaultMethodOptions?

Type: MethodOptions (optional)

Method options to use as a default for all methods created within this API unless custom options are specified.


parentResource?

Type: IResource (optional)

The parent of this resource or undefined for the root resource.

Methods

NameDescription
addCorsPreflight(options)Adds an OPTIONS method to this resource which responds to Cross-Origin Resource Sharing (CORS) preflight requests.
addMethod(httpMethod, target?, options?)Defines a new method for this resource.
addProxy(options?)Adds a greedy proxy resource ("{proxy+}") and an ANY method to this route.
addResource(pathPart, options?)Defines a new child resource where this resource is the parent.
applyRemovalPolicy(policy)Apply the given removal policy to this resource.
getResource(pathPart)Retrieves a child resource by path part.
resourceForPath(path)Gets or create all resources leading up to the specified path.

addCorsPreflight(options)

public addCorsPreflight(options: CorsOptions): Method

Parameters

  • options CorsOptions — CORS options.

Returns

  • Method

Adds an OPTIONS method to this resource which responds to Cross-Origin Resource Sharing (CORS) preflight requests.

Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional HTTP headers to tell browsers to give a web application running at one origin, access to selected resources from a different origin. A web application executes a cross-origin HTTP request when it requests a resource that has a different origin (domain, protocol, or port) from its own.

See also: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS


addMethod(httpMethod, target?, options?)

public addMethod(httpMethod: string, target?: Integration, options?: MethodOptions): Method

Parameters

  • httpMethod string — The HTTP method.
  • target Integration — The target backend integration for this method.
  • options MethodOptions — Method options, such as authentication.

Returns

  • Method

Defines a new method for this resource.


addProxy(options?)

public addProxy(options?: ProxyResourceOptions): ProxyResource

Parameters

  • options ProxyResourceOptions — Default integration and method options.

Returns

  • ProxyResource

Adds a greedy proxy resource ("{proxy+}") and an ANY method to this route.


addResource(pathPart, options?)

public addResource(pathPart: string, options?: ResourceOptions): Resource

Parameters

  • pathPart string — The path part for the child resource.
  • options ResourceOptions — Resource options.

Returns

  • Resource

Defines a new child resource where this resource is the parent.


applyRemovalPolicy(policy)

public applyRemovalPolicy(policy: RemovalPolicy): void

Parameters

  • policy RemovalPolicy

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).


getResource(pathPart)

public getResource(pathPart: string): IResource

Parameters

  • pathPart string — The path part of the child resource.

Returns

  • IResource

Retrieves a child resource by path part.


resourceForPath(path)

public resourceForPath(path: string): Resource

Parameters

  • path string — The relative path.

Returns

  • Resource

Gets or create all resources leading up to the specified path.

  • Path may only start with "/" if this method is called on the root resource.
  • All resources are created using default options.