Class Guardrail


  • public class Guardrail
    extends com.pulumi.resources.CustomResource
    Manages an Amazon Bedrock Guardrail. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.bedrock.Guardrail;
     import com.pulumi.aws.bedrock.GuardrailArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailContentPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailContentPolicyConfigFiltersConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailContentPolicyConfigTierConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailSensitiveInformationPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailSensitiveInformationPolicyConfigPiiEntitiesConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailSensitiveInformationPolicyConfigRegexesConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailTopicPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailTopicPolicyConfigTierConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailTopicPolicyConfigTopicsConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailWordPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailWordPolicyConfigManagedWordListsConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailWordPolicyConfigWordsConfigArgs;
     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 Guardrail("example", GuardrailArgs.builder()
                 .contentPolicyConfig(GuardrailContentPolicyConfigArgs.builder()
                     .filtersConfigs(GuardrailContentPolicyConfigFiltersConfigArgs.builder()
                         .inputStrength("MEDIUM")
                         .outputStrength("MEDIUM")
                         .type("HATE")
                         .build())
                     .tierConfigs(GuardrailContentPolicyConfigTierConfigArgs.builder()
                         .tierName("CLASSIC")
                         .build())
                     .build())
                 .sensitiveInformationPolicyConfig(GuardrailSensitiveInformationPolicyConfigArgs.builder()
                     .piiEntitiesConfigs(GuardrailSensitiveInformationPolicyConfigPiiEntitiesConfigArgs.builder()
                         .action("BLOCK")
                         .inputAction("BLOCK")
                         .outputAction("ANONYMIZE")
                         .inputEnabled(true)
                         .outputEnabled(true)
                         .type("NAME")
                         .build())
                     .regexesConfigs(GuardrailSensitiveInformationPolicyConfigRegexesConfigArgs.builder()
                         .action("BLOCK")
                         .inputAction("BLOCK")
                         .outputAction("BLOCK")
                         .inputEnabled(true)
                         .outputEnabled(false)
                         .description("example regex")
                         .name("regex_example")
                         .pattern("^\\d{3}-\\d{2}-\\d{4}$")
                         .build())
                     .build())
                 .topicPolicyConfig(GuardrailTopicPolicyConfigArgs.builder()
                     .tierConfigs(GuardrailTopicPolicyConfigTierConfigArgs.builder()
                         .tierName("CLASSIC")
                         .build())
                     .topicsConfigs(GuardrailTopicPolicyConfigTopicsConfigArgs.builder()
                         .name("investment_topic")
                         .examples("Where should I invest my money ?")
                         .type("DENY")
                         .definition("Investment advice refers to inquiries, guidance, or recommendations regarding the management or allocation of funds or assets with the goal of generating returns .")
                         .build())
                     .build())
                 .wordPolicyConfig(GuardrailWordPolicyConfigArgs.builder()
                     .managedWordListsConfigs(GuardrailWordPolicyConfigManagedWordListsConfigArgs.builder()
                         .type("PROFANITY")
                         .build())
                     .wordsConfigs(GuardrailWordPolicyConfigWordsConfigArgs.builder()
                         .text("HATE")
                         .build())
                     .build())
                 .name("example")
                 .blockedInputMessaging("example")
                 .blockedOutputsMessaging("example")
                 .description("example")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import Amazon Bedrock Guardrail using a comma-delimited string of `guardrailId` and `version`. For example: ```sh $ pulumi import aws:bedrock/guardrail:Guardrail example guardrail-id-12345678,DRAFT ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Summary

      Constructors 
      Constructor Description
      Guardrail​(java.lang.String name)  
      Guardrail​(java.lang.String name, GuardrailArgs args)  
      Guardrail​(java.lang.String name, GuardrailArgs args, com.pulumi.resources.CustomResourceOptions options)  
    • Constructor Detail

      • Guardrail

        public Guardrail​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • Guardrail

        public Guardrail​(java.lang.String name,
                         GuardrailArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • Guardrail

        public Guardrail​(java.lang.String name,
                         GuardrailArgs 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

      • blockedInputMessaging

        public com.pulumi.core.Output<java.lang.String> blockedInputMessaging()
        Returns:
        Message to return when the guardrail blocks a prompt.
      • blockedOutputsMessaging

        public com.pulumi.core.Output<java.lang.String> blockedOutputsMessaging()
        Returns:
        Message to return when the guardrail blocks a model response.
      • contentPolicyConfig

        public com.pulumi.core.Output<java.util.Optional<GuardrailContentPolicyConfig>> contentPolicyConfig()
        Returns:
        Content policy config for a guardrail. See `contentPolicyConfig` Block for more information.
      • contextualGroundingPolicyConfig

        public com.pulumi.core.Output<java.util.Optional<GuardrailContextualGroundingPolicyConfig>> contextualGroundingPolicyConfig()
        Returns:
        Contextual grounding policy config for a guardrail. See `contextualGroundingPolicyConfig` Block for more information.
      • createdAt

        public com.pulumi.core.Output<java.lang.String> createdAt()
        Returns:
        Date and time the Guardrail was created, in RFC3339 format.
      • crossRegionConfig

        public com.pulumi.core.Output<java.util.Optional<GuardrailCrossRegionConfig>> crossRegionConfig()
        Returns:
        Configuration block to enable cross-region routing for bedrock guardrails. See `crossRegionConfig` Block for more information. See [available Regions](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-cross-region-support.html).
      • description

        public com.pulumi.core.Output<java.lang.String> description()
        Returns:
        Description of the guardrail or its version.
      • guardrailArn

        public com.pulumi.core.Output<java.lang.String> guardrailArn()
        Returns:
        ARN of the Guardrail.
      • guardrailId

        public com.pulumi.core.Output<java.lang.String> guardrailId()
        Returns:
        ID of the Guardrail.
      • kmsKeyArn

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> kmsKeyArn()
        Returns:
        KMS key with which the guardrail was encrypted at rest.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name of the guardrail. 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.
      • sensitiveInformationPolicyConfig

        public com.pulumi.core.Output<java.util.Optional<GuardrailSensitiveInformationPolicyConfig>> sensitiveInformationPolicyConfig()
        Returns:
        Sensitive information policy config for a guardrail. See `sensitiveInformationPolicyConfig` Block for more information.
      • status

        public com.pulumi.core.Output<java.lang.String> status()
        Returns:
        Status of the Bedrock Guardrail.
      • 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.
      • timeouts

        public com.pulumi.core.Output<java.util.Optional<GuardrailTimeouts>> timeouts()
      • topicPolicyConfig

        public com.pulumi.core.Output<java.util.Optional<GuardrailTopicPolicyConfig>> topicPolicyConfig()
        Returns:
        Topic policy config for a guardrail. See `topicPolicyConfig` Block for more information.
      • updatedAt

        public com.pulumi.core.Output<java.lang.String> updatedAt()
        Returns:
        Date and time that the Guardrail was last updated, in RFC3339 format.
      • version

        public com.pulumi.core.Output<java.lang.String> version()
        Returns:
        Version of the Guardrail.
      • wordPolicyConfig

        public com.pulumi.core.Output<java.util.Optional<GuardrailWordPolicyConfig>> wordPolicyConfig()
        Returns:
        Word policy config for a guardrail. See `wordPolicyConfig` Block for more information.
      • get

        public static Guardrail get​(java.lang.String name,
                                    com.pulumi.core.Output<java.lang.String> id,
                                    @Nullable
                                    GuardrailState 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.