/* * Copyright 2010-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.iot.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Creates a stream for delivering one or more large files in chunks over MQTT. * A stream transports data bytes in chunks or blocks packaged as MQTT messages * from a source like S3. You can have one or more files associated with a * stream. *
** Requires permission to access the CreateStream action. *
*/ public class CreateStreamRequest extends AmazonWebServiceRequest implements Serializable { /** ** The stream ID. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*/
private String streamId;
/**
*
* A description of the stream. *
*
* Constraints:
* Length: - 2028
* Pattern: [^\p{C}]+
*/
private String description;
/**
*
* The files to stream. *
*/ private java.util.List* An IAM role that allows the IoT service principal to access your S3 * files. *
*
* Constraints:
* Length: 20 - 2048
*/
private String roleArn;
/**
*
* Metadata which can be used to manage streams. *
*/ private java.util.List* The stream ID. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*
* @return
* The stream ID. *
*/ public String getStreamId() { return streamId; } /** ** The stream ID. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*
* @param streamId
* The stream ID. *
*/ public void setStreamId(String streamId) { this.streamId = streamId; } /** ** The stream ID. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*
* @param streamId
* The stream ID. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withStreamId(String streamId) { this.streamId = streamId; return this; } /** ** A description of the stream. *
*
* Constraints:
* Length: - 2028
* Pattern: [^\p{C}]+
*
* @return
* A description of the stream. *
*/ public String getDescription() { return description; } /** ** A description of the stream. *
*
* Constraints:
* Length: - 2028
* Pattern: [^\p{C}]+
*
* @param description
* A description of the stream. *
*/ public void setDescription(String description) { this.description = description; } /** ** A description of the stream. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: - 2028
* Pattern: [^\p{C}]+
*
* @param description
* A description of the stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withDescription(String description) { this.description = description; return this; } /** ** The files to stream. *
* * @return* The files to stream. *
*/ public java.util.List* The files to stream. *
* * @param files* The files to stream. *
*/ public void setFiles(java.util.Collection* The files to stream. *
** Returns a reference to this object so that method calls can be chained * together. * * @param files
* The files to stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withFiles(StreamFile... files) { if (getFiles() == null) { this.files = new java.util.ArrayList* The files to stream. *
** Returns a reference to this object so that method calls can be chained * together. * * @param files
* The files to stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withFiles(java.util.Collection* An IAM role that allows the IoT service principal to access your S3 * files. *
*
* Constraints:
* Length: 20 - 2048
*
* @return
* An IAM role that allows the IoT service principal to access your * S3 files. *
*/ public String getRoleArn() { return roleArn; } /** ** An IAM role that allows the IoT service principal to access your S3 * files. *
*
* Constraints:
* Length: 20 - 2048
*
* @param roleArn
* An IAM role that allows the IoT service principal to access * your S3 files. *
*/ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** ** An IAM role that allows the IoT service principal to access your S3 * files. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 20 - 2048
*
* @param roleArn
* An IAM role that allows the IoT service principal to access * your S3 files. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withRoleArn(String roleArn) { this.roleArn = roleArn; return this; } /** ** Metadata which can be used to manage streams. *
* * @return* Metadata which can be used to manage streams. *
*/ public java.util.List* Metadata which can be used to manage streams. *
* * @param tags* Metadata which can be used to manage streams. *
*/ public void setTags(java.util.Collection* Metadata which can be used to manage streams. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Metadata which can be used to manage streams. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withTags(Tag... tags) { if (getTags() == null) { this.tags = new java.util.ArrayList* Metadata which can be used to manage streams. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Metadata which can be used to manage streams. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateStreamRequest withTags(java.util.Collection