1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/greengrassv2/GreengrassV2_EXPORTS.h> 8 #include <aws/greengrassv2/GreengrassV2Request.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/greengrassv2/model/CoreDeviceStatus.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Http 16 { 17 class URI; 18 } //namespace Http 19 namespace GreengrassV2 20 { 21 namespace Model 22 { 23 24 /** 25 */ 26 class AWS_GREENGRASSV2_API ListCoreDevicesRequest : public GreengrassV2Request 27 { 28 public: 29 ListCoreDevicesRequest(); 30 31 // Service request name is the Operation name which will send this request out, 32 // each operation should has unique request name, so that we can get operation's name from this request. 33 // Note: this is not true for response, multiple operations may have the same response name, 34 // so we can not get operation's name from response. GetServiceRequestName()35 inline virtual const char* GetServiceRequestName() const override { return "ListCoreDevices"; } 36 37 Aws::String SerializePayload() const override; 38 39 void AddQueryStringParameters(Aws::Http::URI& uri) const override; 40 41 42 /** 43 * <p>The <a 44 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 45 * of the IoT thing group by which to filter. If you specify this parameter, the 46 * list includes only core devices that are members of this thing group.</p> 47 */ GetThingGroupArn()48 inline const Aws::String& GetThingGroupArn() const{ return m_thingGroupArn; } 49 50 /** 51 * <p>The <a 52 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 53 * of the IoT thing group by which to filter. If you specify this parameter, the 54 * list includes only core devices that are members of this thing group.</p> 55 */ ThingGroupArnHasBeenSet()56 inline bool ThingGroupArnHasBeenSet() const { return m_thingGroupArnHasBeenSet; } 57 58 /** 59 * <p>The <a 60 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 61 * of the IoT thing group by which to filter. If you specify this parameter, the 62 * list includes only core devices that are members of this thing group.</p> 63 */ SetThingGroupArn(const Aws::String & value)64 inline void SetThingGroupArn(const Aws::String& value) { m_thingGroupArnHasBeenSet = true; m_thingGroupArn = value; } 65 66 /** 67 * <p>The <a 68 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 69 * of the IoT thing group by which to filter. If you specify this parameter, the 70 * list includes only core devices that are members of this thing group.</p> 71 */ SetThingGroupArn(Aws::String && value)72 inline void SetThingGroupArn(Aws::String&& value) { m_thingGroupArnHasBeenSet = true; m_thingGroupArn = std::move(value); } 73 74 /** 75 * <p>The <a 76 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 77 * of the IoT thing group by which to filter. If you specify this parameter, the 78 * list includes only core devices that are members of this thing group.</p> 79 */ SetThingGroupArn(const char * value)80 inline void SetThingGroupArn(const char* value) { m_thingGroupArnHasBeenSet = true; m_thingGroupArn.assign(value); } 81 82 /** 83 * <p>The <a 84 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 85 * of the IoT thing group by which to filter. If you specify this parameter, the 86 * list includes only core devices that are members of this thing group.</p> 87 */ WithThingGroupArn(const Aws::String & value)88 inline ListCoreDevicesRequest& WithThingGroupArn(const Aws::String& value) { SetThingGroupArn(value); return *this;} 89 90 /** 91 * <p>The <a 92 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 93 * of the IoT thing group by which to filter. If you specify this parameter, the 94 * list includes only core devices that are members of this thing group.</p> 95 */ WithThingGroupArn(Aws::String && value)96 inline ListCoreDevicesRequest& WithThingGroupArn(Aws::String&& value) { SetThingGroupArn(std::move(value)); return *this;} 97 98 /** 99 * <p>The <a 100 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 101 * of the IoT thing group by which to filter. If you specify this parameter, the 102 * list includes only core devices that are members of this thing group.</p> 103 */ WithThingGroupArn(const char * value)104 inline ListCoreDevicesRequest& WithThingGroupArn(const char* value) { SetThingGroupArn(value); return *this;} 105 106 107 /** 108 * <p>The core device status by which to filter. If you specify this parameter, the 109 * list includes only core devices that have this status. Choose one of the 110 * following options:</p> <ul> <li> <p> <code>HEALTHY</code> – The IoT Greengrass 111 * Core software and all components run on the core device without issue.</p> </li> 112 * <li> <p> <code>UNHEALTHY</code> – The IoT Greengrass Core software or a 113 * component is in a failed state on the core device.</p> </li> </ul> 114 */ GetStatus()115 inline const CoreDeviceStatus& GetStatus() const{ return m_status; } 116 117 /** 118 * <p>The core device status by which to filter. If you specify this parameter, the 119 * list includes only core devices that have this status. Choose one of the 120 * following options:</p> <ul> <li> <p> <code>HEALTHY</code> – The IoT Greengrass 121 * Core software and all components run on the core device without issue.</p> </li> 122 * <li> <p> <code>UNHEALTHY</code> – The IoT Greengrass Core software or a 123 * component is in a failed state on the core device.</p> </li> </ul> 124 */ StatusHasBeenSet()125 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 126 127 /** 128 * <p>The core device status by which to filter. If you specify this parameter, the 129 * list includes only core devices that have this status. Choose one of the 130 * following options:</p> <ul> <li> <p> <code>HEALTHY</code> – The IoT Greengrass 131 * Core software and all components run on the core device without issue.</p> </li> 132 * <li> <p> <code>UNHEALTHY</code> – The IoT Greengrass Core software or a 133 * component is in a failed state on the core device.</p> </li> </ul> 134 */ SetStatus(const CoreDeviceStatus & value)135 inline void SetStatus(const CoreDeviceStatus& value) { m_statusHasBeenSet = true; m_status = value; } 136 137 /** 138 * <p>The core device status by which to filter. If you specify this parameter, the 139 * list includes only core devices that have this status. Choose one of the 140 * following options:</p> <ul> <li> <p> <code>HEALTHY</code> – The IoT Greengrass 141 * Core software and all components run on the core device without issue.</p> </li> 142 * <li> <p> <code>UNHEALTHY</code> – The IoT Greengrass Core software or a 143 * component is in a failed state on the core device.</p> </li> </ul> 144 */ SetStatus(CoreDeviceStatus && value)145 inline void SetStatus(CoreDeviceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 146 147 /** 148 * <p>The core device status by which to filter. If you specify this parameter, the 149 * list includes only core devices that have this status. Choose one of the 150 * following options:</p> <ul> <li> <p> <code>HEALTHY</code> – The IoT Greengrass 151 * Core software and all components run on the core device without issue.</p> </li> 152 * <li> <p> <code>UNHEALTHY</code> – The IoT Greengrass Core software or a 153 * component is in a failed state on the core device.</p> </li> </ul> 154 */ WithStatus(const CoreDeviceStatus & value)155 inline ListCoreDevicesRequest& WithStatus(const CoreDeviceStatus& value) { SetStatus(value); return *this;} 156 157 /** 158 * <p>The core device status by which to filter. If you specify this parameter, the 159 * list includes only core devices that have this status. Choose one of the 160 * following options:</p> <ul> <li> <p> <code>HEALTHY</code> – The IoT Greengrass 161 * Core software and all components run on the core device without issue.</p> </li> 162 * <li> <p> <code>UNHEALTHY</code> – The IoT Greengrass Core software or a 163 * component is in a failed state on the core device.</p> </li> </ul> 164 */ WithStatus(CoreDeviceStatus && value)165 inline ListCoreDevicesRequest& WithStatus(CoreDeviceStatus&& value) { SetStatus(std::move(value)); return *this;} 166 167 168 /** 169 * <p>The maximum number of results to be returned per paginated request.</p> 170 */ GetMaxResults()171 inline int GetMaxResults() const{ return m_maxResults; } 172 173 /** 174 * <p>The maximum number of results to be returned per paginated request.</p> 175 */ MaxResultsHasBeenSet()176 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } 177 178 /** 179 * <p>The maximum number of results to be returned per paginated request.</p> 180 */ SetMaxResults(int value)181 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } 182 183 /** 184 * <p>The maximum number of results to be returned per paginated request.</p> 185 */ WithMaxResults(int value)186 inline ListCoreDevicesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} 187 188 189 /** 190 * <p>The token to be used for the next set of paginated results.</p> 191 */ GetNextToken()192 inline const Aws::String& GetNextToken() const{ return m_nextToken; } 193 194 /** 195 * <p>The token to be used for the next set of paginated results.</p> 196 */ NextTokenHasBeenSet()197 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } 198 199 /** 200 * <p>The token to be used for the next set of paginated results.</p> 201 */ SetNextToken(const Aws::String & value)202 inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } 203 204 /** 205 * <p>The token to be used for the next set of paginated results.</p> 206 */ SetNextToken(Aws::String && value)207 inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } 208 209 /** 210 * <p>The token to be used for the next set of paginated results.</p> 211 */ SetNextToken(const char * value)212 inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } 213 214 /** 215 * <p>The token to be used for the next set of paginated results.</p> 216 */ WithNextToken(const Aws::String & value)217 inline ListCoreDevicesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} 218 219 /** 220 * <p>The token to be used for the next set of paginated results.</p> 221 */ WithNextToken(Aws::String && value)222 inline ListCoreDevicesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} 223 224 /** 225 * <p>The token to be used for the next set of paginated results.</p> 226 */ WithNextToken(const char * value)227 inline ListCoreDevicesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} 228 229 private: 230 231 Aws::String m_thingGroupArn; 232 bool m_thingGroupArnHasBeenSet; 233 234 CoreDeviceStatus m_status; 235 bool m_statusHasBeenSet; 236 237 int m_maxResults; 238 bool m_maxResultsHasBeenSet; 239 240 Aws::String m_nextToken; 241 bool m_nextTokenHasBeenSet; 242 }; 243 244 } // namespace Model 245 } // namespace GreengrassV2 246 } // namespace Aws 247