/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FMS { namespace Model { /** *

Violations for a resource based on the specified Firewall Manager policy and * Amazon Web Services account.

See Also:

AWS * API Reference

*/ class ViolationDetail { public: AWS_FMS_API ViolationDetail(); AWS_FMS_API ViolationDetail(Aws::Utils::Json::JsonView jsonValue); AWS_FMS_API ViolationDetail& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FMS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline const Aws::String& GetPolicyId() const{ return m_policyId; } /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; } /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline void SetPolicyId(const Aws::String& value) { m_policyIdHasBeenSet = true; m_policyId = value; } /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline void SetPolicyId(Aws::String&& value) { m_policyIdHasBeenSet = true; m_policyId = std::move(value); } /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline void SetPolicyId(const char* value) { m_policyIdHasBeenSet = true; m_policyId.assign(value); } /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline ViolationDetail& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline ViolationDetail& WithPolicyId(Aws::String&& value) { SetPolicyId(std::move(value)); return *this;} /** *

The ID of the Firewall Manager policy that the violation details were * requested for.

*/ inline ViolationDetail& WithPolicyId(const char* value) { SetPolicyId(value); return *this;} /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline const Aws::String& GetMemberAccount() const{ return m_memberAccount; } /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline bool MemberAccountHasBeenSet() const { return m_memberAccountHasBeenSet; } /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline void SetMemberAccount(const Aws::String& value) { m_memberAccountHasBeenSet = true; m_memberAccount = value; } /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline void SetMemberAccount(Aws::String&& value) { m_memberAccountHasBeenSet = true; m_memberAccount = std::move(value); } /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline void SetMemberAccount(const char* value) { m_memberAccountHasBeenSet = true; m_memberAccount.assign(value); } /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline ViolationDetail& WithMemberAccount(const Aws::String& value) { SetMemberAccount(value); return *this;} /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline ViolationDetail& WithMemberAccount(Aws::String&& value) { SetMemberAccount(std::move(value)); return *this;} /** *

The Amazon Web Services account that the violation details were requested * for.

*/ inline ViolationDetail& WithMemberAccount(const char* value) { SetMemberAccount(value); return *this;} /** *

The resource ID that the violation details were requested for.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The resource ID that the violation details were requested for.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The resource ID that the violation details were requested for.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The resource ID that the violation details were requested for.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The resource ID that the violation details were requested for.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The resource ID that the violation details were requested for.

*/ inline ViolationDetail& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The resource ID that the violation details were requested for.

*/ inline ViolationDetail& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The resource ID that the violation details were requested for.

*/ inline ViolationDetail& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The resource type that the violation details were requested for.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

The resource type that the violation details were requested for.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The resource type that the violation details were requested for.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The resource type that the violation details were requested for.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The resource type that the violation details were requested for.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

The resource type that the violation details were requested for.

*/ inline ViolationDetail& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The resource type that the violation details were requested for.

*/ inline ViolationDetail& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The resource type that the violation details were requested for.

*/ inline ViolationDetail& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

List of violations for the requested resource.

*/ inline const Aws::Vector& GetResourceViolations() const{ return m_resourceViolations; } /** *

List of violations for the requested resource.

*/ inline bool ResourceViolationsHasBeenSet() const { return m_resourceViolationsHasBeenSet; } /** *

List of violations for the requested resource.

*/ inline void SetResourceViolations(const Aws::Vector& value) { m_resourceViolationsHasBeenSet = true; m_resourceViolations = value; } /** *

List of violations for the requested resource.

*/ inline void SetResourceViolations(Aws::Vector&& value) { m_resourceViolationsHasBeenSet = true; m_resourceViolations = std::move(value); } /** *

List of violations for the requested resource.

*/ inline ViolationDetail& WithResourceViolations(const Aws::Vector& value) { SetResourceViolations(value); return *this;} /** *

List of violations for the requested resource.

*/ inline ViolationDetail& WithResourceViolations(Aws::Vector&& value) { SetResourceViolations(std::move(value)); return *this;} /** *

List of violations for the requested resource.

*/ inline ViolationDetail& AddResourceViolations(const ResourceViolation& value) { m_resourceViolationsHasBeenSet = true; m_resourceViolations.push_back(value); return *this; } /** *

List of violations for the requested resource.

*/ inline ViolationDetail& AddResourceViolations(ResourceViolation&& value) { m_resourceViolationsHasBeenSet = true; m_resourceViolations.push_back(std::move(value)); return *this; } /** *

The ResourceTag objects associated with the resource.

*/ inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } /** *

The ResourceTag objects associated with the resource.

*/ inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } /** *

The ResourceTag objects associated with the resource.

*/ inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } /** *

The ResourceTag objects associated with the resource.

*/ inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } /** *

The ResourceTag objects associated with the resource.

*/ inline ViolationDetail& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} /** *

The ResourceTag objects associated with the resource.

*/ inline ViolationDetail& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} /** *

The ResourceTag objects associated with the resource.

*/ inline ViolationDetail& AddResourceTags(const Tag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } /** *

The ResourceTag objects associated with the resource.

*/ inline ViolationDetail& AddResourceTags(Tag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } /** *

Brief description for the requested resource.

*/ inline const Aws::String& GetResourceDescription() const{ return m_resourceDescription; } /** *

Brief description for the requested resource.

*/ inline bool ResourceDescriptionHasBeenSet() const { return m_resourceDescriptionHasBeenSet; } /** *

Brief description for the requested resource.

*/ inline void SetResourceDescription(const Aws::String& value) { m_resourceDescriptionHasBeenSet = true; m_resourceDescription = value; } /** *

Brief description for the requested resource.

*/ inline void SetResourceDescription(Aws::String&& value) { m_resourceDescriptionHasBeenSet = true; m_resourceDescription = std::move(value); } /** *

Brief description for the requested resource.

*/ inline void SetResourceDescription(const char* value) { m_resourceDescriptionHasBeenSet = true; m_resourceDescription.assign(value); } /** *

Brief description for the requested resource.

*/ inline ViolationDetail& WithResourceDescription(const Aws::String& value) { SetResourceDescription(value); return *this;} /** *

Brief description for the requested resource.

*/ inline ViolationDetail& WithResourceDescription(Aws::String&& value) { SetResourceDescription(std::move(value)); return *this;} /** *

Brief description for the requested resource.

*/ inline ViolationDetail& WithResourceDescription(const char* value) { SetResourceDescription(value); return *this;} private: Aws::String m_policyId; bool m_policyIdHasBeenSet = false; Aws::String m_memberAccount; bool m_memberAccountHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector m_resourceViolations; bool m_resourceViolationsHasBeenSet = false; Aws::Vector m_resourceTags; bool m_resourceTagsHasBeenSet = false; Aws::String m_resourceDescription; bool m_resourceDescriptionHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws