All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.pinpoint.model.EmailChannelResponse Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Pinpoint module holds the client classes that are used for communicating with Amazon Pinpoint Service

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright 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 software.amazon.awssdk.services.pinpoint.model;

import java.beans.Transient;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Provides information about the status and settings of the email channel for an application. *

*/ @Generated("software.amazon.awssdk:codegen") public final class EmailChannelResponse implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField APPLICATION_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ApplicationId").getter(getter(EmailChannelResponse::applicationId)) .setter(setter(Builder::applicationId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ApplicationId").build()).build(); private static final SdkField CONFIGURATION_SET_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ConfigurationSet").getter(getter(EmailChannelResponse::configurationSet)) .setter(setter(Builder::configurationSet)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ConfigurationSet").build()).build(); private static final SdkField CREATION_DATE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("CreationDate").getter(getter(EmailChannelResponse::creationDate)).setter(setter(Builder::creationDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreationDate").build()).build(); private static final SdkField ENABLED_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("Enabled").getter(getter(EmailChannelResponse::enabled)).setter(setter(Builder::enabled)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Enabled").build()).build(); private static final SdkField FROM_ADDRESS_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("FromAddress").getter(getter(EmailChannelResponse::fromAddress)).setter(setter(Builder::fromAddress)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("FromAddress").build()).build(); private static final SdkField HAS_CREDENTIAL_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("HasCredential").getter(getter(EmailChannelResponse::hasCredential)) .setter(setter(Builder::hasCredential)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HasCredential").build()).build(); private static final SdkField ID_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Id") .getter(getter(EmailChannelResponse::id)).setter(setter(Builder::id)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Id").build()).build(); private static final SdkField IDENTITY_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("Identity").getter(getter(EmailChannelResponse::identity)).setter(setter(Builder::identity)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Identity").build()).build(); private static final SdkField IS_ARCHIVED_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("IsArchived").getter(getter(EmailChannelResponse::isArchived)).setter(setter(Builder::isArchived)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IsArchived").build()).build(); private static final SdkField LAST_MODIFIED_BY_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("LastModifiedBy").getter(getter(EmailChannelResponse::lastModifiedBy)) .setter(setter(Builder::lastModifiedBy)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LastModifiedBy").build()).build(); private static final SdkField LAST_MODIFIED_DATE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("LastModifiedDate").getter(getter(EmailChannelResponse::lastModifiedDate)) .setter(setter(Builder::lastModifiedDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LastModifiedDate").build()).build(); private static final SdkField MESSAGES_PER_SECOND_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("MessagesPerSecond").getter(getter(EmailChannelResponse::messagesPerSecond)) .setter(setter(Builder::messagesPerSecond)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MessagesPerSecond").build()).build(); private static final SdkField PLATFORM_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("Platform").getter(getter(EmailChannelResponse::platform)).setter(setter(Builder::platform)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Platform").build()).build(); private static final SdkField ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("RoleArn").getter(getter(EmailChannelResponse::roleArn)).setter(setter(Builder::roleArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RoleArn").build()).build(); private static final SdkField VERSION_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("Version").getter(getter(EmailChannelResponse::version)).setter(setter(Builder::version)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Version").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(APPLICATION_ID_FIELD, CONFIGURATION_SET_FIELD, CREATION_DATE_FIELD, ENABLED_FIELD, FROM_ADDRESS_FIELD, HAS_CREDENTIAL_FIELD, ID_FIELD, IDENTITY_FIELD, IS_ARCHIVED_FIELD, LAST_MODIFIED_BY_FIELD, LAST_MODIFIED_DATE_FIELD, MESSAGES_PER_SECOND_FIELD, PLATFORM_FIELD, ROLE_ARN_FIELD, VERSION_FIELD)); private static final long serialVersionUID = 1L; private final String applicationId; private final String configurationSet; private final String creationDate; private final Boolean enabled; private final String fromAddress; private final Boolean hasCredential; private final String id; private final String identity; private final Boolean isArchived; private final String lastModifiedBy; private final String lastModifiedDate; private final Integer messagesPerSecond; private final String platform; private final String roleArn; private final Integer version; private EmailChannelResponse(BuilderImpl builder) { this.applicationId = builder.applicationId; this.configurationSet = builder.configurationSet; this.creationDate = builder.creationDate; this.enabled = builder.enabled; this.fromAddress = builder.fromAddress; this.hasCredential = builder.hasCredential; this.id = builder.id; this.identity = builder.identity; this.isArchived = builder.isArchived; this.lastModifiedBy = builder.lastModifiedBy; this.lastModifiedDate = builder.lastModifiedDate; this.messagesPerSecond = builder.messagesPerSecond; this.platform = builder.platform; this.roleArn = builder.roleArn; this.version = builder.version; } /** *

* The unique identifier for the application that the email channel applies to. *

* * @return The unique identifier for the application that the email channel applies to. */ public final String applicationId() { return applicationId; } /** *

* The Amazon SES * configuration set that's applied to messages that are sent through the channel. *

* * @return The Amazon SES * configuration set that's applied to messages that are sent through the channel. */ public final String configurationSet() { return configurationSet; } /** *

* The date and time, in ISO 8601 format, when the email channel was enabled. *

* * @return The date and time, in ISO 8601 format, when the email channel was enabled. */ public final String creationDate() { return creationDate; } /** *

* Specifies whether the email channel is enabled for the application. *

* * @return Specifies whether the email channel is enabled for the application. */ public final Boolean enabled() { return enabled; } /** *

* The verified email address that email is sent from when you send email through the channel. *

* * @return The verified email address that email is sent from when you send email through the channel. */ public final String fromAddress() { return fromAddress; } /** *

* (Not used) This property is retained only for backward compatibility. *

* * @return (Not used) This property is retained only for backward compatibility. */ public final Boolean hasCredential() { return hasCredential; } /** *

* (Deprecated) An identifier for the email channel. This property is retained only for backward compatibility. *

* * @return (Deprecated) An identifier for the email channel. This property is retained only for backward * compatibility. */ public final String id() { return id; } /** *

* The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that's * used when you send email through the channel. *

* * @return

* The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), * that's used when you send email through the channel. *

*/ public final String identity() { return identity; } /** *

* Specifies whether the email channel is archived. *

* * @return Specifies whether the email channel is archived. */ public final Boolean isArchived() { return isArchived; } /** *

* The user who last modified the email channel. *

* * @return The user who last modified the email channel. */ public final String lastModifiedBy() { return lastModifiedBy; } /** *

* The date and time, in ISO 8601 format, when the email channel was last modified. *

* * @return The date and time, in ISO 8601 format, when the email channel was last modified. */ public final String lastModifiedDate() { return lastModifiedDate; } /** *

* The maximum number of emails that can be sent through the channel each second. *

* * @return The maximum number of emails that can be sent through the channel each second. */ public final Integer messagesPerSecond() { return messagesPerSecond; } /** *

* The type of messaging or notification platform for the channel. For the email channel, this value is EMAIL. *

* * @return The type of messaging or notification platform for the channel. For the email channel, this value is * EMAIL. */ public final String platform() { return platform; } /** *

* The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit email-related * event data for the channel. *

* * @return

* The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit * email-related event data for the channel. *

*/ public final String roleArn() { return roleArn; } /** *

* The current version of the email channel. *

* * @return The current version of the email channel. */ public final Integer version() { return version; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(applicationId()); hashCode = 31 * hashCode + Objects.hashCode(configurationSet()); hashCode = 31 * hashCode + Objects.hashCode(creationDate()); hashCode = 31 * hashCode + Objects.hashCode(enabled()); hashCode = 31 * hashCode + Objects.hashCode(fromAddress()); hashCode = 31 * hashCode + Objects.hashCode(hasCredential()); hashCode = 31 * hashCode + Objects.hashCode(id()); hashCode = 31 * hashCode + Objects.hashCode(identity()); hashCode = 31 * hashCode + Objects.hashCode(isArchived()); hashCode = 31 * hashCode + Objects.hashCode(lastModifiedBy()); hashCode = 31 * hashCode + Objects.hashCode(lastModifiedDate()); hashCode = 31 * hashCode + Objects.hashCode(messagesPerSecond()); hashCode = 31 * hashCode + Objects.hashCode(platform()); hashCode = 31 * hashCode + Objects.hashCode(roleArn()); hashCode = 31 * hashCode + Objects.hashCode(version()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof EmailChannelResponse)) { return false; } EmailChannelResponse other = (EmailChannelResponse) obj; return Objects.equals(applicationId(), other.applicationId()) && Objects.equals(configurationSet(), other.configurationSet()) && Objects.equals(creationDate(), other.creationDate()) && Objects.equals(enabled(), other.enabled()) && Objects.equals(fromAddress(), other.fromAddress()) && Objects.equals(hasCredential(), other.hasCredential()) && Objects.equals(id(), other.id()) && Objects.equals(identity(), other.identity()) && Objects.equals(isArchived(), other.isArchived()) && Objects.equals(lastModifiedBy(), other.lastModifiedBy()) && Objects.equals(lastModifiedDate(), other.lastModifiedDate()) && Objects.equals(messagesPerSecond(), other.messagesPerSecond()) && Objects.equals(platform(), other.platform()) && Objects.equals(roleArn(), other.roleArn()) && Objects.equals(version(), other.version()); } /** * 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. */ @Override public final String toString() { return ToString.builder("EmailChannelResponse").add("ApplicationId", applicationId()) .add("ConfigurationSet", configurationSet()).add("CreationDate", creationDate()).add("Enabled", enabled()) .add("FromAddress", fromAddress()).add("HasCredential", hasCredential()).add("Id", id()) .add("Identity", identity()).add("IsArchived", isArchived()).add("LastModifiedBy", lastModifiedBy()) .add("LastModifiedDate", lastModifiedDate()).add("MessagesPerSecond", messagesPerSecond()) .add("Platform", platform()).add("RoleArn", roleArn()).add("Version", version()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "ApplicationId": return Optional.ofNullable(clazz.cast(applicationId())); case "ConfigurationSet": return Optional.ofNullable(clazz.cast(configurationSet())); case "CreationDate": return Optional.ofNullable(clazz.cast(creationDate())); case "Enabled": return Optional.ofNullable(clazz.cast(enabled())); case "FromAddress": return Optional.ofNullable(clazz.cast(fromAddress())); case "HasCredential": return Optional.ofNullable(clazz.cast(hasCredential())); case "Id": return Optional.ofNullable(clazz.cast(id())); case "Identity": return Optional.ofNullable(clazz.cast(identity())); case "IsArchived": return Optional.ofNullable(clazz.cast(isArchived())); case "LastModifiedBy": return Optional.ofNullable(clazz.cast(lastModifiedBy())); case "LastModifiedDate": return Optional.ofNullable(clazz.cast(lastModifiedDate())); case "MessagesPerSecond": return Optional.ofNullable(clazz.cast(messagesPerSecond())); case "Platform": return Optional.ofNullable(clazz.cast(platform())); case "RoleArn": return Optional.ofNullable(clazz.cast(roleArn())); case "Version": return Optional.ofNullable(clazz.cast(version())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((EmailChannelResponse) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The unique identifier for the application that the email channel applies to. *

* * @param applicationId * The unique identifier for the application that the email channel applies to. * @return Returns a reference to this object so that method calls can be chained together. */ Builder applicationId(String applicationId); /** *

* The Amazon SES * configuration set that's applied to messages that are sent through the channel. *

* * @param configurationSet * The Amazon SES * configuration set that's applied to messages that are sent through the channel. * @return Returns a reference to this object so that method calls can be chained together. */ Builder configurationSet(String configurationSet); /** *

* The date and time, in ISO 8601 format, when the email channel was enabled. *

* * @param creationDate * The date and time, in ISO 8601 format, when the email channel was enabled. * @return Returns a reference to this object so that method calls can be chained together. */ Builder creationDate(String creationDate); /** *

* Specifies whether the email channel is enabled for the application. *

* * @param enabled * Specifies whether the email channel is enabled for the application. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enabled(Boolean enabled); /** *

* The verified email address that email is sent from when you send email through the channel. *

* * @param fromAddress * The verified email address that email is sent from when you send email through the channel. * @return Returns a reference to this object so that method calls can be chained together. */ Builder fromAddress(String fromAddress); /** *

* (Not used) This property is retained only for backward compatibility. *

* * @param hasCredential * (Not used) This property is retained only for backward compatibility. * @return Returns a reference to this object so that method calls can be chained together. */ Builder hasCredential(Boolean hasCredential); /** *

* (Deprecated) An identifier for the email channel. This property is retained only for backward compatibility. *

* * @param id * (Deprecated) An identifier for the email channel. This property is retained only for backward * compatibility. * @return Returns a reference to this object so that method calls can be chained together. */ Builder id(String id); /** *

* The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), * that's used when you send email through the channel. *

* * @param identity *

* The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon * SES), that's used when you send email through the channel. *

* @return Returns a reference to this object so that method calls can be chained together. */ Builder identity(String identity); /** *

* Specifies whether the email channel is archived. *

* * @param isArchived * Specifies whether the email channel is archived. * @return Returns a reference to this object so that method calls can be chained together. */ Builder isArchived(Boolean isArchived); /** *

* The user who last modified the email channel. *

* * @param lastModifiedBy * The user who last modified the email channel. * @return Returns a reference to this object so that method calls can be chained together. */ Builder lastModifiedBy(String lastModifiedBy); /** *

* The date and time, in ISO 8601 format, when the email channel was last modified. *

* * @param lastModifiedDate * The date and time, in ISO 8601 format, when the email channel was last modified. * @return Returns a reference to this object so that method calls can be chained together. */ Builder lastModifiedDate(String lastModifiedDate); /** *

* The maximum number of emails that can be sent through the channel each second. *

* * @param messagesPerSecond * The maximum number of emails that can be sent through the channel each second. * @return Returns a reference to this object so that method calls can be chained together. */ Builder messagesPerSecond(Integer messagesPerSecond); /** *

* The type of messaging or notification platform for the channel. For the email channel, this value is EMAIL. *

* * @param platform * The type of messaging or notification platform for the channel. For the email channel, this value is * EMAIL. * @return Returns a reference to this object so that method calls can be chained together. */ Builder platform(String platform); /** *

* The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit * email-related event data for the channel. *

* * @param roleArn *

* The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit * email-related event data for the channel. *

* @return Returns a reference to this object so that method calls can be chained together. */ Builder roleArn(String roleArn); /** *

* The current version of the email channel. *

* * @param version * The current version of the email channel. * @return Returns a reference to this object so that method calls can be chained together. */ Builder version(Integer version); } static final class BuilderImpl implements Builder { private String applicationId; private String configurationSet; private String creationDate; private Boolean enabled; private String fromAddress; private Boolean hasCredential; private String id; private String identity; private Boolean isArchived; private String lastModifiedBy; private String lastModifiedDate; private Integer messagesPerSecond; private String platform; private String roleArn; private Integer version; private BuilderImpl() { } private BuilderImpl(EmailChannelResponse model) { applicationId(model.applicationId); configurationSet(model.configurationSet); creationDate(model.creationDate); enabled(model.enabled); fromAddress(model.fromAddress); hasCredential(model.hasCredential); id(model.id); identity(model.identity); isArchived(model.isArchived); lastModifiedBy(model.lastModifiedBy); lastModifiedDate(model.lastModifiedDate); messagesPerSecond(model.messagesPerSecond); platform(model.platform); roleArn(model.roleArn); version(model.version); } public final String getApplicationId() { return applicationId; } public final void setApplicationId(String applicationId) { this.applicationId = applicationId; } @Override @Transient public final Builder applicationId(String applicationId) { this.applicationId = applicationId; return this; } public final String getConfigurationSet() { return configurationSet; } public final void setConfigurationSet(String configurationSet) { this.configurationSet = configurationSet; } @Override @Transient public final Builder configurationSet(String configurationSet) { this.configurationSet = configurationSet; return this; } public final String getCreationDate() { return creationDate; } public final void setCreationDate(String creationDate) { this.creationDate = creationDate; } @Override @Transient public final Builder creationDate(String creationDate) { this.creationDate = creationDate; return this; } public final Boolean getEnabled() { return enabled; } public final void setEnabled(Boolean enabled) { this.enabled = enabled; } @Override @Transient public final Builder enabled(Boolean enabled) { this.enabled = enabled; return this; } public final String getFromAddress() { return fromAddress; } public final void setFromAddress(String fromAddress) { this.fromAddress = fromAddress; } @Override @Transient public final Builder fromAddress(String fromAddress) { this.fromAddress = fromAddress; return this; } public final Boolean getHasCredential() { return hasCredential; } public final void setHasCredential(Boolean hasCredential) { this.hasCredential = hasCredential; } @Override @Transient public final Builder hasCredential(Boolean hasCredential) { this.hasCredential = hasCredential; return this; } public final String getId() { return id; } public final void setId(String id) { this.id = id; } @Override @Transient public final Builder id(String id) { this.id = id; return this; } public final String getIdentity() { return identity; } public final void setIdentity(String identity) { this.identity = identity; } @Override @Transient public final Builder identity(String identity) { this.identity = identity; return this; } public final Boolean getIsArchived() { return isArchived; } public final void setIsArchived(Boolean isArchived) { this.isArchived = isArchived; } @Override @Transient public final Builder isArchived(Boolean isArchived) { this.isArchived = isArchived; return this; } public final String getLastModifiedBy() { return lastModifiedBy; } public final void setLastModifiedBy(String lastModifiedBy) { this.lastModifiedBy = lastModifiedBy; } @Override @Transient public final Builder lastModifiedBy(String lastModifiedBy) { this.lastModifiedBy = lastModifiedBy; return this; } public final String getLastModifiedDate() { return lastModifiedDate; } public final void setLastModifiedDate(String lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } @Override @Transient public final Builder lastModifiedDate(String lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; return this; } public final Integer getMessagesPerSecond() { return messagesPerSecond; } public final void setMessagesPerSecond(Integer messagesPerSecond) { this.messagesPerSecond = messagesPerSecond; } @Override @Transient public final Builder messagesPerSecond(Integer messagesPerSecond) { this.messagesPerSecond = messagesPerSecond; return this; } public final String getPlatform() { return platform; } public final void setPlatform(String platform) { this.platform = platform; } @Override @Transient public final Builder platform(String platform) { this.platform = platform; return this; } public final String getRoleArn() { return roleArn; } public final void setRoleArn(String roleArn) { this.roleArn = roleArn; } @Override @Transient public final Builder roleArn(String roleArn) { this.roleArn = roleArn; return this; } public final Integer getVersion() { return version; } public final void setVersion(Integer version) { this.version = version; } @Override @Transient public final Builder version(Integer version) { this.version = version; return this; } @Override public EmailChannelResponse build() { return new EmailChannelResponse(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy