BlockPublicAccessConfiguration

class BlockPublicAccessConfiguration : KotlinCustomResource

Resource 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 documentation for further information.

Example Usage

Basic Usage

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.List;
import java.util.ArrayList;
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());
}
}

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 com.pulumi.aws.emr.inputs.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs;
import java.util.List;
import java.util.ArrayList;
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)
.permittedPublicSecurityGroupRuleRanges(BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()
.maxRange(22)
.minRange(22)
.build())
.build());
}
}

Multiple Permitted Public Security Group Rule Ranges

The resource permits specification of multiple permitted_public_security_group_rule_range 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.List;
import java.util.ArrayList;
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)
.permittedPublicSecurityGroupRuleRanges(
BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()
.maxRange(22)
.minRange(22)
.build(),
BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs.builder()
.maxRange(101)
.minRange(100)
.build())
.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 java.util.List;
import java.util.ArrayList;
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());
}
}

Import

The current EMR Block Public Access Configuration can be imported, e.g.,

$ pulumi import aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration example current

Properties

Link copied to clipboard

Enable or disable EMR Block Public Access. The following arguments are optional:

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Configuration block for defining permitted public security group rule port ranges. Can be defined multiple times per resource. Only valid if block_public_security_group_rules is set to true.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>