Class Domain


  • public class Domain
    extends com.pulumi.resources.CustomResource
    Resource for managing an Amazon Customer Profiles Domain. See the [Create Domain](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html) for more information. ## Example Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.customerprofiles.Domain;
     import com.pulumi.aws.customerprofiles.DomainArgs;
     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 Domain("example", DomainArgs.builder()
                 .domainName("example")
                 .build());
     
         }
     }
     
     
    ### With SQS DLQ and KMS set
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.sqs.Queue;
     import com.pulumi.aws.sqs.QueueArgs;
     import com.pulumi.aws.kms.Key;
     import com.pulumi.aws.kms.KeyArgs;
     import com.pulumi.aws.s3.Bucket;
     import com.pulumi.aws.s3.BucketArgs;
     import com.pulumi.aws.s3.BucketPolicy;
     import com.pulumi.aws.s3.BucketPolicyArgs;
     import com.pulumi.aws.customerprofiles.Domain;
     import com.pulumi.aws.customerprofiles.DomainArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     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 Queue("example", QueueArgs.builder()
                 .name("example")
                 .policy(serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Sid", "Customer Profiles SQS policy"),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Action", jsonArray("sqs:SendMessage")),
                             jsonProperty("Resource", "*"),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", "profile.amazonaws.com")
                             ))
                         )))
                     )))
                 .build());
     
             var exampleKey = new Key("exampleKey", KeyArgs.builder()
                 .description("example")
                 .deletionWindowInDays(10)
                 .build());
     
             var exampleBucket = new Bucket("exampleBucket", BucketArgs.builder()
                 .bucket("example")
                 .forceDestroy(true)
                 .build());
     
             var exampleBucketPolicy = new BucketPolicy("exampleBucketPolicy", BucketPolicyArgs.builder()
                 .bucket(exampleBucket.id())
                 .policy(exampleBucket.arn().applyValue(_arn -> serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Sid", "Customer Profiles S3 policy"),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Action", jsonArray(
                                 "s3:GetObject", 
                                 "s3:PutObject", 
                                 "s3:ListBucket"
                             )),
                             jsonProperty("Resource", jsonArray(
                                 _arn, 
                                 String.format("%s/*", _arn)
                             )),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", "profile.amazonaws.com")
                             ))
                         )))
                     ))))
                 .build());
     
             var test = new Domain("test", DomainArgs.builder()
                 .domainName(example)
                 .deadLetterQueueUrl(example.id())
                 .defaultEncryptionKey(exampleKey.arn())
                 .defaultExpirationDays(365)
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import Amazon Customer Profiles Domain using the resource `id`. For example: ```sh $ pulumi import aws:customerprofiles/domain:Domain example e6f777be-22d0-4b40-b307-5d2720ef16b2 ```
    • 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
      Domain​(java.lang.String name)  
      Domain​(java.lang.String name, DomainArgs args)  
      Domain​(java.lang.String name, DomainArgs 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.lang.String> arn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> deadLetterQueueUrl()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> defaultEncryptionKey()  
      com.pulumi.core.Output<java.lang.Integer> defaultExpirationDays()  
      com.pulumi.core.Output<java.lang.String> domainName()  
      static Domain get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DomainState 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.util.Optional<DomainMatching>> matching()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.Optional<DomainRuleBasedMatching>> ruleBasedMatching()  
      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()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Domain

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

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

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

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the Customer Profiles Domain.
      • deadLetterQueueUrl

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> deadLetterQueueUrl()
        Returns:
        The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications.
      • defaultEncryptionKey

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> defaultEncryptionKey()
        Returns:
        The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.
      • defaultExpirationDays

        public com.pulumi.core.Output<java.lang.Integer> defaultExpirationDays()
        Returns:
        The default number of days until the data within the domain expires. The following arguments are optional:
      • domainName

        public com.pulumi.core.Output<java.lang.String> domainName()
        Returns:
        The name for your Customer Profile domain. It must be unique for your AWS account.
      • matching

        public com.pulumi.core.Output<java.util.Optional<DomainMatching>> matching()
        Returns:
        A block that specifies the process of matching duplicate profiles. Documented below.
      • 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.
      • ruleBasedMatching

        public com.pulumi.core.Output<java.util.Optional<DomainRuleBasedMatching>> ruleBasedMatching()
        Returns:
        A block that specifies the process of matching duplicate profiles using the Rule-Based matching. Documented below.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Tags to apply to the domain. 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:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • get

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