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/fms/FMS_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace FMS 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The reference rule that partially matches the <code>ViolationTarget</code> 29 * rule and violation reason.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PartialMatch">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_FMS_API PartialMatch 34 { 35 public: 36 PartialMatch(); 37 PartialMatch(Aws::Utils::Json::JsonView jsonValue); 38 PartialMatch& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The reference rule from the primary security group of the Firewall Manager 44 * policy.</p> 45 */ GetReference()46 inline const Aws::String& GetReference() const{ return m_reference; } 47 48 /** 49 * <p>The reference rule from the primary security group of the Firewall Manager 50 * policy.</p> 51 */ ReferenceHasBeenSet()52 inline bool ReferenceHasBeenSet() const { return m_referenceHasBeenSet; } 53 54 /** 55 * <p>The reference rule from the primary security group of the Firewall Manager 56 * policy.</p> 57 */ SetReference(const Aws::String & value)58 inline void SetReference(const Aws::String& value) { m_referenceHasBeenSet = true; m_reference = value; } 59 60 /** 61 * <p>The reference rule from the primary security group of the Firewall Manager 62 * policy.</p> 63 */ SetReference(Aws::String && value)64 inline void SetReference(Aws::String&& value) { m_referenceHasBeenSet = true; m_reference = std::move(value); } 65 66 /** 67 * <p>The reference rule from the primary security group of the Firewall Manager 68 * policy.</p> 69 */ SetReference(const char * value)70 inline void SetReference(const char* value) { m_referenceHasBeenSet = true; m_reference.assign(value); } 71 72 /** 73 * <p>The reference rule from the primary security group of the Firewall Manager 74 * policy.</p> 75 */ WithReference(const Aws::String & value)76 inline PartialMatch& WithReference(const Aws::String& value) { SetReference(value); return *this;} 77 78 /** 79 * <p>The reference rule from the primary security group of the Firewall Manager 80 * policy.</p> 81 */ WithReference(Aws::String && value)82 inline PartialMatch& WithReference(Aws::String&& value) { SetReference(std::move(value)); return *this;} 83 84 /** 85 * <p>The reference rule from the primary security group of the Firewall Manager 86 * policy.</p> 87 */ WithReference(const char * value)88 inline PartialMatch& WithReference(const char* value) { SetReference(value); return *this;} 89 90 91 /** 92 * <p>The violation reason.</p> 93 */ GetTargetViolationReasons()94 inline const Aws::Vector<Aws::String>& GetTargetViolationReasons() const{ return m_targetViolationReasons; } 95 96 /** 97 * <p>The violation reason.</p> 98 */ TargetViolationReasonsHasBeenSet()99 inline bool TargetViolationReasonsHasBeenSet() const { return m_targetViolationReasonsHasBeenSet; } 100 101 /** 102 * <p>The violation reason.</p> 103 */ SetTargetViolationReasons(const Aws::Vector<Aws::String> & value)104 inline void SetTargetViolationReasons(const Aws::Vector<Aws::String>& value) { m_targetViolationReasonsHasBeenSet = true; m_targetViolationReasons = value; } 105 106 /** 107 * <p>The violation reason.</p> 108 */ SetTargetViolationReasons(Aws::Vector<Aws::String> && value)109 inline void SetTargetViolationReasons(Aws::Vector<Aws::String>&& value) { m_targetViolationReasonsHasBeenSet = true; m_targetViolationReasons = std::move(value); } 110 111 /** 112 * <p>The violation reason.</p> 113 */ WithTargetViolationReasons(const Aws::Vector<Aws::String> & value)114 inline PartialMatch& WithTargetViolationReasons(const Aws::Vector<Aws::String>& value) { SetTargetViolationReasons(value); return *this;} 115 116 /** 117 * <p>The violation reason.</p> 118 */ WithTargetViolationReasons(Aws::Vector<Aws::String> && value)119 inline PartialMatch& WithTargetViolationReasons(Aws::Vector<Aws::String>&& value) { SetTargetViolationReasons(std::move(value)); return *this;} 120 121 /** 122 * <p>The violation reason.</p> 123 */ AddTargetViolationReasons(const Aws::String & value)124 inline PartialMatch& AddTargetViolationReasons(const Aws::String& value) { m_targetViolationReasonsHasBeenSet = true; m_targetViolationReasons.push_back(value); return *this; } 125 126 /** 127 * <p>The violation reason.</p> 128 */ AddTargetViolationReasons(Aws::String && value)129 inline PartialMatch& AddTargetViolationReasons(Aws::String&& value) { m_targetViolationReasonsHasBeenSet = true; m_targetViolationReasons.push_back(std::move(value)); return *this; } 130 131 /** 132 * <p>The violation reason.</p> 133 */ AddTargetViolationReasons(const char * value)134 inline PartialMatch& AddTargetViolationReasons(const char* value) { m_targetViolationReasonsHasBeenSet = true; m_targetViolationReasons.push_back(value); return *this; } 135 136 private: 137 138 Aws::String m_reference; 139 bool m_referenceHasBeenSet; 140 141 Aws::Vector<Aws::String> m_targetViolationReasons; 142 bool m_targetViolationReasonsHasBeenSet; 143 }; 144 145 } // namespace Model 146 } // namespace FMS 147 } // namespace Aws 148