com.amazonaws.services.customerprofiles.model.CreateDomainRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-customerprofiles Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.customerprofiles.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateDomainRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The unique name of the domain.
*
*/
private String domainName;
/**
*
* The default number of days until the data within the domain expires.
*
*/
private Integer defaultExpirationDays;
/**
*
* 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.
*
*/
private String defaultEncryptionKey;
/**
*
* The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from
* third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable
* Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
*
*/
private String deadLetterQueueUrl;
/**
*
* The process of matching duplicate profiles. If Matching
= true
, Amazon Connect Customer
* Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for
* Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in
* your domains.
*
*
* After the Identity Resolution Job completes, use the GetMatches API to
* return and review the results. Or, if you have configured ExportingConfig
in the
* MatchingRequest
, you can download the results from S3.
*
*/
private MatchingRequest matching;
/**
*
* The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching
=
* true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your
* configuration in the RuleBasedMatchingRequest
. You can use the ListRuleBasedMatches
and
* GetSimilarProfiles
API to return and review the results. Also, if you have configured
* ExportingConfig
in the RuleBasedMatchingRequest
, you can download the results from S3.
*
*/
private RuleBasedMatchingRequest ruleBasedMatching;
/**
*
* The tags used to organize, track, or control access for this resource.
*
*/
private java.util.Map tags;
/**
*
* The unique name of the domain.
*
*
* @param domainName
* The unique name of the domain.
*/
public void setDomainName(String domainName) {
this.domainName = domainName;
}
/**
*
* The unique name of the domain.
*
*
* @return The unique name of the domain.
*/
public String getDomainName() {
return this.domainName;
}
/**
*
* The unique name of the domain.
*
*
* @param domainName
* The unique name of the domain.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withDomainName(String domainName) {
setDomainName(domainName);
return this;
}
/**
*
* The default number of days until the data within the domain expires.
*
*
* @param defaultExpirationDays
* The default number of days until the data within the domain expires.
*/
public void setDefaultExpirationDays(Integer defaultExpirationDays) {
this.defaultExpirationDays = defaultExpirationDays;
}
/**
*
* The default number of days until the data within the domain expires.
*
*
* @return The default number of days until the data within the domain expires.
*/
public Integer getDefaultExpirationDays() {
return this.defaultExpirationDays;
}
/**
*
* The default number of days until the data within the domain expires.
*
*
* @param defaultExpirationDays
* The default number of days until the data within the domain expires.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withDefaultExpirationDays(Integer defaultExpirationDays) {
setDefaultExpirationDays(defaultExpirationDays);
return this;
}
/**
*
* 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.
*
*
* @param defaultEncryptionKey
* 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.
*/
public void setDefaultEncryptionKey(String defaultEncryptionKey) {
this.defaultEncryptionKey = defaultEncryptionKey;
}
/**
*
* 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.
*
*
* @return 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.
*/
public String getDefaultEncryptionKey() {
return this.defaultEncryptionKey;
}
/**
*
* 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.
*
*
* @param defaultEncryptionKey
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withDefaultEncryptionKey(String defaultEncryptionKey) {
setDefaultEncryptionKey(defaultEncryptionKey);
return this;
}
/**
*
* The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from
* third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable
* Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
*
*
* @param deadLetterQueueUrl
* The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data
* from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage
* operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
*/
public void setDeadLetterQueueUrl(String deadLetterQueueUrl) {
this.deadLetterQueueUrl = deadLetterQueueUrl;
}
/**
*
* The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from
* third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable
* Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
*
*
* @return The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data
* from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage
* operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
*/
public String getDeadLetterQueueUrl() {
return this.deadLetterQueueUrl;
}
/**
*
* The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from
* third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable
* Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
*
*
* @param deadLetterQueueUrl
* The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data
* from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage
* operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withDeadLetterQueueUrl(String deadLetterQueueUrl) {
setDeadLetterQueueUrl(deadLetterQueueUrl);
return this;
}
/**
*
* The process of matching duplicate profiles. If Matching
= true
, Amazon Connect Customer
* Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for
* Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in
* your domains.
*
*
* After the Identity Resolution Job completes, use the GetMatches API to
* return and review the results. Or, if you have configured ExportingConfig
in the
* MatchingRequest
, you can download the results from S3.
*
*
* @param matching
* The process of matching duplicate profiles. If Matching
= true
, Amazon Connect
* Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a
* date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect
* duplicate profiles in your domains.
*
* After the Identity Resolution Job completes, use the GetMatches
* API to return and review the results. Or, if you have configured ExportingConfig
in the
* MatchingRequest
, you can download the results from S3.
*/
public void setMatching(MatchingRequest matching) {
this.matching = matching;
}
/**
*
* The process of matching duplicate profiles. If Matching
= true
, Amazon Connect Customer
* Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for
* Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in
* your domains.
*
*
* After the Identity Resolution Job completes, use the GetMatches API to
* return and review the results. Or, if you have configured ExportingConfig
in the
* MatchingRequest
, you can download the results from S3.
*
*
* @return The process of matching duplicate profiles. If Matching
= true
, Amazon Connect
* Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a
* date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect
* duplicate profiles in your domains.
*
* After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured
* ExportingConfig
in the MatchingRequest
, you can download the results from S3.
*/
public MatchingRequest getMatching() {
return this.matching;
}
/**
*
* The process of matching duplicate profiles. If Matching
= true
, Amazon Connect Customer
* Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for
* Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in
* your domains.
*
*
* After the Identity Resolution Job completes, use the GetMatches API to
* return and review the results. Or, if you have configured ExportingConfig
in the
* MatchingRequest
, you can download the results from S3.
*
*
* @param matching
* The process of matching duplicate profiles. If Matching
= true
, Amazon Connect
* Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a
* date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect
* duplicate profiles in your domains.
*
* After the Identity Resolution Job completes, use the GetMatches
* API to return and review the results. Or, if you have configured ExportingConfig
in the
* MatchingRequest
, you can download the results from S3.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withMatching(MatchingRequest matching) {
setMatching(matching);
return this;
}
/**
*
* The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching
=
* true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your
* configuration in the RuleBasedMatchingRequest
. You can use the ListRuleBasedMatches
and
* GetSimilarProfiles
API to return and review the results. Also, if you have configured
* ExportingConfig
in the RuleBasedMatchingRequest
, you can download the results from S3.
*
*
* @param ruleBasedMatching
* The process of matching duplicate profiles using the Rule-Based matching. If
* RuleBasedMatching
= true, Amazon Connect Customer Profiles will start to match and merge your
* profiles according to your configuration in the RuleBasedMatchingRequest
. You can use the
* ListRuleBasedMatches
and GetSimilarProfiles
API to return and review the
* results. Also, if you have configured ExportingConfig
in the
* RuleBasedMatchingRequest
, you can download the results from S3.
*/
public void setRuleBasedMatching(RuleBasedMatchingRequest ruleBasedMatching) {
this.ruleBasedMatching = ruleBasedMatching;
}
/**
*
* The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching
=
* true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your
* configuration in the RuleBasedMatchingRequest
. You can use the ListRuleBasedMatches
and
* GetSimilarProfiles
API to return and review the results. Also, if you have configured
* ExportingConfig
in the RuleBasedMatchingRequest
, you can download the results from S3.
*
*
* @return The process of matching duplicate profiles using the Rule-Based matching. If
* RuleBasedMatching
= true, Amazon Connect Customer Profiles will start to match and merge
* your profiles according to your configuration in the RuleBasedMatchingRequest
. You can use
* the ListRuleBasedMatches
and GetSimilarProfiles
API to return and review the
* results. Also, if you have configured ExportingConfig
in the
* RuleBasedMatchingRequest
, you can download the results from S3.
*/
public RuleBasedMatchingRequest getRuleBasedMatching() {
return this.ruleBasedMatching;
}
/**
*
* The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching
=
* true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your
* configuration in the RuleBasedMatchingRequest
. You can use the ListRuleBasedMatches
and
* GetSimilarProfiles
API to return and review the results. Also, if you have configured
* ExportingConfig
in the RuleBasedMatchingRequest
, you can download the results from S3.
*
*
* @param ruleBasedMatching
* The process of matching duplicate profiles using the Rule-Based matching. If
* RuleBasedMatching
= true, Amazon Connect Customer Profiles will start to match and merge your
* profiles according to your configuration in the RuleBasedMatchingRequest
. You can use the
* ListRuleBasedMatches
and GetSimilarProfiles
API to return and review the
* results. Also, if you have configured ExportingConfig
in the
* RuleBasedMatchingRequest
, you can download the results from S3.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withRuleBasedMatching(RuleBasedMatchingRequest ruleBasedMatching) {
setRuleBasedMatching(ruleBasedMatching);
return this;
}
/**
*
* The tags used to organize, track, or control access for this resource.
*
*
* @return The tags used to organize, track, or control access for this resource.
*/
public java.util.Map getTags() {
return tags;
}
/**
*
* The tags used to organize, track, or control access for this resource.
*
*
* @param tags
* The tags used to organize, track, or control access for this resource.
*/
public void setTags(java.util.Map tags) {
this.tags = tags;
}
/**
*
* The tags used to organize, track, or control access for this resource.
*
*
* @param tags
* The tags used to organize, track, or control access for this resource.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see CreateDomainRequest#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDomainRequest clearTagsEntries() {
this.tags = null;
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getDomainName() != null)
sb.append("DomainName: ").append(getDomainName()).append(",");
if (getDefaultExpirationDays() != null)
sb.append("DefaultExpirationDays: ").append(getDefaultExpirationDays()).append(",");
if (getDefaultEncryptionKey() != null)
sb.append("DefaultEncryptionKey: ").append(getDefaultEncryptionKey()).append(",");
if (getDeadLetterQueueUrl() != null)
sb.append("DeadLetterQueueUrl: ").append(getDeadLetterQueueUrl()).append(",");
if (getMatching() != null)
sb.append("Matching: ").append(getMatching()).append(",");
if (getRuleBasedMatching() != null)
sb.append("RuleBasedMatching: ").append(getRuleBasedMatching()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateDomainRequest == false)
return false;
CreateDomainRequest other = (CreateDomainRequest) obj;
if (other.getDomainName() == null ^ this.getDomainName() == null)
return false;
if (other.getDomainName() != null && other.getDomainName().equals(this.getDomainName()) == false)
return false;
if (other.getDefaultExpirationDays() == null ^ this.getDefaultExpirationDays() == null)
return false;
if (other.getDefaultExpirationDays() != null && other.getDefaultExpirationDays().equals(this.getDefaultExpirationDays()) == false)
return false;
if (other.getDefaultEncryptionKey() == null ^ this.getDefaultEncryptionKey() == null)
return false;
if (other.getDefaultEncryptionKey() != null && other.getDefaultEncryptionKey().equals(this.getDefaultEncryptionKey()) == false)
return false;
if (other.getDeadLetterQueueUrl() == null ^ this.getDeadLetterQueueUrl() == null)
return false;
if (other.getDeadLetterQueueUrl() != null && other.getDeadLetterQueueUrl().equals(this.getDeadLetterQueueUrl()) == false)
return false;
if (other.getMatching() == null ^ this.getMatching() == null)
return false;
if (other.getMatching() != null && other.getMatching().equals(this.getMatching()) == false)
return false;
if (other.getRuleBasedMatching() == null ^ this.getRuleBasedMatching() == null)
return false;
if (other.getRuleBasedMatching() != null && other.getRuleBasedMatching().equals(this.getRuleBasedMatching()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getDomainName() == null) ? 0 : getDomainName().hashCode());
hashCode = prime * hashCode + ((getDefaultExpirationDays() == null) ? 0 : getDefaultExpirationDays().hashCode());
hashCode = prime * hashCode + ((getDefaultEncryptionKey() == null) ? 0 : getDefaultEncryptionKey().hashCode());
hashCode = prime * hashCode + ((getDeadLetterQueueUrl() == null) ? 0 : getDeadLetterQueueUrl().hashCode());
hashCode = prime * hashCode + ((getMatching() == null) ? 0 : getMatching().hashCode());
hashCode = prime * hashCode + ((getRuleBasedMatching() == null) ? 0 : getRuleBasedMatching().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
return hashCode;
}
@Override
public CreateDomainRequest clone() {
return (CreateDomainRequest) super.clone();
}
}