Class ApiDefinition
java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.apigateway.ApiDefinition
- All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable
- Direct Known Subclasses:
AssetApiDefinition,InlineApiDefinition,S3ApiDefinition
@Generated(value="jsii-pacmak/1.119.0 (build 1634eac)",
date="2025-11-17T14:40:44.196Z")
@Stability(Stable)
public abstract class ApiDefinition
extends software.amazon.jsii.JsiiObject
Represents an OpenAPI definition asset.
Example:
SpecRestApi api = SpecRestApi.Builder.create(this, "books-api")
.apiDefinition(ApiDefinition.fromAsset("path-to-file.json"))
.mode(RestApiMode.MERGE)
.build();
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedApiDefinition(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedApiDefinition(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionabstract ApiDefinitionConfigbind(software.constructs.Construct scope) Called when the specification is initialized to allow this object to bind to the stack, add resources and have fun.voidbindAfterCreate(software.constructs.Construct _scope, IRestApiRef _restApi) Called after the CFN RestApi resource has been created to allow the Api Definition to bind to it.static AssetApiDefinitionLoads the API specification from a local disk asset.static AssetApiDefinitionfromAsset(String file, AssetOptions options) Loads the API specification from a local disk asset.static S3ApiDefinitionfromBucket(IBucket bucket, String key) Creates an API definition from a specification file in an S3 bucket.static S3ApiDefinitionfromBucket(IBucket bucket, String key, String objectVersion) Creates an API definition from a specification file in an S3 bucket.static InlineApiDefinitionfromInline(Object definition) Create an API definition from an inline object.Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
ApiDefinition
protected ApiDefinition(software.amazon.jsii.JsiiObjectRef objRef) -
ApiDefinition
protected ApiDefinition(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
ApiDefinition
@Stability(Stable) protected ApiDefinition()
-
-
Method Details
-
fromAsset
@Stability(Stable) @NotNull public static AssetApiDefinition fromAsset(@NotNull String file, @Nullable AssetOptions options) Loads the API specification from a local disk asset.- Parameters:
file- This parameter is required.options-
-
fromAsset
Loads the API specification from a local disk asset.- Parameters:
file- This parameter is required.
-
fromBucket
@Stability(Stable) @NotNull public static S3ApiDefinition fromBucket(@NotNull IBucket bucket, @NotNull String key, @Nullable String objectVersion) Creates an API definition from a specification file in an S3 bucket.- Parameters:
bucket- This parameter is required.key- This parameter is required.objectVersion-
-
fromBucket
@Stability(Stable) @NotNull public static S3ApiDefinition fromBucket(@NotNull IBucket bucket, @NotNull String key) Creates an API definition from a specification file in an S3 bucket.- Parameters:
bucket- This parameter is required.key- This parameter is required.
-
fromInline
@Stability(Stable) @NotNull public static InlineApiDefinition fromInline(@NotNull Object definition) Create an API definition from an inline object.The inline object must follow the schema of OpenAPI 2.0 or OpenAPI 3.0
Example:
ApiDefinition.fromInline(Map.of( "openapi", "3.0.2", "paths", Map.of( "/pets", Map.of( "get", Map.of( "responses", Map.of( 200, Map.of( "content", Map.of( "application/json", Map.of( "schema", Map.of( "$ref", "#/components/schemas/Empty"))))), "x-amazon-apigateway-integration", Map.of( "responses", Map.of( "default", Map.of( "statusCode", "200")), "requestTemplates", Map.of( "application/json", "{\"statusCode\": 200}"), "passthroughBehavior", "when_no_match", "type", "mock")))), "components", Map.of( "schemas", Map.of( "Empty", Map.of( "title", "Empty Schema", "type", "object")))));- Parameters:
definition- This parameter is required.
-
bind
@Stability(Stable) @NotNull public abstract ApiDefinitionConfig bind(@NotNull software.constructs.Construct scope) Called when the specification is initialized to allow this object to bind to the stack, add resources and have fun.- Parameters:
scope- The binding scope. This parameter is required.
-
bindAfterCreate
@Stability(Stable) public void bindAfterCreate(@NotNull software.constructs.Construct _scope, @NotNull IRestApiRef _restApi) Called after the CFN RestApi resource has been created to allow the Api Definition to bind to it.Specifically it's required to allow assets to add metadata for tooling like SAM CLI to be able to find their origins.
- Parameters:
_scope- This parameter is required._restApi- This parameter is required.
-