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/redshift/Redshift_EXPORTS.h>
8 #include <aws/redshift/RedshiftRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Redshift
15 {
16 namespace Model
17 {
18 
19   /**
20    * <p/><p><h3>See Also:</h3>   <a
21    * href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventCategoriesMessage">AWS
22    * API Reference</a></p>
23    */
24   class AWS_REDSHIFT_API DescribeEventCategoriesRequest : public RedshiftRequest
25   {
26   public:
27     DescribeEventCategoriesRequest();
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 "DescribeEventCategories"; }
34 
35     Aws::String SerializePayload() const override;
36 
37   protected:
38     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
39 
40   public:
41 
42     /**
43      * <p>The source type, such as cluster or parameter group, to which the described
44      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
45      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
46      */
GetSourceType()47     inline const Aws::String& GetSourceType() const{ return m_sourceType; }
48 
49     /**
50      * <p>The source type, such as cluster or parameter group, to which the described
51      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
52      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
53      */
SourceTypeHasBeenSet()54     inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; }
55 
56     /**
57      * <p>The source type, such as cluster or parameter group, to which the described
58      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
59      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
60      */
SetSourceType(const Aws::String & value)61     inline void SetSourceType(const Aws::String& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; }
62 
63     /**
64      * <p>The source type, such as cluster or parameter group, to which the described
65      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
66      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
67      */
SetSourceType(Aws::String && value)68     inline void SetSourceType(Aws::String&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); }
69 
70     /**
71      * <p>The source type, such as cluster or parameter group, to which the described
72      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
73      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
74      */
SetSourceType(const char * value)75     inline void SetSourceType(const char* value) { m_sourceTypeHasBeenSet = true; m_sourceType.assign(value); }
76 
77     /**
78      * <p>The source type, such as cluster or parameter group, to which the described
79      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
80      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
81      */
WithSourceType(const Aws::String & value)82     inline DescribeEventCategoriesRequest& WithSourceType(const Aws::String& value) { SetSourceType(value); return *this;}
83 
84     /**
85      * <p>The source type, such as cluster or parameter group, to which the described
86      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
87      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
88      */
WithSourceType(Aws::String && value)89     inline DescribeEventCategoriesRequest& WithSourceType(Aws::String&& value) { SetSourceType(std::move(value)); return *this;}
90 
91     /**
92      * <p>The source type, such as cluster or parameter group, to which the described
93      * event categories apply.</p> <p>Valid values: cluster, cluster-snapshot,
94      * cluster-parameter-group, cluster-security-group, and scheduled-action.</p>
95      */
WithSourceType(const char * value)96     inline DescribeEventCategoriesRequest& WithSourceType(const char* value) { SetSourceType(value); return *this;}
97 
98   private:
99 
100     Aws::String m_sourceType;
101     bool m_sourceTypeHasBeenSet;
102   };
103 
104 } // namespace Model
105 } // namespace Redshift
106 } // namespace Aws
107