Package com.pulumi.aws.bedrock
Class AgentcoreApiKeyCredentialProvider
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProvider
-
public class AgentcoreApiKeyCredentialProvider extends com.pulumi.resources.CustomResourceManages an AWS Bedrock AgentCore API Key Credential Provider. API Key credential providers enable secure authentication with external services that use API key-based authentication for agent runtimes. > **Note:** Write-Only argument `apiKeyWo` is available to use in place of `apiKey`. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. Learn more. ## Example Usage ### Basic Usage
### Write-Only API Key (Recommended for Production)package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProvider; import com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProviderArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new AgentcoreApiKeyCredentialProvider("example", AgentcoreApiKeyCredentialProviderArgs.builder() .name("example-api-key-provider") .apiKey("your-api-key-here") .build()); } }
### Customer-Managed Secret Reference an API key already stored in a customer-managed AWS Secrets Manager secret instead of having AgentCore create and manage one.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProvider; import com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProviderArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new AgentcoreApiKeyCredentialProvider("example", AgentcoreApiKeyCredentialProviderArgs.builder() .name("example-api-key-provider") .apiKeyWo("your-api-key-here") .apiKeyWoVersion(1) .build()); } }
## Import ### Identity Schema #### Required * `name` (String) API key credential provider name. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Bedrock AgentCore API Key Credential Provider using the provider name. For example: ```sh $ pulumi import aws:bedrock/agentcoreApiKeyCredentialProvider:AgentcoreApiKeyCredentialProvider example example-api-key-provider ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProvider; import com.pulumi.aws.bedrock.AgentcoreApiKeyCredentialProviderArgs; import com.pulumi.aws.bedrock.inputs.AgentcoreApiKeyCredentialProviderApiKeySecretConfigArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new AgentcoreApiKeyCredentialProvider("example", AgentcoreApiKeyCredentialProviderArgs.builder() .apiKeySecretConfig(AgentcoreApiKeyCredentialProviderApiKeySecretConfigArgs.builder() .secretId(exampleAwsSecretsmanagerSecret.id()) .jsonKey("apiKey") .build()) .name("example-api-key-provider") .apiKeySecretSource("EXTERNAL") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description AgentcoreApiKeyCredentialProvider(java.lang.String name)AgentcoreApiKeyCredentialProvider(java.lang.String name, AgentcoreApiKeyCredentialProviderArgs args)AgentcoreApiKeyCredentialProvider(java.lang.String name, AgentcoreApiKeyCredentialProviderArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<java.lang.String>>apiKey()com.pulumi.core.Output<java.util.List<AgentcoreApiKeyCredentialProviderApiKeySecretArn>>apiKeySecretArns()com.pulumi.core.Output<java.util.Optional<AgentcoreApiKeyCredentialProviderApiKeySecretConfig>>apiKeySecretConfig()com.pulumi.core.Output<java.lang.String>apiKeySecretSource()com.pulumi.core.Output<java.util.Optional<java.lang.String>>apiKeyWo()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>apiKeyWoVersion()com.pulumi.core.Output<java.lang.String>credentialProviderArn()static AgentcoreApiKeyCredentialProviderget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AgentcoreApiKeyCredentialProviderState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()
-
-
-
Constructor Detail
-
AgentcoreApiKeyCredentialProvider
public AgentcoreApiKeyCredentialProvider(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
AgentcoreApiKeyCredentialProvider
public AgentcoreApiKeyCredentialProvider(java.lang.String name, @Nullable AgentcoreApiKeyCredentialProviderArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
AgentcoreApiKeyCredentialProvider
public AgentcoreApiKeyCredentialProvider(java.lang.String name, @Nullable AgentcoreApiKeyCredentialProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
apiKey
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> apiKey()
- Returns:
- API key value. Exactly one of `apiKey`, `apiKeySecretConfig`, or `apiKeyWo` must be set. This value is stored in plain text in the Terraform state; use `apiKeyWo` to avoid this.
-
apiKeySecretArns
public com.pulumi.core.Output<java.util.List<AgentcoreApiKeyCredentialProviderApiKeySecretArn>> apiKeySecretArns()
- Returns:
- ARN of the AWS Secrets Manager secret containing the API key.
-
apiKeySecretConfig
public com.pulumi.core.Output<java.util.Optional<AgentcoreApiKeyCredentialProviderApiKeySecretConfig>> apiKeySecretConfig()
- Returns:
- Reference to a customer-managed AWS Secrets Manager secret that stores the API key. Requires `apiKeySecretSource = "EXTERNAL"`. See below.
-
apiKeySecretSource
public com.pulumi.core.Output<java.lang.String> apiKeySecretSource()
- Returns:
- Source of the secret backing the credential provider. Valid values are `MANAGED` (AgentCore creates and manages the secret from the supplied `apiKey`) and `EXTERNAL` (the provider references a customer-managed AWS Secrets Manager secret via `apiKeySecretConfig`). Changing between `MANAGED` and `EXTERNAL` forces replacement of the resource.
-
apiKeyWo
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> apiKeyWo()
- Returns:
- **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. Write-only API key value. Conflicts with `apiKey` and `apiKeySecretConfig`. If set, requires `apiKeyWoVersion` to be set.
-
apiKeyWoVersion
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> apiKeyWoVersion()
- Returns:
- Version used together with the write-only API key. Required when `apiKeyWo` is set. Changing this value triggers an update to `apiKeyWo`.
-
credentialProviderArn
public com.pulumi.core.Output<java.lang.String> credentialProviderArn()
- Returns:
- ARN of the API Key credential provider.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the API Key credential provider. Forces replacement when changed. The following arguments are optional:
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
get
public static AgentcoreApiKeyCredentialProvider get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable AgentcoreApiKeyCredentialProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-