AddOpenApiTargetOptions Struct
Options for adding an OpenAPI target to a gateway.
Example
ts
const gateway = new agentcore.Gateway(this, "MyGateway", {
gatewayName: "my-gateway",
});
// Create an API key credential provider in Token Vault
const apiKeyProvider = new agentcore.ApiKeyCredentialProvider(this, "MyApiKeyProvider", {
apiKeyCredentialProviderName: "my-apikey",
});
const bucket = s3.Bucket.fromBucketName(this, "ExistingBucket", "my-schema-bucket");
const s3mySchema = agentcore.ApiSchema.fromS3File(bucket, "schemas/myschema.yaml");
// Add an OpenAPI target using the L2 construct directly
const target = gateway.addOpenApiTarget("MyTarget", {
gatewayTargetName: "my-api-target",
description: "Target for external API integration",
apiSchema: s3mySchema,
credentialProviderConfigurations: [
agentcore.GatewayCredentialProvider.fromApiKeyIdentity(apiKeyProvider, {
credentialLocation: agentcore.ApiKeyCredentialLocation.header({
credentialParameterName: "X-API-Key",
}),
}),
],
});
// This makes sure your s3 bucket is available before target
target.node.addDependency(bucket);
Properties
apiSchemaApiSchemaapi_schemaApiSchemaapiSchemaApiSchemaApiSchemaApiSchemaApiSchemaApiSchemarequired#The OpenAPI schema defining the API.
credentialProviderConfigurationsoptionalICredentialProviderConfig[]credential_provider_configurationsoptionaltyping.List[ICredentialProviderConfig]credentialProviderConfigurationsoptionalList<ICredentialProviderConfig>CredentialProviderConfigurationsoptionalICredentialProviderConfig[]CredentialProviderConfigurationsoptional*[]ICredentialProviderConfig#Credential providers for outbound authentication (OpenAPI targets use API Key or OAuth, not IAM).
Default: none (no credential configuration on the target; supply providers for secured backends)
descriptionoptionalstringdescriptionoptionalstrdescriptionoptionalStringDescriptionoptionalstringDescriptionoptional*string#Optional description for the gateway target.
Default: No description
gatewayTargetNameoptionalstringgateway_target_nameoptionalstrgatewayTargetNameoptionalStringGatewayTargetNameoptionalstringGatewayTargetNameoptional*string#The name of the gateway target Valid characters are a-z, A-Z, 0-9, _ (underscore) and - (hyphen).
Default: auto generate
validateOpenApiSchemaoptionalbooleanvalidate_open_api_schemaoptionalboolvalidateOpenApiSchemaoptionalBooleanValidateOpenApiSchemaoptionalboolValidateOpenApiSchemaoptional*bool= true#Whether to validate the OpenAPI schema or not Note: Validation is only performed for inline and asset-based schema and during CDK synthesis.
S3 schemas cannot be validated at synthesis time.