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/auditmanager/AuditManager_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/auditmanager/model/FrameworkMetadata.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/auditmanager/model/AssessmentControlSet.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace AuditManager 25 { 26 namespace Model 27 { 28 29 /** 30 * <p> The file used to structure and automate Audit Manager assessments for a 31 * given compliance standard. </p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/AssessmentFramework">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_AUDITMANAGER_API AssessmentFramework 36 { 37 public: 38 AssessmentFramework(); 39 AssessmentFramework(Aws::Utils::Json::JsonView jsonValue); 40 AssessmentFramework& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p> The unique identifier for the framework. </p> 46 */ GetId()47 inline const Aws::String& GetId() const{ return m_id; } 48 49 /** 50 * <p> The unique identifier for the framework. </p> 51 */ IdHasBeenSet()52 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 53 54 /** 55 * <p> The unique identifier for the framework. </p> 56 */ SetId(const Aws::String & value)57 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 58 59 /** 60 * <p> The unique identifier for the framework. </p> 61 */ SetId(Aws::String && value)62 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 63 64 /** 65 * <p> The unique identifier for the framework. </p> 66 */ SetId(const char * value)67 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 68 69 /** 70 * <p> The unique identifier for the framework. </p> 71 */ WithId(const Aws::String & value)72 inline AssessmentFramework& WithId(const Aws::String& value) { SetId(value); return *this;} 73 74 /** 75 * <p> The unique identifier for the framework. </p> 76 */ WithId(Aws::String && value)77 inline AssessmentFramework& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 78 79 /** 80 * <p> The unique identifier for the framework. </p> 81 */ WithId(const char * value)82 inline AssessmentFramework& WithId(const char* value) { SetId(value); return *this;} 83 84 85 /** 86 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 87 */ GetArn()88 inline const Aws::String& GetArn() const{ return m_arn; } 89 90 /** 91 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 92 */ ArnHasBeenSet()93 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 94 95 /** 96 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 97 */ SetArn(const Aws::String & value)98 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 99 100 /** 101 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 102 */ SetArn(Aws::String && value)103 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 104 105 /** 106 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 107 */ SetArn(const char * value)108 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 109 110 /** 111 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 112 */ WithArn(const Aws::String & value)113 inline AssessmentFramework& WithArn(const Aws::String& value) { SetArn(value); return *this;} 114 115 /** 116 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 117 */ WithArn(Aws::String && value)118 inline AssessmentFramework& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 119 120 /** 121 * <p> The Amazon Resource Name (ARN) of the specified framework. </p> 122 */ WithArn(const char * value)123 inline AssessmentFramework& WithArn(const char* value) { SetArn(value); return *this;} 124 125 126 GetMetadata()127 inline const FrameworkMetadata& GetMetadata() const{ return m_metadata; } 128 129 MetadataHasBeenSet()130 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } 131 132 SetMetadata(const FrameworkMetadata & value)133 inline void SetMetadata(const FrameworkMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } 134 135 SetMetadata(FrameworkMetadata && value)136 inline void SetMetadata(FrameworkMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } 137 138 WithMetadata(const FrameworkMetadata & value)139 inline AssessmentFramework& WithMetadata(const FrameworkMetadata& value) { SetMetadata(value); return *this;} 140 141 WithMetadata(FrameworkMetadata && value)142 inline AssessmentFramework& WithMetadata(FrameworkMetadata&& value) { SetMetadata(std::move(value)); return *this;} 143 144 145 /** 146 * <p> The control sets associated with the framework. </p> 147 */ GetControlSets()148 inline const Aws::Vector<AssessmentControlSet>& GetControlSets() const{ return m_controlSets; } 149 150 /** 151 * <p> The control sets associated with the framework. </p> 152 */ ControlSetsHasBeenSet()153 inline bool ControlSetsHasBeenSet() const { return m_controlSetsHasBeenSet; } 154 155 /** 156 * <p> The control sets associated with the framework. </p> 157 */ SetControlSets(const Aws::Vector<AssessmentControlSet> & value)158 inline void SetControlSets(const Aws::Vector<AssessmentControlSet>& value) { m_controlSetsHasBeenSet = true; m_controlSets = value; } 159 160 /** 161 * <p> The control sets associated with the framework. </p> 162 */ SetControlSets(Aws::Vector<AssessmentControlSet> && value)163 inline void SetControlSets(Aws::Vector<AssessmentControlSet>&& value) { m_controlSetsHasBeenSet = true; m_controlSets = std::move(value); } 164 165 /** 166 * <p> The control sets associated with the framework. </p> 167 */ WithControlSets(const Aws::Vector<AssessmentControlSet> & value)168 inline AssessmentFramework& WithControlSets(const Aws::Vector<AssessmentControlSet>& value) { SetControlSets(value); return *this;} 169 170 /** 171 * <p> The control sets associated with the framework. </p> 172 */ WithControlSets(Aws::Vector<AssessmentControlSet> && value)173 inline AssessmentFramework& WithControlSets(Aws::Vector<AssessmentControlSet>&& value) { SetControlSets(std::move(value)); return *this;} 174 175 /** 176 * <p> The control sets associated with the framework. </p> 177 */ AddControlSets(const AssessmentControlSet & value)178 inline AssessmentFramework& AddControlSets(const AssessmentControlSet& value) { m_controlSetsHasBeenSet = true; m_controlSets.push_back(value); return *this; } 179 180 /** 181 * <p> The control sets associated with the framework. </p> 182 */ AddControlSets(AssessmentControlSet && value)183 inline AssessmentFramework& AddControlSets(AssessmentControlSet&& value) { m_controlSetsHasBeenSet = true; m_controlSets.push_back(std::move(value)); return *this; } 184 185 private: 186 187 Aws::String m_id; 188 bool m_idHasBeenSet; 189 190 Aws::String m_arn; 191 bool m_arnHasBeenSet; 192 193 FrameworkMetadata m_metadata; 194 bool m_metadataHasBeenSet; 195 196 Aws::Vector<AssessmentControlSet> m_controlSets; 197 bool m_controlSetsHasBeenSet; 198 }; 199 200 } // namespace Model 201 } // namespace AuditManager 202 } // namespace Aws 203