All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.fms.CfnPolicyProps Maven / Gradle / Ivy

package software.amazon.awscdk.services.fms;

/**
 * Properties for defining a `AWS::FMS::Policy`.
 * 

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html */ @javax.annotation.Generated(value = "jsii-pacmak/1.12.0 (build 5ddc9f2)", date = "2020-09-25T17:39:00.764Z") @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.fms.$Module.class, fqn = "@aws-cdk/aws-fms.CfnPolicyProps") @software.amazon.jsii.Jsii.Proxy(CfnPolicyProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface CfnPolicyProps extends software.amazon.jsii.JsiiSerializable { /** * `AWS::FMS::Policy.ExcludeResourceTags`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-excluderesourcetags */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getExcludeResourceTags(); /** * `AWS::FMS::Policy.PolicyName`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-policyname */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getPolicyName(); /** * `AWS::FMS::Policy.RemediationEnabled`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-remediationenabled */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getRemediationEnabled(); /** * `AWS::FMS::Policy.ResourceType`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetype */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getResourceType(); /** * `AWS::FMS::Policy.SecurityServicePolicyData`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-securityservicepolicydata */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Object getSecurityServicePolicyData(); /** * `AWS::FMS::Policy.DeleteAllPolicyResources`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-deleteallpolicyresources */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getDeleteAllPolicyResources() { return null; } /** * `AWS::FMS::Policy.ExcludeMap`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-excludemap */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getExcludeMap() { return null; } /** * `AWS::FMS::Policy.IncludeMap`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-includemap */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getIncludeMap() { return null; } /** * `AWS::FMS::Policy.ResourceTags`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetags */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getResourceTags() { return null; } /** * `AWS::FMS::Policy.ResourceTypeList`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetypelist */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getResourceTypeList() { return null; } /** * `AWS::FMS::Policy.Tags`. *

* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-tags */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getTags() { return null; } /** * @return a {@link Builder} of {@link CfnPolicyProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link CfnPolicyProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { private java.lang.Object excludeResourceTags; private java.lang.String policyName; private java.lang.Object remediationEnabled; private java.lang.String resourceType; private java.lang.Object securityServicePolicyData; private java.lang.Object deleteAllPolicyResources; private java.lang.Object excludeMap; private java.lang.Object includeMap; private java.lang.Object resourceTags; private java.util.List resourceTypeList; private java.util.List tags; /** * Sets the value of {@link CfnPolicyProps#getExcludeResourceTags} * @param excludeResourceTags `AWS::FMS::Policy.ExcludeResourceTags`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder excludeResourceTags(java.lang.Boolean excludeResourceTags) { this.excludeResourceTags = excludeResourceTags; return this; } /** * Sets the value of {@link CfnPolicyProps#getExcludeResourceTags} * @param excludeResourceTags `AWS::FMS::Policy.ExcludeResourceTags`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder excludeResourceTags(software.amazon.awscdk.core.IResolvable excludeResourceTags) { this.excludeResourceTags = excludeResourceTags; return this; } /** * Sets the value of {@link CfnPolicyProps#getPolicyName} * @param policyName `AWS::FMS::Policy.PolicyName`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder policyName(java.lang.String policyName) { this.policyName = policyName; return this; } /** * Sets the value of {@link CfnPolicyProps#getRemediationEnabled} * @param remediationEnabled `AWS::FMS::Policy.RemediationEnabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder remediationEnabled(java.lang.Boolean remediationEnabled) { this.remediationEnabled = remediationEnabled; return this; } /** * Sets the value of {@link CfnPolicyProps#getRemediationEnabled} * @param remediationEnabled `AWS::FMS::Policy.RemediationEnabled`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder remediationEnabled(software.amazon.awscdk.core.IResolvable remediationEnabled) { this.remediationEnabled = remediationEnabled; return this; } /** * Sets the value of {@link CfnPolicyProps#getResourceType} * @param resourceType `AWS::FMS::Policy.ResourceType`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder resourceType(java.lang.String resourceType) { this.resourceType = resourceType; return this; } /** * Sets the value of {@link CfnPolicyProps#getSecurityServicePolicyData} * @param securityServicePolicyData `AWS::FMS::Policy.SecurityServicePolicyData`. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder securityServicePolicyData(java.lang.Object securityServicePolicyData) { this.securityServicePolicyData = securityServicePolicyData; return this; } /** * Sets the value of {@link CfnPolicyProps#getDeleteAllPolicyResources} * @param deleteAllPolicyResources `AWS::FMS::Policy.DeleteAllPolicyResources`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deleteAllPolicyResources(java.lang.Boolean deleteAllPolicyResources) { this.deleteAllPolicyResources = deleteAllPolicyResources; return this; } /** * Sets the value of {@link CfnPolicyProps#getDeleteAllPolicyResources} * @param deleteAllPolicyResources `AWS::FMS::Policy.DeleteAllPolicyResources`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deleteAllPolicyResources(software.amazon.awscdk.core.IResolvable deleteAllPolicyResources) { this.deleteAllPolicyResources = deleteAllPolicyResources; return this; } /** * Sets the value of {@link CfnPolicyProps#getExcludeMap} * @param excludeMap `AWS::FMS::Policy.ExcludeMap`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder excludeMap(software.amazon.awscdk.core.IResolvable excludeMap) { this.excludeMap = excludeMap; return this; } /** * Sets the value of {@link CfnPolicyProps#getExcludeMap} * @param excludeMap `AWS::FMS::Policy.ExcludeMap`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder excludeMap(software.amazon.awscdk.services.fms.CfnPolicy.IEMapProperty excludeMap) { this.excludeMap = excludeMap; return this; } /** * Sets the value of {@link CfnPolicyProps#getIncludeMap} * @param includeMap `AWS::FMS::Policy.IncludeMap`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder includeMap(software.amazon.awscdk.core.IResolvable includeMap) { this.includeMap = includeMap; return this; } /** * Sets the value of {@link CfnPolicyProps#getIncludeMap} * @param includeMap `AWS::FMS::Policy.IncludeMap`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder includeMap(software.amazon.awscdk.services.fms.CfnPolicy.IEMapProperty includeMap) { this.includeMap = includeMap; return this; } /** * Sets the value of {@link CfnPolicyProps#getResourceTags} * @param resourceTags `AWS::FMS::Policy.ResourceTags`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder resourceTags(software.amazon.awscdk.core.IResolvable resourceTags) { this.resourceTags = resourceTags; return this; } /** * Sets the value of {@link CfnPolicyProps#getResourceTags} * @param resourceTags `AWS::FMS::Policy.ResourceTags`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder resourceTags(java.util.List resourceTags) { this.resourceTags = resourceTags; return this; } /** * Sets the value of {@link CfnPolicyProps#getResourceTypeList} * @param resourceTypeList `AWS::FMS::Policy.ResourceTypeList`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder resourceTypeList(java.util.List resourceTypeList) { this.resourceTypeList = resourceTypeList; return this; } /** * Sets the value of {@link CfnPolicyProps#getTags} * @param tags `AWS::FMS::Policy.Tags`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder tags(java.util.List tags) { this.tags = (java.util.List)tags; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnPolicyProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public CfnPolicyProps build() { return new Jsii$Proxy(excludeResourceTags, policyName, remediationEnabled, resourceType, securityServicePolicyData, deleteAllPolicyResources, excludeMap, includeMap, resourceTags, resourceTypeList, tags); } } /** * An implementation for {@link CfnPolicyProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnPolicyProps { private final java.lang.Object excludeResourceTags; private final java.lang.String policyName; private final java.lang.Object remediationEnabled; private final java.lang.String resourceType; private final java.lang.Object securityServicePolicyData; private final java.lang.Object deleteAllPolicyResources; private final java.lang.Object excludeMap; private final java.lang.Object includeMap; private final java.lang.Object resourceTags; private final java.util.List resourceTypeList; private final java.util.List tags; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.excludeResourceTags = this.jsiiGet("excludeResourceTags", java.lang.Object.class); this.policyName = this.jsiiGet("policyName", java.lang.String.class); this.remediationEnabled = this.jsiiGet("remediationEnabled", java.lang.Object.class); this.resourceType = this.jsiiGet("resourceType", java.lang.String.class); this.securityServicePolicyData = this.jsiiGet("securityServicePolicyData", java.lang.Object.class); this.deleteAllPolicyResources = this.jsiiGet("deleteAllPolicyResources", java.lang.Object.class); this.excludeMap = this.jsiiGet("excludeMap", java.lang.Object.class); this.includeMap = this.jsiiGet("includeMap", java.lang.Object.class); this.resourceTags = this.jsiiGet("resourceTags", java.lang.Object.class); this.resourceTypeList = this.jsiiGet("resourceTypeList", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.tags = this.jsiiGet("tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.fms.CfnPolicy.PolicyTagProperty.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") private Jsii$Proxy(final java.lang.Object excludeResourceTags, final java.lang.String policyName, final java.lang.Object remediationEnabled, final java.lang.String resourceType, final java.lang.Object securityServicePolicyData, final java.lang.Object deleteAllPolicyResources, final java.lang.Object excludeMap, final java.lang.Object includeMap, final java.lang.Object resourceTags, final java.util.List resourceTypeList, final java.util.List tags) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.excludeResourceTags = java.util.Objects.requireNonNull(excludeResourceTags, "excludeResourceTags is required"); this.policyName = java.util.Objects.requireNonNull(policyName, "policyName is required"); this.remediationEnabled = java.util.Objects.requireNonNull(remediationEnabled, "remediationEnabled is required"); this.resourceType = java.util.Objects.requireNonNull(resourceType, "resourceType is required"); this.securityServicePolicyData = java.util.Objects.requireNonNull(securityServicePolicyData, "securityServicePolicyData is required"); this.deleteAllPolicyResources = deleteAllPolicyResources; this.excludeMap = excludeMap; this.includeMap = includeMap; this.resourceTags = resourceTags; this.resourceTypeList = resourceTypeList; this.tags = (java.util.List)tags; } @Override public java.lang.Object getExcludeResourceTags() { return this.excludeResourceTags; } @Override public java.lang.String getPolicyName() { return this.policyName; } @Override public java.lang.Object getRemediationEnabled() { return this.remediationEnabled; } @Override public java.lang.String getResourceType() { return this.resourceType; } @Override public java.lang.Object getSecurityServicePolicyData() { return this.securityServicePolicyData; } @Override public java.lang.Object getDeleteAllPolicyResources() { return this.deleteAllPolicyResources; } @Override public java.lang.Object getExcludeMap() { return this.excludeMap; } @Override public java.lang.Object getIncludeMap() { return this.includeMap; } @Override public java.lang.Object getResourceTags() { return this.resourceTags; } @Override public java.util.List getResourceTypeList() { return this.resourceTypeList; } @Override public java.util.List getTags() { return this.tags; } @Override public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("excludeResourceTags", om.valueToTree(this.getExcludeResourceTags())); data.set("policyName", om.valueToTree(this.getPolicyName())); data.set("remediationEnabled", om.valueToTree(this.getRemediationEnabled())); data.set("resourceType", om.valueToTree(this.getResourceType())); data.set("securityServicePolicyData", om.valueToTree(this.getSecurityServicePolicyData())); if (this.getDeleteAllPolicyResources() != null) { data.set("deleteAllPolicyResources", om.valueToTree(this.getDeleteAllPolicyResources())); } if (this.getExcludeMap() != null) { data.set("excludeMap", om.valueToTree(this.getExcludeMap())); } if (this.getIncludeMap() != null) { data.set("includeMap", om.valueToTree(this.getIncludeMap())); } if (this.getResourceTags() != null) { data.set("resourceTags", om.valueToTree(this.getResourceTags())); } if (this.getResourceTypeList() != null) { data.set("resourceTypeList", om.valueToTree(this.getResourceTypeList())); } if (this.getTags() != null) { data.set("tags", om.valueToTree(this.getTags())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-fms.CfnPolicyProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnPolicyProps.Jsii$Proxy that = (CfnPolicyProps.Jsii$Proxy) o; if (!excludeResourceTags.equals(that.excludeResourceTags)) return false; if (!policyName.equals(that.policyName)) return false; if (!remediationEnabled.equals(that.remediationEnabled)) return false; if (!resourceType.equals(that.resourceType)) return false; if (!securityServicePolicyData.equals(that.securityServicePolicyData)) return false; if (this.deleteAllPolicyResources != null ? !this.deleteAllPolicyResources.equals(that.deleteAllPolicyResources) : that.deleteAllPolicyResources != null) return false; if (this.excludeMap != null ? !this.excludeMap.equals(that.excludeMap) : that.excludeMap != null) return false; if (this.includeMap != null ? !this.includeMap.equals(that.includeMap) : that.includeMap != null) return false; if (this.resourceTags != null ? !this.resourceTags.equals(that.resourceTags) : that.resourceTags != null) return false; if (this.resourceTypeList != null ? !this.resourceTypeList.equals(that.resourceTypeList) : that.resourceTypeList != null) return false; return this.tags != null ? this.tags.equals(that.tags) : that.tags == null; } @Override public int hashCode() { int result = this.excludeResourceTags.hashCode(); result = 31 * result + (this.policyName.hashCode()); result = 31 * result + (this.remediationEnabled.hashCode()); result = 31 * result + (this.resourceType.hashCode()); result = 31 * result + (this.securityServicePolicyData.hashCode()); result = 31 * result + (this.deleteAllPolicyResources != null ? this.deleteAllPolicyResources.hashCode() : 0); result = 31 * result + (this.excludeMap != null ? this.excludeMap.hashCode() : 0); result = 31 * result + (this.includeMap != null ? this.includeMap.hashCode() : 0); result = 31 * result + (this.resourceTags != null ? this.resourceTags.hashCode() : 0); result = 31 * result + (this.resourceTypeList != null ? this.resourceTypeList.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy