Class ApiKeyCredentialLocation
(experimental) API Key location within the request.
Namespace: Amazon.CDK.AWS.Bedrock.Agentcore.Alpha
Assembly: Amazon.CDK.AWS.Bedrock.Agentcore.Alpha.dll
Syntax (csharp)
public class ApiKeyCredentialLocation : DeputyBase
Syntax (vb)
Public Class ApiKeyCredentialLocation Inherits DeputyBase
Remarks
Stability: Experimental
ExampleMetadata: infused
Examples
var gateway = new Gateway(this, "MyGateway", new GatewayProps {
GatewayName = "my-gateway"
});
// These ARNs are returned when creating the API key credential provider via Console or API
var apiKeyProviderArn = "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/abc123/apikeycredentialprovider/my-apikey";
var apiKeySecretArn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-apikey-secret-abc123";
var bucket = Bucket.FromBucketName(this, "ExistingBucket", "my-schema-bucket");
var s3mySchema = ApiSchema.FromS3File(bucket, "schemas/myschema.yaml");
// Add an OpenAPI target directly to the gateway
var target = gateway.AddOpenApiTarget("MyTarget", new AddOpenApiTargetOptions {
GatewayTargetName = "my-api-target",
Description = "Target for external API integration",
ApiSchema = s3mySchema,
CredentialProviderConfigurations = new [] { GatewayCredentialProvider.FromApiKeyIdentityArn(new ApiKeyCredentialProviderProps {
ProviderArn = apiKeyProviderArn,
SecretArn = apiKeySecretArn,
CredentialLocation = ApiKeyCredentialLocation.Header(new ApiKeyAdditionalConfiguration {
CredentialParameterName = "X-API-Key"
})
}) }
});
// This make sure your s3 bucket is available before target
target.Node.AddDependency(bucket);
Synopsis
Properties
| CredentialLocationType | (experimental) The type of credential location (HEADER or QUERY_PARAMETER). |
| CredentialParameterName | (experimental) The name of the credential parameter. |
| CredentialPrefix | (experimental) The prefix for the credential value. |
Methods
| Header(IApiKeyAdditionalConfiguration?) | (experimental) Create a header-based API key credential location. |
| QueryParameter(IApiKeyAdditionalConfiguration?) | (experimental) Create a query parameter-based API key credential location. |
Properties
CredentialLocationType
(experimental) The type of credential location (HEADER or QUERY_PARAMETER).
public virtual string CredentialLocationType { get; }
Property Value
Remarks
Stability: Experimental
CredentialParameterName
(experimental) The name of the credential parameter.
public virtual string CredentialParameterName { get; }
Property Value
Remarks
Stability: Experimental
CredentialPrefix
(experimental) The prefix for the credential value.
public virtual string? CredentialPrefix { get; }
Property Value
Remarks
Stability: Experimental
Methods
Header(IApiKeyAdditionalConfiguration?)
(experimental) Create a header-based API key credential location.
public static ApiKeyCredentialLocation Header(IApiKeyAdditionalConfiguration? config = null)
Parameters
- config IApiKeyAdditionalConfiguration
- Optional configuration for the credential location.
Returns
ApiKeyCredentialLocation configured for header placement
Remarks
Stability: Experimental
QueryParameter(IApiKeyAdditionalConfiguration?)
(experimental) Create a query parameter-based API key credential location.
public static ApiKeyCredentialLocation QueryParameter(IApiKeyAdditionalConfiguration? config = null)
Parameters
- config IApiKeyAdditionalConfiguration
- Optional configuration for the credential location.
Returns
ApiKeyCredentialLocation configured for query parameter placement
Remarks
Stability: Experimental