AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateWorkloadShareRequest.h
1
6#pragma once
7#include <aws/wellarchitected/WellArchitected_EXPORTS.h>
8#include <aws/wellarchitected/WellArchitectedRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/wellarchitected/model/PermissionType.h>
11#include <utility>
12#include <aws/core/utils/UUID.h>
13
14namespace Aws
15{
16namespace WellArchitected
17{
18namespace Model
19{
20
27 {
28 public:
29 AWS_WELLARCHITECTED_API CreateWorkloadShareRequest() = default;
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.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateWorkloadShare"; }
36
37 AWS_WELLARCHITECTED_API Aws::String SerializePayload() const override;
38
39
41
42 inline const Aws::String& GetWorkloadId() const { return m_workloadId; }
43 inline bool WorkloadIdHasBeenSet() const { return m_workloadIdHasBeenSet; }
44 template<typename WorkloadIdT = Aws::String>
45 void SetWorkloadId(WorkloadIdT&& value) { m_workloadIdHasBeenSet = true; m_workloadId = std::forward<WorkloadIdT>(value); }
46 template<typename WorkloadIdT = Aws::String>
47 CreateWorkloadShareRequest& WithWorkloadId(WorkloadIdT&& value) { SetWorkloadId(std::forward<WorkloadIdT>(value)); return *this;}
49
51
52 inline const Aws::String& GetSharedWith() const { return m_sharedWith; }
53 inline bool SharedWithHasBeenSet() const { return m_sharedWithHasBeenSet; }
54 template<typename SharedWithT = Aws::String>
55 void SetSharedWith(SharedWithT&& value) { m_sharedWithHasBeenSet = true; m_sharedWith = std::forward<SharedWithT>(value); }
56 template<typename SharedWithT = Aws::String>
57 CreateWorkloadShareRequest& WithSharedWith(SharedWithT&& value) { SetSharedWith(std::forward<SharedWithT>(value)); return *this;}
59
61
62 inline PermissionType GetPermissionType() const { return m_permissionType; }
63 inline bool PermissionTypeHasBeenSet() const { return m_permissionTypeHasBeenSet; }
64 inline void SetPermissionType(PermissionType value) { m_permissionTypeHasBeenSet = true; m_permissionType = value; }
67
69
70 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
71 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
72 template<typename ClientRequestTokenT = Aws::String>
73 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
74 template<typename ClientRequestTokenT = Aws::String>
75 CreateWorkloadShareRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
77 private:
78
79 Aws::String m_workloadId;
80 bool m_workloadIdHasBeenSet = false;
81
82 Aws::String m_sharedWith;
83 bool m_sharedWithHasBeenSet = false;
84
86 bool m_permissionTypeHasBeenSet = false;
87
88 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
89 bool m_clientRequestTokenHasBeenSet = true;
90 };
91
92} // namespace Model
93} // namespace WellArchitected
94} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
CreateWorkloadShareRequest & WithClientRequestToken(ClientRequestTokenT &&value)
CreateWorkloadShareRequest & WithPermissionType(PermissionType value)
CreateWorkloadShareRequest & WithWorkloadId(WorkloadIdT &&value)
AWS_WELLARCHITECTED_API CreateWorkloadShareRequest()=default
AWS_WELLARCHITECTED_API Aws::String SerializePayload() const override
CreateWorkloadShareRequest & WithSharedWith(SharedWithT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String