/* * Copyright 2018-2023 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.securityhub.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Provides details about an Amazon MQ message broker. A message broker allows software applications and components to * communicate using various programming languages, operating systems, and formal messaging protocols. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsAmazonMqBrokerDetails implements Serializable, Cloneable, StructuredPojo { /** *
* The authentication strategy used to secure the broker. The default is SIMPLE
.
*
* Whether automatically upgrade new minor versions for brokers, as new versions are released and supported by * Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual * broker reboot. *
*/ private Boolean autoMinorVersionUpgrade; /** ** The Amazon Resource Name (ARN) of the broker. *
*/ private String brokerArn; /** ** The broker's name. *
*/ private String brokerName; /** ** The broker's deployment mode. *
*/ private String deploymentMode; /** ** Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. *
*/ private AwsAmazonMqBrokerEncryptionOptionsDetails encryptionOptions; /** ** The type of broker engine. *
*/ private String engineType; /** ** The version of the broker engine. *
*/ private String engineVersion; /** ** The broker's instance type. *
*/ private String hostInstanceType; /** ** The unique ID that Amazon MQ generates for the broker. *
*/ private String brokerId; /** ** The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and authorize * connections to the broker. This is an optional failover server. *
*/ private AwsAmazonMqBrokerLdapServerMetadataDetails ldapServerMetadata; /** ** Turns on Amazon CloudWatch logging for brokers. *
*/ private AwsAmazonMqBrokerLogsDetails logs; /** ** The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the broker. *
*/ private AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails maintenanceWindowStartTime; /** ** Permits connections from applications outside of the VPC that hosts the broker's subnets. *
*/ private Boolean publiclyAccessible; /** ** The list of rules (one minimum, 125 maximum) that authorize connections to brokers. *
*/ private java.util.List* 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. *
*/ private java.util.List* The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. *
*/ private java.util.List
* The authentication strategy used to secure the broker. The default is SIMPLE
.
*
SIMPLE
.
*/
public void setAuthenticationStrategy(String authenticationStrategy) {
this.authenticationStrategy = authenticationStrategy;
}
/**
*
* The authentication strategy used to secure the broker. The default is SIMPLE
.
*
SIMPLE
.
*/
public String getAuthenticationStrategy() {
return this.authenticationStrategy;
}
/**
*
* The authentication strategy used to secure the broker. The default is SIMPLE
.
*
SIMPLE
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsAmazonMqBrokerDetails withAuthenticationStrategy(String authenticationStrategy) {
setAuthenticationStrategy(authenticationStrategy);
return this;
}
/**
* * Whether automatically upgrade new minor versions for brokers, as new versions are released and supported by * Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual * broker reboot. *
* * @param autoMinorVersionUpgrade * Whether automatically upgrade new minor versions for brokers, as new versions are released and supported * by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a * manual broker reboot. */ public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; } /** ** Whether automatically upgrade new minor versions for brokers, as new versions are released and supported by * Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual * broker reboot. *
* * @return Whether automatically upgrade new minor versions for brokers, as new versions are released and supported * by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a * manual broker reboot. */ public Boolean getAutoMinorVersionUpgrade() { return this.autoMinorVersionUpgrade; } /** ** Whether automatically upgrade new minor versions for brokers, as new versions are released and supported by * Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual * broker reboot. *
* * @param autoMinorVersionUpgrade * Whether automatically upgrade new minor versions for brokers, as new versions are released and supported * by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a * manual broker reboot. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { setAutoMinorVersionUpgrade(autoMinorVersionUpgrade); return this; } /** ** Whether automatically upgrade new minor versions for brokers, as new versions are released and supported by * Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a manual * broker reboot. *
* * @return Whether automatically upgrade new minor versions for brokers, as new versions are released and supported * by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window of the broker or after a * manual broker reboot. */ public Boolean isAutoMinorVersionUpgrade() { return this.autoMinorVersionUpgrade; } /** ** The Amazon Resource Name (ARN) of the broker. *
* * @param brokerArn * The Amazon Resource Name (ARN) of the broker. */ public void setBrokerArn(String brokerArn) { this.brokerArn = brokerArn; } /** ** The Amazon Resource Name (ARN) of the broker. *
* * @return The Amazon Resource Name (ARN) of the broker. */ public String getBrokerArn() { return this.brokerArn; } /** ** The Amazon Resource Name (ARN) of the broker. *
* * @param brokerArn * The Amazon Resource Name (ARN) of the broker. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withBrokerArn(String brokerArn) { setBrokerArn(brokerArn); return this; } /** ** The broker's name. *
* * @param brokerName * The broker's name. */ public void setBrokerName(String brokerName) { this.brokerName = brokerName; } /** ** The broker's name. *
* * @return The broker's name. */ public String getBrokerName() { return this.brokerName; } /** ** The broker's name. *
* * @param brokerName * The broker's name. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withBrokerName(String brokerName) { setBrokerName(brokerName); return this; } /** ** The broker's deployment mode. *
* * @param deploymentMode * The broker's deployment mode. */ public void setDeploymentMode(String deploymentMode) { this.deploymentMode = deploymentMode; } /** ** The broker's deployment mode. *
* * @return The broker's deployment mode. */ public String getDeploymentMode() { return this.deploymentMode; } /** ** The broker's deployment mode. *
* * @param deploymentMode * The broker's deployment mode. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withDeploymentMode(String deploymentMode) { setDeploymentMode(deploymentMode); return this; } /** ** Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. *
* * @param encryptionOptions * Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. */ public void setEncryptionOptions(AwsAmazonMqBrokerEncryptionOptionsDetails encryptionOptions) { this.encryptionOptions = encryptionOptions; } /** ** Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. *
* * @return Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. */ public AwsAmazonMqBrokerEncryptionOptionsDetails getEncryptionOptions() { return this.encryptionOptions; } /** ** Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. *
* * @param encryptionOptions * Encryption options for the broker. Doesn’t apply to RabbitMQ brokers. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withEncryptionOptions(AwsAmazonMqBrokerEncryptionOptionsDetails encryptionOptions) { setEncryptionOptions(encryptionOptions); return this; } /** ** The type of broker engine. *
* * @param engineType * The type of broker engine. */ public void setEngineType(String engineType) { this.engineType = engineType; } /** ** The type of broker engine. *
* * @return The type of broker engine. */ public String getEngineType() { return this.engineType; } /** ** The type of broker engine. *
* * @param engineType * The type of broker engine. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withEngineType(String engineType) { setEngineType(engineType); return this; } /** ** The version of the broker engine. *
* * @param engineVersion * The version of the broker engine. */ public void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } /** ** The version of the broker engine. *
* * @return The version of the broker engine. */ public String getEngineVersion() { return this.engineVersion; } /** ** The version of the broker engine. *
* * @param engineVersion * The version of the broker engine. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withEngineVersion(String engineVersion) { setEngineVersion(engineVersion); return this; } /** ** The broker's instance type. *
* * @param hostInstanceType * The broker's instance type. */ public void setHostInstanceType(String hostInstanceType) { this.hostInstanceType = hostInstanceType; } /** ** The broker's instance type. *
* * @return The broker's instance type. */ public String getHostInstanceType() { return this.hostInstanceType; } /** ** The broker's instance type. *
* * @param hostInstanceType * The broker's instance type. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withHostInstanceType(String hostInstanceType) { setHostInstanceType(hostInstanceType); return this; } /** ** The unique ID that Amazon MQ generates for the broker. *
* * @param brokerId * The unique ID that Amazon MQ generates for the broker. */ public void setBrokerId(String brokerId) { this.brokerId = brokerId; } /** ** The unique ID that Amazon MQ generates for the broker. *
* * @return The unique ID that Amazon MQ generates for the broker. */ public String getBrokerId() { return this.brokerId; } /** ** The unique ID that Amazon MQ generates for the broker. *
* * @param brokerId * The unique ID that Amazon MQ generates for the broker. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withBrokerId(String brokerId) { setBrokerId(brokerId); return this; } /** ** The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and authorize * connections to the broker. This is an optional failover server. *
* * @param ldapServerMetadata * The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and authorize * connections to the broker. This is an optional failover server. */ public void setLdapServerMetadata(AwsAmazonMqBrokerLdapServerMetadataDetails ldapServerMetadata) { this.ldapServerMetadata = ldapServerMetadata; } /** ** The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and authorize * connections to the broker. This is an optional failover server. *
* * @return The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and * authorize connections to the broker. This is an optional failover server. */ public AwsAmazonMqBrokerLdapServerMetadataDetails getLdapServerMetadata() { return this.ldapServerMetadata; } /** ** The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and authorize * connections to the broker. This is an optional failover server. *
* * @param ldapServerMetadata * The metadata of the Lightweight Directory Access Protocol (LDAP) server used to authenticate and authorize * connections to the broker. This is an optional failover server. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withLdapServerMetadata(AwsAmazonMqBrokerLdapServerMetadataDetails ldapServerMetadata) { setLdapServerMetadata(ldapServerMetadata); return this; } /** ** Turns on Amazon CloudWatch logging for brokers. *
* * @param logs * Turns on Amazon CloudWatch logging for brokers. */ public void setLogs(AwsAmazonMqBrokerLogsDetails logs) { this.logs = logs; } /** ** Turns on Amazon CloudWatch logging for brokers. *
* * @return Turns on Amazon CloudWatch logging for brokers. */ public AwsAmazonMqBrokerLogsDetails getLogs() { return this.logs; } /** ** Turns on Amazon CloudWatch logging for brokers. *
* * @param logs * Turns on Amazon CloudWatch logging for brokers. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withLogs(AwsAmazonMqBrokerLogsDetails logs) { setLogs(logs); return this; } /** ** The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the broker. *
* * @param maintenanceWindowStartTime * The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the * broker. */ public void setMaintenanceWindowStartTime(AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails maintenanceWindowStartTime) { this.maintenanceWindowStartTime = maintenanceWindowStartTime; } /** ** The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the broker. *
* * @return The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the * broker. */ public AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails getMaintenanceWindowStartTime() { return this.maintenanceWindowStartTime; } /** ** The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the broker. *
* * @param maintenanceWindowStartTime * The scheduled time period (UTC) during which Amazon MQ begins to apply pending updates or patches to the * broker. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withMaintenanceWindowStartTime(AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails maintenanceWindowStartTime) { setMaintenanceWindowStartTime(maintenanceWindowStartTime); return this; } /** ** Permits connections from applications outside of the VPC that hosts the broker's subnets. *
* * @param publiclyAccessible * Permits connections from applications outside of the VPC that hosts the broker's subnets. */ public void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } /** ** Permits connections from applications outside of the VPC that hosts the broker's subnets. *
* * @return Permits connections from applications outside of the VPC that hosts the broker's subnets. */ public Boolean getPubliclyAccessible() { return this.publiclyAccessible; } /** ** Permits connections from applications outside of the VPC that hosts the broker's subnets. *
* * @param publiclyAccessible * Permits connections from applications outside of the VPC that hosts the broker's subnets. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withPubliclyAccessible(Boolean publiclyAccessible) { setPubliclyAccessible(publiclyAccessible); return this; } /** ** Permits connections from applications outside of the VPC that hosts the broker's subnets. *
* * @return Permits connections from applications outside of the VPC that hosts the broker's subnets. */ public Boolean isPubliclyAccessible() { return this.publiclyAccessible; } /** ** The list of rules (one minimum, 125 maximum) that authorize connections to brokers. *
* * @return The list of rules (one minimum, 125 maximum) that authorize connections to brokers. */ public java.util.List* The list of rules (one minimum, 125 maximum) that authorize connections to brokers. *
* * @param securityGroups * The list of rules (one minimum, 125 maximum) that authorize connections to brokers. */ public void setSecurityGroups(java.util.Collection* The list of rules (one 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 (one minimum, 125 maximum) that authorize connections to brokers. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withSecurityGroups(String... securityGroups) { if (this.securityGroups == null) { setSecurityGroups(new java.util.ArrayList* The list of rules (one minimum, 125 maximum) that authorize connections to brokers. *
* * @param securityGroups * The list of rules (one minimum, 125 maximum) that authorize connections to brokers. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withSecurityGroups(java.util.Collection* The broker's storage type. *
* * @param storageType * The broker's storage type. */ public void setStorageType(String storageType) { this.storageType = storageType; } /** ** The broker's storage type. *
* * @return The broker's storage type. */ 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. */ public AwsAmazonMqBrokerDetails withStorageType(String storageType) { setStorageType(storageType); return this; } /** ** The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. *
* * @return The list of groups that define which subnets and IP ranges the broker can use from different Availability * Zones. */ public java.util.List* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. *
* * @param subnetIds * The list of groups that define which subnets and IP ranges the broker can use from different Availability * Zones. */ public void setSubnetIds(java.util.Collection* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. *
** 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. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withSubnetIds(String... subnetIds) { if (this.subnetIds == null) { setSubnetIds(new java.util.ArrayList* The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. *
* * @param subnetIds * The list of groups that define which subnets and IP ranges the broker can use from different Availability * Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withSubnetIds(java.util.Collection* The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. *
* * @return The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. */ public java.util.List* The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. *
* * @param users * The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. */ public void setUsers(java.util.Collection* The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. *
** 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 all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withUsers(AwsAmazonMqBrokerUsersDetails... users) { if (this.users == null) { setUsers(new java.util.ArrayList* The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. *
* * @param users * The list of all broker usernames for the specified broker. Doesn't apply to RabbitMQ brokers. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAmazonMqBrokerDetails withUsers(java.util.Collection