@aws-cdk/aws-bedrock-agentcore-alpha 2.236.0-alpha.0 → 2.237.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +663 -173
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +23 -1
- package/README.md +129 -4
- package/lib/common/types.d.ts +35 -0
- package/lib/common/types.js +41 -0
- package/lib/gateway/gateway-base.js +1 -1
- package/lib/gateway/gateway.js +1 -1
- package/lib/gateway/inbound-auth/authorizer.d.ts +25 -0
- package/lib/gateway/inbound-auth/authorizer.js +17 -7
- package/lib/gateway/inbound-auth/custom-claim.d.ts +50 -0
- package/lib/gateway/inbound-auth/custom-claim.js +127 -0
- package/lib/gateway/interceptor.js +1 -1
- package/lib/gateway/outbound-auth/api-key.js +1 -1
- package/lib/gateway/outbound-auth/credential-provider.js +1 -1
- package/lib/gateway/protocol.js +2 -2
- package/lib/gateway/targets/schema/api-schema.js +7 -6
- package/lib/gateway/targets/schema/tool-schema.js +7 -6
- package/lib/gateway/targets/target-base.js +1 -1
- package/lib/gateway/targets/target-configuration.js +5 -5
- package/lib/gateway/targets/target.js +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +8 -2
- package/lib/memory/memory-strategy.js +1 -1
- package/lib/memory/memory.js +2 -2
- package/lib/memory/strategies/managed-strategy.js +1 -1
- package/lib/memory/strategies/self-managed-strategy.js +1 -1
- package/lib/network/network-configuration.js +4 -4
- package/lib/runtime/inbound-auth/custom-claim.d.ts +50 -0
- package/lib/runtime/inbound-auth/custom-claim.js +127 -0
- package/lib/runtime/{runtime-authorizer-configuration.d.ts → inbound-auth/runtime-authorizer-configuration.d.ts} +10 -3
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +183 -0
- package/lib/runtime/runtime-artifact.js +1 -1
- package/lib/runtime/runtime-base.js +1 -1
- package/lib/runtime/runtime-endpoint-base.js +1 -1
- package/lib/runtime/runtime-endpoint.js +1 -1
- package/lib/runtime/runtime.d.ts +1 -1
- package/lib/runtime/runtime.js +2 -2
- package/lib/tools/browser.js +2 -2
- package/lib/tools/code-interpreter.js +2 -2
- package/package.json +9 -9
- package/lib/runtime/runtime-authorizer-configuration.js +0 -159
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -92,6 +92,8 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterNetworkConfiguratio
|
|
|
92
92
|
}
|
|
93
93
|
function _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeNetworkConfiguration(p) {
|
|
94
94
|
}
|
|
95
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_CustomClaimOperator(p) {
|
|
96
|
+
}
|
|
95
97
|
function _aws_cdk_aws_bedrock_agentcore_alpha_ProtocolType(p) {
|
|
96
98
|
}
|
|
97
99
|
function _aws_cdk_aws_bedrock_agentcore_alpha_RequestHeaderConfiguration(p) {
|
|
@@ -120,6 +122,8 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime(p) {
|
|
|
120
122
|
}
|
|
121
123
|
function _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeArtifact(p) {
|
|
122
124
|
}
|
|
125
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeCustomClaim(p) {
|
|
126
|
+
}
|
|
123
127
|
function _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeAuthorizerConfiguration(p) {
|
|
124
128
|
}
|
|
125
129
|
function _aws_cdk_aws_bedrock_agentcore_alpha_IRuntimeEndpoint(p) {
|
|
@@ -363,6 +367,18 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizerType(p) {
|
|
|
363
367
|
function _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayAuthorizerConfig(p) {
|
|
364
368
|
}
|
|
365
369
|
function _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtConfiguration(p) {
|
|
370
|
+
if (p == null)
|
|
371
|
+
return;
|
|
372
|
+
visitedObjects.add(p);
|
|
373
|
+
try {
|
|
374
|
+
if (p.customClaims != null)
|
|
375
|
+
for (const o of p.customClaims)
|
|
376
|
+
if (!visitedObjects.has(o))
|
|
377
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_GatewayCustomClaim(o);
|
|
378
|
+
}
|
|
379
|
+
finally {
|
|
380
|
+
visitedObjects.delete(p);
|
|
381
|
+
}
|
|
366
382
|
}
|
|
367
383
|
function _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtAuthorizer(p) {
|
|
368
384
|
}
|
|
@@ -377,6 +393,10 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_CognitoAuthorizerProps(p) {
|
|
|
377
393
|
for (const o of p.allowedClients)
|
|
378
394
|
if (!visitedObjects.has(o))
|
|
379
395
|
require("aws-cdk-lib/.warnings.jsii.js").aws_cdk_lib_aws_cognito_IUserPoolClient(o);
|
|
396
|
+
if (p.customClaims != null)
|
|
397
|
+
for (const o of p.customClaims)
|
|
398
|
+
if (!visitedObjects.has(o))
|
|
399
|
+
_aws_cdk_aws_bedrock_agentcore_alpha_GatewayCustomClaim(o);
|
|
380
400
|
}
|
|
381
401
|
finally {
|
|
382
402
|
visitedObjects.delete(p);
|
|
@@ -384,6 +404,8 @@ function _aws_cdk_aws_bedrock_agentcore_alpha_CognitoAuthorizerProps(p) {
|
|
|
384
404
|
}
|
|
385
405
|
function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizer(p) {
|
|
386
406
|
}
|
|
407
|
+
function _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCustomClaim(p) {
|
|
408
|
+
}
|
|
387
409
|
function _aws_cdk_aws_bedrock_agentcore_alpha_CredentialProviderType(p) {
|
|
388
410
|
}
|
|
389
411
|
function _aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig(p) {
|
|
@@ -622,4 +644,4 @@ class DeprecationError extends Error {
|
|
|
622
644
|
});
|
|
623
645
|
}
|
|
624
646
|
}
|
|
625
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_bedrock_agentcore_alpha_IMemory, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryBase, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryProps, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Memory, _aws_cdk_aws_bedrock_agentcore_alpha_OverrideConfig, _aws_cdk_aws_bedrock_agentcore_alpha_EpisodicReflectionConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_TriggerConditions, _aws_cdk_aws_bedrock_agentcore_alpha_InvocationConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyType, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_IMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_VpcConfigProps, _aws_cdk_aws_bedrock_agentcore_alpha_NetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_RequestHeaderConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LifecycleConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IBedrockAgentRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeBase, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeArtifact, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeAuthorizerConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IRuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointBase, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointProps, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeProps, _aws_cdk_aws_bedrock_agentcore_alpha_AddEndpointOptions, _aws_cdk_aws_bedrock_agentcore_alpha_Runtime, _aws_cdk_aws_bedrock_agentcore_alpha_ICodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserSigning, _aws_cdk_aws_bedrock_agentcore_alpha_IBrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_RecordingConfig, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayExceptionLevel, _aws_cdk_aws_bedrock_agentcore_alpha_IGateway, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayBase, _aws_cdk_aws_bedrock_agentcore_alpha_AddLambdaTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddOpenApiTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddSmithyTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddMcpServerTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Gateway, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptionPoint, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions, _aws_cdk_aws_bedrock_agentcore_alpha_IInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorBindConfig, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayProtocolConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProtocol, _aws_cdk_aws_bedrock_agentcore_alpha_MCPProtocolVersion, _aws_cdk_aws_bedrock_agentcore_alpha_McpGatewaySearchType, _aws_cdk_aws_bedrock_agentcore_alpha_McpConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpProtocolConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizerType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayAuthorizerConfig, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_IamAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_CognitoAuthorizerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_CredentialProviderType, _aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCredentialProvider, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyAdditionalConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialLocation, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialProviderProps, _aws_cdk_aws_bedrock_agentcore_alpha_OAuthConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_IMcpGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetBase, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetLambdaProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetOpenApiProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetSmithyProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetMcpServerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_TargetConfigurationConfig, _aws_cdk_aws_bedrock_agentcore_alpha_ITargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_OpenApiTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SmithyTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpServerTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinitionType, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ToolSchema };
|
|
647
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_bedrock_agentcore_alpha_IMemory, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryBase, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryProps, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Memory, _aws_cdk_aws_bedrock_agentcore_alpha_OverrideConfig, _aws_cdk_aws_bedrock_agentcore_alpha_EpisodicReflectionConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_ManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_TriggerConditions, _aws_cdk_aws_bedrock_agentcore_alpha_InvocationConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedStrategyProps, _aws_cdk_aws_bedrock_agentcore_alpha_SelfManagedMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyType, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategyCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_IMemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_MemoryStrategy, _aws_cdk_aws_bedrock_agentcore_alpha_VpcConfigProps, _aws_cdk_aws_bedrock_agentcore_alpha_NetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeNetworkConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomClaimOperator, _aws_cdk_aws_bedrock_agentcore_alpha_ProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_RequestHeaderConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LifecycleConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IBedrockAgentRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeBase, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_AgentCoreRuntime, _aws_cdk_aws_bedrock_agentcore_alpha_AgentRuntimeArtifact, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeCustomClaim, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeAuthorizerConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_IRuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointBase, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpointProps, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeEndpoint, _aws_cdk_aws_bedrock_agentcore_alpha_RuntimeProps, _aws_cdk_aws_bedrock_agentcore_alpha_AddEndpointOptions, _aws_cdk_aws_bedrock_agentcore_alpha_Runtime, _aws_cdk_aws_bedrock_agentcore_alpha_ICodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_CodeInterpreterCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserSigning, _aws_cdk_aws_bedrock_agentcore_alpha_IBrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomBase, _aws_cdk_aws_bedrock_agentcore_alpha_RecordingConfig, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomProps, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustomAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_BrowserCustom, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayExceptionLevel, _aws_cdk_aws_bedrock_agentcore_alpha_IGateway, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayBase, _aws_cdk_aws_bedrock_agentcore_alpha_AddLambdaTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddOpenApiTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddSmithyTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_AddMcpServerTargetOptions, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_Gateway, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptionPoint, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions, _aws_cdk_aws_bedrock_agentcore_alpha_IInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_InterceptorBindConfig, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaInterceptor, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayProtocolConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayProtocol, _aws_cdk_aws_bedrock_agentcore_alpha_MCPProtocolVersion, _aws_cdk_aws_bedrock_agentcore_alpha_McpGatewaySearchType, _aws_cdk_aws_bedrock_agentcore_alpha_McpConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpProtocolConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizerType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayAuthorizerConfig, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_IamAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_CognitoAuthorizerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayAuthorizer, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCustomClaim, _aws_cdk_aws_bedrock_agentcore_alpha_CredentialProviderType, _aws_cdk_aws_bedrock_agentcore_alpha_ICredentialProviderConfig, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayCredentialProvider, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyAdditionalConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialLocation, _aws_cdk_aws_bedrock_agentcore_alpha_ApiKeyCredentialProviderProps, _aws_cdk_aws_bedrock_agentcore_alpha_OAuthConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProtocolType, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetType, _aws_cdk_aws_bedrock_agentcore_alpha_IGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_IMcpGatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetBase, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetCommonProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetLambdaProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetOpenApiProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetSmithyProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetMcpServerProps, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTargetAttributes, _aws_cdk_aws_bedrock_agentcore_alpha_GatewayTarget, _aws_cdk_aws_bedrock_agentcore_alpha_TargetConfigurationConfig, _aws_cdk_aws_bedrock_agentcore_alpha_ITargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_LambdaTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_OpenApiTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_SmithyTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_McpServerTargetConfiguration, _aws_cdk_aws_bedrock_agentcore_alpha_ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ApiSchema, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinitionType, _aws_cdk_aws_bedrock_agentcore_alpha_SchemaDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolDefinition, _aws_cdk_aws_bedrock_agentcore_alpha_ToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_AssetToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_InlineToolSchema, _aws_cdk_aws_bedrock_agentcore_alpha_S3ToolSchema };
|
package/README.md
CHANGED
|
@@ -469,16 +469,34 @@ const repository = new ecr.Repository(this, "TestRepository", {
|
|
|
469
469
|
});
|
|
470
470
|
const agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, "v1.0.0");
|
|
471
471
|
|
|
472
|
+
// Optional: Create custom claims for additional validation
|
|
473
|
+
const customClaims = [
|
|
474
|
+
agentcore.RuntimeCustomClaim.withStringValue('department', 'engineering'),
|
|
475
|
+
agentcore.RuntimeCustomClaim.withStringArrayValue('roles', ['admin'], agentcore.CustomClaimOperator.CONTAINS),
|
|
476
|
+
agentcore.RuntimeCustomClaim.withStringArrayValue('permissions', ['read', 'write'], agentcore.CustomClaimOperator.CONTAINS_ANY),
|
|
477
|
+
];
|
|
478
|
+
|
|
472
479
|
const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
473
480
|
runtimeName: "myAgent",
|
|
474
481
|
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
475
482
|
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingCognito(
|
|
476
483
|
userPool, // User Pool (required)
|
|
477
484
|
[userPoolClient, anotherUserPoolClient], // User Pool Clients
|
|
485
|
+
["audience1"], // Allowed Audiences (optional)
|
|
486
|
+
["read", "write"], // Allowed Scopes (optional)
|
|
487
|
+
customClaims, // Custom claims (optional) - see Custom Claims Validation section
|
|
478
488
|
),
|
|
479
489
|
});
|
|
480
490
|
```
|
|
481
491
|
|
|
492
|
+
You can configure:
|
|
493
|
+
|
|
494
|
+
- User Pool: The Cognito User Pool that issues JWT tokens
|
|
495
|
+
- User Pool Clients: One or more Cognito User Pool App Clients that are allowed to access the runtime
|
|
496
|
+
- Allowed audiences: Used to validate that the audiences specified in the Cognito token match or are a subset of the audiences specified in the AgentCore Runtime
|
|
497
|
+
- Allowed scopes: Allow access only if the token contains at least one of the required scopes configured here
|
|
498
|
+
- Custom claims: A set of rules to match specific claims in the incoming token against predefined values for validating JWT tokens
|
|
499
|
+
|
|
482
500
|
#### JWT Authentication
|
|
483
501
|
|
|
484
502
|
To configure custom JWT authentication with your own OpenID Connect (OIDC) provider:
|
|
@@ -495,13 +513,77 @@ const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
|
495
513
|
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingJWT(
|
|
496
514
|
"https://example.com/.well-known/openid-configuration", // Discovery URL (required)
|
|
497
515
|
["client1", "client2"], // Allowed Client IDs (optional)
|
|
498
|
-
["audience1"] // Allowed Audiences (optional)
|
|
516
|
+
["audience1"], // Allowed Audiences (optional)
|
|
517
|
+
["read", "write"], // Allowed Scopes (optional)
|
|
518
|
+
// Custom claims (optional) - see Custom Claims Validation section below
|
|
499
519
|
),
|
|
500
520
|
});
|
|
501
521
|
```
|
|
502
522
|
|
|
523
|
+
You can configure:
|
|
524
|
+
|
|
525
|
+
- Discovery URL: Enter the Discovery URL from your identity provider (e.g. Okta, Cognito, etc.), typically found in that provider's documentation. This allows your Agent or Tool to fetch login, downstream resource token, and verification settings.
|
|
526
|
+
- Allowed audiences: This is used to validate that the audiences specified for the OAuth token matches or are a subset of the audiences specified in the AgentCore Runtime.
|
|
527
|
+
- Allowed clients: This is used to validate that the public identifier of the client, as specified in the authorization token, is allowed to access the AgentCore Runtime.
|
|
528
|
+
- Allowed scopes: Allow access only if the token contains at least one of the required scopes configured here.
|
|
529
|
+
- Custom claims: A set of rules to match specific claims in the incoming token against predefined values for validating JWT tokens.
|
|
530
|
+
|
|
503
531
|
**Note**: The discovery URL must end with `/.well-known/openid-configuration`.
|
|
504
532
|
|
|
533
|
+
##### Custom Claims Validation
|
|
534
|
+
|
|
535
|
+
Custom claims allow you to validate additional fields in JWT tokens beyond the standard audience, client, and scope validations. You can create custom claims using the `RuntimeCustomClaim` class:
|
|
536
|
+
|
|
537
|
+
```typescript fixture=default
|
|
538
|
+
const repository = new ecr.Repository(this, "TestRepository", {
|
|
539
|
+
repositoryName: "test-agent-runtime",
|
|
540
|
+
});
|
|
541
|
+
const agentRuntimeArtifact = agentcore.AgentRuntimeArtifact.fromEcrRepository(repository, "v1.0.0");
|
|
542
|
+
|
|
543
|
+
// String claim - validates that the claim exactly equals the specified value
|
|
544
|
+
// Uses EQUALS operator automatically
|
|
545
|
+
const departmentClaim = agentcore.RuntimeCustomClaim.withStringValue('department', 'engineering');
|
|
546
|
+
|
|
547
|
+
// String array claim with CONTAINS operator (default)
|
|
548
|
+
// Validates that the claim array contains a specific string value
|
|
549
|
+
// IMPORTANT: CONTAINS requires exactly one value in the array parameter
|
|
550
|
+
const rolesClaim = agentcore.RuntimeCustomClaim.withStringArrayValue('roles', ['admin']);
|
|
551
|
+
|
|
552
|
+
// String array claim with CONTAINS_ANY operator
|
|
553
|
+
// Validates that the claim array contains at least one of the specified values
|
|
554
|
+
// Use this when you want to check for multiple possible values
|
|
555
|
+
const permissionsClaim = agentcore.RuntimeCustomClaim.withStringArrayValue(
|
|
556
|
+
'permissions',
|
|
557
|
+
['read', 'write'],
|
|
558
|
+
agentcore.CustomClaimOperator.CONTAINS_ANY
|
|
559
|
+
);
|
|
560
|
+
|
|
561
|
+
// Use custom claims in authorizer configuration
|
|
562
|
+
const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
563
|
+
runtimeName: "myAgent",
|
|
564
|
+
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
565
|
+
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingJWT(
|
|
566
|
+
"https://example.com/.well-known/openid-configuration",
|
|
567
|
+
["client1", "client2"],
|
|
568
|
+
["audience1"],
|
|
569
|
+
["read", "write"],
|
|
570
|
+
[departmentClaim, rolesClaim, permissionsClaim] // Custom claims
|
|
571
|
+
),
|
|
572
|
+
});
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
**Custom Claim Rules**:
|
|
576
|
+
|
|
577
|
+
- **String claims**: Must use the `EQUALS` operator (automatically set). The claim value must exactly match the specified string.
|
|
578
|
+
- **String array claims**: Can use `CONTAINS` (default) or `CONTAINS_ANY` operators:
|
|
579
|
+
- **`CONTAINS`**: Checks if the claim array contains a specific string value. **Requires exactly one value** in the array parameter. For example, `['admin']` will check if the token's claim array contains the string `'admin'`.
|
|
580
|
+
- **`CONTAINS_ANY`**: Checks if the claim array contains at least one of the provided string values. Use this when you want to validate against multiple possible values. For example, `['read', 'write']` will check if the token's claim array contains either `'read'` or `'write'`.
|
|
581
|
+
|
|
582
|
+
**Example Use Cases**:
|
|
583
|
+
|
|
584
|
+
- Use `CONTAINS` when you need to verify a user has a specific role: `RuntimeCustomClaim.withStringArrayValue('roles', ['admin'])`
|
|
585
|
+
- Use `CONTAINS_ANY` when you need to verify a user has any of several permissions: `RuntimeCustomClaim.withStringArrayValue('permissions', ['read', 'write'], CustomClaimOperator.CONTAINS_ANY)`
|
|
586
|
+
|
|
505
587
|
#### OAuth Authentication
|
|
506
588
|
|
|
507
589
|
To configure OAuth 2.0 authentication:
|
|
@@ -516,8 +598,11 @@ const runtime = new agentcore.Runtime(this, "MyAgentRuntime", {
|
|
|
516
598
|
runtimeName: "myAgent",
|
|
517
599
|
agentRuntimeArtifact: agentRuntimeArtifact,
|
|
518
600
|
authorizerConfiguration: agentcore.RuntimeAuthorizerConfiguration.usingOAuth(
|
|
519
|
-
"https://github.com/.well-known/openid-configuration",
|
|
520
|
-
"oauth_client_123",
|
|
601
|
+
"https://github.com/.well-known/openid-configuration", // Discovery URL (required)
|
|
602
|
+
"oauth_client_123", // OAuth Client ID (required)
|
|
603
|
+
["audience1"], // Allowed Audiences (optional)
|
|
604
|
+
["openid", "profile"], // Allowed Scopes (optional)
|
|
605
|
+
// Custom claims (optional) - see Custom Claims Validation section
|
|
521
606
|
),
|
|
522
607
|
});
|
|
523
608
|
```
|
|
@@ -1132,21 +1217,33 @@ your AgentCore gateway. By default, if not provided, the construct will create a
|
|
|
1132
1217
|
**JSON Web Token (JWT)** – A secure and compact token used for authorization. After creating the JWT, you specify it as the authorization
|
|
1133
1218
|
configuration when you create the gateway. You can create a JWT with any of the identity providers at Provider setup and configuration.
|
|
1134
1219
|
|
|
1135
|
-
You can configure a custom authorization provider using the `
|
|
1220
|
+
You can configure a custom authorization provider using the `authorizerConfiguration` property with `GatewayAuthorizer.usingCustomJwt()`.
|
|
1136
1221
|
You need to specify an OAuth discovery server and client IDs/audiences when you create the gateway. You can specify the following:
|
|
1137
1222
|
|
|
1138
1223
|
- Discovery Url — String that must match the pattern ^.+/\.well-known/openid-configuration$ for OpenID Connect discovery URLs
|
|
1139
1224
|
- At least one of the below options depending on the chosen identity provider.
|
|
1140
1225
|
- Allowed audiences — List of allowed audiences for JWT tokens
|
|
1141
1226
|
- Allowed clients — List of allowed client identifiers
|
|
1227
|
+
- Allowed scopes — List of allowed scopes for JWT tokens
|
|
1228
|
+
- Custom claims — Optional custom claim validations (see Custom Claims Validation section below)
|
|
1142
1229
|
|
|
1143
1230
|
```typescript fixture=default
|
|
1231
|
+
|
|
1232
|
+
// Optional: Create custom claims (CustomClaimOperator and GatewayCustomClaim from agentcore)
|
|
1233
|
+
const customClaims = [
|
|
1234
|
+
agentcore.GatewayCustomClaim.withStringValue('department', 'engineering'),
|
|
1235
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('roles', ['admin'], agentcore.CustomClaimOperator.CONTAINS),
|
|
1236
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('permissions', ['read', 'write'], agentcore.CustomClaimOperator.CONTAINS_ANY),
|
|
1237
|
+
];
|
|
1238
|
+
|
|
1144
1239
|
const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
1145
1240
|
gatewayName: "my-gateway",
|
|
1146
1241
|
authorizerConfiguration: agentcore.GatewayAuthorizer.usingCustomJwt({
|
|
1147
1242
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1148
1243
|
allowedAudience: ["my-app"],
|
|
1149
1244
|
allowedClients: ["my-client-id"],
|
|
1245
|
+
allowedScopes: ["read", "write"],
|
|
1246
|
+
customClaims: customClaims, // Optional custom claims
|
|
1150
1247
|
}),
|
|
1151
1248
|
});
|
|
1152
1249
|
```
|
|
@@ -1188,6 +1285,31 @@ const oauthScopes = gateway.oauthScopes;
|
|
|
1188
1285
|
// oauthScopes are in the format: ['{resourceServerId}/read', '{resourceServerId}/write']
|
|
1189
1286
|
```
|
|
1190
1287
|
|
|
1288
|
+
**Using Cognito User Pool Explicitly with Custom Claims** – You can also use an existing Cognito User Pool with custom claims:
|
|
1289
|
+
|
|
1290
|
+
```typescript fixture=default
|
|
1291
|
+
declare const userPool: cognito.UserPool;
|
|
1292
|
+
declare const userPoolClient: cognito.UserPoolClient;
|
|
1293
|
+
|
|
1294
|
+
// Optional: Create custom claims (CustomClaimOperator and GatewayCustomClaim from agentcore)
|
|
1295
|
+
const customClaims = [
|
|
1296
|
+
agentcore.GatewayCustomClaim.withStringValue('department', 'engineering'),
|
|
1297
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('roles', ['admin'], agentcore.CustomClaimOperator.CONTAINS),
|
|
1298
|
+
agentcore.GatewayCustomClaim.withStringArrayValue('permissions', ['read', 'write'], agentcore.CustomClaimOperator.CONTAINS_ANY),
|
|
1299
|
+
];
|
|
1300
|
+
|
|
1301
|
+
const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
1302
|
+
gatewayName: "my-gateway",
|
|
1303
|
+
authorizerConfiguration: agentcore.GatewayAuthorizer.usingCognito({
|
|
1304
|
+
userPool: userPool,
|
|
1305
|
+
allowedClients: [userPoolClient],
|
|
1306
|
+
allowedAudiences: ["audience1"],
|
|
1307
|
+
allowedScopes: ["read", "write"],
|
|
1308
|
+
customClaims: customClaims, // Optional custom claims
|
|
1309
|
+
}),
|
|
1310
|
+
});
|
|
1311
|
+
```
|
|
1312
|
+
|
|
1191
1313
|
To authenticate with the gateway, request an access token using the client credentials flow and use it to call Gateway endpoints. For more information about the token endpoint, see [The token issuer endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html).
|
|
1192
1314
|
|
|
1193
1315
|
The following is an example of a token request using curl:
|
|
@@ -1225,6 +1347,7 @@ const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
|
1225
1347
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1226
1348
|
allowedAudience: ["my-app"],
|
|
1227
1349
|
allowedClients: ["my-client-id"],
|
|
1350
|
+
allowedScopes: ["read", "write"],
|
|
1228
1351
|
}),
|
|
1229
1352
|
kmsKey: encryptionKey,
|
|
1230
1353
|
exceptionLevel: agentcore.GatewayExceptionLevel.DEBUG,
|
|
@@ -1255,6 +1378,7 @@ const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
|
1255
1378
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1256
1379
|
allowedAudience: ["my-app"],
|
|
1257
1380
|
allowedClients: ["my-client-id"],
|
|
1381
|
+
allowedScopes: ["read", "write"],
|
|
1258
1382
|
}),
|
|
1259
1383
|
role: executionRole,
|
|
1260
1384
|
});
|
|
@@ -1278,6 +1402,7 @@ const gateway = new agentcore.Gateway(this, "MyGateway", {
|
|
|
1278
1402
|
discoveryUrl: "https://auth.example.com/.well-known/openid-configuration",
|
|
1279
1403
|
allowedAudience: ["my-app"],
|
|
1280
1404
|
allowedClients: ["my-client-id"],
|
|
1405
|
+
allowedScopes: ["read", "write"],
|
|
1281
1406
|
}),
|
|
1282
1407
|
});
|
|
1283
1408
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Custom claim value type.
|
|
15
|
+
* Shared by Runtime and Gateway custom claim implementations.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare enum CustomClaimValueType {
|
|
19
|
+
/** String value type */
|
|
20
|
+
STRING = "STRING",
|
|
21
|
+
/** String array value type */
|
|
22
|
+
STRING_ARRAY = "STRING_ARRAY"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Custom claim match operator.
|
|
26
|
+
* Shared by Runtime and Gateway custom claim implementations.
|
|
27
|
+
*/
|
|
28
|
+
export declare enum CustomClaimOperator {
|
|
29
|
+
/** Equals operator - used for STRING type claims */
|
|
30
|
+
EQUALS = "EQUALS",
|
|
31
|
+
/** Contains operator - used for STRING_ARRAY type claims. Checks if the claim array contains a specific string value. */
|
|
32
|
+
CONTAINS = "CONTAINS",
|
|
33
|
+
/** ContainsAny operator - used for STRING_ARRAY type claims. Checks if the claim array contains any of the provided string values. */
|
|
34
|
+
CONTAINS_ANY = "CONTAINS_ANY"
|
|
35
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CustomClaimOperator = exports.CustomClaimValueType = void 0;
|
|
16
|
+
/**
|
|
17
|
+
* Custom claim value type.
|
|
18
|
+
* Shared by Runtime and Gateway custom claim implementations.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
var CustomClaimValueType;
|
|
22
|
+
(function (CustomClaimValueType) {
|
|
23
|
+
/** String value type */
|
|
24
|
+
CustomClaimValueType["STRING"] = "STRING";
|
|
25
|
+
/** String array value type */
|
|
26
|
+
CustomClaimValueType["STRING_ARRAY"] = "STRING_ARRAY";
|
|
27
|
+
})(CustomClaimValueType || (exports.CustomClaimValueType = CustomClaimValueType = {}));
|
|
28
|
+
/**
|
|
29
|
+
* Custom claim match operator.
|
|
30
|
+
* Shared by Runtime and Gateway custom claim implementations.
|
|
31
|
+
*/
|
|
32
|
+
var CustomClaimOperator;
|
|
33
|
+
(function (CustomClaimOperator) {
|
|
34
|
+
/** Equals operator - used for STRING type claims */
|
|
35
|
+
CustomClaimOperator["EQUALS"] = "EQUALS";
|
|
36
|
+
/** Contains operator - used for STRING_ARRAY type claims. Checks if the claim array contains a specific string value. */
|
|
37
|
+
CustomClaimOperator["CONTAINS"] = "CONTAINS";
|
|
38
|
+
/** ContainsAny operator - used for STRING_ARRAY type claims. Checks if the claim array contains any of the provided string values. */
|
|
39
|
+
CustomClaimOperator["CONTAINS_ANY"] = "CONTAINS_ANY";
|
|
40
|
+
})(CustomClaimOperator || (exports.CustomClaimOperator = CustomClaimOperator = {}));
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVIOzs7O0dBSUc7QUFDSCxJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDOUIsd0JBQXdCO0lBQ3hCLHlDQUFpQixDQUFBO0lBQ2pCLDhCQUE4QjtJQUM5QixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFLL0I7QUFFRDs7O0dBR0c7QUFDSCxJQUFZLG1CQU9YO0FBUEQsV0FBWSxtQkFBbUI7SUFDN0Isb0RBQW9EO0lBQ3BELHdDQUFpQixDQUFBO0lBQ2pCLHlIQUF5SDtJQUN6SCw0Q0FBcUIsQ0FBQTtJQUNyQixzSUFBc0k7SUFDdEksb0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVBXLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBTzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyoqXG4gKiBDdXN0b20gY2xhaW0gdmFsdWUgdHlwZS5cbiAqIFNoYXJlZCBieSBSdW50aW1lIGFuZCBHYXRld2F5IGN1c3RvbSBjbGFpbSBpbXBsZW1lbnRhdGlvbnMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUge1xuICAvKiogU3RyaW5nIHZhbHVlIHR5cGUgKi9cbiAgU1RSSU5HID0gJ1NUUklORycsXG4gIC8qKiBTdHJpbmcgYXJyYXkgdmFsdWUgdHlwZSAqL1xuICBTVFJJTkdfQVJSQVkgPSAnU1RSSU5HX0FSUkFZJyxcbn1cblxuLyoqXG4gKiBDdXN0b20gY2xhaW0gbWF0Y2ggb3BlcmF0b3IuXG4gKiBTaGFyZWQgYnkgUnVudGltZSBhbmQgR2F0ZXdheSBjdXN0b20gY2xhaW0gaW1wbGVtZW50YXRpb25zLlxuICovXG5leHBvcnQgZW51bSBDdXN0b21DbGFpbU9wZXJhdG9yIHtcbiAgLyoqIEVxdWFscyBvcGVyYXRvciAtIHVzZWQgZm9yIFNUUklORyB0eXBlIGNsYWltcyAqL1xuICBFUVVBTFMgPSAnRVFVQUxTJyxcbiAgLyoqIENvbnRhaW5zIG9wZXJhdG9yIC0gdXNlZCBmb3IgU1RSSU5HX0FSUkFZIHR5cGUgY2xhaW1zLiBDaGVja3MgaWYgdGhlIGNsYWltIGFycmF5IGNvbnRhaW5zIGEgc3BlY2lmaWMgc3RyaW5nIHZhbHVlLiAqL1xuICBDT05UQUlOUyA9ICdDT05UQUlOUycsXG4gIC8qKiBDb250YWluc0FueSBvcGVyYXRvciAtIHVzZWQgZm9yIFNUUklOR19BUlJBWSB0eXBlIGNsYWltcy4gQ2hlY2tzIGlmIHRoZSBjbGFpbSBhcnJheSBjb250YWlucyBhbnkgb2YgdGhlIHByb3ZpZGVkIHN0cmluZyB2YWx1ZXMuICovXG4gIENPTlRBSU5TX0FOWSA9ICdDT05UQUlOU19BTlknLFxufVxuIl19
|
|
@@ -25,7 +25,7 @@ var GatewayExceptionLevel;
|
|
|
25
25
|
* Base Class
|
|
26
26
|
*****************************************************************************/
|
|
27
27
|
class GatewayBase extends aws_cdk_lib_1.Resource {
|
|
28
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayBase", version: "2.
|
|
28
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayBase", version: "2.237.0-alpha.0" };
|
|
29
29
|
constructor(scope, id, props = {}) {
|
|
30
30
|
super(scope, id, props);
|
|
31
31
|
}
|
package/lib/gateway/gateway.js
CHANGED
|
@@ -91,7 +91,7 @@ let Gateway = (() => {
|
|
|
91
91
|
Gateway = _classThis = _classDescriptor.value;
|
|
92
92
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
93
93
|
}
|
|
94
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Gateway", version: "2.
|
|
94
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Gateway", version: "2.237.0-alpha.0" };
|
|
95
95
|
/** Uniquely identifies this class. */
|
|
96
96
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.Gateway';
|
|
97
97
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IUserPoolClient, IUserPool } from 'aws-cdk-lib/aws-cognito';
|
|
2
|
+
import { GatewayCustomClaim } from './custom-claim';
|
|
2
3
|
/******************************************************************************
|
|
3
4
|
* Authorizer Configuration
|
|
4
5
|
*****************************************************************************/
|
|
@@ -50,6 +51,17 @@ export interface CustomJwtConfiguration {
|
|
|
50
51
|
* @default - No client ID validation
|
|
51
52
|
*/
|
|
52
53
|
readonly allowedClients?: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Represents individual scopes that are validated in the incoming JWT token validation process.
|
|
56
|
+
* @default - No scope validation
|
|
57
|
+
*/
|
|
58
|
+
readonly allowedScopes?: string[];
|
|
59
|
+
/**
|
|
60
|
+
* Custom claims for additional JWT token validation.
|
|
61
|
+
* Allows you to validate additional fields in JWT tokens beyond the standard audience, client, and scope validations.
|
|
62
|
+
* @default - No custom claim validation
|
|
63
|
+
*/
|
|
64
|
+
readonly customClaims?: GatewayCustomClaim[];
|
|
53
65
|
}
|
|
54
66
|
/**
|
|
55
67
|
* Custom JWT authorizer configuration implementation
|
|
@@ -59,6 +71,8 @@ export declare class CustomJwtAuthorizer implements IGatewayAuthorizerConfig {
|
|
|
59
71
|
private readonly discoveryUrl;
|
|
60
72
|
private readonly allowedAudience?;
|
|
61
73
|
private readonly allowedClients?;
|
|
74
|
+
private readonly allowedScopes?;
|
|
75
|
+
private readonly customClaims?;
|
|
62
76
|
constructor(config: CustomJwtConfiguration);
|
|
63
77
|
/**
|
|
64
78
|
* @internal
|
|
@@ -97,6 +111,17 @@ export interface CognitoAuthorizerProps {
|
|
|
97
111
|
* @default - No audience validation
|
|
98
112
|
*/
|
|
99
113
|
readonly allowedAudiences?: string[];
|
|
114
|
+
/**
|
|
115
|
+
* The allowed scopes for JWT validation
|
|
116
|
+
* @default - No scope validation
|
|
117
|
+
*/
|
|
118
|
+
readonly allowedScopes?: string[];
|
|
119
|
+
/**
|
|
120
|
+
* Custom claims for additional JWT token validation.
|
|
121
|
+
* Allows you to validate additional fields in JWT tokens beyond the standard audience, client, and scope validations.
|
|
122
|
+
* @default - No custom claim validation
|
|
123
|
+
*/
|
|
124
|
+
readonly customClaims?: GatewayCustomClaim[];
|
|
100
125
|
}
|
|
101
126
|
/**
|
|
102
127
|
* Factory class for creating Gateway Authorizers
|
|
@@ -21,11 +21,13 @@ var GatewayAuthorizerType;
|
|
|
21
21
|
* Custom JWT authorizer configuration implementation
|
|
22
22
|
*/
|
|
23
23
|
class CustomJwtAuthorizer {
|
|
24
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CustomJwtAuthorizer", version: "2.
|
|
24
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CustomJwtAuthorizer", version: "2.237.0-alpha.0" };
|
|
25
25
|
authorizerType = GatewayAuthorizerType.CUSTOM_JWT;
|
|
26
26
|
discoveryUrl;
|
|
27
27
|
allowedAudience;
|
|
28
28
|
allowedClients;
|
|
29
|
+
allowedScopes;
|
|
30
|
+
customClaims;
|
|
29
31
|
constructor(config) {
|
|
30
32
|
try {
|
|
31
33
|
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_CustomJwtConfiguration(config);
|
|
@@ -39,6 +41,8 @@ class CustomJwtAuthorizer {
|
|
|
39
41
|
this.discoveryUrl = config.discoveryUrl;
|
|
40
42
|
this.allowedAudience = config.allowedAudience;
|
|
41
43
|
this.allowedClients = config.allowedClients;
|
|
44
|
+
this.allowedScopes = config.allowedScopes;
|
|
45
|
+
this.customClaims = config.customClaims;
|
|
42
46
|
}
|
|
43
47
|
/**
|
|
44
48
|
* @internal
|
|
@@ -49,6 +53,10 @@ class CustomJwtAuthorizer {
|
|
|
49
53
|
discoveryUrl: this.discoveryUrl,
|
|
50
54
|
...(this.allowedAudience && { allowedAudience: this.allowedAudience }),
|
|
51
55
|
...(this.allowedClients && { allowedClients: this.allowedClients }),
|
|
56
|
+
...(this.allowedScopes && { allowedScopes: this.allowedScopes }),
|
|
57
|
+
...(this.customClaims && this.customClaims.length > 0 && {
|
|
58
|
+
customClaims: this.customClaims.map(claim => claim._render()),
|
|
59
|
+
}),
|
|
52
60
|
},
|
|
53
61
|
};
|
|
54
62
|
}
|
|
@@ -62,7 +70,7 @@ exports.CustomJwtAuthorizer = CustomJwtAuthorizer;
|
|
|
62
70
|
*
|
|
63
71
|
*/
|
|
64
72
|
class IamAuthorizer {
|
|
65
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.IamAuthorizer", version: "2.
|
|
73
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.IamAuthorizer", version: "2.237.0-alpha.0" };
|
|
66
74
|
authorizerType = GatewayAuthorizerType.AWS_IAM;
|
|
67
75
|
/**
|
|
68
76
|
* @internal
|
|
@@ -78,7 +86,7 @@ exports.IamAuthorizer = IamAuthorizer;
|
|
|
78
86
|
* Factory class for creating Gateway Authorizers
|
|
79
87
|
*/
|
|
80
88
|
class GatewayAuthorizer {
|
|
81
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayAuthorizer", version: "2.
|
|
89
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayAuthorizer", version: "2.237.0-alpha.0" };
|
|
82
90
|
/**
|
|
83
91
|
* AWS IAM authorizer instance
|
|
84
92
|
*/
|
|
@@ -100,9 +108,9 @@ class GatewayAuthorizer {
|
|
|
100
108
|
}
|
|
101
109
|
throw error;
|
|
102
110
|
}
|
|
103
|
-
// At least one of allowedAudience or
|
|
104
|
-
if (!configuration.allowedAudience && !configuration.allowedClients) {
|
|
105
|
-
throw new validation_helpers_1.ValidationError('At least one of allowedAudience or
|
|
111
|
+
// At least one of allowedAudience, allowedClients, allowedScopes, or customClaims must be defined for CUSTOM_JWT authorizer
|
|
112
|
+
if (!configuration.allowedAudience && !configuration.allowedClients && !configuration.allowedScopes && !configuration.customClaims) {
|
|
113
|
+
throw new validation_helpers_1.ValidationError('At least one of allowedAudience, allowedClients, allowedScopes, or customClaims must be defined for CUSTOM_JWT authorizer');
|
|
106
114
|
}
|
|
107
115
|
return new CustomJwtAuthorizer(configuration);
|
|
108
116
|
}
|
|
@@ -126,8 +134,10 @@ class GatewayAuthorizer {
|
|
|
126
134
|
discoveryUrl: discoveryUrl,
|
|
127
135
|
allowedClients: props.allowedClients?.flatMap((client) => client.userPoolClientId),
|
|
128
136
|
allowedAudience: props.allowedAudiences,
|
|
137
|
+
allowedScopes: props.allowedScopes,
|
|
138
|
+
customClaims: props.customClaims,
|
|
129
139
|
});
|
|
130
140
|
}
|
|
131
141
|
}
|
|
132
142
|
exports.GatewayAuthorizer = GatewayAuthorizer;
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF1dGhvcml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw4REFBd0Q7QUFFeEQ7OytFQUUrRTtBQUUvRTs7R0FFRztBQUNILElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixpQ0FBaUM7SUFDakMsa0RBQXlCLENBQUE7SUFDekIsOEJBQThCO0lBQzlCLDRDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQUtoQztBQStDRDs7R0FFRztBQUNILE1BQWEsbUJBQW1COztJQUNkLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7SUFDakQsWUFBWSxDQUFTO0lBQ3JCLGVBQWUsQ0FBWTtJQUMzQixjQUFjLENBQVk7SUFFM0MsWUFBWSxNQUE4Qjs7Ozs7OytDQU4vQixtQkFBbUI7Ozs7UUFPNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7S0FDN0M7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixPQUFPO1lBQ0wsbUJBQW1CLEVBQUU7Z0JBQ25CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDcEU7U0FDRixDQUFDO0tBQ0g7O0FBdkJILGtEQXdCQztBQUVEOzsrRUFFK0U7QUFFL0U7OztHQUdHO0FBQ0gsTUFBYSxhQUFhOztJQUNSLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7SUFFL0Q7O09BRUc7SUFDSCxPQUFPO1FBQ0wsMkRBQTJEO1FBQzNELCtEQUErRDtRQUMvRCxPQUFPLFNBQVMsQ0FBQztLQUNsQjs7QUFWSCxzQ0FXQztBQXNCRDs7R0FFRztBQUNILE1BQXNCLGlCQUFpQjs7SUFDckM7O09BRUc7SUFDSSxNQUFNLENBQUMsV0FBVztRQUN2QixPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7S0FDNUI7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFxQzs7Ozs7Ozs7OztRQUNoRSw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEUsTUFBTSxJQUFJLG9DQUFlLENBQUMsNkZBQTZGLENBQUMsQ0FBQztRQUMzSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQy9DO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBNkI7Ozs7Ozs7Ozs7UUFDdEQsTUFBTSxZQUFZLEdBQUcsdUJBQXVCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sa0JBQWtCLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxtQ0FBbUMsQ0FBQztRQUVwSixPQUFPLElBQUksbUJBQW1CLENBQUM7WUFDN0IsWUFBWSxFQUFFLFlBQVk7WUFDMUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7WUFDbEYsZUFBZSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7U0FDeEMsQ0FBQyxDQUFDO0tBQ0o7O0FBbENILDhDQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElVc2VyUG9vbENsaWVudCwgSVVzZXJQb29sIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZ25pdG8nO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1oZWxwZXJzJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcml6ZXIgQ29uZmlndXJhdGlvblxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEdhdGV3YXkgYXV0aG9yaXplciB0eXBlXG4gKi9cbmV4cG9ydCBlbnVtIEdhdGV3YXlBdXRob3JpemVyVHlwZSB7XG4gIC8qKiBDdXN0b20gSldUIGF1dGhvcml6ZXIgdHlwZSAqL1xuICBDVVNUT01fSldUID0gJ0NVU1RPTV9KV1QnLFxuICAvKiogQVdTIElBTSBhdXRob3JpemVyIHR5cGUgKi9cbiAgQVdTX0lBTSA9ICdBV1NfSUFNJyxcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBpbnRlcmZhY2UgZm9yIGdhdGV3YXkgYXV0aG9yaXplciBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdhdGV3YXlBdXRob3JpemVyQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBhdXRob3JpemVyIHR5cGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZXJUeXBlOiBHYXRld2F5QXV0aG9yaXplclR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb24gaW4gQ0ZOIGZvcm1hdFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9yZW5kZXIoKTogYW55O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b20gSldUXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIEN1c3RvbSBKV1QgYXV0aG9yaXplciBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tSnd0Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGlzIFVSTCBpcyB1c2VkIHRvIGZldGNoIE9wZW5JRCBDb25uZWN0IGNvbmZpZ3VyYXRpb24gb3IgYXV0aG9yaXphdGlvbiBzZXJ2ZXIgbWV0YWRhdGFcbiAgICogZm9yIHZhbGlkYXRpbmcgaW5jb21pbmcgdG9rZW5zLlxuICAgKlxuICAgKiBQYXR0ZXJuOiAuKy9cXC53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uXG4gICAqIFJlcXVpcmVkOiBZZXNcbiAgICovXG4gIHJlYWRvbmx5IGRpc2NvdmVyeVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGluZGl2aWR1YWwgYXVkaWVuY2UgdmFsdWVzIHRoYXQgYXJlIHZhbGlkYXRlZCBpbiB0aGUgaW5jb21pbmcgSldUIHRva2VuIHZhbGlkYXRpb24gcHJvY2Vzcy5cbiAgICogQGRlZmF1bHQgLSBObyBhdWRpZW5jZSB2YWxpZGF0aW9uXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyBpbmRpdmlkdWFsIGNsaWVudCBJRHMgdGhhdCBhcmUgdmFsaWRhdGVkIGluIHRoZSBpbmNvbWluZyBKV1QgdG9rZW4gdmFsaWRhdGlvbiBwcm9jZXNzLlxuICAgKiBAZGVmYXVsdCAtIE5vIGNsaWVudCBJRCB2YWxpZGF0aW9uXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkQ2xpZW50cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEN1c3RvbSBKV1QgYXV0aG9yaXplciBjb25maWd1cmF0aW9uIGltcGxlbWVudGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Kd3RBdXRob3JpemVyIGltcGxlbWVudHMgSUdhdGV3YXlBdXRob3JpemVyQ29uZmlnIHtcbiAgcHVibGljIHJlYWRvbmx5IGF1dGhvcml6ZXJUeXBlID0gR2F0ZXdheUF1dGhvcml6ZXJUeXBlLkNVU1RPTV9KV1Q7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzY292ZXJ5VXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZENsaWVudHM/OiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEN1c3RvbUp3dENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLmRpc2NvdmVyeVVybCA9IGNvbmZpZy5kaXNjb3ZlcnlVcmw7XG4gICAgdGhpcy5hbGxvd2VkQXVkaWVuY2UgPSBjb25maWcuYWxsb3dlZEF1ZGllbmNlO1xuICAgIHRoaXMuYWxsb3dlZENsaWVudHMgPSBjb25maWcuYWxsb3dlZENsaWVudHM7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21Kd3RBdXRob3JpemVyOiB7XG4gICAgICAgIGRpc2NvdmVyeVVybDogdGhpcy5kaXNjb3ZlcnlVcmwsXG4gICAgICAgIC4uLih0aGlzLmFsbG93ZWRBdWRpZW5jZSAmJiB7IGFsbG93ZWRBdWRpZW5jZTogdGhpcy5hbGxvd2VkQXVkaWVuY2UgfSksXG4gICAgICAgIC4uLih0aGlzLmFsbG93ZWRDbGllbnRzICYmIHsgYWxsb3dlZENsaWVudHM6IHRoaXMuYWxsb3dlZENsaWVudHMgfSksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVdTIElBTVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEFXUyBJQU0gYXV0aG9yaXplciBjb25maWd1cmF0aW9uIGltcGxlbWVudGF0aW9uXG4gKlxuICovXG5leHBvcnQgY2xhc3MgSWFtQXV0aG9yaXplciBpbXBsZW1lbnRzIElHYXRld2F5QXV0aG9yaXplckNvbmZpZyB7XG4gIHB1YmxpYyByZWFkb25seSBhdXRob3JpemVyVHlwZSA9IEdhdGV3YXlBdXRob3JpemVyVHlwZS5BV1NfSUFNO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9yZW5kZXIoKTogYW55IHtcbiAgICAvLyBBV1MgSUFNIGF1dGhvcml6ZXIgZG9lc24ndCBuZWVkIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvblxuICAgIC8vIFJldHVybiBudWxsIG9yIHVuZGVmaW5lZCB0byBpbmRpY2F0ZSBubyBjb25maWd1cmF0aW9uIG5lZWRlZFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFjdG9yeVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZ25pdG9BdXRob3JpemVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIENvZ25pdG8gVXNlciBQb29sIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG4gIC8qKlxuICAgKiBUaGUgYWxsb3dlZCBVc2VyIFBvb2wgY2xpZW50c1xuICAgKiBAZGVmYXVsdCAtIEFsbCBjbGllbnRzIGFyZSBhbGxvd2VkXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkQ2xpZW50cz86IElVc2VyUG9vbENsaWVudFtdO1xuICAvKipcbiAgICogVGhlIGFsbG93ZWQgYXVkaWVuY2VzIGZvciBKV1QgdmFsaWRhdGlvblxuICAgKiBAZGVmYXVsdCAtIE5vIGF1ZGllbmNlIHZhbGlkYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRBdWRpZW5jZXM/OiBzdHJpbmdbXTtcbn1cbi8qKlxuICogRmFjdG9yeSBjbGFzcyBmb3IgY3JlYXRpbmcgR2F0ZXdheSBBdXRob3JpemVyc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2F0ZXdheUF1dGhvcml6ZXIge1xuICAvKipcbiAgICogQVdTIElBTSBhdXRob3JpemVyIGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nQXdzSWFtKCk6IElHYXRld2F5QXV0aG9yaXplckNvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBJYW1BdXRob3JpemVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tIEpXVCBhdXRob3JpemVyXG4gICAqIEBwYXJhbSBjb25maWd1cmF0aW9uIC0gVGhlIEpXVCBjb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIElHYXRld2F5QXV0aG9yaXplckNvbmZpZyBjb25maWd1cmVkIGZvciBjdXN0b20gSldUXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nQ3VzdG9tSnd0KGNvbmZpZ3VyYXRpb246IEN1c3RvbUp3dENvbmZpZ3VyYXRpb24pOiBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWcge1xuICAgIC8vIEF0IGxlYXN0IG9uZSBvZiBhbGxvd2VkQXVkaWVuY2Ugb3IgYWxsb3dlZENsaWVudHMgbXVzdCBiZSBkZWZpbmVkIGZvciBDVVNUT01fSldUIGF1dGhvcml6ZXJcbiAgICBpZiAoIWNvbmZpZ3VyYXRpb24uYWxsb3dlZEF1ZGllbmNlICYmICFjb25maWd1cmF0aW9uLmFsbG93ZWRDbGllbnRzKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdBdCBsZWFzdCBvbmUgb2YgYWxsb3dlZEF1ZGllbmNlIG9yIGFsbG93ZWRDbGllbnRzIG11c3QgYmUgZGVmaW5lZCBmb3IgQ1VTVE9NX0pXVCBhdXRob3JpemVyJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQ3VzdG9tSnd0QXV0aG9yaXplcihjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBKV1QgYXV0aG9yaXplciBmcm9tIENvZ25pdG8gVXNlciBQb29sXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBDb2duaXRvIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQ3VzdG9tSnd0QXV0aG9yaXplciBjb25maWd1cmVkIGZvciBDb2duaXRvXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nQ29nbml0byhwcm9wczogQ29nbml0b0F1dGhvcml6ZXJQcm9wcyk6IElHYXRld2F5QXV0aG9yaXplckNvbmZpZyB7XG4gICAgY29uc3QgZGlzY292ZXJ5VXJsID0gYGh0dHBzOi8vY29nbml0by1pZHAuJHtwcm9wcy51c2VyUG9vbC5lbnYucmVnaW9ufS5hbWF6b25hd3MuY29tLyR7cHJvcHMudXNlclBvb2wudXNlclBvb2xJZH0vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gO1xuXG4gICAgcmV0dXJuIG5ldyBDdXN0b21Kd3RBdXRob3JpemVyKHtcbiAgICAgIGRpc2NvdmVyeVVybDogZGlzY292ZXJ5VXJsLFxuICAgICAgYWxsb3dlZENsaWVudHM6IHByb3BzLmFsbG93ZWRDbGllbnRzPy5mbGF0TWFwKChjbGllbnQpID0+IGNsaWVudC51c2VyUG9vbENsaWVudElkKSxcbiAgICAgIGFsbG93ZWRBdWRpZW5jZTogcHJvcHMuYWxsb3dlZEF1ZGllbmNlcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF1dGhvcml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw4REFBd0Q7QUFHeEQ7OytFQUUrRTtBQUUvRTs7R0FFRztBQUNILElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixpQ0FBaUM7SUFDakMsa0RBQXlCLENBQUE7SUFDekIsOEJBQThCO0lBQzlCLDRDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQUtoQztBQTRERDs7R0FFRztBQUNILE1BQWEsbUJBQW1COztJQUNkLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7SUFDakQsWUFBWSxDQUFTO0lBQ3JCLGVBQWUsQ0FBWTtJQUMzQixjQUFjLENBQVk7SUFDMUIsYUFBYSxDQUFZO0lBQ3pCLFlBQVksQ0FBd0I7SUFFckQsWUFBWSxNQUE4Qjs7Ozs7OytDQVIvQixtQkFBbUI7Ozs7UUFTNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztLQUN6QztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLE9BQU87WUFDTCxtQkFBbUIsRUFBRTtnQkFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkUsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNoRSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUk7b0JBQ3ZELFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDOUQsQ0FBQzthQUNIO1NBQ0YsQ0FBQztLQUNIOztBQS9CSCxrREFnQ0M7QUFFRDs7K0VBRStFO0FBRS9FOzs7R0FHRztBQUNILE1BQWEsYUFBYTs7SUFDUixjQUFjLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDO0lBRS9EOztPQUVHO0lBQ0gsT0FBTztRQUNMLDJEQUEyRDtRQUMzRCwrREFBK0Q7UUFDL0QsT0FBTyxTQUFTLENBQUM7S0FDbEI7O0FBVkgsc0NBV0M7QUFpQ0Q7O0dBRUc7QUFDSCxNQUFzQixpQkFBaUI7O0lBQ3JDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVc7UUFDdkIsT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO0tBQzVCO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBcUM7Ozs7Ozs7Ozs7UUFDaEUsNEhBQTRIO1FBQzVILElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkksTUFBTSxJQUFJLG9DQUFlLENBQUMsMkhBQTJILENBQUMsQ0FBQztRQUN6SixDQUFDO1FBQ0QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQy9DO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBNkI7Ozs7Ozs7Ozs7UUFDdEQsTUFBTSxZQUFZLEdBQUcsdUJBQXVCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sa0JBQWtCLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxtQ0FBbUMsQ0FBQztRQUVwSixPQUFPLElBQUksbUJBQW1CLENBQUM7WUFDN0IsWUFBWSxFQUFFLFlBQVk7WUFDMUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7WUFDbEYsZUFBZSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDdkMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtTQUNqQyxDQUFDLENBQUM7S0FDSjs7QUFwQ0gsOENBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVVzZXJQb29sQ2xpZW50LCBJVXNlclBvb2wgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29nbml0byc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuaW1wb3J0IHsgR2F0ZXdheUN1c3RvbUNsYWltIH0gZnJvbSAnLi9jdXN0b20tY2xhaW0nO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXplciBDb25maWd1cmF0aW9uXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogR2F0ZXdheSBhdXRob3JpemVyIHR5cGVcbiAqL1xuZXhwb3J0IGVudW0gR2F0ZXdheUF1dGhvcml6ZXJUeXBlIHtcbiAgLyoqIEN1c3RvbSBKV1QgYXV0aG9yaXplciB0eXBlICovXG4gIENVU1RPTV9KV1QgPSAnQ1VTVE9NX0pXVCcsXG4gIC8qKiBBV1MgSUFNIGF1dGhvcml6ZXIgdHlwZSAqL1xuICBBV1NfSUFNID0gJ0FXU19JQU0nLFxufVxuXG4vKipcbiAqIEFic3RyYWN0IGludGVyZmFjZSBmb3IgZ2F0ZXdheSBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXplclR5cGU6IEdhdGV3YXlBdXRob3JpemVyVHlwZTtcblxuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvbiBpbiBDRk4gZm9ybWF0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX3JlbmRlcigpOiBhbnk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbSBKV1RcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogQ3VzdG9tIEpXVCBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Kd3RDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoaXMgVVJMIGlzIHVzZWQgdG8gZmV0Y2ggT3BlbklEIENvbm5lY3QgY29uZmlndXJhdGlvbiBvciBhdXRob3JpemF0aW9uIHNlcnZlciBtZXRhZGF0YVxuICAgKiBmb3IgdmFsaWRhdGluZyBpbmNvbWluZyB0b2tlbnMuXG4gICAqXG4gICAqIFBhdHRlcm46IC4rL1xcLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25cbiAgICogUmVxdWlyZWQ6IFllc1xuICAgKi9cbiAgcmVhZG9ubHkgZGlzY292ZXJ5VXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgaW5kaXZpZHVhbCBhdWRpZW5jZSB2YWx1ZXMgdGhhdCBhcmUgdmFsaWRhdGVkIGluIHRoZSBpbmNvbWluZyBKV1QgdG9rZW4gdmFsaWRhdGlvbiBwcm9jZXNzLlxuICAgKiBAZGVmYXVsdCAtIE5vIGF1ZGllbmNlIHZhbGlkYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRBdWRpZW5jZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGluZGl2aWR1YWwgY2xpZW50IElEcyB0aGF0IGFyZSB2YWxpZGF0ZWQgaW4gdGhlIGluY29taW5nIEpXVCB0b2tlbiB2YWxpZGF0aW9uIHByb2Nlc3MuXG4gICAqIEBkZWZhdWx0IC0gTm8gY2xpZW50IElEIHZhbGlkYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRDbGllbnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgaW5kaXZpZHVhbCBzY29wZXMgdGhhdCBhcmUgdmFsaWRhdGVkIGluIHRoZSBpbmNvbWluZyBKV1QgdG9rZW4gdmFsaWRhdGlvbiBwcm9jZXNzLlxuICAgKiBAZGVmYXVsdCAtIE5vIHNjb3BlIHZhbGlkYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRTY29wZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGNsYWltcyBmb3IgYWRkaXRpb25hbCBKV1QgdG9rZW4gdmFsaWRhdGlvbi5cbiAgICogQWxsb3dzIHlvdSB0byB2YWxpZGF0ZSBhZGRpdGlvbmFsIGZpZWxkcyBpbiBKV1QgdG9rZW5zIGJleW9uZCB0aGUgc3RhbmRhcmQgYXVkaWVuY2UsIGNsaWVudCwgYW5kIHNjb3BlIHZhbGlkYXRpb25zLlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBjbGFpbSB2YWxpZGF0aW9uXG4gICAqL1xuICByZWFkb25seSBjdXN0b21DbGFpbXM/OiBHYXRld2F5Q3VzdG9tQ2xhaW1bXTtcbn1cblxuLyoqXG4gKiBDdXN0b20gSldUIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvbiBpbXBsZW1lbnRhdGlvblxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tSnd0QXV0aG9yaXplciBpbXBsZW1lbnRzIElHYXRld2F5QXV0aG9yaXplckNvbmZpZyB7XG4gIHB1YmxpYyByZWFkb25seSBhdXRob3JpemVyVHlwZSA9IEdhdGV3YXlBdXRob3JpemVyVHlwZS5DVVNUT01fSldUO1xuICBwcml2YXRlIHJlYWRvbmx5IGRpc2NvdmVyeVVybDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFsbG93ZWRBdWRpZW5jZT86IHN0cmluZ1tdO1xuICBwcml2YXRlIHJlYWRvbmx5IGFsbG93ZWRDbGllbnRzPzogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZFNjb3Blcz86IHN0cmluZ1tdO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUNsYWltcz86IEdhdGV3YXlDdXN0b21DbGFpbVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQ3VzdG9tSnd0Q29uZmlndXJhdGlvbikge1xuICAgIHRoaXMuZGlzY292ZXJ5VXJsID0gY29uZmlnLmRpc2NvdmVyeVVybDtcbiAgICB0aGlzLmFsbG93ZWRBdWRpZW5jZSA9IGNvbmZpZy5hbGxvd2VkQXVkaWVuY2U7XG4gICAgdGhpcy5hbGxvd2VkQ2xpZW50cyA9IGNvbmZpZy5hbGxvd2VkQ2xpZW50cztcbiAgICB0aGlzLmFsbG93ZWRTY29wZXMgPSBjb25maWcuYWxsb3dlZFNjb3BlcztcbiAgICB0aGlzLmN1c3RvbUNsYWltcyA9IGNvbmZpZy5jdXN0b21DbGFpbXM7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21Kd3RBdXRob3JpemVyOiB7XG4gICAgICAgIGRpc2NvdmVyeVVybDogdGhpcy5kaXNjb3ZlcnlVcmwsXG4gICAgICAgIC4uLih0aGlzLmFsbG93ZWRBdWRpZW5jZSAmJiB7IGFsbG93ZWRBdWRpZW5jZTogdGhpcy5hbGxvd2VkQXVkaWVuY2UgfSksXG4gICAgICAgIC4uLih0aGlzLmFsbG93ZWRDbGllbnRzICYmIHsgYWxsb3dlZENsaWVudHM6IHRoaXMuYWxsb3dlZENsaWVudHMgfSksXG4gICAgICAgIC4uLih0aGlzLmFsbG93ZWRTY29wZXMgJiYgeyBhbGxvd2VkU2NvcGVzOiB0aGlzLmFsbG93ZWRTY29wZXMgfSksXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUNsYWltcyAmJiB0aGlzLmN1c3RvbUNsYWltcy5sZW5ndGggPiAwICYmIHtcbiAgICAgICAgICBjdXN0b21DbGFpbXM6IHRoaXMuY3VzdG9tQ2xhaW1zLm1hcChjbGFpbSA9PiBjbGFpbS5fcmVuZGVyKCkpLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBV1MgSUFNXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQVdTIElBTSBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb24gaW1wbGVtZW50YXRpb25cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBJYW1BdXRob3JpemVyIGltcGxlbWVudHMgSUdhdGV3YXlBdXRob3JpemVyQ29uZmlnIHtcbiAgcHVibGljIHJlYWRvbmx5IGF1dGhvcml6ZXJUeXBlID0gR2F0ZXdheUF1dGhvcml6ZXJUeXBlLkFXU19JQU07XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX3JlbmRlcigpOiBhbnkge1xuICAgIC8vIEFXUyBJQU0gYXV0aG9yaXplciBkb2Vzbid0IG5lZWQgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uXG4gICAgLy8gUmV0dXJuIG51bGwgb3IgdW5kZWZpbmVkIHRvIGluZGljYXRlIG5vIGNvbmZpZ3VyYXRpb24gbmVlZGVkXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWN0b3J5XG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0F1dGhvcml6ZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgdG8gdXNlIGZvciBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2w6IElVc2VyUG9vbDtcbiAgLyoqXG4gICAqIFRoZSBhbGxvd2VkIFVzZXIgUG9vbCBjbGllbnRzXG4gICAqIEBkZWZhdWx0IC0gQWxsIGNsaWVudHMgYXJlIGFsbG93ZWRcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRDbGllbnRzPzogSVVzZXJQb29sQ2xpZW50W107XG4gIC8qKlxuICAgKiBUaGUgYWxsb3dlZCBhdWRpZW5jZXMgZm9yIEpXVCB2YWxpZGF0aW9uXG4gICAqIEBkZWZhdWx0IC0gTm8gYXVkaWVuY2UgdmFsaWRhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZEF1ZGllbmNlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIGFsbG93ZWQgc2NvcGVzIGZvciBKV1QgdmFsaWRhdGlvblxuICAgKiBAZGVmYXVsdCAtIE5vIHNjb3BlIHZhbGlkYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRTY29wZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFpbXMgZm9yIGFkZGl0aW9uYWwgSldUIHRva2VuIHZhbGlkYXRpb24uXG4gICAqIEFsbG93cyB5b3UgdG8gdmFsaWRhdGUgYWRkaXRpb25hbCBmaWVsZHMgaW4gSldUIHRva2VucyBiZXlvbmQgdGhlIHN0YW5kYXJkIGF1ZGllbmNlLCBjbGllbnQsIGFuZCBzY29wZSB2YWxpZGF0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBObyBjdXN0b20gY2xhaW0gdmFsaWRhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tQ2xhaW1zPzogR2F0ZXdheUN1c3RvbUNsYWltW107XG59XG4vKipcbiAqIEZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIEdhdGV3YXkgQXV0aG9yaXplcnNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdhdGV3YXlBdXRob3JpemVyIHtcbiAgLyoqXG4gICAqIEFXUyBJQU0gYXV0aG9yaXplciBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ0F3c0lhbSgpOiBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWcge1xuICAgIHJldHVybiBuZXcgSWFtQXV0aG9yaXplcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGN1c3RvbSBKV1QgYXV0aG9yaXplclxuICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiAtIFRoZSBKV1QgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWcgY29uZmlndXJlZCBmb3IgY3VzdG9tIEpXVFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ0N1c3RvbUp3dChjb25maWd1cmF0aW9uOiBDdXN0b21Kd3RDb25maWd1cmF0aW9uKTogSUdhdGV3YXlBdXRob3JpemVyQ29uZmlnIHtcbiAgICAvLyBBdCBsZWFzdCBvbmUgb2YgYWxsb3dlZEF1ZGllbmNlLCBhbGxvd2VkQ2xpZW50cywgYWxsb3dlZFNjb3Blcywgb3IgY3VzdG9tQ2xhaW1zIG11c3QgYmUgZGVmaW5lZCBmb3IgQ1VTVE9NX0pXVCBhdXRob3JpemVyXG4gICAgaWYgKCFjb25maWd1cmF0aW9uLmFsbG93ZWRBdWRpZW5jZSAmJiAhY29uZmlndXJhdGlvbi5hbGxvd2VkQ2xpZW50cyAmJiAhY29uZmlndXJhdGlvbi5hbGxvd2VkU2NvcGVzICYmICFjb25maWd1cmF0aW9uLmN1c3RvbUNsYWltcykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignQXQgbGVhc3Qgb25lIG9mIGFsbG93ZWRBdWRpZW5jZSwgYWxsb3dlZENsaWVudHMsIGFsbG93ZWRTY29wZXMsIG9yIGN1c3RvbUNsYWltcyBtdXN0IGJlIGRlZmluZWQgZm9yIENVU1RPTV9KV1QgYXV0aG9yaXplcicpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEN1c3RvbUp3dEF1dGhvcml6ZXIoY29uZmlndXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgSldUIGF1dGhvcml6ZXIgZnJvbSBDb2duaXRvIFVzZXIgUG9vbFxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgQ29nbml0byBjb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIEN1c3RvbUp3dEF1dGhvcml6ZXIgY29uZmlndXJlZCBmb3IgQ29nbml0b1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ0NvZ25pdG8ocHJvcHM6IENvZ25pdG9BdXRob3JpemVyUHJvcHMpOiBJR2F0ZXdheUF1dGhvcml6ZXJDb25maWcge1xuICAgIGNvbnN0IGRpc2NvdmVyeVVybCA9IGBodHRwczovL2NvZ25pdG8taWRwLiR7cHJvcHMudXNlclBvb2wuZW52LnJlZ2lvbn0uYW1hem9uYXdzLmNvbS8ke3Byb3BzLnVzZXJQb29sLnVzZXJQb29sSWR9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYDtcblxuICAgIHJldHVybiBuZXcgQ3VzdG9tSnd0QXV0aG9yaXplcih7XG4gICAgICBkaXNjb3ZlcnlVcmw6IGRpc2NvdmVyeVVybCxcbiAgICAgIGFsbG93ZWRDbGllbnRzOiBwcm9wcy5hbGxvd2VkQ2xpZW50cz8uZmxhdE1hcCgoY2xpZW50KSA9PiBjbGllbnQudXNlclBvb2xDbGllbnRJZCksXG4gICAgICBhbGxvd2VkQXVkaWVuY2U6IHByb3BzLmFsbG93ZWRBdWRpZW5jZXMsXG4gICAgICBhbGxvd2VkU2NvcGVzOiBwcm9wcy5hbGxvd2VkU2NvcGVzLFxuICAgICAgY3VzdG9tQ2xhaW1zOiBwcm9wcy5jdXN0b21DbGFpbXMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
import { CfnGateway } from 'aws-cdk-lib/aws-bedrockagentcore';
|
|
14
|
+
import { CustomClaimOperator } from '../../common/types';
|
|
15
|
+
/**
|
|
16
|
+
* Represents a custom claim validation configuration for Gateway JWT authorizers.
|
|
17
|
+
* Custom claims allow you to validate additional fields in JWT tokens beyond
|
|
18
|
+
* the standard audience, client, and scope validations.
|
|
19
|
+
*/
|
|
20
|
+
export declare class GatewayCustomClaim {
|
|
21
|
+
private readonly name;
|
|
22
|
+
private readonly valueType;
|
|
23
|
+
private readonly operator;
|
|
24
|
+
private readonly value;
|
|
25
|
+
/**
|
|
26
|
+
* Create a custom claim with a string value.
|
|
27
|
+
* String claims must use the EQUALS operator.
|
|
28
|
+
*
|
|
29
|
+
* @param name The name of the claim in the JWT token
|
|
30
|
+
* @param value The string value to match (must exactly equal)
|
|
31
|
+
* @returns A GatewayCustomClaim configured for string validation
|
|
32
|
+
*/
|
|
33
|
+
static withStringValue(name: string, value: string): GatewayCustomClaim;
|
|
34
|
+
/**
|
|
35
|
+
* Create a custom claim with a string array value.
|
|
36
|
+
* String array claims can use CONTAINS (default) or CONTAINS_ANY operator.
|
|
37
|
+
*
|
|
38
|
+
* @param name The name of the claim in the JWT token
|
|
39
|
+
* @param values The array of string values to match. For CONTAINS operator, must contain exactly one value.
|
|
40
|
+
* @param operator The match operator (defaults to CONTAINS)
|
|
41
|
+
* @returns A GatewayCustomClaim configured for string array validation
|
|
42
|
+
*/
|
|
43
|
+
static withStringArrayValue(name: string, values: string[], operator?: CustomClaimOperator): GatewayCustomClaim;
|
|
44
|
+
private constructor();
|
|
45
|
+
/**
|
|
46
|
+
* Render the custom claim as a CloudFormation property
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
_render(): CfnGateway.CustomClaimValidationTypeProperty;
|
|
50
|
+
}
|