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/connect/Connect_EXPORTS.h> 8 #include <aws/connect/ConnectRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/connect/model/IntegrationType.h> 11 #include <aws/connect/model/SourceType.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Connect 18 { 19 namespace Model 20 { 21 22 /** 23 */ 24 class AWS_CONNECT_API CreateIntegrationAssociationRequest : public ConnectRequest 25 { 26 public: 27 CreateIntegrationAssociationRequest(); 28 29 // Service request name is the Operation name which will send this request out, 30 // each operation should has unique request name, so that we can get operation's name from this request. 31 // Note: this is not true for response, multiple operations may have the same response name, 32 // so we can not get operation's name from response. GetServiceRequestName()33 inline virtual const char* GetServiceRequestName() const override { return "CreateIntegrationAssociation"; } 34 35 Aws::String SerializePayload() const override; 36 37 38 /** 39 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 40 * the ARN of the instance.</p> 41 */ GetInstanceId()42 inline const Aws::String& GetInstanceId() const{ return m_instanceId; } 43 44 /** 45 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 46 * the ARN of the instance.</p> 47 */ InstanceIdHasBeenSet()48 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } 49 50 /** 51 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 52 * the ARN of the instance.</p> 53 */ SetInstanceId(const Aws::String & value)54 inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } 55 56 /** 57 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 58 * the ARN of the instance.</p> 59 */ SetInstanceId(Aws::String && value)60 inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } 61 62 /** 63 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 64 * the ARN of the instance.</p> 65 */ SetInstanceId(const char * value)66 inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } 67 68 /** 69 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 70 * the ARN of the instance.</p> 71 */ WithInstanceId(const Aws::String & value)72 inline CreateIntegrationAssociationRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} 73 74 /** 75 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 76 * the ARN of the instance.</p> 77 */ WithInstanceId(Aws::String && value)78 inline CreateIntegrationAssociationRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} 79 80 /** 81 * <p>The identifier of the Amazon Connect instance. You can find the instanceId in 82 * the ARN of the instance.</p> 83 */ WithInstanceId(const char * value)84 inline CreateIntegrationAssociationRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} 85 86 87 /** 88 * <p>The type of information to be ingested.</p> 89 */ GetIntegrationType()90 inline const IntegrationType& GetIntegrationType() const{ return m_integrationType; } 91 92 /** 93 * <p>The type of information to be ingested.</p> 94 */ IntegrationTypeHasBeenSet()95 inline bool IntegrationTypeHasBeenSet() const { return m_integrationTypeHasBeenSet; } 96 97 /** 98 * <p>The type of information to be ingested.</p> 99 */ SetIntegrationType(const IntegrationType & value)100 inline void SetIntegrationType(const IntegrationType& value) { m_integrationTypeHasBeenSet = true; m_integrationType = value; } 101 102 /** 103 * <p>The type of information to be ingested.</p> 104 */ SetIntegrationType(IntegrationType && value)105 inline void SetIntegrationType(IntegrationType&& value) { m_integrationTypeHasBeenSet = true; m_integrationType = std::move(value); } 106 107 /** 108 * <p>The type of information to be ingested.</p> 109 */ WithIntegrationType(const IntegrationType & value)110 inline CreateIntegrationAssociationRequest& WithIntegrationType(const IntegrationType& value) { SetIntegrationType(value); return *this;} 111 112 /** 113 * <p>The type of information to be ingested.</p> 114 */ WithIntegrationType(IntegrationType && value)115 inline CreateIntegrationAssociationRequest& WithIntegrationType(IntegrationType&& value) { SetIntegrationType(std::move(value)); return *this;} 116 117 118 /** 119 * <p>The Amazon Resource Name (ARN) of the integration.</p> 120 */ GetIntegrationArn()121 inline const Aws::String& GetIntegrationArn() const{ return m_integrationArn; } 122 123 /** 124 * <p>The Amazon Resource Name (ARN) of the integration.</p> 125 */ IntegrationArnHasBeenSet()126 inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } 127 128 /** 129 * <p>The Amazon Resource Name (ARN) of the integration.</p> 130 */ SetIntegrationArn(const Aws::String & value)131 inline void SetIntegrationArn(const Aws::String& value) { m_integrationArnHasBeenSet = true; m_integrationArn = value; } 132 133 /** 134 * <p>The Amazon Resource Name (ARN) of the integration.</p> 135 */ SetIntegrationArn(Aws::String && value)136 inline void SetIntegrationArn(Aws::String&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::move(value); } 137 138 /** 139 * <p>The Amazon Resource Name (ARN) of the integration.</p> 140 */ SetIntegrationArn(const char * value)141 inline void SetIntegrationArn(const char* value) { m_integrationArnHasBeenSet = true; m_integrationArn.assign(value); } 142 143 /** 144 * <p>The Amazon Resource Name (ARN) of the integration.</p> 145 */ WithIntegrationArn(const Aws::String & value)146 inline CreateIntegrationAssociationRequest& WithIntegrationArn(const Aws::String& value) { SetIntegrationArn(value); return *this;} 147 148 /** 149 * <p>The Amazon Resource Name (ARN) of the integration.</p> 150 */ WithIntegrationArn(Aws::String && value)151 inline CreateIntegrationAssociationRequest& WithIntegrationArn(Aws::String&& value) { SetIntegrationArn(std::move(value)); return *this;} 152 153 /** 154 * <p>The Amazon Resource Name (ARN) of the integration.</p> 155 */ WithIntegrationArn(const char * value)156 inline CreateIntegrationAssociationRequest& WithIntegrationArn(const char* value) { SetIntegrationArn(value); return *this;} 157 158 159 /** 160 * <p>The URL for the external application. This field is only required for the 161 * EVENT integration type.</p> 162 */ GetSourceApplicationUrl()163 inline const Aws::String& GetSourceApplicationUrl() const{ return m_sourceApplicationUrl; } 164 165 /** 166 * <p>The URL for the external application. This field is only required for the 167 * EVENT integration type.</p> 168 */ SourceApplicationUrlHasBeenSet()169 inline bool SourceApplicationUrlHasBeenSet() const { return m_sourceApplicationUrlHasBeenSet; } 170 171 /** 172 * <p>The URL for the external application. This field is only required for the 173 * EVENT integration type.</p> 174 */ SetSourceApplicationUrl(const Aws::String & value)175 inline void SetSourceApplicationUrl(const Aws::String& value) { m_sourceApplicationUrlHasBeenSet = true; m_sourceApplicationUrl = value; } 176 177 /** 178 * <p>The URL for the external application. This field is only required for the 179 * EVENT integration type.</p> 180 */ SetSourceApplicationUrl(Aws::String && value)181 inline void SetSourceApplicationUrl(Aws::String&& value) { m_sourceApplicationUrlHasBeenSet = true; m_sourceApplicationUrl = std::move(value); } 182 183 /** 184 * <p>The URL for the external application. This field is only required for the 185 * EVENT integration type.</p> 186 */ SetSourceApplicationUrl(const char * value)187 inline void SetSourceApplicationUrl(const char* value) { m_sourceApplicationUrlHasBeenSet = true; m_sourceApplicationUrl.assign(value); } 188 189 /** 190 * <p>The URL for the external application. This field is only required for the 191 * EVENT integration type.</p> 192 */ WithSourceApplicationUrl(const Aws::String & value)193 inline CreateIntegrationAssociationRequest& WithSourceApplicationUrl(const Aws::String& value) { SetSourceApplicationUrl(value); return *this;} 194 195 /** 196 * <p>The URL for the external application. This field is only required for the 197 * EVENT integration type.</p> 198 */ WithSourceApplicationUrl(Aws::String && value)199 inline CreateIntegrationAssociationRequest& WithSourceApplicationUrl(Aws::String&& value) { SetSourceApplicationUrl(std::move(value)); return *this;} 200 201 /** 202 * <p>The URL for the external application. This field is only required for the 203 * EVENT integration type.</p> 204 */ WithSourceApplicationUrl(const char * value)205 inline CreateIntegrationAssociationRequest& WithSourceApplicationUrl(const char* value) { SetSourceApplicationUrl(value); return *this;} 206 207 208 /** 209 * <p>The name of the external application. This field is only required for the 210 * EVENT integration type.</p> 211 */ GetSourceApplicationName()212 inline const Aws::String& GetSourceApplicationName() const{ return m_sourceApplicationName; } 213 214 /** 215 * <p>The name of the external application. This field is only required for the 216 * EVENT integration type.</p> 217 */ SourceApplicationNameHasBeenSet()218 inline bool SourceApplicationNameHasBeenSet() const { return m_sourceApplicationNameHasBeenSet; } 219 220 /** 221 * <p>The name of the external application. This field is only required for the 222 * EVENT integration type.</p> 223 */ SetSourceApplicationName(const Aws::String & value)224 inline void SetSourceApplicationName(const Aws::String& value) { m_sourceApplicationNameHasBeenSet = true; m_sourceApplicationName = value; } 225 226 /** 227 * <p>The name of the external application. This field is only required for the 228 * EVENT integration type.</p> 229 */ SetSourceApplicationName(Aws::String && value)230 inline void SetSourceApplicationName(Aws::String&& value) { m_sourceApplicationNameHasBeenSet = true; m_sourceApplicationName = std::move(value); } 231 232 /** 233 * <p>The name of the external application. This field is only required for the 234 * EVENT integration type.</p> 235 */ SetSourceApplicationName(const char * value)236 inline void SetSourceApplicationName(const char* value) { m_sourceApplicationNameHasBeenSet = true; m_sourceApplicationName.assign(value); } 237 238 /** 239 * <p>The name of the external application. This field is only required for the 240 * EVENT integration type.</p> 241 */ WithSourceApplicationName(const Aws::String & value)242 inline CreateIntegrationAssociationRequest& WithSourceApplicationName(const Aws::String& value) { SetSourceApplicationName(value); return *this;} 243 244 /** 245 * <p>The name of the external application. This field is only required for the 246 * EVENT integration type.</p> 247 */ WithSourceApplicationName(Aws::String && value)248 inline CreateIntegrationAssociationRequest& WithSourceApplicationName(Aws::String&& value) { SetSourceApplicationName(std::move(value)); return *this;} 249 250 /** 251 * <p>The name of the external application. This field is only required for the 252 * EVENT integration type.</p> 253 */ WithSourceApplicationName(const char * value)254 inline CreateIntegrationAssociationRequest& WithSourceApplicationName(const char* value) { SetSourceApplicationName(value); return *this;} 255 256 257 /** 258 * <p>The type of the data source. This field is only required for the EVENT 259 * integration type.</p> 260 */ GetSourceType()261 inline const SourceType& GetSourceType() const{ return m_sourceType; } 262 263 /** 264 * <p>The type of the data source. This field is only required for the EVENT 265 * integration type.</p> 266 */ SourceTypeHasBeenSet()267 inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } 268 269 /** 270 * <p>The type of the data source. This field is only required for the EVENT 271 * integration type.</p> 272 */ SetSourceType(const SourceType & value)273 inline void SetSourceType(const SourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } 274 275 /** 276 * <p>The type of the data source. This field is only required for the EVENT 277 * integration type.</p> 278 */ SetSourceType(SourceType && value)279 inline void SetSourceType(SourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } 280 281 /** 282 * <p>The type of the data source. This field is only required for the EVENT 283 * integration type.</p> 284 */ WithSourceType(const SourceType & value)285 inline CreateIntegrationAssociationRequest& WithSourceType(const SourceType& value) { SetSourceType(value); return *this;} 286 287 /** 288 * <p>The type of the data source. This field is only required for the EVENT 289 * integration type.</p> 290 */ WithSourceType(SourceType && value)291 inline CreateIntegrationAssociationRequest& WithSourceType(SourceType&& value) { SetSourceType(std::move(value)); return *this;} 292 293 294 /** 295 * <p>One or more tags.</p> 296 */ GetTags()297 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 298 299 /** 300 * <p>One or more tags.</p> 301 */ TagsHasBeenSet()302 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 303 304 /** 305 * <p>One or more tags.</p> 306 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)307 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 308 309 /** 310 * <p>One or more tags.</p> 311 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)312 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 313 314 /** 315 * <p>One or more tags.</p> 316 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)317 inline CreateIntegrationAssociationRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 318 319 /** 320 * <p>One or more tags.</p> 321 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)322 inline CreateIntegrationAssociationRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 323 324 /** 325 * <p>One or more tags.</p> 326 */ AddTags(const Aws::String & key,const Aws::String & value)327 inline CreateIntegrationAssociationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 328 329 /** 330 * <p>One or more tags.</p> 331 */ AddTags(Aws::String && key,const Aws::String & value)332 inline CreateIntegrationAssociationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 333 334 /** 335 * <p>One or more tags.</p> 336 */ AddTags(const Aws::String & key,Aws::String && value)337 inline CreateIntegrationAssociationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 338 339 /** 340 * <p>One or more tags.</p> 341 */ AddTags(Aws::String && key,Aws::String && value)342 inline CreateIntegrationAssociationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 343 344 /** 345 * <p>One or more tags.</p> 346 */ AddTags(const char * key,Aws::String && value)347 inline CreateIntegrationAssociationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 348 349 /** 350 * <p>One or more tags.</p> 351 */ AddTags(Aws::String && key,const char * value)352 inline CreateIntegrationAssociationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 353 354 /** 355 * <p>One or more tags.</p> 356 */ AddTags(const char * key,const char * value)357 inline CreateIntegrationAssociationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 358 359 private: 360 361 Aws::String m_instanceId; 362 bool m_instanceIdHasBeenSet; 363 364 IntegrationType m_integrationType; 365 bool m_integrationTypeHasBeenSet; 366 367 Aws::String m_integrationArn; 368 bool m_integrationArnHasBeenSet; 369 370 Aws::String m_sourceApplicationUrl; 371 bool m_sourceApplicationUrlHasBeenSet; 372 373 Aws::String m_sourceApplicationName; 374 bool m_sourceApplicationNameHasBeenSet; 375 376 SourceType m_sourceType; 377 bool m_sourceTypeHasBeenSet; 378 379 Aws::Map<Aws::String, Aws::String> m_tags; 380 bool m_tagsHasBeenSet; 381 }; 382 383 } // namespace Model 384 } // namespace Connect 385 } // namespace Aws 386