/* * 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; /** *
* Create a thing group. *
** This is a control plane operation. See Authorization for information about authorizing control plane actions. *
** Requires permission to access the CreateThingGroup action. *
*/ public class CreateThingGroupRequest extends AmazonWebServiceRequest implements Serializable { /** ** The thing group name to create. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*/
private String thingGroupName;
/**
*
* The name of the parent thing group. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*/
private String parentGroupName;
/**
*
* The thing group properties. *
*/ private ThingGroupProperties thingGroupProperties; /** ** Metadata which can be used to manage the thing group. *
*/ private java.util.List* The thing group name to create. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @return
* The thing group name to create. *
*/ public String getThingGroupName() { return thingGroupName; } /** ** The thing group name to create. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param thingGroupName
* The thing group name to create. *
*/ public void setThingGroupName(String thingGroupName) { this.thingGroupName = thingGroupName; } /** ** The thing group name to create. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param thingGroupName
* The thing group name to create. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateThingGroupRequest withThingGroupName(String thingGroupName) { this.thingGroupName = thingGroupName; return this; } /** ** The name of the parent thing group. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @return
* The name of the parent thing group. *
*/ public String getParentGroupName() { return parentGroupName; } /** ** The name of the parent thing group. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param parentGroupName
* The name of the parent thing group. *
*/ public void setParentGroupName(String parentGroupName) { this.parentGroupName = parentGroupName; } /** ** The name of the parent thing group. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9:_-]+
*
* @param parentGroupName
* The name of the parent thing group. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateThingGroupRequest withParentGroupName(String parentGroupName) { this.parentGroupName = parentGroupName; return this; } /** ** The thing group properties. *
* * @return* The thing group properties. *
*/ public ThingGroupProperties getThingGroupProperties() { return thingGroupProperties; } /** ** The thing group properties. *
* * @param thingGroupProperties* The thing group properties. *
*/ public void setThingGroupProperties(ThingGroupProperties thingGroupProperties) { this.thingGroupProperties = thingGroupProperties; } /** ** The thing group properties. *
** Returns a reference to this object so that method calls can be chained * together. * * @param thingGroupProperties
* The thing group properties. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateThingGroupRequest withThingGroupProperties( ThingGroupProperties thingGroupProperties) { this.thingGroupProperties = thingGroupProperties; return this; } /** ** Metadata which can be used to manage the thing group. *
* * @return* Metadata which can be used to manage the thing group. *
*/ public java.util.List* Metadata which can be used to manage the thing group. *
* * @param tags* Metadata which can be used to manage the thing group. *
*/ public void setTags(java.util.Collection* Metadata which can be used to manage the thing group. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Metadata which can be used to manage the thing group. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateThingGroupRequest withTags(Tag... tags) { if (getTags() == null) { this.tags = new java.util.ArrayList* Metadata which can be used to manage the thing group. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Metadata which can be used to manage the thing group. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateThingGroupRequest withTags(java.util.Collection