/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace FMS { namespace Model { /** */ class GetViolationDetailsRequest : public FMSRequest { public: AWS_FMS_API GetViolationDetailsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetViolationDetails"; } AWS_FMS_API Aws::String SerializePayload() const override; AWS_FMS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The ID of the Firewall Manager policy that you want the details for. This * currently only supports security group content audit policies.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The Amazon Web Services account ID that you want the details for.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The ID of the resource that has violations.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

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

The resource type. This is in the format shown in the Amazon * Web Services Resource Types Reference. Supported resource types are: * AWS::EC2::Instance, AWS::EC2::NetworkInterface, * AWS::EC2::SecurityGroup, * AWS::NetworkFirewall::FirewallPolicy, and * AWS::EC2::Subnet.

*/ inline GetViolationDetailsRequest& WithResourceType(const char* value) { SetResourceType(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; }; } // namespace Model } // namespace FMS } // namespace Aws