/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details of the AWS Firewall Manager policy. See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the specified policy.
*/ inline const Aws::String& GetPolicyArn() const{ return m_policyArn; } /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline void SetPolicyArn(const Aws::String& value) { m_policyArnHasBeenSet = true; m_policyArn = value; } /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline void SetPolicyArn(Aws::String&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline void SetPolicyArn(const char* value) { m_policyArnHasBeenSet = true; m_policyArn.assign(value); } /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline PolicySummary& WithPolicyArn(const Aws::String& value) { SetPolicyArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline PolicySummary& WithPolicyArn(Aws::String&& value) { SetPolicyArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the specified policy.
*/ inline PolicySummary& WithPolicyArn(const char* value) { SetPolicyArn(value); return *this;} /** *The ID of the specified policy.
*/ inline const Aws::String& GetPolicyId() const{ return m_policyId; } /** *The ID of the specified policy.
*/ inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; } /** *The ID of the specified policy.
*/ inline void SetPolicyId(const Aws::String& value) { m_policyIdHasBeenSet = true; m_policyId = value; } /** *The ID of the specified policy.
*/ inline void SetPolicyId(Aws::String&& value) { m_policyIdHasBeenSet = true; m_policyId = std::move(value); } /** *The ID of the specified policy.
*/ inline void SetPolicyId(const char* value) { m_policyIdHasBeenSet = true; m_policyId.assign(value); } /** *The ID of the specified policy.
*/ inline PolicySummary& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} /** *The ID of the specified policy.
*/ inline PolicySummary& WithPolicyId(Aws::String&& value) { SetPolicyId(std::move(value)); return *this;} /** *The ID of the specified policy.
*/ inline PolicySummary& WithPolicyId(const char* value) { SetPolicyId(value); return *this;} /** *The name of the specified policy.
*/ inline const Aws::String& GetPolicyName() const{ return m_policyName; } /** *The name of the specified policy.
*/ inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } /** *The name of the specified policy.
*/ inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } /** *The name of the specified policy.
*/ inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } /** *The name of the specified policy.
*/ inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } /** *The name of the specified policy.
*/ inline PolicySummary& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} /** *The name of the specified policy.
*/ inline PolicySummary& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} /** *The name of the specified policy.
*/ inline PolicySummary& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} /** *The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The type of resource protected by or in scope of the policy. This is in the
* format shown in the AWS
* Resource Types Reference. For AWS WAF and Shield Advanced, examples include
* AWS::ElasticLoadBalancingV2::LoadBalancer and
* AWS::CloudFront::Distribution. For a security group common policy,
* valid values are AWS::EC2::NetworkInterface and
* AWS::EC2::Instance. For a security group content audit policy,
* valid values are AWS::EC2::SecurityGroup,
* AWS::EC2::NetworkInterface, and AWS::EC2::Instance.
* For a security group usage audit policy, the value is
* AWS::EC2::SecurityGroup.
The service that the policy is using to protect the resources. This specifies * the type of policy that is created, either an AWS WAF policy, a Shield Advanced * policy, or a security group policy.
*/ inline const SecurityServiceType& GetSecurityServiceType() const{ return m_securityServiceType; } /** *The service that the policy is using to protect the resources. This specifies * the type of policy that is created, either an AWS WAF policy, a Shield Advanced * policy, or a security group policy.
*/ inline bool SecurityServiceTypeHasBeenSet() const { return m_securityServiceTypeHasBeenSet; } /** *The service that the policy is using to protect the resources. This specifies * the type of policy that is created, either an AWS WAF policy, a Shield Advanced * policy, or a security group policy.
*/ inline void SetSecurityServiceType(const SecurityServiceType& value) { m_securityServiceTypeHasBeenSet = true; m_securityServiceType = value; } /** *The service that the policy is using to protect the resources. This specifies * the type of policy that is created, either an AWS WAF policy, a Shield Advanced * policy, or a security group policy.
*/ inline void SetSecurityServiceType(SecurityServiceType&& value) { m_securityServiceTypeHasBeenSet = true; m_securityServiceType = std::move(value); } /** *The service that the policy is using to protect the resources. This specifies * the type of policy that is created, either an AWS WAF policy, a Shield Advanced * policy, or a security group policy.
*/ inline PolicySummary& WithSecurityServiceType(const SecurityServiceType& value) { SetSecurityServiceType(value); return *this;} /** *The service that the policy is using to protect the resources. This specifies * the type of policy that is created, either an AWS WAF policy, a Shield Advanced * policy, or a security group policy.
*/ inline PolicySummary& WithSecurityServiceType(SecurityServiceType&& value) { SetSecurityServiceType(std::move(value)); return *this;} /** *Indicates if the policy should be automatically applied to new resources.
*/ inline bool GetRemediationEnabled() const{ return m_remediationEnabled; } /** *Indicates if the policy should be automatically applied to new resources.
*/ inline bool RemediationEnabledHasBeenSet() const { return m_remediationEnabledHasBeenSet; } /** *Indicates if the policy should be automatically applied to new resources.
*/ inline void SetRemediationEnabled(bool value) { m_remediationEnabledHasBeenSet = true; m_remediationEnabled = value; } /** *Indicates if the policy should be automatically applied to new resources.
*/ inline PolicySummary& WithRemediationEnabled(bool value) { SetRemediationEnabled(value); return *this;} private: Aws::String m_policyArn; bool m_policyArnHasBeenSet; Aws::String m_policyId; bool m_policyIdHasBeenSet; Aws::String m_policyName; bool m_policyNameHasBeenSet; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet; SecurityServiceType m_securityServiceType; bool m_securityServiceTypeHasBeenSet; bool m_remediationEnabled; bool m_remediationEnabledHasBeenSet; }; } // namespace Model } // namespace FMS } // namespace Aws