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

com.amazonaws.services.finspace.model.CreateKxClusterRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for FinSpace User Environment Management module holds the client classes that are used for communicating with FinSpace User Environment Management Service

The newest version!
/*
 * 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.finspace.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 CreateKxClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* A token that ensures idempotency. This token expires in 10 minutes. *

*/ private String clientToken; /** *

* A unique identifier for the kdb environment. *

*/ private String environmentId; /** *

* A unique name for the cluster that you want to create. *

*/ private String clusterName; /** *

* Specifies the type of KDB database that is being created. The following types are available: *

*
    *
  • *

    * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace * managed kdb databases mounted to the cluster. *

    *
  • *
  • *

    * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster * type requires local storage for temporary storage of data during the savedown process. If you specify this field * in your request, you must provide the savedownStorageConfiguration parameter. *

    *
  • *
  • *

    * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create * your own routing logic using the initialization scripts and custom code. This type of cluster does not require a * writable local storage. *

    *
  • *
  • *

    * GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater * access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount * databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not * support autoscaling and supports only SINGLE AZ mode. *

    *
  • *
  • *

    * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can * publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, * which is readable by any RDB environment. It supports only single-node that is only one kdb process. *

    *
  • *
*/ private String clusterType; /** *

* A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your cluster. * For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by * using the global variable .aws.tp_log_path. *

*/ private TickerplantLogConfiguration tickerplantLogConfiguration; /** *

* A list of databases that will be available for querying. *

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

* The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx * Lustre that reads from the S3 store. *

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

* The configuration based on which FinSpace will scale in or scale out nodes in your cluster. *

*/ private AutoScalingConfiguration autoScalingConfiguration; /** *

* A description of the cluster. *

*/ private String clusterDescription; /** *

* A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and * number of instances. *

*/ private CapacityConfiguration capacityConfiguration; /** *

* The version of FinSpace managed kdb to run. *

*/ private String releaseLabel; /** *

* Configuration details about the network where the Privatelink endpoint of the cluster resides. *

*/ private VpcConfiguration vpcConfiguration; /** *

* Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that * contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q. *

*/ private String initializationScript; /** *

* Defines the key-value pairs to make them available inside the cluster. *

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

* The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 * source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the * cluster. *

*/ private CodeConfiguration code; /** *

* An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a * cluster attempts to access another cluster. *

*/ private String executionRole; /** *

* The size and type of the temporary storage that is used to hold data during the savedown process. This parameter * is required when you choose clusterType as RDB. All the data written to this storage space is lost * when the cluster node is restarted. *

*/ private KxSavedownStorageConfiguration savedownStorageConfiguration; /** *

* The number of availability zones you want to assign per cluster. This can be one of the following *

*
    *
  • *

    * SINGLE – Assigns one availability zone per cluster. *

    *
  • *
  • *

    * MULTI – Assigns all the availability zones per cluster. *

    *
  • *
*/ private String azMode; /** *

* The availability zone identifiers for the requested regions. *

*/ private String availabilityZoneId; /** *

* A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. *

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

* The structure that stores the configuration details of a scaling group. *

*/ private KxScalingGroupConfiguration scalingGroupConfiguration; /** *

* A token that ensures idempotency. This token expires in 10 minutes. *

* * @param clientToken * A token that ensures idempotency. This token expires in 10 minutes. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** *

* A token that ensures idempotency. This token expires in 10 minutes. *

* * @return A token that ensures idempotency. This token expires in 10 minutes. */ public String getClientToken() { return this.clientToken; } /** *

* A token that ensures idempotency. This token expires in 10 minutes. *

* * @param clientToken * A token that ensures idempotency. This token expires in 10 minutes. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** *

* A unique identifier for the kdb environment. *

* * @param environmentId * A unique identifier for the kdb environment. */ public void setEnvironmentId(String environmentId) { this.environmentId = environmentId; } /** *

* A unique identifier for the kdb environment. *

* * @return A unique identifier for the kdb environment. */ public String getEnvironmentId() { return this.environmentId; } /** *

* A unique identifier for the kdb environment. *

* * @param environmentId * A unique identifier for the kdb environment. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withEnvironmentId(String environmentId) { setEnvironmentId(environmentId); return this; } /** *

* A unique name for the cluster that you want to create. *

* * @param clusterName * A unique name for the cluster that you want to create. */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** *

* A unique name for the cluster that you want to create. *

* * @return A unique name for the cluster that you want to create. */ public String getClusterName() { return this.clusterName; } /** *

* A unique name for the cluster that you want to create. *

* * @param clusterName * A unique name for the cluster that you want to create. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** *

* Specifies the type of KDB database that is being created. The following types are available: *

*
    *
  • *

    * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace * managed kdb databases mounted to the cluster. *

    *
  • *
  • *

    * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster * type requires local storage for temporary storage of data during the savedown process. If you specify this field * in your request, you must provide the savedownStorageConfiguration parameter. *

    *
  • *
  • *

    * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create * your own routing logic using the initialization scripts and custom code. This type of cluster does not require a * writable local storage. *

    *
  • *
  • *

    * GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater * access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount * databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not * support autoscaling and supports only SINGLE AZ mode. *

    *
  • *
  • *

    * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can * publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, * which is readable by any RDB environment. It supports only single-node that is only one kdb process. *

    *
  • *
* * @param clusterType * Specifies the type of KDB database that is being created. The following types are available:

*
    *
  • *

    * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the * FinSpace managed kdb databases mounted to the cluster. *

    *
  • *
  • *

    * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it * in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This * cluster type requires local storage for temporary storage of data during the savedown process. If you * specify this field in your request, you must provide the savedownStorageConfiguration * parameter. *

    *
  • *
  • *

    * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to * create your own routing logic using the initialization scripts and custom code. This type of cluster does * not require a writable local storage. *

    *
  • *
  • *

    * GP – A general purpose cluster allows you to quickly iterate on code during development by granting * greater access to system commands and enabling a fast reload of custom code. This cluster type can * optionally mount databases including cache and savedown storage. For this cluster type, the node count is * fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode. *

    *
  • *
  • *

    * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It * can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist * messages to log, which is readable by any RDB environment. It supports only single-node that is only one * kdb process. *

    *
  • * @see KxClusterType */ public void setClusterType(String clusterType) { this.clusterType = clusterType; } /** *

    * Specifies the type of KDB database that is being created. The following types are available: *

    *
      *
    • *

      * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace * managed kdb databases mounted to the cluster. *

      *
    • *
    • *

      * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster * type requires local storage for temporary storage of data during the savedown process. If you specify this field * in your request, you must provide the savedownStorageConfiguration parameter. *

      *
    • *
    • *

      * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create * your own routing logic using the initialization scripts and custom code. This type of cluster does not require a * writable local storage. *

      *
    • *
    • *

      * GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater * access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount * databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not * support autoscaling and supports only SINGLE AZ mode. *

      *
    • *
    • *

      * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can * publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, * which is readable by any RDB environment. It supports only single-node that is only one kdb process. *

      *
    • *
    * * @return Specifies the type of KDB database that is being created. The following types are available:

    *
      *
    • *

      * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the * FinSpace managed kdb databases mounted to the cluster. *

      *
    • *
    • *

      * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it * in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This * cluster type requires local storage for temporary storage of data during the savedown process. If you * specify this field in your request, you must provide the savedownStorageConfiguration * parameter. *

      *
    • *
    • *

      * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to * create your own routing logic using the initialization scripts and custom code. This type of cluster does * not require a writable local storage. *

      *
    • *
    • *

      * GP – A general purpose cluster allows you to quickly iterate on code during development by granting * greater access to system commands and enabling a fast reload of custom code. This cluster type can * optionally mount databases including cache and savedown storage. For this cluster type, the node count is * fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode. *

      *
    • *
    • *

      * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It * can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist * messages to log, which is readable by any RDB environment. It supports only single-node that is only one * kdb process. *

      *
    • * @see KxClusterType */ public String getClusterType() { return this.clusterType; } /** *

      * Specifies the type of KDB database that is being created. The following types are available: *

      *
        *
      • *

        * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace * managed kdb databases mounted to the cluster. *

        *
      • *
      • *

        * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster * type requires local storage for temporary storage of data during the savedown process. If you specify this field * in your request, you must provide the savedownStorageConfiguration parameter. *

        *
      • *
      • *

        * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create * your own routing logic using the initialization scripts and custom code. This type of cluster does not require a * writable local storage. *

        *
      • *
      • *

        * GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater * access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount * databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not * support autoscaling and supports only SINGLE AZ mode. *

        *
      • *
      • *

        * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can * publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, * which is readable by any RDB environment. It supports only single-node that is only one kdb process. *

        *
      • *
      * * @param clusterType * Specifies the type of KDB database that is being created. The following types are available:

      *
        *
      • *

        * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the * FinSpace managed kdb databases mounted to the cluster. *

        *
      • *
      • *

        * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it * in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This * cluster type requires local storage for temporary storage of data during the savedown process. If you * specify this field in your request, you must provide the savedownStorageConfiguration * parameter. *

        *
      • *
      • *

        * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to * create your own routing logic using the initialization scripts and custom code. This type of cluster does * not require a writable local storage. *

        *
      • *
      • *

        * GP – A general purpose cluster allows you to quickly iterate on code during development by granting * greater access to system commands and enabling a fast reload of custom code. This cluster type can * optionally mount databases including cache and savedown storage. For this cluster type, the node count is * fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode. *

        *
      • *
      • *

        * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It * can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist * messages to log, which is readable by any RDB environment. It supports only single-node that is only one * kdb process. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see KxClusterType */ public CreateKxClusterRequest withClusterType(String clusterType) { setClusterType(clusterType); return this; } /** *

        * Specifies the type of KDB database that is being created. The following types are available: *

        *
          *
        • *

          * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace * managed kdb databases mounted to the cluster. *

          *
        • *
        • *

          * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in * memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster * type requires local storage for temporary storage of data during the savedown process. If you specify this field * in your request, you must provide the savedownStorageConfiguration parameter. *

          *
        • *
        • *

          * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create * your own routing logic using the initialization scripts and custom code. This type of cluster does not require a * writable local storage. *

          *
        • *
        • *

          * GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater * access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount * databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not * support autoscaling and supports only SINGLE AZ mode. *

          *
        • *
        • *

          * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can * publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, * which is readable by any RDB environment. It supports only single-node that is only one kdb process. *

          *
        • *
        * * @param clusterType * Specifies the type of KDB database that is being created. The following types are available:

        *
          *
        • *

          * HDB – A Historical Database. The data is only accessible with read-only permissions from one of the * FinSpace managed kdb databases mounted to the cluster. *

          *
        • *
        • *

          * RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it * in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This * cluster type requires local storage for temporary storage of data during the savedown process. If you * specify this field in your request, you must provide the savedownStorageConfiguration * parameter. *

          *
        • *
        • *

          * GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to * create your own routing logic using the initialization scripts and custom code. This type of cluster does * not require a writable local storage. *

          *
        • *
        • *

          * GP – A general purpose cluster allows you to quickly iterate on code during development by granting * greater access to system commands and enabling a fast reload of custom code. This cluster type can * optionally mount databases including cache and savedown storage. For this cluster type, the node count is * fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode. *

          *
        • *
        • *

          * Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It * can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist * messages to log, which is readable by any RDB environment. It supports only single-node that is only one * kdb process. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see KxClusterType */ public CreateKxClusterRequest withClusterType(KxClusterType clusterType) { this.clusterType = clusterType.toString(); return this; } /** *

          * A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your cluster. * For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by * using the global variable .aws.tp_log_path. *

          * * @param tickerplantLogConfiguration * A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your * cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will * be available by using the global variable .aws.tp_log_path. */ public void setTickerplantLogConfiguration(TickerplantLogConfiguration tickerplantLogConfiguration) { this.tickerplantLogConfiguration = tickerplantLogConfiguration; } /** *

          * A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your cluster. * For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by * using the global variable .aws.tp_log_path. *

          * * @return A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your * cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will * be available by using the global variable .aws.tp_log_path. */ public TickerplantLogConfiguration getTickerplantLogConfiguration() { return this.tickerplantLogConfiguration; } /** *

          * A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your cluster. * For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by * using the global variable .aws.tp_log_path. *

          * * @param tickerplantLogConfiguration * A configuration to store Tickerplant logs. It consists of a list of volumes that will be mounted to your * cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will * be available by using the global variable .aws.tp_log_path. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withTickerplantLogConfiguration(TickerplantLogConfiguration tickerplantLogConfiguration) { setTickerplantLogConfiguration(tickerplantLogConfiguration); return this; } /** *

          * A list of databases that will be available for querying. *

          * * @return A list of databases that will be available for querying. */ public java.util.List getDatabases() { return databases; } /** *

          * A list of databases that will be available for querying. *

          * * @param databases * A list of databases that will be available for querying. */ public void setDatabases(java.util.Collection databases) { if (databases == null) { this.databases = null; return; } this.databases = new java.util.ArrayList(databases); } /** *

          * A list of databases that will be available for querying. *

          *

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

          * * @param databases * A list of databases that will be available for querying. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withDatabases(KxDatabaseConfiguration... databases) { if (this.databases == null) { setDatabases(new java.util.ArrayList(databases.length)); } for (KxDatabaseConfiguration ele : databases) { this.databases.add(ele); } return this; } /** *

          * A list of databases that will be available for querying. *

          * * @param databases * A list of databases that will be available for querying. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withDatabases(java.util.Collection databases) { setDatabases(databases); return this; } /** *

          * The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx * Lustre that reads from the S3 store. *

          * * @return The configurations for a read only cache storage associated with a cluster. This cache will be stored as * an FSx Lustre that reads from the S3 store. */ public java.util.List getCacheStorageConfigurations() { return cacheStorageConfigurations; } /** *

          * The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx * Lustre that reads from the S3 store. *

          * * @param cacheStorageConfigurations * The configurations for a read only cache storage associated with a cluster. This cache will be stored as * an FSx Lustre that reads from the S3 store. */ public void setCacheStorageConfigurations(java.util.Collection cacheStorageConfigurations) { if (cacheStorageConfigurations == null) { this.cacheStorageConfigurations = null; return; } this.cacheStorageConfigurations = new java.util.ArrayList(cacheStorageConfigurations); } /** *

          * The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx * Lustre that reads from the S3 store. *

          *

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

          * * @param cacheStorageConfigurations * The configurations for a read only cache storage associated with a cluster. This cache will be stored as * an FSx Lustre that reads from the S3 store. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withCacheStorageConfigurations(KxCacheStorageConfiguration... cacheStorageConfigurations) { if (this.cacheStorageConfigurations == null) { setCacheStorageConfigurations(new java.util.ArrayList(cacheStorageConfigurations.length)); } for (KxCacheStorageConfiguration ele : cacheStorageConfigurations) { this.cacheStorageConfigurations.add(ele); } return this; } /** *

          * The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx * Lustre that reads from the S3 store. *

          * * @param cacheStorageConfigurations * The configurations for a read only cache storage associated with a cluster. This cache will be stored as * an FSx Lustre that reads from the S3 store. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withCacheStorageConfigurations(java.util.Collection cacheStorageConfigurations) { setCacheStorageConfigurations(cacheStorageConfigurations); return this; } /** *

          * The configuration based on which FinSpace will scale in or scale out nodes in your cluster. *

          * * @param autoScalingConfiguration * The configuration based on which FinSpace will scale in or scale out nodes in your cluster. */ public void setAutoScalingConfiguration(AutoScalingConfiguration autoScalingConfiguration) { this.autoScalingConfiguration = autoScalingConfiguration; } /** *

          * The configuration based on which FinSpace will scale in or scale out nodes in your cluster. *

          * * @return The configuration based on which FinSpace will scale in or scale out nodes in your cluster. */ public AutoScalingConfiguration getAutoScalingConfiguration() { return this.autoScalingConfiguration; } /** *

          * The configuration based on which FinSpace will scale in or scale out nodes in your cluster. *

          * * @param autoScalingConfiguration * The configuration based on which FinSpace will scale in or scale out nodes in your cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withAutoScalingConfiguration(AutoScalingConfiguration autoScalingConfiguration) { setAutoScalingConfiguration(autoScalingConfiguration); return this; } /** *

          * A description of the cluster. *

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

          * A description of the cluster. *

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

          * A description of the cluster. *

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

          * A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and * number of instances. *

          * * @param capacityConfiguration * A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of * instances, and number of instances. */ public void setCapacityConfiguration(CapacityConfiguration capacityConfiguration) { this.capacityConfiguration = capacityConfiguration; } /** *

          * A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and * number of instances. *

          * * @return A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of * instances, and number of instances. */ public CapacityConfiguration getCapacityConfiguration() { return this.capacityConfiguration; } /** *

          * A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and * number of instances. *

          * * @param capacityConfiguration * A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of * instances, and number of instances. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withCapacityConfiguration(CapacityConfiguration capacityConfiguration) { setCapacityConfiguration(capacityConfiguration); return this; } /** *

          * The version of FinSpace managed kdb to run. *

          * * @param releaseLabel * The version of FinSpace managed kdb to run. */ public void setReleaseLabel(String releaseLabel) { this.releaseLabel = releaseLabel; } /** *

          * The version of FinSpace managed kdb to run. *

          * * @return The version of FinSpace managed kdb to run. */ public String getReleaseLabel() { return this.releaseLabel; } /** *

          * The version of FinSpace managed kdb to run. *

          * * @param releaseLabel * The version of FinSpace managed kdb to run. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withReleaseLabel(String releaseLabel) { setReleaseLabel(releaseLabel); return this; } /** *

          * Configuration details about the network where the Privatelink endpoint of the cluster resides. *

          * * @param vpcConfiguration * Configuration details about the network where the Privatelink endpoint of the cluster resides. */ public void setVpcConfiguration(VpcConfiguration vpcConfiguration) { this.vpcConfiguration = vpcConfiguration; } /** *

          * Configuration details about the network where the Privatelink endpoint of the cluster resides. *

          * * @return Configuration details about the network where the Privatelink endpoint of the cluster resides. */ public VpcConfiguration getVpcConfiguration() { return this.vpcConfiguration; } /** *

          * Configuration details about the network where the Privatelink endpoint of the cluster resides. *

          * * @param vpcConfiguration * Configuration details about the network where the Privatelink endpoint of the cluster resides. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withVpcConfiguration(VpcConfiguration vpcConfiguration) { setVpcConfiguration(vpcConfiguration); return this; } /** *

          * Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that * contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q. *

          * * @param initializationScript * Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip * file that contains the custom code, which will be loaded on the cluster. It must include the file name * itself. For example, somedir/init.q. */ public void setInitializationScript(String initializationScript) { this.initializationScript = initializationScript; } /** *

          * Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that * contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q. *

          * * @return Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip * file that contains the custom code, which will be loaded on the cluster. It must include the file name * itself. For example, somedir/init.q. */ public String getInitializationScript() { return this.initializationScript; } /** *

          * Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that * contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, * somedir/init.q. *

          * * @param initializationScript * Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip * file that contains the custom code, which will be loaded on the cluster. It must include the file name * itself. For example, somedir/init.q. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withInitializationScript(String initializationScript) { setInitializationScript(initializationScript); return this; } /** *

          * Defines the key-value pairs to make them available inside the cluster. *

          * * @return Defines the key-value pairs to make them available inside the cluster. */ public java.util.List getCommandLineArguments() { return commandLineArguments; } /** *

          * Defines the key-value pairs to make them available inside the cluster. *

          * * @param commandLineArguments * Defines the key-value pairs to make them available inside the cluster. */ public void setCommandLineArguments(java.util.Collection commandLineArguments) { if (commandLineArguments == null) { this.commandLineArguments = null; return; } this.commandLineArguments = new java.util.ArrayList(commandLineArguments); } /** *

          * Defines the key-value pairs to make them available inside the cluster. *

          *

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

          * * @param commandLineArguments * Defines the key-value pairs to make them available inside the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withCommandLineArguments(KxCommandLineArgument... commandLineArguments) { if (this.commandLineArguments == null) { setCommandLineArguments(new java.util.ArrayList(commandLineArguments.length)); } for (KxCommandLineArgument ele : commandLineArguments) { this.commandLineArguments.add(ele); } return this; } /** *

          * Defines the key-value pairs to make them available inside the cluster. *

          * * @param commandLineArguments * Defines the key-value pairs to make them available inside the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withCommandLineArguments(java.util.Collection commandLineArguments) { setCommandLineArguments(commandLineArguments); return this; } /** *

          * The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 * source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the * cluster. *

          * * @param code * The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of * the S3 source bucket, location, S3 object version, and the relative path from where the custom code is * loaded into the cluster. */ public void setCode(CodeConfiguration code) { this.code = code; } /** *

          * The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 * source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the * cluster. *

          * * @return The details of the custom code that you want to use inside a cluster when analyzing a data. It consists * of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is * loaded into the cluster. */ public CodeConfiguration getCode() { return this.code; } /** *

          * The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 * source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the * cluster. *

          * * @param code * The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of * the S3 source bucket, location, S3 object version, and the relative path from where the custom code is * loaded into the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withCode(CodeConfiguration code) { setCode(code); return this; } /** *

          * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a * cluster attempts to access another cluster. *

          * * @param executionRole * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed * when a cluster attempts to access another cluster. */ public void setExecutionRole(String executionRole) { this.executionRole = executionRole; } /** *

          * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a * cluster attempts to access another cluster. *

          * * @return An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed * when a cluster attempts to access another cluster. */ public String getExecutionRole() { return this.executionRole; } /** *

          * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a * cluster attempts to access another cluster. *

          * * @param executionRole * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed * when a cluster attempts to access another cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withExecutionRole(String executionRole) { setExecutionRole(executionRole); return this; } /** *

          * The size and type of the temporary storage that is used to hold data during the savedown process. This parameter * is required when you choose clusterType as RDB. All the data written to this storage space is lost * when the cluster node is restarted. *

          * * @param savedownStorageConfiguration * The size and type of the temporary storage that is used to hold data during the savedown process. This * parameter is required when you choose clusterType as RDB. All the data written to this * storage space is lost when the cluster node is restarted. */ public void setSavedownStorageConfiguration(KxSavedownStorageConfiguration savedownStorageConfiguration) { this.savedownStorageConfiguration = savedownStorageConfiguration; } /** *

          * The size and type of the temporary storage that is used to hold data during the savedown process. This parameter * is required when you choose clusterType as RDB. All the data written to this storage space is lost * when the cluster node is restarted. *

          * * @return The size and type of the temporary storage that is used to hold data during the savedown process. This * parameter is required when you choose clusterType as RDB. All the data written to this * storage space is lost when the cluster node is restarted. */ public KxSavedownStorageConfiguration getSavedownStorageConfiguration() { return this.savedownStorageConfiguration; } /** *

          * The size and type of the temporary storage that is used to hold data during the savedown process. This parameter * is required when you choose clusterType as RDB. All the data written to this storage space is lost * when the cluster node is restarted. *

          * * @param savedownStorageConfiguration * The size and type of the temporary storage that is used to hold data during the savedown process. This * parameter is required when you choose clusterType as RDB. All the data written to this * storage space is lost when the cluster node is restarted. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withSavedownStorageConfiguration(KxSavedownStorageConfiguration savedownStorageConfiguration) { setSavedownStorageConfiguration(savedownStorageConfiguration); return this; } /** *

          * The number of availability zones you want to assign per cluster. This can be one of the following *

          *
            *
          • *

            * SINGLE – Assigns one availability zone per cluster. *

            *
          • *
          • *

            * MULTI – Assigns all the availability zones per cluster. *

            *
          • *
          * * @param azMode * The number of availability zones you want to assign per cluster. This can be one of the following

          *
            *
          • *

            * SINGLE – Assigns one availability zone per cluster. *

            *
          • *
          • *

            * MULTI – Assigns all the availability zones per cluster. *

            *
          • * @see KxAzMode */ public void setAzMode(String azMode) { this.azMode = azMode; } /** *

            * The number of availability zones you want to assign per cluster. This can be one of the following *

            *
              *
            • *

              * SINGLE – Assigns one availability zone per cluster. *

              *
            • *
            • *

              * MULTI – Assigns all the availability zones per cluster. *

              *
            • *
            * * @return The number of availability zones you want to assign per cluster. This can be one of the following

            *
              *
            • *

              * SINGLE – Assigns one availability zone per cluster. *

              *
            • *
            • *

              * MULTI – Assigns all the availability zones per cluster. *

              *
            • * @see KxAzMode */ public String getAzMode() { return this.azMode; } /** *

              * The number of availability zones you want to assign per cluster. This can be one of the following *

              *
                *
              • *

                * SINGLE – Assigns one availability zone per cluster. *

                *
              • *
              • *

                * MULTI – Assigns all the availability zones per cluster. *

                *
              • *
              * * @param azMode * The number of availability zones you want to assign per cluster. This can be one of the following

              *
                *
              • *

                * SINGLE – Assigns one availability zone per cluster. *

                *
              • *
              • *

                * MULTI – Assigns all the availability zones per cluster. *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. * @see KxAzMode */ public CreateKxClusterRequest withAzMode(String azMode) { setAzMode(azMode); return this; } /** *

                * The number of availability zones you want to assign per cluster. This can be one of the following *

                *
                  *
                • *

                  * SINGLE – Assigns one availability zone per cluster. *

                  *
                • *
                • *

                  * MULTI – Assigns all the availability zones per cluster. *

                  *
                • *
                * * @param azMode * The number of availability zones you want to assign per cluster. This can be one of the following

                *
                  *
                • *

                  * SINGLE – Assigns one availability zone per cluster. *

                  *
                • *
                • *

                  * MULTI – Assigns all the availability zones per cluster. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. * @see KxAzMode */ public CreateKxClusterRequest withAzMode(KxAzMode azMode) { this.azMode = azMode.toString(); return this; } /** *

                  * The availability zone identifiers for the requested regions. *

                  * * @param availabilityZoneId * The availability zone identifiers for the requested regions. */ public void setAvailabilityZoneId(String availabilityZoneId) { this.availabilityZoneId = availabilityZoneId; } /** *

                  * The availability zone identifiers for the requested regions. *

                  * * @return The availability zone identifiers for the requested regions. */ public String getAvailabilityZoneId() { return this.availabilityZoneId; } /** *

                  * The availability zone identifiers for the requested regions. *

                  * * @param availabilityZoneId * The availability zone identifiers for the requested regions. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withAvailabilityZoneId(String availabilityZoneId) { setAvailabilityZoneId(availabilityZoneId); return this; } /** *

                  * A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. *

                  * * @return A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. */ public java.util.Map getTags() { return tags; } /** *

                  * A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. *

                  * * @param tags * A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. */ public void setTags(java.util.Map tags) { this.tags = tags; } /** *

                  * A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. *

                  * * @param tags * A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see CreateKxClusterRequest#withTags * @returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest 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 CreateKxClusterRequest clearTagsEntries() { this.tags = null; return this; } /** *

                  * The structure that stores the configuration details of a scaling group. *

                  * * @param scalingGroupConfiguration * The structure that stores the configuration details of a scaling group. */ public void setScalingGroupConfiguration(KxScalingGroupConfiguration scalingGroupConfiguration) { this.scalingGroupConfiguration = scalingGroupConfiguration; } /** *

                  * The structure that stores the configuration details of a scaling group. *

                  * * @return The structure that stores the configuration details of a scaling group. */ public KxScalingGroupConfiguration getScalingGroupConfiguration() { return this.scalingGroupConfiguration; } /** *

                  * The structure that stores the configuration details of a scaling group. *

                  * * @param scalingGroupConfiguration * The structure that stores the configuration details of a scaling group. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateKxClusterRequest withScalingGroupConfiguration(KxScalingGroupConfiguration scalingGroupConfiguration) { setScalingGroupConfiguration(scalingGroupConfiguration); 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 (getClientToken() != null) sb.append("ClientToken: ").append(getClientToken()).append(","); if (getEnvironmentId() != null) sb.append("EnvironmentId: ").append(getEnvironmentId()).append(","); if (getClusterName() != null) sb.append("ClusterName: ").append(getClusterName()).append(","); if (getClusterType() != null) sb.append("ClusterType: ").append(getClusterType()).append(","); if (getTickerplantLogConfiguration() != null) sb.append("TickerplantLogConfiguration: ").append(getTickerplantLogConfiguration()).append(","); if (getDatabases() != null) sb.append("Databases: ").append(getDatabases()).append(","); if (getCacheStorageConfigurations() != null) sb.append("CacheStorageConfigurations: ").append(getCacheStorageConfigurations()).append(","); if (getAutoScalingConfiguration() != null) sb.append("AutoScalingConfiguration: ").append(getAutoScalingConfiguration()).append(","); if (getClusterDescription() != null) sb.append("ClusterDescription: ").append(getClusterDescription()).append(","); if (getCapacityConfiguration() != null) sb.append("CapacityConfiguration: ").append(getCapacityConfiguration()).append(","); if (getReleaseLabel() != null) sb.append("ReleaseLabel: ").append(getReleaseLabel()).append(","); if (getVpcConfiguration() != null) sb.append("VpcConfiguration: ").append(getVpcConfiguration()).append(","); if (getInitializationScript() != null) sb.append("InitializationScript: ").append(getInitializationScript()).append(","); if (getCommandLineArguments() != null) sb.append("CommandLineArguments: ").append(getCommandLineArguments()).append(","); if (getCode() != null) sb.append("Code: ").append(getCode()).append(","); if (getExecutionRole() != null) sb.append("ExecutionRole: ").append(getExecutionRole()).append(","); if (getSavedownStorageConfiguration() != null) sb.append("SavedownStorageConfiguration: ").append(getSavedownStorageConfiguration()).append(","); if (getAzMode() != null) sb.append("AzMode: ").append(getAzMode()).append(","); if (getAvailabilityZoneId() != null) sb.append("AvailabilityZoneId: ").append(getAvailabilityZoneId()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getScalingGroupConfiguration() != null) sb.append("ScalingGroupConfiguration: ").append(getScalingGroupConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateKxClusterRequest == false) return false; CreateKxClusterRequest other = (CreateKxClusterRequest) obj; if (other.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; if (other.getEnvironmentId() == null ^ this.getEnvironmentId() == null) return false; if (other.getEnvironmentId() != null && other.getEnvironmentId().equals(this.getEnvironmentId()) == false) return false; if (other.getClusterName() == null ^ this.getClusterName() == null) return false; if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == false) return false; if (other.getClusterType() == null ^ this.getClusterType() == null) return false; if (other.getClusterType() != null && other.getClusterType().equals(this.getClusterType()) == false) return false; if (other.getTickerplantLogConfiguration() == null ^ this.getTickerplantLogConfiguration() == null) return false; if (other.getTickerplantLogConfiguration() != null && other.getTickerplantLogConfiguration().equals(this.getTickerplantLogConfiguration()) == false) return false; if (other.getDatabases() == null ^ this.getDatabases() == null) return false; if (other.getDatabases() != null && other.getDatabases().equals(this.getDatabases()) == false) return false; if (other.getCacheStorageConfigurations() == null ^ this.getCacheStorageConfigurations() == null) return false; if (other.getCacheStorageConfigurations() != null && other.getCacheStorageConfigurations().equals(this.getCacheStorageConfigurations()) == false) return false; if (other.getAutoScalingConfiguration() == null ^ this.getAutoScalingConfiguration() == null) return false; if (other.getAutoScalingConfiguration() != null && other.getAutoScalingConfiguration().equals(this.getAutoScalingConfiguration()) == false) return false; if (other.getClusterDescription() == null ^ this.getClusterDescription() == null) return false; if (other.getClusterDescription() != null && other.getClusterDescription().equals(this.getClusterDescription()) == false) return false; if (other.getCapacityConfiguration() == null ^ this.getCapacityConfiguration() == null) return false; if (other.getCapacityConfiguration() != null && other.getCapacityConfiguration().equals(this.getCapacityConfiguration()) == false) return false; if (other.getReleaseLabel() == null ^ this.getReleaseLabel() == null) return false; if (other.getReleaseLabel() != null && other.getReleaseLabel().equals(this.getReleaseLabel()) == false) return false; if (other.getVpcConfiguration() == null ^ this.getVpcConfiguration() == null) return false; if (other.getVpcConfiguration() != null && other.getVpcConfiguration().equals(this.getVpcConfiguration()) == false) return false; if (other.getInitializationScript() == null ^ this.getInitializationScript() == null) return false; if (other.getInitializationScript() != null && other.getInitializationScript().equals(this.getInitializationScript()) == false) return false; if (other.getCommandLineArguments() == null ^ this.getCommandLineArguments() == null) return false; if (other.getCommandLineArguments() != null && other.getCommandLineArguments().equals(this.getCommandLineArguments()) == false) return false; if (other.getCode() == null ^ this.getCode() == null) return false; if (other.getCode() != null && other.getCode().equals(this.getCode()) == false) return false; if (other.getExecutionRole() == null ^ this.getExecutionRole() == null) return false; if (other.getExecutionRole() != null && other.getExecutionRole().equals(this.getExecutionRole()) == false) return false; if (other.getSavedownStorageConfiguration() == null ^ this.getSavedownStorageConfiguration() == null) return false; if (other.getSavedownStorageConfiguration() != null && other.getSavedownStorageConfiguration().equals(this.getSavedownStorageConfiguration()) == false) return false; if (other.getAzMode() == null ^ this.getAzMode() == null) return false; if (other.getAzMode() != null && other.getAzMode().equals(this.getAzMode()) == false) return false; if (other.getAvailabilityZoneId() == null ^ this.getAvailabilityZoneId() == null) return false; if (other.getAvailabilityZoneId() != null && other.getAvailabilityZoneId().equals(this.getAvailabilityZoneId()) == 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.getScalingGroupConfiguration() == null ^ this.getScalingGroupConfiguration() == null) return false; if (other.getScalingGroupConfiguration() != null && other.getScalingGroupConfiguration().equals(this.getScalingGroupConfiguration()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); hashCode = prime * hashCode + ((getEnvironmentId() == null) ? 0 : getEnvironmentId().hashCode()); hashCode = prime * hashCode + ((getClusterName() == null) ? 0 : getClusterName().hashCode()); hashCode = prime * hashCode + ((getClusterType() == null) ? 0 : getClusterType().hashCode()); hashCode = prime * hashCode + ((getTickerplantLogConfiguration() == null) ? 0 : getTickerplantLogConfiguration().hashCode()); hashCode = prime * hashCode + ((getDatabases() == null) ? 0 : getDatabases().hashCode()); hashCode = prime * hashCode + ((getCacheStorageConfigurations() == null) ? 0 : getCacheStorageConfigurations().hashCode()); hashCode = prime * hashCode + ((getAutoScalingConfiguration() == null) ? 0 : getAutoScalingConfiguration().hashCode()); hashCode = prime * hashCode + ((getClusterDescription() == null) ? 0 : getClusterDescription().hashCode()); hashCode = prime * hashCode + ((getCapacityConfiguration() == null) ? 0 : getCapacityConfiguration().hashCode()); hashCode = prime * hashCode + ((getReleaseLabel() == null) ? 0 : getReleaseLabel().hashCode()); hashCode = prime * hashCode + ((getVpcConfiguration() == null) ? 0 : getVpcConfiguration().hashCode()); hashCode = prime * hashCode + ((getInitializationScript() == null) ? 0 : getInitializationScript().hashCode()); hashCode = prime * hashCode + ((getCommandLineArguments() == null) ? 0 : getCommandLineArguments().hashCode()); hashCode = prime * hashCode + ((getCode() == null) ? 0 : getCode().hashCode()); hashCode = prime * hashCode + ((getExecutionRole() == null) ? 0 : getExecutionRole().hashCode()); hashCode = prime * hashCode + ((getSavedownStorageConfiguration() == null) ? 0 : getSavedownStorageConfiguration().hashCode()); hashCode = prime * hashCode + ((getAzMode() == null) ? 0 : getAzMode().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZoneId() == null) ? 0 : getAvailabilityZoneId().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getScalingGroupConfiguration() == null) ? 0 : getScalingGroupConfiguration().hashCode()); return hashCode; } @Override public CreateKxClusterRequest clone() { return (CreateKxClusterRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy