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/core/utils/memory/stl/AWSVector.h>
11 #include <aws/connect/model/RoutingProfileQueueConfig.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Connect
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_CONNECT_API AssociateRoutingProfileQueuesRequest : public ConnectRequest
24   {
25   public:
26     AssociateRoutingProfileQueuesRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "AssociateRoutingProfileQueues"; }
33 
34     Aws::String SerializePayload() const override;
35 
36 
37     /**
38      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
39      * the ARN of the instance.</p>
40      */
GetInstanceId()41     inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
42 
43     /**
44      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
45      * the ARN of the instance.</p>
46      */
InstanceIdHasBeenSet()47     inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
48 
49     /**
50      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
51      * the ARN of the instance.</p>
52      */
SetInstanceId(const Aws::String & value)53     inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
54 
55     /**
56      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
57      * the ARN of the instance.</p>
58      */
SetInstanceId(Aws::String && value)59     inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); }
60 
61     /**
62      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
63      * the ARN of the instance.</p>
64      */
SetInstanceId(const char * value)65     inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
66 
67     /**
68      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
69      * the ARN of the instance.</p>
70      */
WithInstanceId(const Aws::String & value)71     inline AssociateRoutingProfileQueuesRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
72 
73     /**
74      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
75      * the ARN of the instance.</p>
76      */
WithInstanceId(Aws::String && value)77     inline AssociateRoutingProfileQueuesRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
78 
79     /**
80      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
81      * the ARN of the instance.</p>
82      */
WithInstanceId(const char * value)83     inline AssociateRoutingProfileQueuesRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
84 
85 
86     /**
87      * <p>The identifier of the routing profile.</p>
88      */
GetRoutingProfileId()89     inline const Aws::String& GetRoutingProfileId() const{ return m_routingProfileId; }
90 
91     /**
92      * <p>The identifier of the routing profile.</p>
93      */
RoutingProfileIdHasBeenSet()94     inline bool RoutingProfileIdHasBeenSet() const { return m_routingProfileIdHasBeenSet; }
95 
96     /**
97      * <p>The identifier of the routing profile.</p>
98      */
SetRoutingProfileId(const Aws::String & value)99     inline void SetRoutingProfileId(const Aws::String& value) { m_routingProfileIdHasBeenSet = true; m_routingProfileId = value; }
100 
101     /**
102      * <p>The identifier of the routing profile.</p>
103      */
SetRoutingProfileId(Aws::String && value)104     inline void SetRoutingProfileId(Aws::String&& value) { m_routingProfileIdHasBeenSet = true; m_routingProfileId = std::move(value); }
105 
106     /**
107      * <p>The identifier of the routing profile.</p>
108      */
SetRoutingProfileId(const char * value)109     inline void SetRoutingProfileId(const char* value) { m_routingProfileIdHasBeenSet = true; m_routingProfileId.assign(value); }
110 
111     /**
112      * <p>The identifier of the routing profile.</p>
113      */
WithRoutingProfileId(const Aws::String & value)114     inline AssociateRoutingProfileQueuesRequest& WithRoutingProfileId(const Aws::String& value) { SetRoutingProfileId(value); return *this;}
115 
116     /**
117      * <p>The identifier of the routing profile.</p>
118      */
WithRoutingProfileId(Aws::String && value)119     inline AssociateRoutingProfileQueuesRequest& WithRoutingProfileId(Aws::String&& value) { SetRoutingProfileId(std::move(value)); return *this;}
120 
121     /**
122      * <p>The identifier of the routing profile.</p>
123      */
WithRoutingProfileId(const char * value)124     inline AssociateRoutingProfileQueuesRequest& WithRoutingProfileId(const char* value) { SetRoutingProfileId(value); return *this;}
125 
126 
127     /**
128      * <p>The queues to associate with this routing profile.</p>
129      */
GetQueueConfigs()130     inline const Aws::Vector<RoutingProfileQueueConfig>& GetQueueConfigs() const{ return m_queueConfigs; }
131 
132     /**
133      * <p>The queues to associate with this routing profile.</p>
134      */
QueueConfigsHasBeenSet()135     inline bool QueueConfigsHasBeenSet() const { return m_queueConfigsHasBeenSet; }
136 
137     /**
138      * <p>The queues to associate with this routing profile.</p>
139      */
SetQueueConfigs(const Aws::Vector<RoutingProfileQueueConfig> & value)140     inline void SetQueueConfigs(const Aws::Vector<RoutingProfileQueueConfig>& value) { m_queueConfigsHasBeenSet = true; m_queueConfigs = value; }
141 
142     /**
143      * <p>The queues to associate with this routing profile.</p>
144      */
SetQueueConfigs(Aws::Vector<RoutingProfileQueueConfig> && value)145     inline void SetQueueConfigs(Aws::Vector<RoutingProfileQueueConfig>&& value) { m_queueConfigsHasBeenSet = true; m_queueConfigs = std::move(value); }
146 
147     /**
148      * <p>The queues to associate with this routing profile.</p>
149      */
WithQueueConfigs(const Aws::Vector<RoutingProfileQueueConfig> & value)150     inline AssociateRoutingProfileQueuesRequest& WithQueueConfigs(const Aws::Vector<RoutingProfileQueueConfig>& value) { SetQueueConfigs(value); return *this;}
151 
152     /**
153      * <p>The queues to associate with this routing profile.</p>
154      */
WithQueueConfigs(Aws::Vector<RoutingProfileQueueConfig> && value)155     inline AssociateRoutingProfileQueuesRequest& WithQueueConfigs(Aws::Vector<RoutingProfileQueueConfig>&& value) { SetQueueConfigs(std::move(value)); return *this;}
156 
157     /**
158      * <p>The queues to associate with this routing profile.</p>
159      */
AddQueueConfigs(const RoutingProfileQueueConfig & value)160     inline AssociateRoutingProfileQueuesRequest& AddQueueConfigs(const RoutingProfileQueueConfig& value) { m_queueConfigsHasBeenSet = true; m_queueConfigs.push_back(value); return *this; }
161 
162     /**
163      * <p>The queues to associate with this routing profile.</p>
164      */
AddQueueConfigs(RoutingProfileQueueConfig && value)165     inline AssociateRoutingProfileQueuesRequest& AddQueueConfigs(RoutingProfileQueueConfig&& value) { m_queueConfigsHasBeenSet = true; m_queueConfigs.push_back(std::move(value)); return *this; }
166 
167   private:
168 
169     Aws::String m_instanceId;
170     bool m_instanceIdHasBeenSet;
171 
172     Aws::String m_routingProfileId;
173     bool m_routingProfileIdHasBeenSet;
174 
175     Aws::Vector<RoutingProfileQueueConfig> m_queueConfigs;
176     bool m_queueConfigsHasBeenSet;
177   };
178 
179 } // namespace Model
180 } // namespace Connect
181 } // namespace Aws
182