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/iotsitewise/IoTSiteWise_EXPORTS.h>
8 #include <aws/iotsitewise/IoTSiteWiseRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 #include <aws/core/utils/UUID.h>
12 
13 namespace Aws
14 {
15 namespace Http
16 {
17     class URI;
18 } //namespace Http
19 namespace IoTSiteWise
20 {
21 namespace Model
22 {
23 
24   /**
25    */
26   class AWS_IOTSITEWISE_API DeleteProjectRequest : public IoTSiteWiseRequest
27   {
28   public:
29     DeleteProjectRequest();
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 "DeleteProject"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
40 
41 
42     /**
43      * <p>The ID of the project.</p>
44      */
GetProjectId()45     inline const Aws::String& GetProjectId() const{ return m_projectId; }
46 
47     /**
48      * <p>The ID of the project.</p>
49      */
ProjectIdHasBeenSet()50     inline bool ProjectIdHasBeenSet() const { return m_projectIdHasBeenSet; }
51 
52     /**
53      * <p>The ID of the project.</p>
54      */
SetProjectId(const Aws::String & value)55     inline void SetProjectId(const Aws::String& value) { m_projectIdHasBeenSet = true; m_projectId = value; }
56 
57     /**
58      * <p>The ID of the project.</p>
59      */
SetProjectId(Aws::String && value)60     inline void SetProjectId(Aws::String&& value) { m_projectIdHasBeenSet = true; m_projectId = std::move(value); }
61 
62     /**
63      * <p>The ID of the project.</p>
64      */
SetProjectId(const char * value)65     inline void SetProjectId(const char* value) { m_projectIdHasBeenSet = true; m_projectId.assign(value); }
66 
67     /**
68      * <p>The ID of the project.</p>
69      */
WithProjectId(const Aws::String & value)70     inline DeleteProjectRequest& WithProjectId(const Aws::String& value) { SetProjectId(value); return *this;}
71 
72     /**
73      * <p>The ID of the project.</p>
74      */
WithProjectId(Aws::String && value)75     inline DeleteProjectRequest& WithProjectId(Aws::String&& value) { SetProjectId(std::move(value)); return *this;}
76 
77     /**
78      * <p>The ID of the project.</p>
79      */
WithProjectId(const char * value)80     inline DeleteProjectRequest& WithProjectId(const char* value) { SetProjectId(value); return *this;}
81 
82 
83     /**
84      * <p>A unique case-sensitive identifier that you can provide to ensure the
85      * idempotency of the request. Don't reuse this client token if a new idempotent
86      * request is required.</p>
87      */
GetClientToken()88     inline const Aws::String& GetClientToken() const{ return m_clientToken; }
89 
90     /**
91      * <p>A unique case-sensitive identifier that you can provide to ensure the
92      * idempotency of the request. Don't reuse this client token if a new idempotent
93      * request is required.</p>
94      */
ClientTokenHasBeenSet()95     inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
96 
97     /**
98      * <p>A unique case-sensitive identifier that you can provide to ensure the
99      * idempotency of the request. Don't reuse this client token if a new idempotent
100      * request is required.</p>
101      */
SetClientToken(const Aws::String & value)102     inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
103 
104     /**
105      * <p>A unique case-sensitive identifier that you can provide to ensure the
106      * idempotency of the request. Don't reuse this client token if a new idempotent
107      * request is required.</p>
108      */
SetClientToken(Aws::String && value)109     inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
110 
111     /**
112      * <p>A unique case-sensitive identifier that you can provide to ensure the
113      * idempotency of the request. Don't reuse this client token if a new idempotent
114      * request is required.</p>
115      */
SetClientToken(const char * value)116     inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
117 
118     /**
119      * <p>A unique case-sensitive identifier that you can provide to ensure the
120      * idempotency of the request. Don't reuse this client token if a new idempotent
121      * request is required.</p>
122      */
WithClientToken(const Aws::String & value)123     inline DeleteProjectRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
124 
125     /**
126      * <p>A unique case-sensitive identifier that you can provide to ensure the
127      * idempotency of the request. Don't reuse this client token if a new idempotent
128      * request is required.</p>
129      */
WithClientToken(Aws::String && value)130     inline DeleteProjectRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
131 
132     /**
133      * <p>A unique case-sensitive identifier that you can provide to ensure the
134      * idempotency of the request. Don't reuse this client token if a new idempotent
135      * request is required.</p>
136      */
WithClientToken(const char * value)137     inline DeleteProjectRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
138 
139   private:
140 
141     Aws::String m_projectId;
142     bool m_projectIdHasBeenSet;
143 
144     Aws::String m_clientToken;
145     bool m_clientTokenHasBeenSet;
146   };
147 
148 } // namespace Model
149 } // namespace IoTSiteWise
150 } // namespace Aws
151