com.amazonaws.services.mq.model.CreateBrokerRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-mq 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.mq.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* Creates a broker using the specified properties.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateBrokerRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
*
*/
private String authenticationStrategy;
/**
*
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon
* MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to true
* by default, if no value is specified.
*
*
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.
*
*
*/
private Boolean autoMinorVersionUpgrade;
/**
*
* Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50 characters long,
* must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets,
* wildcard characters, or special characters.
*
*
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in broker
* names. Broker names are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker names
* are not intended to be used for private or sensitive data.
*
*
*/
private String brokerName;
/**
*
* A list of information about the configuration.
*
*/
private ConfigurationId configuration;
/**
*
* The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action.
*
*
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
*
*/
private String creatorRequestId;
/**
*
* Required. The broker's deployment mode.
*
*/
private String deploymentMode;
/**
*
* Encryption options for the broker.
*
*/
private EncryptionOptions encryptionOptions;
/**
*
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
*
*/
private String engineType;
/**
*
* The broker engine version. Defaults to the latest available version for the specified broker engine type. For
* more information, see the ActiveMQ
* version management and the RabbitMQ
* version management sections in the Amazon MQ Developer Guide.
*
*/
private String engineVersion;
/**
*
* Required. The broker's instance type.
*
*/
private String hostInstanceType;
/**
*
* Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not
* apply to RabbitMQ brokers.
*
*/
private LdapServerMetadataInput ldapServerMetadata;
/**
*
* Enables Amazon CloudWatch logging for brokers.
*
*/
private Logs logs;
/**
*
* The parameters that determine the WeeklyStartTime.
*
*/
private WeeklyStartTime maintenanceWindowStartTime;
/**
*
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*
*/
private Boolean publiclyAccessible;
/**
*
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*
*/
private java.util.List securityGroups;
/**
*
* The broker's storage type.
*
*/
private String storageType;
/**
*
* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
* If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be
* able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A
* SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ
* Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has
* no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires
* at least one subnet.
*
*
*
* If you specify subnets in a shared
* VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your
* Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by
* your Amazon Web Services account.
*
*
*/
private java.util.List subnetIds;
/**
*
* Create tags when creating the broker.
*
*/
private java.util.Map tags;
/**
*
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ
* brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All
* subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web
* console.
*
*/
private java.util.List users;
/**
*
* Defines whether this broker is a part of a data replication pair.
*
*/
private String dataReplicationMode;
/**
*
* The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication
* pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.
*
*/
private String dataReplicationPrimaryBrokerArn;
/**
*
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
*
*
* @param authenticationStrategy
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
* @see AuthenticationStrategy
*/
public void setAuthenticationStrategy(String authenticationStrategy) {
this.authenticationStrategy = authenticationStrategy;
}
/**
*
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
*
*
* @return Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
* @see AuthenticationStrategy
*/
public String getAuthenticationStrategy() {
return this.authenticationStrategy;
}
/**
*
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
*
*
* @param authenticationStrategy
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AuthenticationStrategy
*/
public CreateBrokerRequest withAuthenticationStrategy(String authenticationStrategy) {
setAuthenticationStrategy(authenticationStrategy);
return this;
}
/**
*
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
*
*
* @param authenticationStrategy
* Optional. The authentication strategy used to secure the broker. The default is SIMPLE.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AuthenticationStrategy
*/
public CreateBrokerRequest withAuthenticationStrategy(AuthenticationStrategy authenticationStrategy) {
this.authenticationStrategy = authenticationStrategy.toString();
return this;
}
/**
*
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon
* MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to true
* by default, if no value is specified.
*
*
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.
*
*
*
* @param autoMinorVersionUpgrade
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by
* Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker
* reboot. Set to true by default, if no value is specified.
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and
* above.
*
*/
public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
this.autoMinorVersionUpgrade = autoMinorVersionUpgrade;
}
/**
*
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon
* MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to true
* by default, if no value is specified.
*
*
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.
*
*
*
* @return Enables automatic upgrades to new patch versions for brokers as new versions are released and supported
* by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker
* reboot. Set to true by default, if no value is specified.
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and
* above.
*
*/
public Boolean getAutoMinorVersionUpgrade() {
return this.autoMinorVersionUpgrade;
}
/**
*
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon
* MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to true
* by default, if no value is specified.
*
*
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.
*
*
*
* @param autoMinorVersionUpgrade
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by
* Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker
* reboot. Set to true by default, if no value is specified.
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and
* above.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
setAutoMinorVersionUpgrade(autoMinorVersionUpgrade);
return this;
}
/**
*
* Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon
* MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to true
* by default, if no value is specified.
*
*
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.
*
*
*
* @return Enables automatic upgrades to new patch versions for brokers as new versions are released and supported
* by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker
* reboot. Set to true by default, if no value is specified.
*
* Must be set to true for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and
* above.
*
*/
public Boolean isAutoMinorVersionUpgrade() {
return this.autoMinorVersionUpgrade;
}
/**
*
* Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50 characters long,
* must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets,
* wildcard characters, or special characters.
*
*
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in broker
* names. Broker names are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker names
* are not intended to be used for private or sensitive data.
*
*
*
* @param brokerName
* Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50
* characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white
* spaces, brackets, wildcard characters, or special characters.
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in
* broker names. Broker names are accessible to other Amazon Web Services services, including CloudWatch
* Logs. Broker names are not intended to be used for private or sensitive data.
*
*/
public void setBrokerName(String brokerName) {
this.brokerName = brokerName;
}
/**
*
* Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50 characters long,
* must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets,
* wildcard characters, or special characters.
*
*
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in broker
* names. Broker names are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker names
* are not intended to be used for private or sensitive data.
*
*
*
* @return Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50
* characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white
* spaces, brackets, wildcard characters, or special characters.
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in
* broker names. Broker names are accessible to other Amazon Web Services services, including CloudWatch
* Logs. Broker names are not intended to be used for private or sensitive data.
*
*/
public String getBrokerName() {
return this.brokerName;
}
/**
*
* Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50 characters long,
* must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets,
* wildcard characters, or special characters.
*
*
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in broker
* names. Broker names are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker names
* are not intended to be used for private or sensitive data.
*
*
*
* @param brokerName
* Required. The broker's name. This value must be unique in your Amazon Web Services account, 1-50
* characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white
* spaces, brackets, wildcard characters, or special characters.
*
* Do not add personally identifiable information (PII) or other confidential or sensitive information in
* broker names. Broker names are accessible to other Amazon Web Services services, including CloudWatch
* Logs. Broker names are not intended to be used for private or sensitive data.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withBrokerName(String brokerName) {
setBrokerName(brokerName);
return this;
}
/**
*
* A list of information about the configuration.
*
*
* @param configuration
* A list of information about the configuration.
*/
public void setConfiguration(ConfigurationId configuration) {
this.configuration = configuration;
}
/**
*
* A list of information about the configuration.
*
*
* @return A list of information about the configuration.
*/
public ConfigurationId getConfiguration() {
return this.configuration;
}
/**
*
* A list of information about the configuration.
*
*
* @param configuration
* A list of information about the configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withConfiguration(ConfigurationId configuration) {
setConfiguration(configuration);
return this;
}
/**
*
* The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action.
*
*
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
*
*
* @param creatorRequestId
* The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API
* action.
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
*/
public void setCreatorRequestId(String creatorRequestId) {
this.creatorRequestId = creatorRequestId;
}
/**
*
* The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action.
*
*
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
*
*
* @return The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API
* action.
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
*/
public String getCreatorRequestId() {
return this.creatorRequestId;
}
/**
*
* The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action.
*
*
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
*
*
* @param creatorRequestId
* The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API
* action.
*
* We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withCreatorRequestId(String creatorRequestId) {
setCreatorRequestId(creatorRequestId);
return this;
}
/**
*
* Required. The broker's deployment mode.
*
*
* @param deploymentMode
* Required. The broker's deployment mode.
* @see DeploymentMode
*/
public void setDeploymentMode(String deploymentMode) {
this.deploymentMode = deploymentMode;
}
/**
*
* Required. The broker's deployment mode.
*
*
* @return Required. The broker's deployment mode.
* @see DeploymentMode
*/
public String getDeploymentMode() {
return this.deploymentMode;
}
/**
*
* Required. The broker's deployment mode.
*
*
* @param deploymentMode
* Required. The broker's deployment mode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DeploymentMode
*/
public CreateBrokerRequest withDeploymentMode(String deploymentMode) {
setDeploymentMode(deploymentMode);
return this;
}
/**
*
* Required. The broker's deployment mode.
*
*
* @param deploymentMode
* Required. The broker's deployment mode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DeploymentMode
*/
public CreateBrokerRequest withDeploymentMode(DeploymentMode deploymentMode) {
this.deploymentMode = deploymentMode.toString();
return this;
}
/**
*
* Encryption options for the broker.
*
*
* @param encryptionOptions
* Encryption options for the broker.
*/
public void setEncryptionOptions(EncryptionOptions encryptionOptions) {
this.encryptionOptions = encryptionOptions;
}
/**
*
* Encryption options for the broker.
*
*
* @return Encryption options for the broker.
*/
public EncryptionOptions getEncryptionOptions() {
return this.encryptionOptions;
}
/**
*
* Encryption options for the broker.
*
*
* @param encryptionOptions
* Encryption options for the broker.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withEncryptionOptions(EncryptionOptions encryptionOptions) {
setEncryptionOptions(encryptionOptions);
return this;
}
/**
*
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
*
*
* @param engineType
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
* @see EngineType
*/
public void setEngineType(String engineType) {
this.engineType = engineType;
}
/**
*
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
*
*
* @return Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
* @see EngineType
*/
public String getEngineType() {
return this.engineType;
}
/**
*
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
*
*
* @param engineType
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
* @return Returns a reference to this object so that method calls can be chained together.
* @see EngineType
*/
public CreateBrokerRequest withEngineType(String engineType) {
setEngineType(engineType);
return this;
}
/**
*
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
*
*
* @param engineType
* Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.
* @return Returns a reference to this object so that method calls can be chained together.
* @see EngineType
*/
public CreateBrokerRequest withEngineType(EngineType engineType) {
this.engineType = engineType.toString();
return this;
}
/**
*
* The broker engine version. Defaults to the latest available version for the specified broker engine type. For
* more information, see the ActiveMQ
* version management and the RabbitMQ
* version management sections in the Amazon MQ Developer Guide.
*
*
* @param engineVersion
* The broker engine version. Defaults to the latest available version for the specified broker engine type.
* For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.
*/
public void setEngineVersion(String engineVersion) {
this.engineVersion = engineVersion;
}
/**
*
* The broker engine version. Defaults to the latest available version for the specified broker engine type. For
* more information, see the ActiveMQ
* version management and the RabbitMQ
* version management sections in the Amazon MQ Developer Guide.
*
*
* @return The broker engine version. Defaults to the latest available version for the specified broker engine type.
* For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.
*/
public String getEngineVersion() {
return this.engineVersion;
}
/**
*
* The broker engine version. Defaults to the latest available version for the specified broker engine type. For
* more information, see the ActiveMQ
* version management and the RabbitMQ
* version management sections in the Amazon MQ Developer Guide.
*
*
* @param engineVersion
* The broker engine version. Defaults to the latest available version for the specified broker engine type.
* For more information, see the ActiveMQ version management and the RabbitMQ version management sections in the Amazon MQ Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withEngineVersion(String engineVersion) {
setEngineVersion(engineVersion);
return this;
}
/**
*
* Required. The broker's instance type.
*
*
* @param hostInstanceType
* Required. The broker's instance type.
*/
public void setHostInstanceType(String hostInstanceType) {
this.hostInstanceType = hostInstanceType;
}
/**
*
* Required. The broker's instance type.
*
*
* @return Required. The broker's instance type.
*/
public String getHostInstanceType() {
return this.hostInstanceType;
}
/**
*
* Required. The broker's instance type.
*
*
* @param hostInstanceType
* Required. The broker's instance type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withHostInstanceType(String hostInstanceType) {
setHostInstanceType(hostInstanceType);
return this;
}
/**
*
* Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not
* apply to RabbitMQ brokers.
*
*
* @param ldapServerMetadata
* Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker.
* Does not apply to RabbitMQ brokers.
*/
public void setLdapServerMetadata(LdapServerMetadataInput ldapServerMetadata) {
this.ldapServerMetadata = ldapServerMetadata;
}
/**
*
* Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not
* apply to RabbitMQ brokers.
*
*
* @return Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker.
* Does not apply to RabbitMQ brokers.
*/
public LdapServerMetadataInput getLdapServerMetadata() {
return this.ldapServerMetadata;
}
/**
*
* Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not
* apply to RabbitMQ brokers.
*
*
* @param ldapServerMetadata
* Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker.
* Does not apply to RabbitMQ brokers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withLdapServerMetadata(LdapServerMetadataInput ldapServerMetadata) {
setLdapServerMetadata(ldapServerMetadata);
return this;
}
/**
*
* Enables Amazon CloudWatch logging for brokers.
*
*
* @param logs
* Enables Amazon CloudWatch logging for brokers.
*/
public void setLogs(Logs logs) {
this.logs = logs;
}
/**
*
* Enables Amazon CloudWatch logging for brokers.
*
*
* @return Enables Amazon CloudWatch logging for brokers.
*/
public Logs getLogs() {
return this.logs;
}
/**
*
* Enables Amazon CloudWatch logging for brokers.
*
*
* @param logs
* Enables Amazon CloudWatch logging for brokers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withLogs(Logs logs) {
setLogs(logs);
return this;
}
/**
*
* The parameters that determine the WeeklyStartTime.
*
*
* @param maintenanceWindowStartTime
* The parameters that determine the WeeklyStartTime.
*/
public void setMaintenanceWindowStartTime(WeeklyStartTime maintenanceWindowStartTime) {
this.maintenanceWindowStartTime = maintenanceWindowStartTime;
}
/**
*
* The parameters that determine the WeeklyStartTime.
*
*
* @return The parameters that determine the WeeklyStartTime.
*/
public WeeklyStartTime getMaintenanceWindowStartTime() {
return this.maintenanceWindowStartTime;
}
/**
*
* The parameters that determine the WeeklyStartTime.
*
*
* @param maintenanceWindowStartTime
* The parameters that determine the WeeklyStartTime.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withMaintenanceWindowStartTime(WeeklyStartTime maintenanceWindowStartTime) {
setMaintenanceWindowStartTime(maintenanceWindowStartTime);
return this;
}
/**
*
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*
*
* @param publiclyAccessible
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
*
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*
*
* @return Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*/
public Boolean getPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*
*
* @param publiclyAccessible
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withPubliclyAccessible(Boolean publiclyAccessible) {
setPubliclyAccessible(publiclyAccessible);
return this;
}
/**
*
* Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*
*
* @return Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to false by
* default, if no value is provided.
*/
public Boolean isPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*
*
* @return The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*/
public java.util.List getSecurityGroups() {
return securityGroups;
}
/**
*
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*
*
* @param securityGroups
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*/
public void setSecurityGroups(java.util.Collection securityGroups) {
if (securityGroups == null) {
this.securityGroups = null;
return;
}
this.securityGroups = new java.util.ArrayList(securityGroups);
}
/**
*
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSecurityGroups(java.util.Collection)} or {@link #withSecurityGroups(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param securityGroups
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withSecurityGroups(String... securityGroups) {
if (this.securityGroups == null) {
setSecurityGroups(new java.util.ArrayList(securityGroups.length));
}
for (String ele : securityGroups) {
this.securityGroups.add(ele);
}
return this;
}
/**
*
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
*
*
* @param securityGroups
* The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withSecurityGroups(java.util.Collection securityGroups) {
setSecurityGroups(securityGroups);
return this;
}
/**
*
* The broker's storage type.
*
*
* @param storageType
* The broker's storage type.
* @see BrokerStorageType
*/
public void setStorageType(String storageType) {
this.storageType = storageType;
}
/**
*
* The broker's storage type.
*
*
* @return The broker's storage type.
* @see BrokerStorageType
*/
public String getStorageType() {
return this.storageType;
}
/**
*
* The broker's storage type.
*
*
* @param storageType
* The broker's storage type.
* @return Returns a reference to this object so that method calls can be chained together.
* @see BrokerStorageType
*/
public CreateBrokerRequest withStorageType(String storageType) {
setStorageType(storageType);
return this;
}
/**
*
* The broker's storage type.
*
*
* @param storageType
* The broker's storage type.
* @return Returns a reference to this object so that method calls can be chained together.
* @see BrokerStorageType
*/
public CreateBrokerRequest withStorageType(BrokerStorageType storageType) {
this.storageType = storageType.toString();
return this;
}
/**
*
* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
* If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be
* able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A
* SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ
* Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has
* no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires
* at least one subnet.
*
*
*
* If you specify subnets in a shared
* VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your
* Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by
* your Amazon Web Services account.
*
*
*
* @return The list of groups that define which subnets and IP ranges the broker can use from different Availability
* Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon
* MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same
* Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon
* MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment
* without public accessibility requires at least one subnet.
*
* If you specify subnets in a shared VPC for a RabbitMQ
* broker, the associated VPC to which the specified subnets belong must be owned by your Amazon Web
* Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your
* Amazon Web Services account.
*
*/
public java.util.List getSubnetIds() {
return subnetIds;
}
/**
*
* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
* If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be
* able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A
* SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ
* Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has
* no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires
* at least one subnet.
*
*
*
* If you specify subnets in a shared
* VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your
* Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by
* your Amazon Web Services account.
*
*
*
* @param subnetIds
* The list of groups that define which subnets and IP ranges the broker can use from different Availability
* Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ
* will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability
* Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon
* MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment
* without public accessibility requires at least one subnet.
*
* If you specify subnets in a shared VPC for a RabbitMQ
* broker, the associated VPC to which the specified subnets belong must be owned by your Amazon Web Services
* account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your Amazon Web
* Services account.
*
*/
public void setSubnetIds(java.util.Collection subnetIds) {
if (subnetIds == null) {
this.subnetIds = null;
return;
}
this.subnetIds = new java.util.ArrayList(subnetIds);
}
/**
*
* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
* If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be
* able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A
* SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ
* Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has
* no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires
* at least one subnet.
*
*
*
* If you specify subnets in a shared
* VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your
* Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by
* your Amazon Web Services account.
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSubnetIds(java.util.Collection)} or {@link #withSubnetIds(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param subnetIds
* The list of groups that define which subnets and IP ranges the broker can use from different Availability
* Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ
* will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability
* Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon
* MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment
* without public accessibility requires at least one subnet.
*
* If you specify subnets in a shared VPC for a RabbitMQ
* broker, the associated VPC to which the specified subnets belong must be owned by your Amazon Web Services
* account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your Amazon Web
* Services account.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withSubnetIds(String... subnetIds) {
if (this.subnetIds == null) {
setSubnetIds(new java.util.ArrayList(subnetIds.length));
}
for (String ele : subnetIds) {
this.subnetIds.add(ele);
}
return this;
}
/**
*
* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones.
* If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be
* able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A
* SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ
* Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has
* no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires
* at least one subnet.
*
*
*
* If you specify subnets in a shared
* VPC for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your
* Amazon Web Services account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by
* your Amazon Web Services account.
*
*
*
* @param subnetIds
* The list of groups that define which subnets and IP ranges the broker can use from different Availability
* Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ
* will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability
* Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon
* MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment
* without public accessibility requires at least one subnet.
*
* If you specify subnets in a shared VPC for a RabbitMQ
* broker, the associated VPC to which the specified subnets belong must be owned by your Amazon Web Services
* account. Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your Amazon Web
* Services account.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withSubnetIds(java.util.Collection subnetIds) {
setSubnetIds(subnetIds);
return this;
}
/**
*
* Create tags when creating the broker.
*
*
* @return Create tags when creating the broker.
*/
public java.util.Map getTags() {
return tags;
}
/**
*
* Create tags when creating the broker.
*
*
* @param tags
* Create tags when creating the broker.
*/
public void setTags(java.util.Map tags) {
this.tags = tags;
}
/**
*
* Create tags when creating the broker.
*
*
* @param tags
* Create tags when creating the broker.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see CreateBrokerRequest#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest 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 CreateBrokerRequest clearTagsEntries() {
this.tags = null;
return this;
}
/**
*
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ
* brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All
* subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web
* console.
*
*
* @return The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for
* RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first
* provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or
* via the RabbitMQ web console.
*/
public java.util.List getUsers() {
return users;
}
/**
*
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ
* brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All
* subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web
* console.
*
*
* @param users
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for
* RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first
* provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or
* via the RabbitMQ web console.
*/
public void setUsers(java.util.Collection users) {
if (users == null) {
this.users = null;
return;
}
this.users = new java.util.ArrayList(users);
}
/**
*
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ
* brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All
* subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web
* console.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setUsers(java.util.Collection)} or {@link #withUsers(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param users
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for
* RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first
* provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or
* via the RabbitMQ web console.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withUsers(User... users) {
if (this.users == null) {
setUsers(new java.util.ArrayList(users.length));
}
for (User ele : users) {
this.users.add(ele);
}
return this;
}
/**
*
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ
* brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All
* subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web
* console.
*
*
* @param users
* The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for
* RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first
* provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or
* via the RabbitMQ web console.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withUsers(java.util.Collection users) {
setUsers(users);
return this;
}
/**
*
* Defines whether this broker is a part of a data replication pair.
*
*
* @param dataReplicationMode
* Defines whether this broker is a part of a data replication pair.
* @see DataReplicationMode
*/
public void setDataReplicationMode(String dataReplicationMode) {
this.dataReplicationMode = dataReplicationMode;
}
/**
*
* Defines whether this broker is a part of a data replication pair.
*
*
* @return Defines whether this broker is a part of a data replication pair.
* @see DataReplicationMode
*/
public String getDataReplicationMode() {
return this.dataReplicationMode;
}
/**
*
* Defines whether this broker is a part of a data replication pair.
*
*
* @param dataReplicationMode
* Defines whether this broker is a part of a data replication pair.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataReplicationMode
*/
public CreateBrokerRequest withDataReplicationMode(String dataReplicationMode) {
setDataReplicationMode(dataReplicationMode);
return this;
}
/**
*
* Defines whether this broker is a part of a data replication pair.
*
*
* @param dataReplicationMode
* Defines whether this broker is a part of a data replication pair.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataReplicationMode
*/
public CreateBrokerRequest withDataReplicationMode(DataReplicationMode dataReplicationMode) {
this.dataReplicationMode = dataReplicationMode.toString();
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication
* pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.
*
*
* @param dataReplicationPrimaryBrokerArn
* The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data
* replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to
* CRDR.
*/
public void setDataReplicationPrimaryBrokerArn(String dataReplicationPrimaryBrokerArn) {
this.dataReplicationPrimaryBrokerArn = dataReplicationPrimaryBrokerArn;
}
/**
*
* The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication
* pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.
*
*
* @return The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data
* replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to
* CRDR.
*/
public String getDataReplicationPrimaryBrokerArn() {
return this.dataReplicationPrimaryBrokerArn;
}
/**
*
* The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication
* pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.
*
*
* @param dataReplicationPrimaryBrokerArn
* The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data
* replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to
* CRDR.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateBrokerRequest withDataReplicationPrimaryBrokerArn(String dataReplicationPrimaryBrokerArn) {
setDataReplicationPrimaryBrokerArn(dataReplicationPrimaryBrokerArn);
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 (getAuthenticationStrategy() != null)
sb.append("AuthenticationStrategy: ").append(getAuthenticationStrategy()).append(",");
if (getAutoMinorVersionUpgrade() != null)
sb.append("AutoMinorVersionUpgrade: ").append(getAutoMinorVersionUpgrade()).append(",");
if (getBrokerName() != null)
sb.append("BrokerName: ").append(getBrokerName()).append(",");
if (getConfiguration() != null)
sb.append("Configuration: ").append(getConfiguration()).append(",");
if (getCreatorRequestId() != null)
sb.append("CreatorRequestId: ").append(getCreatorRequestId()).append(",");
if (getDeploymentMode() != null)
sb.append("DeploymentMode: ").append(getDeploymentMode()).append(",");
if (getEncryptionOptions() != null)
sb.append("EncryptionOptions: ").append(getEncryptionOptions()).append(",");
if (getEngineType() != null)
sb.append("EngineType: ").append(getEngineType()).append(",");
if (getEngineVersion() != null)
sb.append("EngineVersion: ").append(getEngineVersion()).append(",");
if (getHostInstanceType() != null)
sb.append("HostInstanceType: ").append(getHostInstanceType()).append(",");
if (getLdapServerMetadata() != null)
sb.append("LdapServerMetadata: ").append(getLdapServerMetadata()).append(",");
if (getLogs() != null)
sb.append("Logs: ").append(getLogs()).append(",");
if (getMaintenanceWindowStartTime() != null)
sb.append("MaintenanceWindowStartTime: ").append(getMaintenanceWindowStartTime()).append(",");
if (getPubliclyAccessible() != null)
sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(",");
if (getSecurityGroups() != null)
sb.append("SecurityGroups: ").append(getSecurityGroups()).append(",");
if (getStorageType() != null)
sb.append("StorageType: ").append(getStorageType()).append(",");
if (getSubnetIds() != null)
sb.append("SubnetIds: ").append(getSubnetIds()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getUsers() != null)
sb.append("Users: ").append(getUsers()).append(",");
if (getDataReplicationMode() != null)
sb.append("DataReplicationMode: ").append(getDataReplicationMode()).append(",");
if (getDataReplicationPrimaryBrokerArn() != null)
sb.append("DataReplicationPrimaryBrokerArn: ").append(getDataReplicationPrimaryBrokerArn());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateBrokerRequest == false)
return false;
CreateBrokerRequest other = (CreateBrokerRequest) obj;
if (other.getAuthenticationStrategy() == null ^ this.getAuthenticationStrategy() == null)
return false;
if (other.getAuthenticationStrategy() != null && other.getAuthenticationStrategy().equals(this.getAuthenticationStrategy()) == false)
return false;
if (other.getAutoMinorVersionUpgrade() == null ^ this.getAutoMinorVersionUpgrade() == null)
return false;
if (other.getAutoMinorVersionUpgrade() != null && other.getAutoMinorVersionUpgrade().equals(this.getAutoMinorVersionUpgrade()) == false)
return false;
if (other.getBrokerName() == null ^ this.getBrokerName() == null)
return false;
if (other.getBrokerName() != null && other.getBrokerName().equals(this.getBrokerName()) == false)
return false;
if (other.getConfiguration() == null ^ this.getConfiguration() == null)
return false;
if (other.getConfiguration() != null && other.getConfiguration().equals(this.getConfiguration()) == false)
return false;
if (other.getCreatorRequestId() == null ^ this.getCreatorRequestId() == null)
return false;
if (other.getCreatorRequestId() != null && other.getCreatorRequestId().equals(this.getCreatorRequestId()) == false)
return false;
if (other.getDeploymentMode() == null ^ this.getDeploymentMode() == null)
return false;
if (other.getDeploymentMode() != null && other.getDeploymentMode().equals(this.getDeploymentMode()) == false)
return false;
if (other.getEncryptionOptions() == null ^ this.getEncryptionOptions() == null)
return false;
if (other.getEncryptionOptions() != null && other.getEncryptionOptions().equals(this.getEncryptionOptions()) == false)
return false;
if (other.getEngineType() == null ^ this.getEngineType() == null)
return false;
if (other.getEngineType() != null && other.getEngineType().equals(this.getEngineType()) == false)
return false;
if (other.getEngineVersion() == null ^ this.getEngineVersion() == null)
return false;
if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false)
return false;
if (other.getHostInstanceType() == null ^ this.getHostInstanceType() == null)
return false;
if (other.getHostInstanceType() != null && other.getHostInstanceType().equals(this.getHostInstanceType()) == false)
return false;
if (other.getLdapServerMetadata() == null ^ this.getLdapServerMetadata() == null)
return false;
if (other.getLdapServerMetadata() != null && other.getLdapServerMetadata().equals(this.getLdapServerMetadata()) == false)
return false;
if (other.getLogs() == null ^ this.getLogs() == null)
return false;
if (other.getLogs() != null && other.getLogs().equals(this.getLogs()) == false)
return false;
if (other.getMaintenanceWindowStartTime() == null ^ this.getMaintenanceWindowStartTime() == null)
return false;
if (other.getMaintenanceWindowStartTime() != null && other.getMaintenanceWindowStartTime().equals(this.getMaintenanceWindowStartTime()) == false)
return false;
if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null)
return false;
if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == false)
return false;
if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null)
return false;
if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false)
return false;
if (other.getStorageType() == null ^ this.getStorageType() == null)
return false;
if (other.getStorageType() != null && other.getStorageType().equals(this.getStorageType()) == false)
return false;
if (other.getSubnetIds() == null ^ this.getSubnetIds() == null)
return false;
if (other.getSubnetIds() != null && other.getSubnetIds().equals(this.getSubnetIds()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getUsers() == null ^ this.getUsers() == null)
return false;
if (other.getUsers() != null && other.getUsers().equals(this.getUsers()) == false)
return false;
if (other.getDataReplicationMode() == null ^ this.getDataReplicationMode() == null)
return false;
if (other.getDataReplicationMode() != null && other.getDataReplicationMode().equals(this.getDataReplicationMode()) == false)
return false;
if (other.getDataReplicationPrimaryBrokerArn() == null ^ this.getDataReplicationPrimaryBrokerArn() == null)
return false;
if (other.getDataReplicationPrimaryBrokerArn() != null
&& other.getDataReplicationPrimaryBrokerArn().equals(this.getDataReplicationPrimaryBrokerArn()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAuthenticationStrategy() == null) ? 0 : getAuthenticationStrategy().hashCode());
hashCode = prime * hashCode + ((getAutoMinorVersionUpgrade() == null) ? 0 : getAutoMinorVersionUpgrade().hashCode());
hashCode = prime * hashCode + ((getBrokerName() == null) ? 0 : getBrokerName().hashCode());
hashCode = prime * hashCode + ((getConfiguration() == null) ? 0 : getConfiguration().hashCode());
hashCode = prime * hashCode + ((getCreatorRequestId() == null) ? 0 : getCreatorRequestId().hashCode());
hashCode = prime * hashCode + ((getDeploymentMode() == null) ? 0 : getDeploymentMode().hashCode());
hashCode = prime * hashCode + ((getEncryptionOptions() == null) ? 0 : getEncryptionOptions().hashCode());
hashCode = prime * hashCode + ((getEngineType() == null) ? 0 : getEngineType().hashCode());
hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode());
hashCode = prime * hashCode + ((getHostInstanceType() == null) ? 0 : getHostInstanceType().hashCode());
hashCode = prime * hashCode + ((getLdapServerMetadata() == null) ? 0 : getLdapServerMetadata().hashCode());
hashCode = prime * hashCode + ((getLogs() == null) ? 0 : getLogs().hashCode());
hashCode = prime * hashCode + ((getMaintenanceWindowStartTime() == null) ? 0 : getMaintenanceWindowStartTime().hashCode());
hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode());
hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode());
hashCode = prime * hashCode + ((getStorageType() == null) ? 0 : getStorageType().hashCode());
hashCode = prime * hashCode + ((getSubnetIds() == null) ? 0 : getSubnetIds().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getUsers() == null) ? 0 : getUsers().hashCode());
hashCode = prime * hashCode + ((getDataReplicationMode() == null) ? 0 : getDataReplicationMode().hashCode());
hashCode = prime * hashCode + ((getDataReplicationPrimaryBrokerArn() == null) ? 0 : getDataReplicationPrimaryBrokerArn().hashCode());
return hashCode;
}
@Override
public CreateBrokerRequest clone() {
return (CreateBrokerRequest) super.clone();
}
}