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

com.amazonaws.services.dax.model.CreateClusterRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon DynamoDB Accelerator (DAX) module holds the client classes that are used for communicating with Amazon DynamoDB Accelerator (DAX) Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2016-2021 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.dax.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The cluster identifier. This parameter is stored as a lowercase string. *

*

* Constraints: *

*
    *
  • *

    * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

    * A name cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • *
*/ private String clusterName; /** *

* The compute and memory capacity of the nodes in the cluster. *

*/ private String nodeType; /** *

* A description of the cluster. *

*/ private String description; /** *

* The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any * read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read * replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read * replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is * provided, its length must equal the ReplicationFactor. *

* *

* AWS recommends that you have at least two read replicas per cluster. *

*
*/ private Integer replicationFactor; /** *

* The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you * omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. *

*/ private java.util.List availabilityZones; /** *

* The name of the subnet group to be used for the replication group. *

* *

* DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group * must exist in the same VPC. *

*
*/ private String subnetGroupName; /** *

* A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is * system-generated.) *

*

* If this parameter is not specified, DAX assigns the default VPC security group to each node. *

*/ private java.util.List securityGroupIds; /** *

* Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a * range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute * period. Valid values for ddd are: *

*
    *
  • *

    * sun *

    *
  • *
  • *

    * mon *

    *
  • *
  • *

    * tue *

    *
  • *
  • *

    * wed *

    *
  • *
  • *

    * thu *

    *
  • *
  • *

    * fri *

    *
  • *
  • *

    * sat *

    *
  • *
*

* Example: sun:05:00-sun:09:00 *

* *

* If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a * 60-minute maintenance window on a randomly selected day of the week. *

*
*/ private String preferredMaintenanceWindow; /** *

* The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. *

* *

* The Amazon SNS topic owner must be same as the DAX cluster owner. *

*
*/ private String notificationTopicArn; /** *

* A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

*/ private String iamRoleArn; /** *

* The parameter group to be associated with the DAX cluster. *

*/ private String parameterGroupName; /** *

* A set of tags to associate with the DAX cluster. *

*/ private java.util.List tags; /** *

* Represents the settings used to enable server-side encryption on the cluster. *

*/ private SSESpecification sSESpecification; /** *

* The type of encryption the cluster's endpoint should support. Values are: *

*
    *
  • *

    * NONE for no encryption *

    *
  • *
  • *

    * TLS for Transport Layer Security *

    *
  • *
*/ private String clusterEndpointEncryptionType; /** *

* The cluster identifier. This parameter is stored as a lowercase string. *

*

* Constraints: *

*
    *
  • *

    * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

    * A name cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • *
* * @param clusterName * The cluster identifier. This parameter is stored as a lowercase string.

*

* Constraints: *

*
    *
  • *

    * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

    * A name cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** *

    * The cluster identifier. This parameter is stored as a lowercase string. *

    *

    * Constraints: *

    *
      *
    • *

      * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

      *
    • *
    • *

      * The first character must be a letter. *

      *
    • *
    • *

      * A name cannot end with a hyphen or contain two consecutive hyphens. *

      *
    • *
    * * @return The cluster identifier. This parameter is stored as a lowercase string.

    *

    * Constraints: *

    *
      *
    • *

      * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

      *
    • *
    • *

      * The first character must be a letter. *

      *
    • *
    • *

      * A name cannot end with a hyphen or contain two consecutive hyphens. *

      *
    • */ public String getClusterName() { return this.clusterName; } /** *

      * The cluster identifier. This parameter is stored as a lowercase string. *

      *

      * Constraints: *

      *
        *
      • *

        * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

        *
      • *
      • *

        * The first character must be a letter. *

        *
      • *
      • *

        * A name cannot end with a hyphen or contain two consecutive hyphens. *

        *
      • *
      * * @param clusterName * The cluster identifier. This parameter is stored as a lowercase string.

      *

      * Constraints: *

      *
        *
      • *

        * A name must contain from 1 to 20 alphanumeric characters or hyphens. *

        *
      • *
      • *

        * The first character must be a letter. *

        *
      • *
      • *

        * A name cannot end with a hyphen or contain two consecutive hyphens. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** *

        * The compute and memory capacity of the nodes in the cluster. *

        * * @param nodeType * The compute and memory capacity of the nodes in the cluster. */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** *

        * The compute and memory capacity of the nodes in the cluster. *

        * * @return The compute and memory capacity of the nodes in the cluster. */ public String getNodeType() { return this.nodeType; } /** *

        * The compute and memory capacity of the nodes in the cluster. *

        * * @param nodeType * The compute and memory capacity of the nodes in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** *

        * A description of the cluster. *

        * * @param description * A description of the cluster. */ public void setDescription(String description) { this.description = description; } /** *

        * A description of the cluster. *

        * * @return A description of the cluster. */ public String getDescription() { return this.description; } /** *

        * A description of the cluster. *

        * * @param description * A description of the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withDescription(String description) { setDescription(description); return this; } /** *

        * The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any * read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read * replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read * replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is * provided, its length must equal the ReplicationFactor. *

        * *

        * AWS recommends that you have at least two read replicas per cluster. *

        *
        * * @param replicationFactor * The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, * without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one * or more read replicas. To do this, set ReplicationFactor to a number between 3 (one primary * and two read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones * parameter is provided, its length must equal the ReplicationFactor.

        *

        * AWS recommends that you have at least two read replicas per cluster. *

        */ public void setReplicationFactor(Integer replicationFactor) { this.replicationFactor = replicationFactor; } /** *

        * The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any * read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read * replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read * replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is * provided, its length must equal the ReplicationFactor. *

        * *

        * AWS recommends that you have at least two read replicas per cluster. *

        *
        * * @return The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, * without any read replicas. For additional fault tolerance, you can create a multiple node cluster with * one or more read replicas. To do this, set ReplicationFactor to a number between 3 (one * primary and two read replicas) and 10 (one primary and nine read replicas). * If the AvailabilityZones parameter is provided, its length must equal the * ReplicationFactor.

        *

        * AWS recommends that you have at least two read replicas per cluster. *

        */ public Integer getReplicationFactor() { return this.replicationFactor; } /** *

        * The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any * read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read * replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read * replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is * provided, its length must equal the ReplicationFactor. *

        * *

        * AWS recommends that you have at least two read replicas per cluster. *

        *
        * * @param replicationFactor * The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, * without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one * or more read replicas. To do this, set ReplicationFactor to a number between 3 (one primary * and two read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones * parameter is provided, its length must equal the ReplicationFactor.

        *

        * AWS recommends that you have at least two read replicas per cluster. *

        * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withReplicationFactor(Integer replicationFactor) { setReplicationFactor(replicationFactor); return this; } /** *

        * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you * omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. *

        * * @return The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If * you omit this parameter, DAX will spread the nodes across Availability Zones for the highest * availability. */ public java.util.List getAvailabilityZones() { return availabilityZones; } /** *

        * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you * omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. *

        * * @param availabilityZones * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If * you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. */ public void setAvailabilityZones(java.util.Collection availabilityZones) { if (availabilityZones == null) { this.availabilityZones = null; return; } this.availabilityZones = new java.util.ArrayList(availabilityZones); } /** *

        * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you * omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. *

        * * @param availabilityZones * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If * you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withAvailabilityZones(String... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new java.util.ArrayList(availabilityZones.length)); } for (String ele : availabilityZones) { this.availabilityZones.add(ele); } return this; } /** *

        * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you * omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. *

        * * @param availabilityZones * The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or * updated. If provided, the length of this list must equal the ReplicationFactor parameter. If * you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withAvailabilityZones(java.util.Collection availabilityZones) { setAvailabilityZones(availabilityZones); return this; } /** *

        * The name of the subnet group to be used for the replication group. *

        * *

        * DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group * must exist in the same VPC. *

        *
        * * @param subnetGroupName * The name of the subnet group to be used for the replication group.

        *

        * DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet * group must exist in the same VPC. *

        */ public void setSubnetGroupName(String subnetGroupName) { this.subnetGroupName = subnetGroupName; } /** *

        * The name of the subnet group to be used for the replication group. *

        * *

        * DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group * must exist in the same VPC. *

        *
        * * @return The name of the subnet group to be used for the replication group.

        *

        * DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet * group must exist in the same VPC. *

        */ public String getSubnetGroupName() { return this.subnetGroupName; } /** *

        * The name of the subnet group to be used for the replication group. *

        * *

        * DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group * must exist in the same VPC. *

        *
        * * @param subnetGroupName * The name of the subnet group to be used for the replication group.

        *

        * DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet * group must exist in the same VPC. *

        * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withSubnetGroupName(String subnetGroupName) { setSubnetGroupName(subnetGroupName); return this; } /** *

        * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is * system-generated.) *

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. *

        * * @return A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group * ID is system-generated.)

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. */ public java.util.List getSecurityGroupIds() { return securityGroupIds; } /** *

        * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is * system-generated.) *

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. *

        * * @param securityGroupIds * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group * ID is system-generated.)

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. */ public void setSecurityGroupIds(java.util.Collection securityGroupIds) { if (securityGroupIds == null) { this.securityGroupIds = null; return; } this.securityGroupIds = new java.util.ArrayList(securityGroupIds); } /** *

        * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is * system-generated.) *

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you * want to override the existing values. *

        * * @param securityGroupIds * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group * ID is system-generated.)

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withSecurityGroupIds(String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new java.util.ArrayList(securityGroupIds.length)); } for (String ele : securityGroupIds) { this.securityGroupIds.add(ele); } return this; } /** *

        * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is * system-generated.) *

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. *

        * * @param securityGroupIds * A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group * ID is system-generated.)

        *

        * If this parameter is not specified, DAX assigns the default VPC security group to each node. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withSecurityGroupIds(java.util.Collection securityGroupIds) { setSecurityGroupIds(securityGroupIds); return this; } /** *

        * Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a * range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute * period. Valid values for ddd are: *

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 *

        * *

        * If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a * 60-minute maintenance window on a randomly selected day of the week. *

        *
        * * @param preferredMaintenanceWindow * Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified * as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 * minute period. Valid values for ddd are:

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 *

        * *

        * If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns * a 60-minute maintenance window on a randomly selected day of the week. *

        */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

        * Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a * range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute * period. Valid values for ddd are: *

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 *

        * *

        * If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a * 60-minute maintenance window on a randomly selected day of the week. *

        *
        * * @return Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified * as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 * minute period. Valid values for ddd are:

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 *

        * *

        * If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX * assigns a 60-minute maintenance window on a randomly selected day of the week. *

        */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

        * Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a * range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute * period. Valid values for ddd are: *

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 *

        * *

        * If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a * 60-minute maintenance window on a randomly selected day of the week. *

        *
        * * @param preferredMaintenanceWindow * Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified * as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 * minute period. Valid values for ddd are:

        *
          *
        • *

          * sun *

          *
        • *
        • *

          * mon *

          *
        • *
        • *

          * tue *

          *
        • *
        • *

          * wed *

          *
        • *
        • *

          * thu *

          *
        • *
        • *

          * fri *

          *
        • *
        • *

          * sat *

          *
        • *
        *

        * Example: sun:05:00-sun:09:00 *

        * *

        * If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns * a 60-minute maintenance window on a randomly selected day of the week. *

        * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

        * The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. *

        * *

        * The Amazon SNS topic owner must be same as the DAX cluster owner. *

        *
        * * @param notificationTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

        *

        * The Amazon SNS topic owner must be same as the DAX cluster owner. *

        */ public void setNotificationTopicArn(String notificationTopicArn) { this.notificationTopicArn = notificationTopicArn; } /** *

        * The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. *

        * *

        * The Amazon SNS topic owner must be same as the DAX cluster owner. *

        *
        * * @return The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

        *

        * The Amazon SNS topic owner must be same as the DAX cluster owner. *

        */ public String getNotificationTopicArn() { return this.notificationTopicArn; } /** *

        * The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent. *

        * *

        * The Amazon SNS topic owner must be same as the DAX cluster owner. *

        *
        * * @param notificationTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

        *

        * The Amazon SNS topic owner must be same as the DAX cluster owner. *

        * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withNotificationTopicArn(String notificationTopicArn) { setNotificationTopicArn(notificationTopicArn); return this; } /** *

        * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

        * * @param iamRoleArn * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and * use the role's permissions to access DynamoDB on your behalf. */ public void setIamRoleArn(String iamRoleArn) { this.iamRoleArn = iamRoleArn; } /** *

        * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

        * * @return A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and * use the role's permissions to access DynamoDB on your behalf. */ public String getIamRoleArn() { return this.iamRoleArn; } /** *

        * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the * role's permissions to access DynamoDB on your behalf. *

        * * @param iamRoleArn * A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and * use the role's permissions to access DynamoDB on your behalf. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withIamRoleArn(String iamRoleArn) { setIamRoleArn(iamRoleArn); return this; } /** *

        * The parameter group to be associated with the DAX cluster. *

        * * @param parameterGroupName * The parameter group to be associated with the DAX cluster. */ public void setParameterGroupName(String parameterGroupName) { this.parameterGroupName = parameterGroupName; } /** *

        * The parameter group to be associated with the DAX cluster. *

        * * @return The parameter group to be associated with the DAX cluster. */ public String getParameterGroupName() { return this.parameterGroupName; } /** *

        * The parameter group to be associated with the DAX cluster. *

        * * @param parameterGroupName * The parameter group to be associated with the DAX cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withParameterGroupName(String parameterGroupName) { setParameterGroupName(parameterGroupName); return this; } /** *

        * A set of tags to associate with the DAX cluster. *

        * * @return A set of tags to associate with the DAX cluster. */ public java.util.List getTags() { return tags; } /** *

        * A set of tags to associate with the DAX cluster. *

        * * @param tags * A set of tags to associate with the DAX cluster. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

        * A set of tags to associate with the DAX cluster. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

        * * @param tags * A set of tags to associate with the DAX cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

        * A set of tags to associate with the DAX cluster. *

        * * @param tags * A set of tags to associate with the DAX cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

        * Represents the settings used to enable server-side encryption on the cluster. *

        * * @param sSESpecification * Represents the settings used to enable server-side encryption on the cluster. */ public void setSSESpecification(SSESpecification sSESpecification) { this.sSESpecification = sSESpecification; } /** *

        * Represents the settings used to enable server-side encryption on the cluster. *

        * * @return Represents the settings used to enable server-side encryption on the cluster. */ public SSESpecification getSSESpecification() { return this.sSESpecification; } /** *

        * Represents the settings used to enable server-side encryption on the cluster. *

        * * @param sSESpecification * Represents the settings used to enable server-side encryption on the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withSSESpecification(SSESpecification sSESpecification) { setSSESpecification(sSESpecification); return this; } /** *

        * The type of encryption the cluster's endpoint should support. Values are: *

        *
          *
        • *

          * NONE for no encryption *

          *
        • *
        • *

          * TLS for Transport Layer Security *

          *
        • *
        * * @param clusterEndpointEncryptionType * The type of encryption the cluster's endpoint should support. Values are:

        *
          *
        • *

          * NONE for no encryption *

          *
        • *
        • *

          * TLS for Transport Layer Security *

          *
        • * @see ClusterEndpointEncryptionType */ public void setClusterEndpointEncryptionType(String clusterEndpointEncryptionType) { this.clusterEndpointEncryptionType = clusterEndpointEncryptionType; } /** *

          * The type of encryption the cluster's endpoint should support. Values are: *

          *
            *
          • *

            * NONE for no encryption *

            *
          • *
          • *

            * TLS for Transport Layer Security *

            *
          • *
          * * @return The type of encryption the cluster's endpoint should support. Values are:

          *
            *
          • *

            * NONE for no encryption *

            *
          • *
          • *

            * TLS for Transport Layer Security *

            *
          • * @see ClusterEndpointEncryptionType */ public String getClusterEndpointEncryptionType() { return this.clusterEndpointEncryptionType; } /** *

            * The type of encryption the cluster's endpoint should support. Values are: *

            *
              *
            • *

              * NONE for no encryption *

              *
            • *
            • *

              * TLS for Transport Layer Security *

              *
            • *
            * * @param clusterEndpointEncryptionType * The type of encryption the cluster's endpoint should support. Values are:

            *
              *
            • *

              * NONE for no encryption *

              *
            • *
            • *

              * TLS for Transport Layer Security *

              *
            • * @return Returns a reference to this object so that method calls can be chained together. * @see ClusterEndpointEncryptionType */ public CreateClusterRequest withClusterEndpointEncryptionType(String clusterEndpointEncryptionType) { setClusterEndpointEncryptionType(clusterEndpointEncryptionType); return this; } /** *

              * The type of encryption the cluster's endpoint should support. Values are: *

              *
                *
              • *

                * NONE for no encryption *

                *
              • *
              • *

                * TLS for Transport Layer Security *

                *
              • *
              * * @param clusterEndpointEncryptionType * The type of encryption the cluster's endpoint should support. Values are:

              *
                *
              • *

                * NONE for no encryption *

                *
              • *
              • *

                * TLS for Transport Layer Security *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. * @see ClusterEndpointEncryptionType */ public CreateClusterRequest withClusterEndpointEncryptionType(ClusterEndpointEncryptionType clusterEndpointEncryptionType) { this.clusterEndpointEncryptionType = clusterEndpointEncryptionType.toString(); 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 (getClusterName() != null) sb.append("ClusterName: ").append(getClusterName()).append(","); if (getNodeType() != null) sb.append("NodeType: ").append(getNodeType()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getReplicationFactor() != null) sb.append("ReplicationFactor: ").append(getReplicationFactor()).append(","); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: ").append(getAvailabilityZones()).append(","); if (getSubnetGroupName() != null) sb.append("SubnetGroupName: ").append(getSubnetGroupName()).append(","); if (getSecurityGroupIds() != null) sb.append("SecurityGroupIds: ").append(getSecurityGroupIds()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getNotificationTopicArn() != null) sb.append("NotificationTopicArn: ").append(getNotificationTopicArn()).append(","); if (getIamRoleArn() != null) sb.append("IamRoleArn: ").append(getIamRoleArn()).append(","); if (getParameterGroupName() != null) sb.append("ParameterGroupName: ").append(getParameterGroupName()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getSSESpecification() != null) sb.append("SSESpecification: ").append(getSSESpecification()).append(","); if (getClusterEndpointEncryptionType() != null) sb.append("ClusterEndpointEncryptionType: ").append(getClusterEndpointEncryptionType()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateClusterRequest == false) return false; CreateClusterRequest other = (CreateClusterRequest) obj; if (other.getClusterName() == null ^ this.getClusterName() == null) return false; if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == false) return false; if (other.getNodeType() == null ^ this.getNodeType() == null) return false; if (other.getNodeType() != null && other.getNodeType().equals(this.getNodeType()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getReplicationFactor() == null ^ this.getReplicationFactor() == null) return false; if (other.getReplicationFactor() != null && other.getReplicationFactor().equals(this.getReplicationFactor()) == false) return false; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; if (other.getSubnetGroupName() == null ^ this.getSubnetGroupName() == null) return false; if (other.getSubnetGroupName() != null && other.getSubnetGroupName().equals(this.getSubnetGroupName()) == false) return false; if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null) return false; if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getNotificationTopicArn() == null ^ this.getNotificationTopicArn() == null) return false; if (other.getNotificationTopicArn() != null && other.getNotificationTopicArn().equals(this.getNotificationTopicArn()) == false) return false; if (other.getIamRoleArn() == null ^ this.getIamRoleArn() == null) return false; if (other.getIamRoleArn() != null && other.getIamRoleArn().equals(this.getIamRoleArn()) == false) return false; if (other.getParameterGroupName() == null ^ this.getParameterGroupName() == null) return false; if (other.getParameterGroupName() != null && other.getParameterGroupName().equals(this.getParameterGroupName()) == 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.getSSESpecification() == null ^ this.getSSESpecification() == null) return false; if (other.getSSESpecification() != null && other.getSSESpecification().equals(this.getSSESpecification()) == false) return false; if (other.getClusterEndpointEncryptionType() == null ^ this.getClusterEndpointEncryptionType() == null) return false; if (other.getClusterEndpointEncryptionType() != null && other.getClusterEndpointEncryptionType().equals(this.getClusterEndpointEncryptionType()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterName() == null) ? 0 : getClusterName().hashCode()); hashCode = prime * hashCode + ((getNodeType() == null) ? 0 : getNodeType().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getReplicationFactor() == null) ? 0 : getReplicationFactor().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); hashCode = prime * hashCode + ((getSubnetGroupName() == null) ? 0 : getSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getNotificationTopicArn() == null) ? 0 : getNotificationTopicArn().hashCode()); hashCode = prime * hashCode + ((getIamRoleArn() == null) ? 0 : getIamRoleArn().hashCode()); hashCode = prime * hashCode + ((getParameterGroupName() == null) ? 0 : getParameterGroupName().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getSSESpecification() == null) ? 0 : getSSESpecification().hashCode()); hashCode = prime * hashCode + ((getClusterEndpointEncryptionType() == null) ? 0 : getClusterEndpointEncryptionType().hashCode()); return hashCode; } @Override public CreateClusterRequest clone() { return (CreateClusterRequest) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy