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/iam/IAM_EXPORTS.h>
8 #include <aws/iam/IAMRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace IAM
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_IAM_API RemoveClientIDFromOpenIDConnectProviderRequest : public IAMRequest
22   {
23   public:
24     RemoveClientIDFromOpenIDConnectProviderRequest();
25 
26     // Service request name is the Operation name which will send this request out,
27     // each operation should has unique request name, so that we can get operation's name from this request.
28     // Note: this is not true for response, multiple operations may have the same response name,
29     // so we can not get operation's name from response.
GetServiceRequestName()30     inline virtual const char* GetServiceRequestName() const override { return "RemoveClientIDFromOpenIDConnectProvider"; }
31 
32     Aws::String SerializePayload() const override;
33 
34   protected:
35     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
36 
37   public:
38 
39     /**
40      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
41      * the client ID from. You can get a list of OIDC provider ARNs by using the
42      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
43      * ARNs, see <a
44      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
45      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
46      * Reference</i>.</p>
47      */
GetOpenIDConnectProviderArn()48     inline const Aws::String& GetOpenIDConnectProviderArn() const{ return m_openIDConnectProviderArn; }
49 
50     /**
51      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
52      * the client ID from. You can get a list of OIDC provider ARNs by using the
53      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
54      * ARNs, see <a
55      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
56      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
57      * Reference</i>.</p>
58      */
OpenIDConnectProviderArnHasBeenSet()59     inline bool OpenIDConnectProviderArnHasBeenSet() const { return m_openIDConnectProviderArnHasBeenSet; }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
63      * the client ID from. You can get a list of OIDC provider ARNs by using the
64      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
65      * ARNs, see <a
66      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
67      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
68      * Reference</i>.</p>
69      */
SetOpenIDConnectProviderArn(const Aws::String & value)70     inline void SetOpenIDConnectProviderArn(const Aws::String& value) { m_openIDConnectProviderArnHasBeenSet = true; m_openIDConnectProviderArn = value; }
71 
72     /**
73      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
74      * the client ID from. You can get a list of OIDC provider ARNs by using the
75      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
76      * ARNs, see <a
77      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
78      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
79      * Reference</i>.</p>
80      */
SetOpenIDConnectProviderArn(Aws::String && value)81     inline void SetOpenIDConnectProviderArn(Aws::String&& value) { m_openIDConnectProviderArnHasBeenSet = true; m_openIDConnectProviderArn = std::move(value); }
82 
83     /**
84      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
85      * the client ID from. You can get a list of OIDC provider ARNs by using the
86      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
87      * ARNs, see <a
88      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
89      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
90      * Reference</i>.</p>
91      */
SetOpenIDConnectProviderArn(const char * value)92     inline void SetOpenIDConnectProviderArn(const char* value) { m_openIDConnectProviderArnHasBeenSet = true; m_openIDConnectProviderArn.assign(value); }
93 
94     /**
95      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
96      * the client ID from. You can get a list of OIDC provider ARNs by using the
97      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
98      * ARNs, see <a
99      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
100      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
101      * Reference</i>.</p>
102      */
WithOpenIDConnectProviderArn(const Aws::String & value)103     inline RemoveClientIDFromOpenIDConnectProviderRequest& WithOpenIDConnectProviderArn(const Aws::String& value) { SetOpenIDConnectProviderArn(value); return *this;}
104 
105     /**
106      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
107      * the client ID from. You can get a list of OIDC provider ARNs by using the
108      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
109      * ARNs, see <a
110      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
111      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
112      * Reference</i>.</p>
113      */
WithOpenIDConnectProviderArn(Aws::String && value)114     inline RemoveClientIDFromOpenIDConnectProviderRequest& WithOpenIDConnectProviderArn(Aws::String&& value) { SetOpenIDConnectProviderArn(std::move(value)); return *this;}
115 
116     /**
117      * <p>The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
118      * the client ID from. You can get a list of OIDC provider ARNs by using the
119      * <a>ListOpenIDConnectProviders</a> operation.</p> <p>For more information about
120      * ARNs, see <a
121      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
122      * Resource Names (ARNs)</a> in the <i>Amazon Web Services General
123      * Reference</i>.</p>
124      */
WithOpenIDConnectProviderArn(const char * value)125     inline RemoveClientIDFromOpenIDConnectProviderRequest& WithOpenIDConnectProviderArn(const char* value) { SetOpenIDConnectProviderArn(value); return *this;}
126 
127 
128     /**
129      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
130      * resource. For more information about client IDs, see
131      * <a>CreateOpenIDConnectProvider</a>.</p>
132      */
GetClientID()133     inline const Aws::String& GetClientID() const{ return m_clientID; }
134 
135     /**
136      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
137      * resource. For more information about client IDs, see
138      * <a>CreateOpenIDConnectProvider</a>.</p>
139      */
ClientIDHasBeenSet()140     inline bool ClientIDHasBeenSet() const { return m_clientIDHasBeenSet; }
141 
142     /**
143      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
144      * resource. For more information about client IDs, see
145      * <a>CreateOpenIDConnectProvider</a>.</p>
146      */
SetClientID(const Aws::String & value)147     inline void SetClientID(const Aws::String& value) { m_clientIDHasBeenSet = true; m_clientID = value; }
148 
149     /**
150      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
151      * resource. For more information about client IDs, see
152      * <a>CreateOpenIDConnectProvider</a>.</p>
153      */
SetClientID(Aws::String && value)154     inline void SetClientID(Aws::String&& value) { m_clientIDHasBeenSet = true; m_clientID = std::move(value); }
155 
156     /**
157      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
158      * resource. For more information about client IDs, see
159      * <a>CreateOpenIDConnectProvider</a>.</p>
160      */
SetClientID(const char * value)161     inline void SetClientID(const char* value) { m_clientIDHasBeenSet = true; m_clientID.assign(value); }
162 
163     /**
164      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
165      * resource. For more information about client IDs, see
166      * <a>CreateOpenIDConnectProvider</a>.</p>
167      */
WithClientID(const Aws::String & value)168     inline RemoveClientIDFromOpenIDConnectProviderRequest& WithClientID(const Aws::String& value) { SetClientID(value); return *this;}
169 
170     /**
171      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
172      * resource. For more information about client IDs, see
173      * <a>CreateOpenIDConnectProvider</a>.</p>
174      */
WithClientID(Aws::String && value)175     inline RemoveClientIDFromOpenIDConnectProviderRequest& WithClientID(Aws::String&& value) { SetClientID(std::move(value)); return *this;}
176 
177     /**
178      * <p>The client ID (also known as audience) to remove from the IAM OIDC provider
179      * resource. For more information about client IDs, see
180      * <a>CreateOpenIDConnectProvider</a>.</p>
181      */
WithClientID(const char * value)182     inline RemoveClientIDFromOpenIDConnectProviderRequest& WithClientID(const char* value) { SetClientID(value); return *this;}
183 
184   private:
185 
186     Aws::String m_openIDConnectProviderArn;
187     bool m_openIDConnectProviderArnHasBeenSet;
188 
189     Aws::String m_clientID;
190     bool m_clientIDHasBeenSet;
191   };
192 
193 } // namespace Model
194 } // namespace IAM
195 } // namespace Aws
196