AWS SDK for C++

AWS SDK for C++ Version 1.11.811

Loading...
Searching...
No Matches
CreateWorkspaceRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/grafana/ManagedGrafanaRequest.h>
12#include <aws/grafana/ManagedGrafana_EXPORTS.h>
13#include <aws/grafana/model/AccountAccessType.h>
14#include <aws/grafana/model/AuthenticationProviderTypes.h>
15#include <aws/grafana/model/DataSourceType.h>
16#include <aws/grafana/model/IPAddressType.h>
17#include <aws/grafana/model/NetworkAccessConfiguration.h>
18#include <aws/grafana/model/NotificationDestinationType.h>
19#include <aws/grafana/model/PermissionType.h>
20#include <aws/grafana/model/VpcConfiguration.h>
21
22#include <utility>
23
24namespace Aws {
25namespace ManagedGrafana {
26namespace Model {
27
31 public:
32 AWS_MANAGEDGRAFANA_API CreateWorkspaceRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateWorkspace"; }
39
40 AWS_MANAGEDGRAFANA_API Aws::String SerializePayload() const override;
41
43
51 inline AccountAccessType GetAccountAccessType() const { return m_accountAccessType; }
52 inline bool AccountAccessTypeHasBeenSet() const { return m_accountAccessTypeHasBeenSet; }
54 m_accountAccessTypeHasBeenSet = true;
55 m_accountAccessType = value;
56 }
59 return *this;
60 }
62
64
68 inline const Aws::String& GetClientToken() const { return m_clientToken; }
69 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
70 template <typename ClientTokenT = Aws::String>
71 void SetClientToken(ClientTokenT&& value) {
72 m_clientTokenHasBeenSet = true;
73 m_clientToken = std::forward<ClientTokenT>(value);
74 }
75 template <typename ClientTokenT = Aws::String>
76 CreateWorkspaceRequest& WithClientToken(ClientTokenT&& value) {
77 SetClientToken(std::forward<ClientTokenT>(value));
78 return *this;
79 }
81
83
88 inline const Aws::String& GetOrganizationRoleName() const { return m_organizationRoleName; }
89 inline bool OrganizationRoleNameHasBeenSet() const { return m_organizationRoleNameHasBeenSet; }
90 template <typename OrganizationRoleNameT = Aws::String>
91 void SetOrganizationRoleName(OrganizationRoleNameT&& value) {
92 m_organizationRoleNameHasBeenSet = true;
93 m_organizationRoleName = std::forward<OrganizationRoleNameT>(value);
94 }
95 template <typename OrganizationRoleNameT = Aws::String>
96 CreateWorkspaceRequest& WithOrganizationRoleName(OrganizationRoleNameT&& value) {
97 SetOrganizationRoleName(std::forward<OrganizationRoleNameT>(value));
98 return *this;
99 }
101
103
120 inline PermissionType GetPermissionType() const { return m_permissionType; }
121 inline bool PermissionTypeHasBeenSet() const { return m_permissionTypeHasBeenSet; }
123 m_permissionTypeHasBeenSet = true;
124 m_permissionType = value;
125 }
127 SetPermissionType(value);
128 return *this;
129 }
131
133
137 inline const Aws::String& GetStackSetName() const { return m_stackSetName; }
138 inline bool StackSetNameHasBeenSet() const { return m_stackSetNameHasBeenSet; }
139 template <typename StackSetNameT = Aws::String>
140 void SetStackSetName(StackSetNameT&& value) {
141 m_stackSetNameHasBeenSet = true;
142 m_stackSetName = std::forward<StackSetNameT>(value);
143 }
144 template <typename StackSetNameT = Aws::String>
145 CreateWorkspaceRequest& WithStackSetName(StackSetNameT&& value) {
146 SetStackSetName(std::forward<StackSetNameT>(value));
147 return *this;
148 }
150
152
155 inline const Aws::Vector<DataSourceType>& GetWorkspaceDataSources() const { return m_workspaceDataSources; }
156 inline bool WorkspaceDataSourcesHasBeenSet() const { return m_workspaceDataSourcesHasBeenSet; }
157 template <typename WorkspaceDataSourcesT = Aws::Vector<DataSourceType>>
158 void SetWorkspaceDataSources(WorkspaceDataSourcesT&& value) {
159 m_workspaceDataSourcesHasBeenSet = true;
160 m_workspaceDataSources = std::forward<WorkspaceDataSourcesT>(value);
161 }
162 template <typename WorkspaceDataSourcesT = Aws::Vector<DataSourceType>>
163 CreateWorkspaceRequest& WithWorkspaceDataSources(WorkspaceDataSourcesT&& value) {
164 SetWorkspaceDataSources(std::forward<WorkspaceDataSourcesT>(value));
165 return *this;
166 }
168 m_workspaceDataSourcesHasBeenSet = true;
169 m_workspaceDataSources.push_back(value);
170 return *this;
171 }
173
175
180 inline const Aws::String& GetWorkspaceDescription() const { return m_workspaceDescription; }
181 inline bool WorkspaceDescriptionHasBeenSet() const { return m_workspaceDescriptionHasBeenSet; }
182 template <typename WorkspaceDescriptionT = Aws::String>
183 void SetWorkspaceDescription(WorkspaceDescriptionT&& value) {
184 m_workspaceDescriptionHasBeenSet = true;
185 m_workspaceDescription = std::forward<WorkspaceDescriptionT>(value);
186 }
187 template <typename WorkspaceDescriptionT = Aws::String>
188 CreateWorkspaceRequest& WithWorkspaceDescription(WorkspaceDescriptionT&& value) {
189 SetWorkspaceDescription(std::forward<WorkspaceDescriptionT>(value));
190 return *this;
191 }
193
195
198 inline const Aws::String& GetWorkspaceName() const { return m_workspaceName; }
199 inline bool WorkspaceNameHasBeenSet() const { return m_workspaceNameHasBeenSet; }
200 template <typename WorkspaceNameT = Aws::String>
201 void SetWorkspaceName(WorkspaceNameT&& value) {
202 m_workspaceNameHasBeenSet = true;
203 m_workspaceName = std::forward<WorkspaceNameT>(value);
204 }
205 template <typename WorkspaceNameT = Aws::String>
206 CreateWorkspaceRequest& WithWorkspaceName(WorkspaceNameT&& value) {
207 SetWorkspaceName(std::forward<WorkspaceNameT>(value));
208 return *this;
209 }
211
213
220 return m_workspaceNotificationDestinations;
221 }
222 inline bool WorkspaceNotificationDestinationsHasBeenSet() const { return m_workspaceNotificationDestinationsHasBeenSet; }
223 template <typename WorkspaceNotificationDestinationsT = Aws::Vector<NotificationDestinationType>>
224 void SetWorkspaceNotificationDestinations(WorkspaceNotificationDestinationsT&& value) {
225 m_workspaceNotificationDestinationsHasBeenSet = true;
226 m_workspaceNotificationDestinations = std::forward<WorkspaceNotificationDestinationsT>(value);
227 }
228 template <typename WorkspaceNotificationDestinationsT = Aws::Vector<NotificationDestinationType>>
229 CreateWorkspaceRequest& WithWorkspaceNotificationDestinations(WorkspaceNotificationDestinationsT&& value) {
230 SetWorkspaceNotificationDestinations(std::forward<WorkspaceNotificationDestinationsT>(value));
231 return *this;
232 }
234 m_workspaceNotificationDestinationsHasBeenSet = true;
235 m_workspaceNotificationDestinations.push_back(value);
236 return *this;
237 }
239
241
246 inline const Aws::Vector<Aws::String>& GetWorkspaceOrganizationalUnits() const { return m_workspaceOrganizationalUnits; }
247 inline bool WorkspaceOrganizationalUnitsHasBeenSet() const { return m_workspaceOrganizationalUnitsHasBeenSet; }
248 template <typename WorkspaceOrganizationalUnitsT = Aws::Vector<Aws::String>>
249 void SetWorkspaceOrganizationalUnits(WorkspaceOrganizationalUnitsT&& value) {
250 m_workspaceOrganizationalUnitsHasBeenSet = true;
251 m_workspaceOrganizationalUnits = std::forward<WorkspaceOrganizationalUnitsT>(value);
252 }
253 template <typename WorkspaceOrganizationalUnitsT = Aws::Vector<Aws::String>>
254 CreateWorkspaceRequest& WithWorkspaceOrganizationalUnits(WorkspaceOrganizationalUnitsT&& value) {
255 SetWorkspaceOrganizationalUnits(std::forward<WorkspaceOrganizationalUnitsT>(value));
256 return *this;
257 }
258 template <typename WorkspaceOrganizationalUnitsT = Aws::String>
259 CreateWorkspaceRequest& AddWorkspaceOrganizationalUnits(WorkspaceOrganizationalUnitsT&& value) {
260 m_workspaceOrganizationalUnitsHasBeenSet = true;
261 m_workspaceOrganizationalUnits.emplace_back(std::forward<WorkspaceOrganizationalUnitsT>(value));
262 return *this;
263 }
265
267
273 inline const Aws::String& GetWorkspaceRoleArn() const { return m_workspaceRoleArn; }
274 inline bool WorkspaceRoleArnHasBeenSet() const { return m_workspaceRoleArnHasBeenSet; }
275 template <typename WorkspaceRoleArnT = Aws::String>
276 void SetWorkspaceRoleArn(WorkspaceRoleArnT&& value) {
277 m_workspaceRoleArnHasBeenSet = true;
278 m_workspaceRoleArn = std::forward<WorkspaceRoleArnT>(value);
279 }
280 template <typename WorkspaceRoleArnT = Aws::String>
281 CreateWorkspaceRequest& WithWorkspaceRoleArn(WorkspaceRoleArnT&& value) {
282 SetWorkspaceRoleArn(std::forward<WorkspaceRoleArnT>(value));
283 return *this;
284 }
286
288
295 inline const Aws::Vector<AuthenticationProviderTypes>& GetAuthenticationProviders() const { return m_authenticationProviders; }
296 inline bool AuthenticationProvidersHasBeenSet() const { return m_authenticationProvidersHasBeenSet; }
297 template <typename AuthenticationProvidersT = Aws::Vector<AuthenticationProviderTypes>>
298 void SetAuthenticationProviders(AuthenticationProvidersT&& value) {
299 m_authenticationProvidersHasBeenSet = true;
300 m_authenticationProviders = std::forward<AuthenticationProvidersT>(value);
301 }
302 template <typename AuthenticationProvidersT = Aws::Vector<AuthenticationProviderTypes>>
303 CreateWorkspaceRequest& WithAuthenticationProviders(AuthenticationProvidersT&& value) {
304 SetAuthenticationProviders(std::forward<AuthenticationProvidersT>(value));
305 return *this;
306 }
308 m_authenticationProvidersHasBeenSet = true;
309 m_authenticationProviders.push_back(value);
310 return *this;
311 }
313
315
318 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
319 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
320 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
321 void SetTags(TagsT&& value) {
322 m_tagsHasBeenSet = true;
323 m_tags = std::forward<TagsT>(value);
324 }
325 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
327 SetTags(std::forward<TagsT>(value));
328 return *this;
329 }
330 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
331 CreateWorkspaceRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
332 m_tagsHasBeenSet = true;
333 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
334 return *this;
335 }
337
339
345 inline const VpcConfiguration& GetVpcConfiguration() const { return m_vpcConfiguration; }
346 inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; }
347 template <typename VpcConfigurationT = VpcConfiguration>
348 void SetVpcConfiguration(VpcConfigurationT&& value) {
349 m_vpcConfigurationHasBeenSet = true;
350 m_vpcConfiguration = std::forward<VpcConfigurationT>(value);
351 }
352 template <typename VpcConfigurationT = VpcConfiguration>
353 CreateWorkspaceRequest& WithVpcConfiguration(VpcConfigurationT&& value) {
354 SetVpcConfiguration(std::forward<VpcConfigurationT>(value));
355 return *this;
356 }
358
360
366 inline const Aws::String& GetConfiguration() const { return m_configuration; }
367 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
368 template <typename ConfigurationT = Aws::String>
369 void SetConfiguration(ConfigurationT&& value) {
370 m_configurationHasBeenSet = true;
371 m_configuration = std::forward<ConfigurationT>(value);
372 }
373 template <typename ConfigurationT = Aws::String>
374 CreateWorkspaceRequest& WithConfiguration(ConfigurationT&& value) {
375 SetConfiguration(std::forward<ConfigurationT>(value));
376 return *this;
377 }
379
381
389 inline const NetworkAccessConfiguration& GetNetworkAccessControl() const { return m_networkAccessControl; }
390 inline bool NetworkAccessControlHasBeenSet() const { return m_networkAccessControlHasBeenSet; }
391 template <typename NetworkAccessControlT = NetworkAccessConfiguration>
392 void SetNetworkAccessControl(NetworkAccessControlT&& value) {
393 m_networkAccessControlHasBeenSet = true;
394 m_networkAccessControl = std::forward<NetworkAccessControlT>(value);
395 }
396 template <typename NetworkAccessControlT = NetworkAccessConfiguration>
397 CreateWorkspaceRequest& WithNetworkAccessControl(NetworkAccessControlT&& value) {
398 SetNetworkAccessControl(std::forward<NetworkAccessControlT>(value));
399 return *this;
400 }
402
404
409 inline const Aws::String& GetGrafanaVersion() const { return m_grafanaVersion; }
410 inline bool GrafanaVersionHasBeenSet() const { return m_grafanaVersionHasBeenSet; }
411 template <typename GrafanaVersionT = Aws::String>
412 void SetGrafanaVersion(GrafanaVersionT&& value) {
413 m_grafanaVersionHasBeenSet = true;
414 m_grafanaVersion = std::forward<GrafanaVersionT>(value);
415 }
416 template <typename GrafanaVersionT = Aws::String>
417 CreateWorkspaceRequest& WithGrafanaVersion(GrafanaVersionT&& value) {
418 SetGrafanaVersion(std::forward<GrafanaVersionT>(value));
419 return *this;
420 }
422
424
431 inline IPAddressType GetIpAddressType() const { return m_ipAddressType; }
432 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
433 inline void SetIpAddressType(IPAddressType value) {
434 m_ipAddressTypeHasBeenSet = true;
435 m_ipAddressType = value;
436 }
438 SetIpAddressType(value);
439 return *this;
440 }
442
444
448 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
449 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
450 template <typename KmsKeyIdT = Aws::String>
451 void SetKmsKeyId(KmsKeyIdT&& value) {
452 m_kmsKeyIdHasBeenSet = true;
453 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
454 }
455 template <typename KmsKeyIdT = Aws::String>
457 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
458 return *this;
459 }
461 private:
463
465
466 Aws::String m_organizationRoleName;
467
468 PermissionType m_permissionType{PermissionType::NOT_SET};
469
470 Aws::String m_stackSetName;
471
472 Aws::Vector<DataSourceType> m_workspaceDataSources;
473
474 Aws::String m_workspaceDescription;
475
476 Aws::String m_workspaceName;
477
478 Aws::Vector<NotificationDestinationType> m_workspaceNotificationDestinations;
479
480 Aws::Vector<Aws::String> m_workspaceOrganizationalUnits;
481
482 Aws::String m_workspaceRoleArn;
483
484 Aws::Vector<AuthenticationProviderTypes> m_authenticationProviders;
485
487
488 VpcConfiguration m_vpcConfiguration;
489
490 Aws::String m_configuration;
491
492 NetworkAccessConfiguration m_networkAccessControl;
493
494 Aws::String m_grafanaVersion;
495
496 IPAddressType m_ipAddressType{IPAddressType::NOT_SET};
497
498 Aws::String m_kmsKeyId;
499 bool m_accountAccessTypeHasBeenSet = false;
500 bool m_clientTokenHasBeenSet = true;
501 bool m_organizationRoleNameHasBeenSet = false;
502 bool m_permissionTypeHasBeenSet = false;
503 bool m_stackSetNameHasBeenSet = false;
504 bool m_workspaceDataSourcesHasBeenSet = false;
505 bool m_workspaceDescriptionHasBeenSet = false;
506 bool m_workspaceNameHasBeenSet = false;
507 bool m_workspaceNotificationDestinationsHasBeenSet = false;
508 bool m_workspaceOrganizationalUnitsHasBeenSet = false;
509 bool m_workspaceRoleArnHasBeenSet = false;
510 bool m_authenticationProvidersHasBeenSet = false;
511 bool m_tagsHasBeenSet = false;
512 bool m_vpcConfigurationHasBeenSet = false;
513 bool m_configurationHasBeenSet = false;
514 bool m_networkAccessControlHasBeenSet = false;
515 bool m_grafanaVersionHasBeenSet = false;
516 bool m_ipAddressTypeHasBeenSet = false;
517 bool m_kmsKeyIdHasBeenSet = false;
518};
519
520} // namespace Model
521} // namespace ManagedGrafana
522} // namespace Aws
CreateWorkspaceRequest & WithOrganizationRoleName(OrganizationRoleNameT &&value)
CreateWorkspaceRequest & WithNetworkAccessControl(NetworkAccessControlT &&value)
CreateWorkspaceRequest & WithGrafanaVersion(GrafanaVersionT &&value)
CreateWorkspaceRequest & WithWorkspaceDescription(WorkspaceDescriptionT &&value)
CreateWorkspaceRequest & AddWorkspaceNotificationDestinations(NotificationDestinationType value)
CreateWorkspaceRequest & WithWorkspaceRoleArn(WorkspaceRoleArnT &&value)
const Aws::Vector< NotificationDestinationType > & GetWorkspaceNotificationDestinations() const
void SetNetworkAccessControl(NetworkAccessControlT &&value)
void SetAuthenticationProviders(AuthenticationProvidersT &&value)
const Aws::Vector< DataSourceType > & GetWorkspaceDataSources() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateWorkspaceRequest & AddWorkspaceOrganizationalUnits(WorkspaceOrganizationalUnitsT &&value)
void SetOrganizationRoleName(OrganizationRoleNameT &&value)
CreateWorkspaceRequest & WithVpcConfiguration(VpcConfigurationT &&value)
CreateWorkspaceRequest & WithConfiguration(ConfigurationT &&value)
const Aws::Vector< AuthenticationProviderTypes > & GetAuthenticationProviders() const
CreateWorkspaceRequest & AddWorkspaceDataSources(DataSourceType value)
void SetWorkspaceDescription(WorkspaceDescriptionT &&value)
CreateWorkspaceRequest & WithWorkspaceOrganizationalUnits(WorkspaceOrganizationalUnitsT &&value)
CreateWorkspaceRequest & WithIpAddressType(IPAddressType value)
virtual const char * GetServiceRequestName() const override
CreateWorkspaceRequest & WithAccountAccessType(AccountAccessType value)
CreateWorkspaceRequest & WithTags(TagsT &&value)
CreateWorkspaceRequest & WithClientToken(ClientTokenT &&value)
CreateWorkspaceRequest & AddAuthenticationProviders(AuthenticationProviderTypes value)
const Aws::Vector< Aws::String > & GetWorkspaceOrganizationalUnits() const
CreateWorkspaceRequest & WithWorkspaceDataSources(WorkspaceDataSourcesT &&value)
CreateWorkspaceRequest & WithStackSetName(StackSetNameT &&value)
CreateWorkspaceRequest & WithWorkspaceName(WorkspaceNameT &&value)
CreateWorkspaceRequest & WithWorkspaceNotificationDestinations(WorkspaceNotificationDestinationsT &&value)
void SetWorkspaceDataSources(WorkspaceDataSourcesT &&value)
AWS_MANAGEDGRAFANA_API Aws::String SerializePayload() const override
CreateWorkspaceRequest & WithAuthenticationProviders(AuthenticationProvidersT &&value)
CreateWorkspaceRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const NetworkAccessConfiguration & GetNetworkAccessControl() const
void SetWorkspaceOrganizationalUnits(WorkspaceOrganizationalUnitsT &&value)
CreateWorkspaceRequest & WithPermissionType(PermissionType value)
void SetWorkspaceNotificationDestinations(WorkspaceNotificationDestinationsT &&value)
AWS_MANAGEDGRAFANA_API CreateWorkspaceRequest()=default
CreateWorkspaceRequest & WithKmsKeyId(KmsKeyIdT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector