/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.fms.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Details of the Firewall Manager policy. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PolicySummary implements Serializable, Cloneable, StructuredPojo { /** *

* The Amazon Resource Name (ARN) of the specified policy. *

*/ private String policyArn; /** *

* The ID of the specified policy. *

*/ private String policyId; /** *

* The name of the specified policy. *

*/ private String policyName; /** *

* The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon * Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. *

*/ private String resourceType; /** *

* The service that the policy is using to protect the resources. This specifies the type of policy that is created, * either an WAF policy, a Shield Advanced policy, or a security group policy. *

*/ private String securityServiceType; /** *

* Indicates if the policy should be automatically applied to new resources. *

*/ private Boolean remediationEnabled; /** *

* Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy * scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy * scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected * customer resource when the customer resource leaves policy scope. *

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. *

*/ private Boolean deleteUnusedFMManagedResources; /** *

* Indicates whether the policy is in or out of an admin's policy or Region scope. *

* */ private String policyStatus; /** *

* The Amazon Resource Name (ARN) of the specified policy. *

* * @param policyArn * The Amazon Resource Name (ARN) of the specified policy. */ public void setPolicyArn(String policyArn) { this.policyArn = policyArn; } /** *

* The Amazon Resource Name (ARN) of the specified policy. *

* * @return The Amazon Resource Name (ARN) of the specified policy. */ public String getPolicyArn() { return this.policyArn; } /** *

* The Amazon Resource Name (ARN) of the specified policy. *

* * @param policyArn * The Amazon Resource Name (ARN) of the specified policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicySummary withPolicyArn(String policyArn) { setPolicyArn(policyArn); return this; } /** *

* The ID of the specified policy. *

* * @param policyId * The ID of the specified policy. */ public void setPolicyId(String policyId) { this.policyId = policyId; } /** *

* The ID of the specified policy. *

* * @return The ID of the specified policy. */ public String getPolicyId() { return this.policyId; } /** *

* The ID of the specified policy. *

* * @param policyId * The ID of the specified policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicySummary withPolicyId(String policyId) { setPolicyId(policyId); return this; } /** *

* The name of the specified policy. *

* * @param policyName * The name of the specified policy. */ public void setPolicyName(String policyName) { this.policyName = policyName; } /** *

* The name of the specified policy. *

* * @return The name of the specified policy. */ public String getPolicyName() { return this.policyName; } /** *

* The name of the specified policy. *

* * @param policyName * The name of the specified policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicySummary withPolicyName(String policyName) { setPolicyName(policyName); return this; } /** *

* The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon * Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. *

* * @param resourceType * The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. */ public void setResourceType(String resourceType) { this.resourceType = resourceType; } /** *

* The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon * Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. *

* * @return The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. */ public String getResourceType() { return this.resourceType; } /** *

* The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon * Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. *

* * @param resourceType * The type of resource protected by or in scope of the policy. This is in the format shown in the Amazon Web Services Resource Types Reference. For 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. For an Network Firewall policy or DNS Firewall policy, the value is * AWS::EC2::VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicySummary withResourceType(String resourceType) { setResourceType(resourceType); return this; } /** *

* The service that the policy is using to protect the resources. This specifies the type of policy that is created, * either an WAF policy, a Shield Advanced policy, or a security group policy. *

* * @param securityServiceType * The service that the policy is using to protect the resources. This specifies the type of policy that is * created, either an WAF policy, a Shield Advanced policy, or a security group policy. * @see SecurityServiceType */ public void setSecurityServiceType(String securityServiceType) { this.securityServiceType = securityServiceType; } /** *

* The service that the policy is using to protect the resources. This specifies the type of policy that is created, * either an WAF policy, a Shield Advanced policy, or a security group policy. *

* * @return The service that the policy is using to protect the resources. This specifies the type of policy that is * created, either an WAF policy, a Shield Advanced policy, or a security group policy. * @see SecurityServiceType */ public String getSecurityServiceType() { return this.securityServiceType; } /** *

* The service that the policy is using to protect the resources. This specifies the type of policy that is created, * either an WAF policy, a Shield Advanced policy, or a security group policy. *

* * @param securityServiceType * The service that the policy is using to protect the resources. This specifies the type of policy that is * created, either an WAF policy, a Shield Advanced policy, or a security group policy. * @return Returns a reference to this object so that method calls can be chained together. * @see SecurityServiceType */ public PolicySummary withSecurityServiceType(String securityServiceType) { setSecurityServiceType(securityServiceType); return this; } /** *

* The service that the policy is using to protect the resources. This specifies the type of policy that is created, * either an WAF policy, a Shield Advanced policy, or a security group policy. *

* * @param securityServiceType * The service that the policy is using to protect the resources. This specifies the type of policy that is * created, either an WAF policy, a Shield Advanced policy, or a security group policy. * @return Returns a reference to this object so that method calls can be chained together. * @see SecurityServiceType */ public PolicySummary withSecurityServiceType(SecurityServiceType securityServiceType) { this.securityServiceType = securityServiceType.toString(); return this; } /** *

* Indicates if the policy should be automatically applied to new resources. *

* * @param remediationEnabled * Indicates if the policy should be automatically applied to new resources. */ public void setRemediationEnabled(Boolean remediationEnabled) { this.remediationEnabled = remediationEnabled; } /** *

* Indicates if the policy should be automatically applied to new resources. *

* * @return Indicates if the policy should be automatically applied to new resources. */ public Boolean getRemediationEnabled() { return this.remediationEnabled; } /** *

* Indicates if the policy should be automatically applied to new resources. *

* * @param remediationEnabled * Indicates if the policy should be automatically applied to new resources. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicySummary withRemediationEnabled(Boolean remediationEnabled) { setRemediationEnabled(remediationEnabled); return this; } /** *

* Indicates if the policy should be automatically applied to new resources. *

* * @return Indicates if the policy should be automatically applied to new resources. */ public Boolean isRemediationEnabled() { return this.remediationEnabled; } /** *

* Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy * scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy * scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected * customer resource when the customer resource leaves policy scope. *

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. *

* * @param deleteUnusedFMManagedResources * Indicates whether Firewall Manager should automatically remove protections from resources that leave the * policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts * leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL * from a protected customer resource when the customer resource leaves policy scope.

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. */ public void setDeleteUnusedFMManagedResources(Boolean deleteUnusedFMManagedResources) { this.deleteUnusedFMManagedResources = deleteUnusedFMManagedResources; } /** *

* Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy * scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy * scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected * customer resource when the customer resource leaves policy scope. *

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. *

* * @return Indicates whether Firewall Manager should automatically remove protections from resources that leave the * policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts * leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL * from a protected customer resource when the customer resource leaves policy scope.

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. */ public Boolean getDeleteUnusedFMManagedResources() { return this.deleteUnusedFMManagedResources; } /** *

* Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy * scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy * scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected * customer resource when the customer resource leaves policy scope. *

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. *

* * @param deleteUnusedFMManagedResources * Indicates whether Firewall Manager should automatically remove protections from resources that leave the * policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts * leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL * from a protected customer resource when the customer resource leaves policy scope.

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicySummary withDeleteUnusedFMManagedResources(Boolean deleteUnusedFMManagedResources) { setDeleteUnusedFMManagedResources(deleteUnusedFMManagedResources); return this; } /** *

* Indicates whether Firewall Manager should automatically remove protections from resources that leave the policy * scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy * scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected * customer resource when the customer resource leaves policy scope. *

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. *

* * @return Indicates whether Firewall Manager should automatically remove protections from resources that leave the * policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts * leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL * from a protected customer resource when the customer resource leaves policy scope.

*

* By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. *

*

* This option is not available for Shield Advanced or WAF Classic policies. */ public Boolean isDeleteUnusedFMManagedResources() { return this.deleteUnusedFMManagedResources; } /** *

* Indicates whether the policy is in or out of an admin's policy or Region scope. *

* * * @param policyStatus * Indicates whether the policy is in or out of an admin's policy or Region scope.

*