/* * 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
.
*
* 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. *
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy won't be
* protected.
*
* 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
.
*
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
.
*
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
.
*
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. *
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy won't be
* protected.
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy
* won't be protected.
*
* Indicates whether the policy is in or out of an admin's policy or Region scope. *
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy won't be
* protected.
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete
* the policy. Existing policy protections stay in place. Any new resources that come into scope of the
* policy won't be protected.
*
* Indicates whether the policy is in or out of an admin's policy or Region scope. *
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy won't be
* protected.
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy
* won't be protected.
*
* Indicates whether the policy is in or out of an admin's policy or Region scope. *
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy won't be
* protected.
*
* ACTIVE
- The administrator can manage and delete the policy.
*
* OUT_OF_ADMIN_SCOPE
- The administrator can view the policy, but they can't edit or delete the
* policy. Existing policy protections stay in place. Any new resources that come into scope of the policy
* won't be protected.
*