Package com.pulumi.aws.emr
Class BlockPublicAccessConfiguration
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.emr.BlockPublicAccessConfiguration
-
public class BlockPublicAccessConfiguration extends com.pulumi.resources.CustomResourceResource for managing an AWS EMR block public access configuration. This region level security configuration restricts the launch of EMR clusters that have associated security groups permitting public access on unspecified ports. See the [EMR Block Public Access Configuration](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-block-public-access.html) documentation for further information. ## Example Usage ### Basic Usage
### Default Configuration By default, each AWS region is equipped with a block public access configuration that prevents EMR clusters from being launched if they have security group rules permitting public access on any port except for port 22. The default configuration can be managed using this resource.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.emr.BlockPublicAccessConfiguration; import com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() .blockPublicSecurityGroupRules(true) .build()); } }
> **NOTE:** If an `aws.emr.BlockPublicAccessConfiguration` resource is destroyed, the configuration will reset to this default configuration. ### Multiple Permitted Public Security Group Rule Ranges The resource permits specification of multiple `permittedPublicSecurityGroupRuleRange` blocks.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.emr.BlockPublicAccessConfiguration; import com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs; import com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() .permittedPublicSecurityGroupRuleRanges(BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder() .minRange(22) .maxRange(22) .build()) .blockPublicSecurityGroupRules(true) .build()); } }
### Disabling Block Public Access To permit EMR clusters to be launched in the configured region regardless of associated security group rules, the Block Public Access feature can be disabled using this resource.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.emr.BlockPublicAccessConfiguration; import com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs; import com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() .permittedPublicSecurityGroupRuleRanges( BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder() .minRange(22) .maxRange(22) .build(), BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder() .minRange(100) .maxRange(101) .build()) .blockPublicSecurityGroupRules(true) .build()); } }
## Import Using `pulumi import`, import the current EMR Block Public Access Configuration. For example: ```sh $ pulumi import aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration example current ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.emr.BlockPublicAccessConfiguration; import com.pulumi.aws.emr.BlockPublicAccessConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new BlockPublicAccessConfiguration("example", BlockPublicAccessConfigurationArgs.builder() .blockPublicSecurityGroupRules(false) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description BlockPublicAccessConfiguration(java.lang.String name)BlockPublicAccessConfiguration(java.lang.String name, BlockPublicAccessConfigurationArgs args)BlockPublicAccessConfiguration(java.lang.String name, BlockPublicAccessConfigurationArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.Boolean>blockPublicSecurityGroupRules()static BlockPublicAccessConfigurationget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, BlockPublicAccessConfigurationState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.util.List<BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRange>>>permittedPublicSecurityGroupRuleRanges()com.pulumi.core.Output<java.lang.String>region()
-
-
-
Constructor Detail
-
BlockPublicAccessConfiguration
public BlockPublicAccessConfiguration(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
BlockPublicAccessConfiguration
public BlockPublicAccessConfiguration(java.lang.String name, BlockPublicAccessConfigurationArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
BlockPublicAccessConfiguration
public BlockPublicAccessConfiguration(java.lang.String name, BlockPublicAccessConfigurationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
blockPublicSecurityGroupRules
public com.pulumi.core.Output<java.lang.Boolean> blockPublicSecurityGroupRules()
- Returns:
- Enable or disable EMR Block Public Access. The following arguments are optional:
-
permittedPublicSecurityGroupRuleRanges
public com.pulumi.core.Output<java.util.Optional<java.util.List<BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRange>>> permittedPublicSecurityGroupRuleRanges()
- Returns:
- Configuration block for defining permitted public security group rule port ranges. Can be defined multiple times per resource. Only valid if `blockPublicSecurityGroupRules` is set to `true`.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
get
public static BlockPublicAccessConfiguration get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable BlockPublicAccessConfigurationState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-