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/config/ConfigService_EXPORTS.h>
8 #include <aws/config/ConfigServiceRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ConfigService
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>The input for the <a>DescribeDeliveryChannels</a> action.</p><p><h3>See
22    * Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelsRequest">AWS
24    * API Reference</a></p>
25    */
26   class AWS_CONFIGSERVICE_API DescribeDeliveryChannelsRequest : public ConfigServiceRequest
27   {
28   public:
29     DescribeDeliveryChannelsRequest();
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 "DescribeDeliveryChannels"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
42     /**
43      * <p>A list of delivery channel names.</p>
44      */
GetDeliveryChannelNames()45     inline const Aws::Vector<Aws::String>& GetDeliveryChannelNames() const{ return m_deliveryChannelNames; }
46 
47     /**
48      * <p>A list of delivery channel names.</p>
49      */
DeliveryChannelNamesHasBeenSet()50     inline bool DeliveryChannelNamesHasBeenSet() const { return m_deliveryChannelNamesHasBeenSet; }
51 
52     /**
53      * <p>A list of delivery channel names.</p>
54      */
SetDeliveryChannelNames(const Aws::Vector<Aws::String> & value)55     inline void SetDeliveryChannelNames(const Aws::Vector<Aws::String>& value) { m_deliveryChannelNamesHasBeenSet = true; m_deliveryChannelNames = value; }
56 
57     /**
58      * <p>A list of delivery channel names.</p>
59      */
SetDeliveryChannelNames(Aws::Vector<Aws::String> && value)60     inline void SetDeliveryChannelNames(Aws::Vector<Aws::String>&& value) { m_deliveryChannelNamesHasBeenSet = true; m_deliveryChannelNames = std::move(value); }
61 
62     /**
63      * <p>A list of delivery channel names.</p>
64      */
WithDeliveryChannelNames(const Aws::Vector<Aws::String> & value)65     inline DescribeDeliveryChannelsRequest& WithDeliveryChannelNames(const Aws::Vector<Aws::String>& value) { SetDeliveryChannelNames(value); return *this;}
66 
67     /**
68      * <p>A list of delivery channel names.</p>
69      */
WithDeliveryChannelNames(Aws::Vector<Aws::String> && value)70     inline DescribeDeliveryChannelsRequest& WithDeliveryChannelNames(Aws::Vector<Aws::String>&& value) { SetDeliveryChannelNames(std::move(value)); return *this;}
71 
72     /**
73      * <p>A list of delivery channel names.</p>
74      */
AddDeliveryChannelNames(const Aws::String & value)75     inline DescribeDeliveryChannelsRequest& AddDeliveryChannelNames(const Aws::String& value) { m_deliveryChannelNamesHasBeenSet = true; m_deliveryChannelNames.push_back(value); return *this; }
76 
77     /**
78      * <p>A list of delivery channel names.</p>
79      */
AddDeliveryChannelNames(Aws::String && value)80     inline DescribeDeliveryChannelsRequest& AddDeliveryChannelNames(Aws::String&& value) { m_deliveryChannelNamesHasBeenSet = true; m_deliveryChannelNames.push_back(std::move(value)); return *this; }
81 
82     /**
83      * <p>A list of delivery channel names.</p>
84      */
AddDeliveryChannelNames(const char * value)85     inline DescribeDeliveryChannelsRequest& AddDeliveryChannelNames(const char* value) { m_deliveryChannelNamesHasBeenSet = true; m_deliveryChannelNames.push_back(value); return *this; }
86 
87   private:
88 
89     Aws::Vector<Aws::String> m_deliveryChannelNames;
90     bool m_deliveryChannelNamesHasBeenSet;
91   };
92 
93 } // namespace Model
94 } // namespace ConfigService
95 } // namespace Aws
96