@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:36.081Z") @Stability(value=Stable) public abstract class ApiDefinition extends software.amazon.jsii.JsiiObject
Example:
Integration integration;
SpecRestApi api = SpecRestApi.Builder.create(this, "books-api")
.apiDefinition(ApiDefinition.fromAsset("path-to-file.json"))
.build();
Resource booksResource = api.root.addResource("books");
booksResource.addMethod("GET", integration);
| Modifier | Constructor and Description |
|---|---|
protected |
ApiDefinition() |
protected |
ApiDefinition(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
ApiDefinition(software.amazon.jsii.JsiiObjectRef objRef) |
| Modifier and Type | Method and Description |
|---|---|
abstract ApiDefinitionConfig |
bind(software.constructs.Construct scope)
Called when the specification is initialized to allow this object to bind to the stack, add resources and have fun.
|
void |
bindAfterCreate(software.constructs.Construct _scope,
IRestApi _restApi)
Called after the CFN RestApi resource has been created to allow the Api Definition to bind to it.
|
static AssetApiDefinition |
fromAsset(String file)
Loads the API specification from a local disk asset.
|
static AssetApiDefinition |
fromAsset(String file,
AssetOptions options)
Loads the API specification from a local disk asset.
|
static S3ApiDefinition |
fromBucket(IBucket bucket,
String key)
Creates an API definition from a specification file in an S3 bucket.
|
static S3ApiDefinition |
fromBucket(IBucket bucket,
String key,
String objectVersion)
Creates an API definition from a specification file in an S3 bucket.
|
static InlineApiDefinition |
fromInline(Object definition)
Create an API definition from an inline object.
|
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetprotected ApiDefinition(software.amazon.jsii.JsiiObjectRef objRef)
protected ApiDefinition(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Stable) protected ApiDefinition()
@Stability(value=Stable) @NotNull public static AssetApiDefinition fromAsset(@NotNull String file, @Nullable AssetOptions options)
file - This parameter is required.options - @Stability(value=Stable) @NotNull public static AssetApiDefinition fromAsset(@NotNull String file)
file - This parameter is required.@Stability(value=Stable) @NotNull public static S3ApiDefinition fromBucket(@NotNull IBucket bucket, @NotNull String key, @Nullable String objectVersion)
bucket - This parameter is required.key - This parameter is required.objectVersion - @Stability(value=Stable) @NotNull public static S3ApiDefinition fromBucket(@NotNull IBucket bucket, @NotNull String key)
bucket - This parameter is required.key - This parameter is required.@Stability(value=Stable) @NotNull public static InlineApiDefinition fromInline(@NotNull Object definition)
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")))));
definition - This parameter is required.@Stability(value=Stable) @NotNull public abstract ApiDefinitionConfig bind(@NotNull software.constructs.Construct scope)
scope - The binding scope. This parameter is required.@Stability(value=Stable)
public void bindAfterCreate(@NotNull
software.constructs.Construct _scope,
@NotNull
IRestApi _restApi)
Specifically it's required to allow assets to add metadata for tooling like SAM CLI to be able to find their origins.
_scope - This parameter is required._restApi - This parameter is required.Copyright © 2022. All rights reserved.