Class EnforcedGuardrailConfiguration


  • public class EnforcedGuardrailConfiguration
    extends com.pulumi.resources.CustomResource
    Resource for managing an Amazon Bedrock Enforced Guardrail Configuration. This resource configures an enforced guardrail that is applied across all Bedrock inference calls in the configured region. > Enforced guardrail configuration is configured per AWS region. To avoid overwriting settings, this resource should not be defined in multiple configurations. ## 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.GuardrailWordPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailWordPolicyConfigWordsConfigArgs;
     import com.pulumi.aws.bedrock.GuardrailVersion;
     import com.pulumi.aws.bedrock.GuardrailVersionArgs;
     import com.pulumi.aws.bedrock.EnforcedGuardrailConfiguration;
     import com.pulumi.aws.bedrock.EnforcedGuardrailConfigurationArgs;
     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()
                 .wordPolicyConfig(GuardrailWordPolicyConfigArgs.builder()
                     .wordsConfigs(GuardrailWordPolicyConfigWordsConfigArgs.builder()
                         .text("deny")
                         .build())
                     .build())
                 .name("example")
                 .blockedInputMessaging("Blocked input")
                 .blockedOutputsMessaging("Blocked output")
                 .description("Example guardrail")
                 .build());
     
             var exampleGuardrailVersion = new GuardrailVersion("exampleGuardrailVersion", GuardrailVersionArgs.builder()
                 .guardrailArn(example.guardrailArn())
                 .description("Example version")
                 .build());
     
             var exampleEnforcedGuardrailConfiguration = new EnforcedGuardrailConfiguration("exampleEnforcedGuardrailConfiguration", EnforcedGuardrailConfigurationArgs.builder()
                 .guardrailArn(example.guardrailArn())
                 .guardrailVersion(exampleGuardrailVersion.version())
                 .build());
     
         }
     }
     
     
    ### With Selective Content Guarding
     
     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.GuardrailWordPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailWordPolicyConfigWordsConfigArgs;
     import com.pulumi.aws.bedrock.GuardrailVersion;
     import com.pulumi.aws.bedrock.GuardrailVersionArgs;
     import com.pulumi.aws.bedrock.EnforcedGuardrailConfiguration;
     import com.pulumi.aws.bedrock.EnforcedGuardrailConfigurationArgs;
     import com.pulumi.aws.bedrock.inputs.EnforcedGuardrailConfigurationSelectiveContentGuardingArgs;
     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()
                 .wordPolicyConfig(GuardrailWordPolicyConfigArgs.builder()
                     .wordsConfigs(GuardrailWordPolicyConfigWordsConfigArgs.builder()
                         .text("deny")
                         .build())
                     .build())
                 .name("example")
                 .blockedInputMessaging("Blocked input")
                 .blockedOutputsMessaging("Blocked output")
                 .description("Example guardrail")
                 .build());
     
             var exampleGuardrailVersion = new GuardrailVersion("exampleGuardrailVersion", GuardrailVersionArgs.builder()
                 .guardrailArn(example.guardrailArn())
                 .description("Example version")
                 .build());
     
             var exampleEnforcedGuardrailConfiguration = new EnforcedGuardrailConfiguration("exampleEnforcedGuardrailConfiguration", EnforcedGuardrailConfigurationArgs.builder()
                 .selectiveContentGuarding(EnforcedGuardrailConfigurationSelectiveContentGuardingArgs.builder()
                     .messages("COMPREHENSIVE")
                     .system("COMPREHENSIVE")
                     .build())
                 .guardrailArn(example.guardrailArn())
                 .guardrailVersion(exampleGuardrailVersion.version())
                 .build());
     
         }
     }
     
     
    ### With Model Enforcement
     
     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.GuardrailWordPolicyConfigArgs;
     import com.pulumi.aws.bedrock.inputs.GuardrailWordPolicyConfigWordsConfigArgs;
     import com.pulumi.aws.bedrock.GuardrailVersion;
     import com.pulumi.aws.bedrock.GuardrailVersionArgs;
     import com.pulumi.aws.bedrock.EnforcedGuardrailConfiguration;
     import com.pulumi.aws.bedrock.EnforcedGuardrailConfigurationArgs;
     import com.pulumi.aws.bedrock.inputs.EnforcedGuardrailConfigurationModelEnforcementArgs;
     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()
                 .wordPolicyConfig(GuardrailWordPolicyConfigArgs.builder()
                     .wordsConfigs(GuardrailWordPolicyConfigWordsConfigArgs.builder()
                         .text("deny")
                         .build())
                     .build())
                 .name("example")
                 .blockedInputMessaging("Blocked input")
                 .blockedOutputsMessaging("Blocked output")
                 .description("Example guardrail")
                 .build());
     
             var exampleGuardrailVersion = new GuardrailVersion("exampleGuardrailVersion", GuardrailVersionArgs.builder()
                 .guardrailArn(example.guardrailArn())
                 .description("Example version")
                 .build());
     
             var exampleEnforcedGuardrailConfiguration = new EnforcedGuardrailConfiguration("exampleEnforcedGuardrailConfiguration", EnforcedGuardrailConfigurationArgs.builder()
                 .modelEnforcement(EnforcedGuardrailConfigurationModelEnforcementArgs.builder()
                     .includedModels("ALL")
                     .excludedModels()
                     .build())
                 .guardrailArn(example.guardrailArn())
                 .guardrailVersion(exampleGuardrailVersion.version())
                 .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required * `configId` (String) Configuration ID. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Bedrock Enforced Guardrail Configuration using `configId`. For example: ```sh $ pulumi import aws:bedrock/enforcedGuardrailConfiguration:EnforcedGuardrailConfiguration example TODO ```
    • Constructor Detail

      • EnforcedGuardrailConfiguration

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

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

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

      • configId

        public com.pulumi.core.Output<java.lang.String> configId()
        Returns:
        Unique ID for the account enforced configuration.
      • guardrailArn

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

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

        public com.pulumi.core.Output<java.lang.String> guardrailVersion()
        Returns:
        Numerical guardrail version. Must be a published version number (e.g., `1`, `2`). `DRAFT` is not supported. The following arguments are optional:
      • modelEnforcement

        public com.pulumi.core.Output<java.util.Optional<EnforcedGuardrailConfigurationModelEnforcement>> modelEnforcement()
        Returns:
        Model-specific information for the enforced guardrail configuration. If not present, the configuration is enforced on all models. See `modelEnforcement` Block below.
      • owner

        public com.pulumi.core.Output<java.lang.String> owner()
        Returns:
        Configuration owner type. Value: `ACCOUNT`.
      • 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.
      • selectiveContentGuarding

        public com.pulumi.core.Output<java.util.Optional<EnforcedGuardrailConfigurationSelectiveContentGuarding>> selectiveContentGuarding()
        Returns:
        Selective content guarding controls for enforced guardrails. See `selectiveContentGuarding` Block below.
      • get

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