/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.rdsdata.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* The request parameters represent the input of a SQL statement over an array of data. *

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

* The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. *

*/ private String resourceArn; /** *

* The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for the * credentials in the secret. *

*

* For information about creating the secret, see Create a database * secret. *

*/ private String secretArn; /** *

* The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. *

*/ private String sql; /** *

* The name of the database. *

*/ private String database; /** *

* The name of the database schema. *

* *

* Currently, the schema parameter isn't supported. *

*
*/ private String schema; /** *

* The parameter set for the batch operation. *

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement * with no parameters, use one of the following options: *

* * *

* Array parameters are not supported. *

*
*/ private java.util.List> parameterSets; /** *

* The identifier of a transaction that was started by using the BeginTransaction operation. Specify * the transaction ID of the transaction that you want to include the SQL statement in. *

*

* If the SQL statement is not part of a transaction, don't set this parameter. *

*/ private String transactionId; /** *

* The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. *

* * @param resourceArn * The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. */ public void setResourceArn(String resourceArn) { this.resourceArn = resourceArn; } /** *

* The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. *

* * @return The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. */ public String getResourceArn() { return this.resourceArn; } /** *

* The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. *

* * @param resourceArn * The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withResourceArn(String resourceArn) { setResourceArn(resourceArn); return this; } /** *

* The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for the * credentials in the secret. *

*

* For information about creating the secret, see Create a database * secret. *

* * @param secretArn * The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for * the credentials in the secret.

*

* For information about creating the secret, see Create a * database secret. */ public void setSecretArn(String secretArn) { this.secretArn = secretArn; } /** *

* The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for the * credentials in the secret. *

*

* For information about creating the secret, see Create a database * secret. *

* * @return The ARN of the secret that enables access to the DB cluster. Enter the database user name and password * for the credentials in the secret.

*

* For information about creating the secret, see Create a * database secret. */ public String getSecretArn() { return this.secretArn; } /** *

* The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for the * credentials in the secret. *

*

* For information about creating the secret, see Create a database * secret. *

* * @param secretArn * The ARN of the secret that enables access to the DB cluster. Enter the database user name and password for * the credentials in the secret.

*

* For information about creating the secret, see Create a * database secret. * @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withSecretArn(String secretArn) { setSecretArn(secretArn); return this; } /** *

* The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. *

* * @param sql * The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. */ public void setSql(String sql) { this.sql = sql; } /** *

* The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. *

* * @return The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. */ public String getSql() { return this.sql; } /** *

* The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. *

* * @param sql * The SQL statement to run. Don't include a semicolon (;) at the end of the SQL statement. * @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withSql(String sql) { setSql(sql); return this; } /** *

* The name of the database. *

* * @param database * The name of the database. */ public void setDatabase(String database) { this.database = database; } /** *

* The name of the database. *

* * @return The name of the database. */ public String getDatabase() { return this.database; } /** *

* The name of the database. *

* * @param database * The name of the database. * @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withDatabase(String database) { setDatabase(database); return this; } /** *

* The name of the database schema. *

* *

* Currently, the schema parameter isn't supported. *

*
* * @param schema * The name of the database schema.

*

* Currently, the schema parameter isn't supported. *

*/ public void setSchema(String schema) { this.schema = schema; } /** *

* The name of the database schema. *

* *

* Currently, the schema parameter isn't supported. *

*
* * @return The name of the database schema.

*

* Currently, the schema parameter isn't supported. *

*/ public String getSchema() { return this.schema; } /** *

* The name of the database schema. *

* *

* Currently, the schema parameter isn't supported. *

*
* * @param schema * The name of the database schema.

*

* Currently, the schema parameter isn't supported. *

* @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withSchema(String schema) { setSchema(schema); return this; } /** *

* The parameter set for the batch operation. *

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement * with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement operation. *

    *
  • *
* *

* Array parameters are not supported. *

*
* * @return The parameter set for the batch operation.

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL * statement with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement * operation. *

    *
  • *
* *

* Array parameters are not supported. *

*/ public java.util.List> getParameterSets() { return parameterSets; } /** *

* The parameter set for the batch operation. *

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement * with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement operation. *

    *
  • *
* *

* Array parameters are not supported. *

*
* * @param parameterSets * The parameter set for the batch operation.

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL * statement with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement * operation. *

    *
  • *
* *

* Array parameters are not supported. *

*/ public void setParameterSets(java.util.Collection> parameterSets) { if (parameterSets == null) { this.parameterSets = null; return; } this.parameterSets = new java.util.ArrayList>(parameterSets); } /** *

* The parameter set for the batch operation. *

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement * with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement operation. *

    *
  • *
* *

* Array parameters are not supported. *

*
*

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

* * @param parameterSets * The parameter set for the batch operation.

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL * statement with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement * operation. *

    *
  • *
* *

* Array parameters are not supported. *

* @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withParameterSets(java.util.List... parameterSets) { if (this.parameterSets == null) { setParameterSets(new java.util.ArrayList>(parameterSets.length)); } for (java.util.List ele : parameterSets) { this.parameterSets.add(ele); } return this; } /** *

* The parameter set for the batch operation. *

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement * with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement operation. *

    *
  • *
* *

* Array parameters are not supported. *

*
* * @param parameterSets * The parameter set for the batch operation.

*

* The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL * statement with no parameters, use one of the following options: *

*
    *
  • *

    * Specify one or more empty parameter sets. *

    *
  • *
  • *

    * Use the ExecuteStatement operation instead of the BatchExecuteStatement * operation. *

    *
  • *
* *

* Array parameters are not supported. *

* @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withParameterSets(java.util.Collection> parameterSets) { setParameterSets(parameterSets); return this; } /** *

* The identifier of a transaction that was started by using the BeginTransaction operation. Specify * the transaction ID of the transaction that you want to include the SQL statement in. *

*

* If the SQL statement is not part of a transaction, don't set this parameter. *

* * @param transactionId * The identifier of a transaction that was started by using the BeginTransaction operation. * Specify the transaction ID of the transaction that you want to include the SQL statement in.

*

* If the SQL statement is not part of a transaction, don't set this parameter. */ public void setTransactionId(String transactionId) { this.transactionId = transactionId; } /** *

* The identifier of a transaction that was started by using the BeginTransaction operation. Specify * the transaction ID of the transaction that you want to include the SQL statement in. *

*

* If the SQL statement is not part of a transaction, don't set this parameter. *

* * @return The identifier of a transaction that was started by using the BeginTransaction operation. * Specify the transaction ID of the transaction that you want to include the SQL statement in.

*

* If the SQL statement is not part of a transaction, don't set this parameter. */ public String getTransactionId() { return this.transactionId; } /** *

* The identifier of a transaction that was started by using the BeginTransaction operation. Specify * the transaction ID of the transaction that you want to include the SQL statement in. *

*

* If the SQL statement is not part of a transaction, don't set this parameter. *

* * @param transactionId * The identifier of a transaction that was started by using the BeginTransaction operation. * Specify the transaction ID of the transaction that you want to include the SQL statement in.

*

* If the SQL statement is not part of a transaction, don't set this parameter. * @return Returns a reference to this object so that method calls can be chained together. */ public BatchExecuteStatementRequest withTransactionId(String transactionId) { setTransactionId(transactionId); 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 (getResourceArn() != null) sb.append("ResourceArn: ").append(getResourceArn()).append(","); if (getSecretArn() != null) sb.append("SecretArn: ").append(getSecretArn()).append(","); if (getSql() != null) sb.append("Sql: ").append(getSql()).append(","); if (getDatabase() != null) sb.append("Database: ").append(getDatabase()).append(","); if (getSchema() != null) sb.append("Schema: ").append(getSchema()).append(","); if (getParameterSets() != null) sb.append("ParameterSets: ").append(getParameterSets()).append(","); if (getTransactionId() != null) sb.append("TransactionId: ").append(getTransactionId()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof BatchExecuteStatementRequest == false) return false; BatchExecuteStatementRequest other = (BatchExecuteStatementRequest) obj; if (other.getResourceArn() == null ^ this.getResourceArn() == null) return false; if (other.getResourceArn() != null && other.getResourceArn().equals(this.getResourceArn()) == false) return false; if (other.getSecretArn() == null ^ this.getSecretArn() == null) return false; if (other.getSecretArn() != null && other.getSecretArn().equals(this.getSecretArn()) == false) return false; if (other.getSql() == null ^ this.getSql() == null) return false; if (other.getSql() != null && other.getSql().equals(this.getSql()) == false) return false; if (other.getDatabase() == null ^ this.getDatabase() == null) return false; if (other.getDatabase() != null && other.getDatabase().equals(this.getDatabase()) == false) return false; if (other.getSchema() == null ^ this.getSchema() == null) return false; if (other.getSchema() != null && other.getSchema().equals(this.getSchema()) == false) return false; if (other.getParameterSets() == null ^ this.getParameterSets() == null) return false; if (other.getParameterSets() != null && other.getParameterSets().equals(this.getParameterSets()) == false) return false; if (other.getTransactionId() == null ^ this.getTransactionId() == null) return false; if (other.getTransactionId() != null && other.getTransactionId().equals(this.getTransactionId()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getResourceArn() == null) ? 0 : getResourceArn().hashCode()); hashCode = prime * hashCode + ((getSecretArn() == null) ? 0 : getSecretArn().hashCode()); hashCode = prime * hashCode + ((getSql() == null) ? 0 : getSql().hashCode()); hashCode = prime * hashCode + ((getDatabase() == null) ? 0 : getDatabase().hashCode()); hashCode = prime * hashCode + ((getSchema() == null) ? 0 : getSchema().hashCode()); hashCode = prime * hashCode + ((getParameterSets() == null) ? 0 : getParameterSets().hashCode()); hashCode = prime * hashCode + ((getTransactionId() == null) ? 0 : getTransactionId().hashCode()); return hashCode; } @Override public BatchExecuteStatementRequest clone() { return (BatchExecuteStatementRequest) super.clone(); } }