Package com.pulumi.aws.directoryservice
Class IpRoute
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.directoryservice.IpRoute
-
public class IpRoute extends com.pulumi.resources.CustomResourceManages an IP route for an AWS Directory Service directory. IP routes are used to route traffic from an AWS Managed Microsoft AD or AD Connector directory to an IPv4 or IPv6 CIDR block, such as an on-premises network reachable over a VPN or AWS Direct Connect connection, or a peered VPC. > To manage the complete set of IP routes for a directory, and remove any not configured in Terraform, use `aws.directoryservice.IpRoutesExclusive` instead. Using both resources for the same directory causes persistent drift unless every `aws.directoryservice.IpRoute` has an equivalent `ipRoute` block. > Adding an IPv6 route (`cidrIpv6`) requires the directory's network type to be dual-stack (IPv4 and IPv6). Enabling IPv6 support on a directory is a one-way operation performed outside of Terraform; see [Updating directory network type](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_update-directory-type.html). ## Example Usage ### Basic Usage
### IPv6 IPv6 routes require an existing directory that has been updated to dual-stack.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.directoryservice.Directory; import com.pulumi.aws.directoryservice.DirectoryArgs; import com.pulumi.aws.directoryservice.inputs.DirectoryVpcSettingsArgs; import com.pulumi.aws.directoryservice.IpRoute; import com.pulumi.aws.directoryservice.IpRouteArgs; 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 Directory("example", DirectoryArgs.builder() .vpcSettings(DirectoryVpcSettingsArgs.builder() .vpcId(exampleAwsVpc.id()) .subnetIds(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList())) .build()) .name("corp.example.com") .password("SuperSecretPassw0rd") .type("MicrosoftAD") .build()); var exampleIpRoute = new IpRoute("exampleIpRoute", IpRouteArgs.builder() .directoryId(example.id()) .cidrIp("10.0.0.0/24") .description("On-premises network") .build()); } }
## Import ### Identity Schema #### Required * `directoryId` (String) Identifier of the directory. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `cidrIp` (String) IPv4 CIDR block. Exactly one of `cidrIp` or `cidrIpv6` must be set. * `cidrIpv6` (String) IPv6 CIDR block. Exactly one of `cidrIp` or `cidrIpv6` must be set. * `region` (String) Region where this resource is managed. Using `pulumi import`, import an IP route using the directory ID and CIDR block separated by a comma (`,`). For example: ```sh $ pulumi import aws:directoryservice/ipRoute:IpRoute example d-1234567890,10.0.0.0/24 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.directoryservice.IpRoute; import com.pulumi.aws.directoryservice.IpRouteArgs; 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 IpRoute("example", IpRouteArgs.builder() .directoryId("d-1234567890") .cidrIpv6("2001:db8::/64") .description("On-premises IPv6 network") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description IpRoute(java.lang.String name)IpRoute(java.lang.String name, IpRouteArgs args)IpRoute(java.lang.String name, IpRouteArgs 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.util.Optional<java.lang.String>>cidrIp()com.pulumi.core.Output<java.util.Optional<java.lang.String>>cidrIpv6()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.lang.String>directoryId()static IpRouteget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, IpRouteState 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.lang.String>region()com.pulumi.core.Output<java.util.Optional<IpRouteTimeouts>>timeouts()com.pulumi.core.Output<java.lang.Boolean>updateSecurityGroupForDirectoryControllers()
-
-
-
Constructor Detail
-
IpRoute
public IpRoute(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
IpRoute
public IpRoute(java.lang.String name, IpRouteArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
IpRoute
public IpRoute(java.lang.String name, IpRouteArgs 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
-
cidrIp
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> cidrIp()
- Returns:
- IPv4 CIDR block, such as `10.0.0.0/24`. For a single address, use a `/32` block, such as `10.0.0.0/32`. Exactly one of `cidrIp` or `cidrIpv6` must be set. Changing this forces a new resource to be created.
-
cidrIpv6
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> cidrIpv6()
- Returns:
- IPv6 CIDR block, such as `2001:db8::/64`. For a single address, use a `/128` block. Exactly one of `cidrIp` or `cidrIpv6` must be set. Changing this forces a new resource to be created.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the address block. Changing this forces a new resource to be created.
-
directoryId
public com.pulumi.core.Output<java.lang.String> directoryId()
- Returns:
- Identifier of the directory to which to add the IP route. Changing this forces a new resource to be created. The following arguments are optional:
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource is managed. Defaults to the Region set in the provider configuration.
-
timeouts
public com.pulumi.core.Output<java.util.Optional<IpRouteTimeouts>> timeouts()
-
updateSecurityGroupForDirectoryControllers
public com.pulumi.core.Output<java.lang.Boolean> updateSecurityGroupForDirectoryControllers()
- Returns:
- Whether to update the inbound and outbound rules of the security group for the directory controllers. Changing this forces a new resource to be created. Defaults to `false`.
-
get
public static IpRoute get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable IpRouteState 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.
-
-