* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming source to
* an in-application stream that is created. Your application code can then
* query the in-application stream like a table (you can think of it as a
* constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name (ARN) and
* format of data on the stream (for example, JSON, CSV, etc). You also must
* provide an IAM role that Amazon Kinesis Analytics can assume to read this
* stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema to
* transform your data into a schematized version used in SQL. In the
* schema, you provide the necessary mapping of the data elements in the
* streaming source to record columns in the in-app stream.
*
*/
private java.util.List
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose
* delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name, the
* destination stream Amazon Resource Name (ARN), and the format to use when
* writing data. You must also provide an IAM role that Amazon Kinesis
* Analytics can assume to write to the destination stream on your behalf.
*
*
* In the output configuration, you also provide the output stream Amazon
* Resource Name (ARN) and the format of data in the stream (for example,
* JSON, CSV). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to write to this stream on your behalf.
*
*/
private java.util.List outputs;
/**
*
* One or more SQL statements that read input data, transform it, and
* generate output. For example, you can write a SQL statement that reads
* input data and generates a running average of the number of advertisement
* clicks by vendor.
*
*
* You can also provide a series of SQL statements, where output of one
* statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and ExampleOutputStream2
,
* then your application code must create these streams.
*
*/
private String applicationCode;
/**
*
* Name of your Amazon Kinesis Analytics application (for example,
* sample-app
).
*
*
* @param applicationName
* Name of your Amazon Kinesis Analytics application (for example,
* sample-app
).
*/
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
/**
*
* Name of your Amazon Kinesis Analytics application (for example,
* sample-app
).
*
*
* @return Name of your Amazon Kinesis Analytics application (for example,
* sample-app
).
*/
public String getApplicationName() {
return this.applicationName;
}
/**
*
* Name of your Amazon Kinesis Analytics application (for example,
* sample-app
).
*
*
* @param applicationName
* Name of your Amazon Kinesis Analytics application (for example,
* sample-app
).
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withApplicationName(String applicationName) {
setApplicationName(applicationName);
return this;
}
/**
*
* Summary description of the application.
*
*
* @param applicationDescription
* Summary description of the application.
*/
public void setApplicationDescription(String applicationDescription) {
this.applicationDescription = applicationDescription;
}
/**
*
* Summary description of the application.
*
*
* @return Summary description of the application.
*/
public String getApplicationDescription() {
return this.applicationDescription;
}
/**
*
* Summary description of the application.
*
*
* @param applicationDescription
* Summary description of the application.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withApplicationDescription(
String applicationDescription) {
setApplicationDescription(applicationDescription);
return this;
}
/**
*
* Use this parameter to configure the application input.
*
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming source to
* an in-application stream that is created. Your application code can then
* query the in-application stream like a table (you can think of it as a
* constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name (ARN) and
* format of data on the stream (for example, JSON, CSV, etc). You also must
* provide an IAM role that Amazon Kinesis Analytics can assume to read this
* stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema to
* transform your data into a schematized version used in SQL. In the
* schema, you provide the necessary mapping of the data elements in the
* streaming source to record columns in the in-app stream.
*
*
* @return Use this parameter to configure the application input.
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming
* source to an in-application stream that is created. Your
* application code can then query the in-application stream like a
* table (you can think of it as a constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name
* (ARN) and format of data on the stream (for example, JSON, CSV,
* etc). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to read this stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema
* to transform your data into a schematized version used in SQL. In
* the schema, you provide the necessary mapping of the data
* elements in the streaming source to record columns in the in-app
* stream.
*/
public java.util.List getInputs() {
return inputs;
}
/**
*
* Use this parameter to configure the application input.
*
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming source to
* an in-application stream that is created. Your application code can then
* query the in-application stream like a table (you can think of it as a
* constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name (ARN) and
* format of data on the stream (for example, JSON, CSV, etc). You also must
* provide an IAM role that Amazon Kinesis Analytics can assume to read this
* stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema to
* transform your data into a schematized version used in SQL. In the
* schema, you provide the necessary mapping of the data elements in the
* streaming source to record columns in the in-app stream.
*
*
* @param inputs
* Use this parameter to configure the application input.
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming
* source to an in-application stream that is created. Your
* application code can then query the in-application stream like a
* table (you can think of it as a constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name
* (ARN) and format of data on the stream (for example, JSON, CSV,
* etc). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to read this stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema
* to transform your data into a schematized version used in SQL. In
* the schema, you provide the necessary mapping of the data elements
* in the streaming source to record columns in the in-app stream.
*/
public void setInputs(java.util.Collection inputs) {
if (inputs == null) {
this.inputs = null;
return;
}
this.inputs = new java.util.ArrayList (inputs);
}
/**
*
* Use this parameter to configure the application input.
*
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming source to
* an in-application stream that is created. Your application code can then
* query the in-application stream like a table (you can think of it as a
* constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name (ARN) and
* format of data on the stream (for example, JSON, CSV, etc). You also must
* provide an IAM role that Amazon Kinesis Analytics can assume to read this
* stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema to
* transform your data into a schematized version used in SQL. In the
* schema, you provide the necessary mapping of the data elements in the
* streaming source to record columns in the in-app stream.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setInputs(java.util.Collection)} or
* {@link #withInputs(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param inputs
* Use this parameter to configure the application input.
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming
* source to an in-application stream that is created. Your
* application code can then query the in-application stream like a
* table (you can think of it as a constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name
* (ARN) and format of data on the stream (for example, JSON, CSV,
* etc). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to read this stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema
* to transform your data into a schematized version used in SQL. In
* the schema, you provide the necessary mapping of the data elements
* in the streaming source to record columns in the in-app stream.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withInputs(Input... inputs) {
if (this.inputs == null) {
setInputs(new java.util.ArrayList (inputs.length));
}
for (Input ele : inputs) {
this.inputs.add(ele);
}
return this;
}
/**
*
* Use this parameter to configure the application input.
*
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming source to
* an in-application stream that is created. Your application code can then
* query the in-application stream like a table (you can think of it as a
* constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name (ARN) and
* format of data on the stream (for example, JSON, CSV, etc). You also must
* provide an IAM role that Amazon Kinesis Analytics can assume to read this
* stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema to
* transform your data into a schematized version used in SQL. In the
* schema, you provide the necessary mapping of the data elements in the
* streaming source to record columns in the in-app stream.
*
*
* @param inputs
* Use this parameter to configure the application input.
*
* You can configure your application to receive input from a single
* streaming source. In this configuration, you map this streaming
* source to an in-application stream that is created. Your
* application code can then query the in-application stream like a
* table (you can think of it as a constantly updating table).
*
*
* For the streaming source, you provide its Amazon Resource Name
* (ARN) and format of data on the stream (for example, JSON, CSV,
* etc). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to read this stream on your behalf.
*
*
* To create the in-application stream, you need to specify a schema
* to transform your data into a schematized version used in SQL. In
* the schema, you provide the necessary mapping of the data elements
* in the streaming source to record columns in the in-app stream.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withInputs(
java.util.Collection inputs) {
setInputs(inputs);
return this;
}
/**
*
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose
* delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name, the
* destination stream Amazon Resource Name (ARN), and the format to use when
* writing data. You must also provide an IAM role that Amazon Kinesis
* Analytics can assume to write to the destination stream on your behalf.
*
*
* In the output configuration, you also provide the output stream Amazon
* Resource Name (ARN) and the format of data in the stream (for example,
* JSON, CSV). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to write to this stream on your behalf.
*
*
* @return You can configure application output to write data from any of
* the in-application streams to up to five destinations.
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis
* Firehose delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name,
* the destination stream Amazon Resource Name (ARN), and the format
* to use when writing data. You must also provide an IAM role that
* Amazon Kinesis Analytics can assume to write to the destination
* stream on your behalf.
*
*
* In the output configuration, you also provide the output stream
* Amazon Resource Name (ARN) and the format of data in the stream
* (for example, JSON, CSV). You also must provide an IAM role that
* Amazon Kinesis Analytics can assume to write to this stream on
* your behalf.
*/
public java.util.List getOutputs() {
return outputs;
}
/**
*
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose
* delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name, the
* destination stream Amazon Resource Name (ARN), and the format to use when
* writing data. You must also provide an IAM role that Amazon Kinesis
* Analytics can assume to write to the destination stream on your behalf.
*
*
* In the output configuration, you also provide the output stream Amazon
* Resource Name (ARN) and the format of data in the stream (for example,
* JSON, CSV). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to write to this stream on your behalf.
*
*
* @param outputs
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis
* Firehose delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name,
* the destination stream Amazon Resource Name (ARN), and the format
* to use when writing data. You must also provide an IAM role that
* Amazon Kinesis Analytics can assume to write to the destination
* stream on your behalf.
*
*
* In the output configuration, you also provide the output stream
* Amazon Resource Name (ARN) and the format of data in the stream
* (for example, JSON, CSV). You also must provide an IAM role that
* Amazon Kinesis Analytics can assume to write to this stream on
* your behalf.
*/
public void setOutputs(java.util.Collection outputs) {
if (outputs == null) {
this.outputs = null;
return;
}
this.outputs = new java.util.ArrayList(outputs);
}
/**
*
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose
* delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name, the
* destination stream Amazon Resource Name (ARN), and the format to use when
* writing data. You must also provide an IAM role that Amazon Kinesis
* Analytics can assume to write to the destination stream on your behalf.
*
*
* In the output configuration, you also provide the output stream Amazon
* Resource Name (ARN) and the format of data in the stream (for example,
* JSON, CSV). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to write to this stream on your behalf.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setOutputs(java.util.Collection)} or
* {@link #withOutputs(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param outputs
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis
* Firehose delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name,
* the destination stream Amazon Resource Name (ARN), and the format
* to use when writing data. You must also provide an IAM role that
* Amazon Kinesis Analytics can assume to write to the destination
* stream on your behalf.
*
*
* In the output configuration, you also provide the output stream
* Amazon Resource Name (ARN) and the format of data in the stream
* (for example, JSON, CSV). You also must provide an IAM role that
* Amazon Kinesis Analytics can assume to write to this stream on
* your behalf.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withOutputs(Output... outputs) {
if (this.outputs == null) {
setOutputs(new java.util.ArrayList(outputs.length));
}
for (Output ele : outputs) {
this.outputs.add(ele);
}
return this;
}
/**
*
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose
* delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name, the
* destination stream Amazon Resource Name (ARN), and the format to use when
* writing data. You must also provide an IAM role that Amazon Kinesis
* Analytics can assume to write to the destination stream on your behalf.
*
*
* In the output configuration, you also provide the output stream Amazon
* Resource Name (ARN) and the format of data in the stream (for example,
* JSON, CSV). You also must provide an IAM role that Amazon Kinesis
* Analytics can assume to write to this stream on your behalf.
*
*
* @param outputs
* You can configure application output to write data from any of the
* in-application streams to up to five destinations.
*
* These destinations can be Amazon Kinesis streams, Amazon Kinesis
* Firehose delivery streams, or both.
*
*
* In the configuration, you specify the in-application stream name,
* the destination stream Amazon Resource Name (ARN), and the format
* to use when writing data. You must also provide an IAM role that
* Amazon Kinesis Analytics can assume to write to the destination
* stream on your behalf.
*
*
* In the output configuration, you also provide the output stream
* Amazon Resource Name (ARN) and the format of data in the stream
* (for example, JSON, CSV). You also must provide an IAM role that
* Amazon Kinesis Analytics can assume to write to this stream on
* your behalf.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withOutputs(
java.util.Collection outputs) {
setOutputs(outputs);
return this;
}
/**
*
* One or more SQL statements that read input data, transform it, and
* generate output. For example, you can write a SQL statement that reads
* input data and generates a running average of the number of advertisement
* clicks by vendor.
*
*
* You can also provide a series of SQL statements, where output of one
* statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and ExampleOutputStream2
,
* then your application code must create these streams.
*
*
* @param applicationCode
* One or more SQL statements that read input data, transform it, and
* generate output. For example, you can write a SQL statement that
* reads input data and generates a running average of the number of
* advertisement clicks by vendor.
*
* You can also provide a series of SQL statements, where output of
* one statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and
* ExampleOutputStream2
, then your application code must
* create these streams.
*/
public void setApplicationCode(String applicationCode) {
this.applicationCode = applicationCode;
}
/**
*
* One or more SQL statements that read input data, transform it, and
* generate output. For example, you can write a SQL statement that reads
* input data and generates a running average of the number of advertisement
* clicks by vendor.
*
*
* You can also provide a series of SQL statements, where output of one
* statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and ExampleOutputStream2
,
* then your application code must create these streams.
*
*
* @return One or more SQL statements that read input data, transform it,
* and generate output. For example, you can write a SQL statement
* that reads input data and generates a running average of the
* number of advertisement clicks by vendor.
*
* You can also provide a series of SQL statements, where output of
* one statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and
* ExampleOutputStream2
, then your application code
* must create these streams.
*/
public String getApplicationCode() {
return this.applicationCode;
}
/**
*
* One or more SQL statements that read input data, transform it, and
* generate output. For example, you can write a SQL statement that reads
* input data and generates a running average of the number of advertisement
* clicks by vendor.
*
*
* You can also provide a series of SQL statements, where output of one
* statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and ExampleOutputStream2
,
* then your application code must create these streams.
*
*
* @param applicationCode
* One or more SQL statements that read input data, transform it, and
* generate output. For example, you can write a SQL statement that
* reads input data and generates a running average of the number of
* advertisement clicks by vendor.
*
* You can also provide a series of SQL statements, where output of
* one statement can be used as the input for the next statement.
*
*
* Note that the application code must create the streams with names
* specified in the Outputs
. For example, if your
* Outputs
defines output streams named
* ExampleOutputStream1
and
* ExampleOutputStream2
, then your application code must
* create these streams.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public CreateApplicationRequest withApplicationCode(String applicationCode) {
setApplicationCode(applicationCode);
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getApplicationName() != null)
sb.append("ApplicationName: " + getApplicationName() + ",");
if (getApplicationDescription() != null)
sb.append("ApplicationDescription: " + getApplicationDescription()
+ ",");
if (getInputs() != null)
sb.append("Inputs: " + getInputs() + ",");
if (getOutputs() != null)
sb.append("Outputs: " + getOutputs() + ",");
if (getApplicationCode() != null)
sb.append("ApplicationCode: " + getApplicationCode());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateApplicationRequest == false)
return false;
CreateApplicationRequest other = (CreateApplicationRequest) obj;
if (other.getApplicationName() == null
^ this.getApplicationName() == null)
return false;
if (other.getApplicationName() != null
&& other.getApplicationName().equals(this.getApplicationName()) == false)
return false;
if (other.getApplicationDescription() == null
^ this.getApplicationDescription() == null)
return false;
if (other.getApplicationDescription() != null
&& other.getApplicationDescription().equals(
this.getApplicationDescription()) == false)
return false;
if (other.getInputs() == null ^ this.getInputs() == null)
return false;
if (other.getInputs() != null
&& other.getInputs().equals(this.getInputs()) == false)
return false;
if (other.getOutputs() == null ^ this.getOutputs() == null)
return false;
if (other.getOutputs() != null
&& other.getOutputs().equals(this.getOutputs()) == false)
return false;
if (other.getApplicationCode() == null
^ this.getApplicationCode() == null)
return false;
if (other.getApplicationCode() != null
&& other.getApplicationCode().equals(this.getApplicationCode()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime
* hashCode
+ ((getApplicationName() == null) ? 0 : getApplicationName()
.hashCode());
hashCode = prime
* hashCode
+ ((getApplicationDescription() == null) ? 0
: getApplicationDescription().hashCode());
hashCode = prime * hashCode
+ ((getInputs() == null) ? 0 : getInputs().hashCode());
hashCode = prime * hashCode
+ ((getOutputs() == null) ? 0 : getOutputs().hashCode());
hashCode = prime
* hashCode
+ ((getApplicationCode() == null) ? 0 : getApplicationCode()
.hashCode());
return hashCode;
}
@Override
public CreateApplicationRequest clone() {
return (CreateApplicationRequest) super.clone();
}
}