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/xray/XRay_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/xray/model/InsightImpactGraphEdge.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace XRay 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Information about an application that processed requests, users that made 30 * requests, or downstream services, resources, and applications that an 31 * application used. </p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/InsightImpactGraphService">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_XRAY_API InsightImpactGraphService 36 { 37 public: 38 InsightImpactGraphService(); 39 InsightImpactGraphService(Aws::Utils::Json::JsonView jsonValue); 40 InsightImpactGraphService& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>Identifier for the service. Unique within the service map.</p> 46 */ GetReferenceId()47 inline int GetReferenceId() const{ return m_referenceId; } 48 49 /** 50 * <p>Identifier for the service. Unique within the service map.</p> 51 */ ReferenceIdHasBeenSet()52 inline bool ReferenceIdHasBeenSet() const { return m_referenceIdHasBeenSet; } 53 54 /** 55 * <p>Identifier for the service. Unique within the service map.</p> 56 */ SetReferenceId(int value)57 inline void SetReferenceId(int value) { m_referenceIdHasBeenSet = true; m_referenceId = value; } 58 59 /** 60 * <p>Identifier for the service. Unique within the service map.</p> 61 */ WithReferenceId(int value)62 inline InsightImpactGraphService& WithReferenceId(int value) { SetReferenceId(value); return *this;} 63 64 65 /** 66 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 67 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 68 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 69 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 70 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 71 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 72 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 73 * Services Service - The type of an Amazon Web Services service. For example, 74 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 75 * specific table. </p> </li> <li> <p>remote - A downstream service of 76 * indeterminate type.</p> </li> </ul> 77 */ GetType()78 inline const Aws::String& GetType() const{ return m_type; } 79 80 /** 81 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 82 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 83 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 84 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 85 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 86 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 87 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 88 * Services Service - The type of an Amazon Web Services service. For example, 89 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 90 * specific table. </p> </li> <li> <p>remote - A downstream service of 91 * indeterminate type.</p> </li> </ul> 92 */ TypeHasBeenSet()93 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 94 95 /** 96 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 97 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 98 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 99 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 100 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 101 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 102 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 103 * Services Service - The type of an Amazon Web Services service. For example, 104 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 105 * specific table. </p> </li> <li> <p>remote - A downstream service of 106 * indeterminate type.</p> </li> </ul> 107 */ SetType(const Aws::String & value)108 inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } 109 110 /** 111 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 112 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 113 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 114 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 115 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 116 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 117 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 118 * Services Service - The type of an Amazon Web Services service. For example, 119 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 120 * specific table. </p> </li> <li> <p>remote - A downstream service of 121 * indeterminate type.</p> </li> </ul> 122 */ SetType(Aws::String && value)123 inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 124 125 /** 126 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 127 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 128 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 129 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 130 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 131 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 132 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 133 * Services Service - The type of an Amazon Web Services service. For example, 134 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 135 * specific table. </p> </li> <li> <p>remote - A downstream service of 136 * indeterminate type.</p> </li> </ul> 137 */ SetType(const char * value)138 inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } 139 140 /** 141 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 142 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 143 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 144 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 145 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 146 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 147 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 148 * Services Service - The type of an Amazon Web Services service. For example, 149 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 150 * specific table. </p> </li> <li> <p>remote - A downstream service of 151 * indeterminate type.</p> </li> </ul> 152 */ WithType(const Aws::String & value)153 inline InsightImpactGraphService& WithType(const Aws::String& value) { SetType(value); return *this;} 154 155 /** 156 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 157 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 158 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 159 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 160 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 161 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 162 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 163 * Services Service - The type of an Amazon Web Services service. For example, 164 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 165 * specific table. </p> </li> <li> <p>remote - A downstream service of 166 * indeterminate type.</p> </li> </ul> 167 */ WithType(Aws::String && value)168 inline InsightImpactGraphService& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} 169 170 /** 171 * <p>Identifier for the service. Unique within the service map.</p> <ul> <li> 172 * <p>Amazon Web Services Resource - The type of an Amazon Web Services resource. 173 * For example, AWS::EC2::Instance for an application running on Amazon EC2 or 174 * AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used. 175 * </p> </li> <li> <p>Amazon Web Services Service - The type of an Amazon Web 176 * Services service. For example, AWS::DynamoDB for downstream calls to Amazon 177 * DynamoDB that didn't target a specific table. </p> </li> <li> <p>Amazon Web 178 * Services Service - The type of an Amazon Web Services service. For example, 179 * AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a 180 * specific table. </p> </li> <li> <p>remote - A downstream service of 181 * indeterminate type.</p> </li> </ul> 182 */ WithType(const char * value)183 inline InsightImpactGraphService& WithType(const char* value) { SetType(value); return *this;} 184 185 186 /** 187 * <p>The canonical name of the service.</p> 188 */ GetName()189 inline const Aws::String& GetName() const{ return m_name; } 190 191 /** 192 * <p>The canonical name of the service.</p> 193 */ NameHasBeenSet()194 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 195 196 /** 197 * <p>The canonical name of the service.</p> 198 */ SetName(const Aws::String & value)199 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 200 201 /** 202 * <p>The canonical name of the service.</p> 203 */ SetName(Aws::String && value)204 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 205 206 /** 207 * <p>The canonical name of the service.</p> 208 */ SetName(const char * value)209 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 210 211 /** 212 * <p>The canonical name of the service.</p> 213 */ WithName(const Aws::String & value)214 inline InsightImpactGraphService& WithName(const Aws::String& value) { SetName(value); return *this;} 215 216 /** 217 * <p>The canonical name of the service.</p> 218 */ WithName(Aws::String && value)219 inline InsightImpactGraphService& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 220 221 /** 222 * <p>The canonical name of the service.</p> 223 */ WithName(const char * value)224 inline InsightImpactGraphService& WithName(const char* value) { SetName(value); return *this;} 225 226 227 /** 228 * <p>A list of names for the service, including the canonical name.</p> 229 */ GetNames()230 inline const Aws::Vector<Aws::String>& GetNames() const{ return m_names; } 231 232 /** 233 * <p>A list of names for the service, including the canonical name.</p> 234 */ NamesHasBeenSet()235 inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; } 236 237 /** 238 * <p>A list of names for the service, including the canonical name.</p> 239 */ SetNames(const Aws::Vector<Aws::String> & value)240 inline void SetNames(const Aws::Vector<Aws::String>& value) { m_namesHasBeenSet = true; m_names = value; } 241 242 /** 243 * <p>A list of names for the service, including the canonical name.</p> 244 */ SetNames(Aws::Vector<Aws::String> && value)245 inline void SetNames(Aws::Vector<Aws::String>&& value) { m_namesHasBeenSet = true; m_names = std::move(value); } 246 247 /** 248 * <p>A list of names for the service, including the canonical name.</p> 249 */ WithNames(const Aws::Vector<Aws::String> & value)250 inline InsightImpactGraphService& WithNames(const Aws::Vector<Aws::String>& value) { SetNames(value); return *this;} 251 252 /** 253 * <p>A list of names for the service, including the canonical name.</p> 254 */ WithNames(Aws::Vector<Aws::String> && value)255 inline InsightImpactGraphService& WithNames(Aws::Vector<Aws::String>&& value) { SetNames(std::move(value)); return *this;} 256 257 /** 258 * <p>A list of names for the service, including the canonical name.</p> 259 */ AddNames(const Aws::String & value)260 inline InsightImpactGraphService& AddNames(const Aws::String& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } 261 262 /** 263 * <p>A list of names for the service, including the canonical name.</p> 264 */ AddNames(Aws::String && value)265 inline InsightImpactGraphService& AddNames(Aws::String&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; } 266 267 /** 268 * <p>A list of names for the service, including the canonical name.</p> 269 */ AddNames(const char * value)270 inline InsightImpactGraphService& AddNames(const char* value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } 271 272 273 /** 274 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 275 */ GetAccountId()276 inline const Aws::String& GetAccountId() const{ return m_accountId; } 277 278 /** 279 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 280 */ AccountIdHasBeenSet()281 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } 282 283 /** 284 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 285 */ SetAccountId(const Aws::String & value)286 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } 287 288 /** 289 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 290 */ SetAccountId(Aws::String && value)291 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } 292 293 /** 294 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 295 */ SetAccountId(const char * value)296 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } 297 298 /** 299 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 300 */ WithAccountId(const Aws::String & value)301 inline InsightImpactGraphService& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} 302 303 /** 304 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 305 */ WithAccountId(Aws::String && value)306 inline InsightImpactGraphService& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} 307 308 /** 309 * <p>Identifier of the Amazon Web Services account in which the service runs.</p> 310 */ WithAccountId(const char * value)311 inline InsightImpactGraphService& WithAccountId(const char* value) { SetAccountId(value); return *this;} 312 313 314 /** 315 * <p>Connections to downstream services.</p> 316 */ GetEdges()317 inline const Aws::Vector<InsightImpactGraphEdge>& GetEdges() const{ return m_edges; } 318 319 /** 320 * <p>Connections to downstream services.</p> 321 */ EdgesHasBeenSet()322 inline bool EdgesHasBeenSet() const { return m_edgesHasBeenSet; } 323 324 /** 325 * <p>Connections to downstream services.</p> 326 */ SetEdges(const Aws::Vector<InsightImpactGraphEdge> & value)327 inline void SetEdges(const Aws::Vector<InsightImpactGraphEdge>& value) { m_edgesHasBeenSet = true; m_edges = value; } 328 329 /** 330 * <p>Connections to downstream services.</p> 331 */ SetEdges(Aws::Vector<InsightImpactGraphEdge> && value)332 inline void SetEdges(Aws::Vector<InsightImpactGraphEdge>&& value) { m_edgesHasBeenSet = true; m_edges = std::move(value); } 333 334 /** 335 * <p>Connections to downstream services.</p> 336 */ WithEdges(const Aws::Vector<InsightImpactGraphEdge> & value)337 inline InsightImpactGraphService& WithEdges(const Aws::Vector<InsightImpactGraphEdge>& value) { SetEdges(value); return *this;} 338 339 /** 340 * <p>Connections to downstream services.</p> 341 */ WithEdges(Aws::Vector<InsightImpactGraphEdge> && value)342 inline InsightImpactGraphService& WithEdges(Aws::Vector<InsightImpactGraphEdge>&& value) { SetEdges(std::move(value)); return *this;} 343 344 /** 345 * <p>Connections to downstream services.</p> 346 */ AddEdges(const InsightImpactGraphEdge & value)347 inline InsightImpactGraphService& AddEdges(const InsightImpactGraphEdge& value) { m_edgesHasBeenSet = true; m_edges.push_back(value); return *this; } 348 349 /** 350 * <p>Connections to downstream services.</p> 351 */ AddEdges(InsightImpactGraphEdge && value)352 inline InsightImpactGraphService& AddEdges(InsightImpactGraphEdge&& value) { m_edgesHasBeenSet = true; m_edges.push_back(std::move(value)); return *this; } 353 354 private: 355 356 int m_referenceId; 357 bool m_referenceIdHasBeenSet; 358 359 Aws::String m_type; 360 bool m_typeHasBeenSet; 361 362 Aws::String m_name; 363 bool m_nameHasBeenSet; 364 365 Aws::Vector<Aws::String> m_names; 366 bool m_namesHasBeenSet; 367 368 Aws::String m_accountId; 369 bool m_accountIdHasBeenSet; 370 371 Aws::Vector<InsightImpactGraphEdge> m_edges; 372 bool m_edgesHasBeenSet; 373 }; 374 375 } // namespace Model 376 } // namespace XRay 377 } // namespace Aws 378