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/devops-guru/DevOpsGuru_EXPORTS.h>
8 #include <aws/devops-guru/DevOpsGuruRequest.h>
9 #include <aws/devops-guru/model/ResourceCollectionType.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Http
16 {
17     class URI;
18 } //namespace Http
19 namespace DevOpsGuru
20 {
21 namespace Model
22 {
23 
24   /**
25    */
26   class AWS_DEVOPSGURU_API DescribeResourceCollectionHealthRequest : public DevOpsGuruRequest
27   {
28   public:
29     DescribeResourceCollectionHealthRequest();
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 "DescribeResourceCollectionHealth"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
40 
41 
42     /**
43      * <p> An AWS resource collection type. This type specifies how analyzed AWS
44      * resources are defined. The one type of AWS resource collection supported is AWS
45      * CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS
46      * resources that are defined in the stacks. You can specify up to 500 AWS
47      * CloudFormation stacks. </p>
48      */
GetResourceCollectionType()49     inline const ResourceCollectionType& GetResourceCollectionType() const{ return m_resourceCollectionType; }
50 
51     /**
52      * <p> An AWS resource collection type. This type specifies how analyzed AWS
53      * resources are defined. The one type of AWS resource collection supported is AWS
54      * CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS
55      * resources that are defined in the stacks. You can specify up to 500 AWS
56      * CloudFormation stacks. </p>
57      */
ResourceCollectionTypeHasBeenSet()58     inline bool ResourceCollectionTypeHasBeenSet() const { return m_resourceCollectionTypeHasBeenSet; }
59 
60     /**
61      * <p> An AWS resource collection type. This type specifies how analyzed AWS
62      * resources are defined. The one type of AWS resource collection supported is AWS
63      * CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS
64      * resources that are defined in the stacks. You can specify up to 500 AWS
65      * CloudFormation stacks. </p>
66      */
SetResourceCollectionType(const ResourceCollectionType & value)67     inline void SetResourceCollectionType(const ResourceCollectionType& value) { m_resourceCollectionTypeHasBeenSet = true; m_resourceCollectionType = value; }
68 
69     /**
70      * <p> An AWS resource collection type. This type specifies how analyzed AWS
71      * resources are defined. The one type of AWS resource collection supported is AWS
72      * CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS
73      * resources that are defined in the stacks. You can specify up to 500 AWS
74      * CloudFormation stacks. </p>
75      */
SetResourceCollectionType(ResourceCollectionType && value)76     inline void SetResourceCollectionType(ResourceCollectionType&& value) { m_resourceCollectionTypeHasBeenSet = true; m_resourceCollectionType = std::move(value); }
77 
78     /**
79      * <p> An AWS resource collection type. This type specifies how analyzed AWS
80      * resources are defined. The one type of AWS resource collection supported is AWS
81      * CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS
82      * resources that are defined in the stacks. You can specify up to 500 AWS
83      * CloudFormation stacks. </p>
84      */
WithResourceCollectionType(const ResourceCollectionType & value)85     inline DescribeResourceCollectionHealthRequest& WithResourceCollectionType(const ResourceCollectionType& value) { SetResourceCollectionType(value); return *this;}
86 
87     /**
88      * <p> An AWS resource collection type. This type specifies how analyzed AWS
89      * resources are defined. The one type of AWS resource collection supported is AWS
90      * CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS
91      * resources that are defined in the stacks. You can specify up to 500 AWS
92      * CloudFormation stacks. </p>
93      */
WithResourceCollectionType(ResourceCollectionType && value)94     inline DescribeResourceCollectionHealthRequest& WithResourceCollectionType(ResourceCollectionType&& value) { SetResourceCollectionType(std::move(value)); return *this;}
95 
96 
97     /**
98      * <p>The pagination token to use to retrieve the next page of results for this
99      * operation. If this value is null, it retrieves the first page.</p>
100      */
GetNextToken()101     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
102 
103     /**
104      * <p>The pagination token to use to retrieve the next page of results for this
105      * operation. If this value is null, it retrieves the first page.</p>
106      */
NextTokenHasBeenSet()107     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
108 
109     /**
110      * <p>The pagination token to use to retrieve the next page of results for this
111      * operation. If this value is null, it retrieves the first page.</p>
112      */
SetNextToken(const Aws::String & value)113     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
114 
115     /**
116      * <p>The pagination token to use to retrieve the next page of results for this
117      * operation. If this value is null, it retrieves the first page.</p>
118      */
SetNextToken(Aws::String && value)119     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
120 
121     /**
122      * <p>The pagination token to use to retrieve the next page of results for this
123      * operation. If this value is null, it retrieves the first page.</p>
124      */
SetNextToken(const char * value)125     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
126 
127     /**
128      * <p>The pagination token to use to retrieve the next page of results for this
129      * operation. If this value is null, it retrieves the first page.</p>
130      */
WithNextToken(const Aws::String & value)131     inline DescribeResourceCollectionHealthRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
132 
133     /**
134      * <p>The pagination token to use to retrieve the next page of results for this
135      * operation. If this value is null, it retrieves the first page.</p>
136      */
WithNextToken(Aws::String && value)137     inline DescribeResourceCollectionHealthRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
138 
139     /**
140      * <p>The pagination token to use to retrieve the next page of results for this
141      * operation. If this value is null, it retrieves the first page.</p>
142      */
WithNextToken(const char * value)143     inline DescribeResourceCollectionHealthRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
144 
145   private:
146 
147     ResourceCollectionType m_resourceCollectionType;
148     bool m_resourceCollectionTypeHasBeenSet;
149 
150     Aws::String m_nextToken;
151     bool m_nextTokenHasBeenSet;
152   };
153 
154 } // namespace Model
155 } // namespace DevOpsGuru
156 } // namespace Aws
157