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/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 
13 namespace Aws
14 {
15 namespace WellArchitected
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Input for Update Workload Share</p><p><h3>See Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShareInput">AWS
23    * API Reference</a></p>
24    */
25   class AWS_WELLARCHITECTED_API UpdateWorkloadShareRequest : public WellArchitectedRequest
26   {
27   public:
28     UpdateWorkloadShareRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "UpdateWorkloadShare"; }
35 
36     Aws::String SerializePayload() const override;
37 
38 
39 
GetShareId()40     inline const Aws::String& GetShareId() const{ return m_shareId; }
41 
42 
ShareIdHasBeenSet()43     inline bool ShareIdHasBeenSet() const { return m_shareIdHasBeenSet; }
44 
45 
SetShareId(const Aws::String & value)46     inline void SetShareId(const Aws::String& value) { m_shareIdHasBeenSet = true; m_shareId = value; }
47 
48 
SetShareId(Aws::String && value)49     inline void SetShareId(Aws::String&& value) { m_shareIdHasBeenSet = true; m_shareId = std::move(value); }
50 
51 
SetShareId(const char * value)52     inline void SetShareId(const char* value) { m_shareIdHasBeenSet = true; m_shareId.assign(value); }
53 
54 
WithShareId(const Aws::String & value)55     inline UpdateWorkloadShareRequest& WithShareId(const Aws::String& value) { SetShareId(value); return *this;}
56 
57 
WithShareId(Aws::String && value)58     inline UpdateWorkloadShareRequest& WithShareId(Aws::String&& value) { SetShareId(std::move(value)); return *this;}
59 
60 
WithShareId(const char * value)61     inline UpdateWorkloadShareRequest& WithShareId(const char* value) { SetShareId(value); return *this;}
62 
63 
64 
GetWorkloadId()65     inline const Aws::String& GetWorkloadId() const{ return m_workloadId; }
66 
67 
WorkloadIdHasBeenSet()68     inline bool WorkloadIdHasBeenSet() const { return m_workloadIdHasBeenSet; }
69 
70 
SetWorkloadId(const Aws::String & value)71     inline void SetWorkloadId(const Aws::String& value) { m_workloadIdHasBeenSet = true; m_workloadId = value; }
72 
73 
SetWorkloadId(Aws::String && value)74     inline void SetWorkloadId(Aws::String&& value) { m_workloadIdHasBeenSet = true; m_workloadId = std::move(value); }
75 
76 
SetWorkloadId(const char * value)77     inline void SetWorkloadId(const char* value) { m_workloadIdHasBeenSet = true; m_workloadId.assign(value); }
78 
79 
WithWorkloadId(const Aws::String & value)80     inline UpdateWorkloadShareRequest& WithWorkloadId(const Aws::String& value) { SetWorkloadId(value); return *this;}
81 
82 
WithWorkloadId(Aws::String && value)83     inline UpdateWorkloadShareRequest& WithWorkloadId(Aws::String&& value) { SetWorkloadId(std::move(value)); return *this;}
84 
85 
WithWorkloadId(const char * value)86     inline UpdateWorkloadShareRequest& WithWorkloadId(const char* value) { SetWorkloadId(value); return *this;}
87 
88 
89 
GetPermissionType()90     inline const PermissionType& GetPermissionType() const{ return m_permissionType; }
91 
92 
PermissionTypeHasBeenSet()93     inline bool PermissionTypeHasBeenSet() const { return m_permissionTypeHasBeenSet; }
94 
95 
SetPermissionType(const PermissionType & value)96     inline void SetPermissionType(const PermissionType& value) { m_permissionTypeHasBeenSet = true; m_permissionType = value; }
97 
98 
SetPermissionType(PermissionType && value)99     inline void SetPermissionType(PermissionType&& value) { m_permissionTypeHasBeenSet = true; m_permissionType = std::move(value); }
100 
101 
WithPermissionType(const PermissionType & value)102     inline UpdateWorkloadShareRequest& WithPermissionType(const PermissionType& value) { SetPermissionType(value); return *this;}
103 
104 
WithPermissionType(PermissionType && value)105     inline UpdateWorkloadShareRequest& WithPermissionType(PermissionType&& value) { SetPermissionType(std::move(value)); return *this;}
106 
107   private:
108 
109     Aws::String m_shareId;
110     bool m_shareIdHasBeenSet;
111 
112     Aws::String m_workloadId;
113     bool m_workloadIdHasBeenSet;
114 
115     PermissionType m_permissionType;
116     bool m_permissionTypeHasBeenSet;
117   };
118 
119 } // namespace Model
120 } // namespace WellArchitected
121 } // namespace Aws
122