1. Packages
  2. AWS Classic
  3. API Docs
  4. networkmanager
  5. CoreNetwork

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.12.2 published on Wednesday, Nov 29, 2023 by Pulumi

aws.networkmanager.CoreNetwork

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.12.2 published on Wednesday, Nov 29, 2023 by Pulumi

    Provides a core network resource.

    Example Usage

    Basic

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.NetworkManager.CoreNetwork("example", new()
        {
            GlobalNetworkId = aws_networkmanager_global_network.Example.Id,
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := networkmanager.NewCoreNetwork(ctx, "example", &networkmanager.CoreNetworkArgs{
    			GlobalNetworkId: pulumi.Any(aws_networkmanager_global_network.Example.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    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 CoreNetwork("example", CoreNetworkArgs.builder()        
                .globalNetworkId(aws_networkmanager_global_network.example().id())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.networkmanager.CoreNetwork("example", global_network_id=aws_networkmanager_global_network["example"]["id"])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.networkmanager.CoreNetwork("example", {globalNetworkId: aws_networkmanager_global_network.example.id});
    
    resources:
      example:
        type: aws:networkmanager:CoreNetwork
        properties:
          globalNetworkId: ${aws_networkmanager_global_network.example.id}
    

    With description

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.NetworkManager.CoreNetwork("example", new()
        {
            GlobalNetworkId = aws_networkmanager_global_network.Example.Id,
            Description = "example",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := networkmanager.NewCoreNetwork(ctx, "example", &networkmanager.CoreNetworkArgs{
    			GlobalNetworkId: pulumi.Any(aws_networkmanager_global_network.Example.Id),
    			Description:     pulumi.String("example"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    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 CoreNetwork("example", CoreNetworkArgs.builder()        
                .globalNetworkId(aws_networkmanager_global_network.example().id())
                .description("example")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.networkmanager.CoreNetwork("example",
        global_network_id=aws_networkmanager_global_network["example"]["id"],
        description="example")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.networkmanager.CoreNetwork("example", {
        globalNetworkId: aws_networkmanager_global_network.example.id,
        description: "example",
    });
    
    resources:
      example:
        type: aws:networkmanager:CoreNetwork
        properties:
          globalNetworkId: ${aws_networkmanager_global_network.example.id}
          description: example
    

    With tags

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.NetworkManager.CoreNetwork("example", new()
        {
            GlobalNetworkId = aws_networkmanager_global_network.Example.Id,
            Tags = 
            {
                { "hello", "world" },
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := networkmanager.NewCoreNetwork(ctx, "example", &networkmanager.CoreNetworkArgs{
    			GlobalNetworkId: pulumi.Any(aws_networkmanager_global_network.Example.Id),
    			Tags: pulumi.StringMap{
    				"hello": pulumi.String("world"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    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 CoreNetwork("example", CoreNetworkArgs.builder()        
                .globalNetworkId(aws_networkmanager_global_network.example().id())
                .tags(Map.of("hello", "world"))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.networkmanager.CoreNetwork("example",
        global_network_id=aws_networkmanager_global_network["example"]["id"],
        tags={
            "hello": "world",
        })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.networkmanager.CoreNetwork("example", {
        globalNetworkId: aws_networkmanager_global_network.example.id,
        tags: {
            hello: "world",
        },
    });
    
    resources:
      example:
        type: aws:networkmanager:CoreNetwork
        properties:
          globalNetworkId: ${aws_networkmanager_global_network.example.id}
          tags:
            hello: world
    

    Option 1 - using base_policy_document

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork("exampleGlobalNetwork");
    
        var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()
        {
            CoreNetworkConfigurations = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs
                {
                    AsnRanges = new[]
                    {
                        "65022-65534",
                    },
                    EdgeLocations = new[]
                    {
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-west-2",
                            Asn = "65500",
                        },
                    },
                },
            },
            Segments = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment",
                },
            },
        });
    
        var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork("exampleCoreNetwork", new()
        {
            GlobalNetworkId = exampleGlobalNetwork.Id,
            BasePolicyDocument = @base.Apply(@base => @base.Apply(getCoreNetworkPolicyDocumentResult => getCoreNetworkPolicyDocumentResult.Json)),
            CreateBasePolicy = true,
        });
    
        var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment("exampleVpcAttachment", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            SubnetArns = aws_subnet.Example.Select(__item => __item.Arn).ToList(),
            VpcArn = aws_vpc.Example.Arn,
        });
    
        var exampleCoreNetworkPolicyDocument = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()
        {
            CoreNetworkConfigurations = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs
                {
                    AsnRanges = new[]
                    {
                        "65022-65534",
                    },
                    EdgeLocations = new[]
                    {
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-west-2",
                            Asn = "65500",
                        },
                    },
                },
            },
            Segments = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment",
                },
            },
            SegmentActions = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs
                {
                    Action = "create-route",
                    Segment = "segment",
                    DestinationCidrBlocks = new[]
                    {
                        "0.0.0.0/0",
                    },
                    Destinations = new[]
                    {
                        exampleVpcAttachment.Id,
                    },
                },
            },
        });
    
        var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            PolicyDocument = exampleCoreNetworkPolicyDocument.Apply(getCoreNetworkPolicyDocumentResult => getCoreNetworkPolicyDocumentResult.Json),
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    exampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, "exampleGlobalNetwork", nil)
    if err != nil {
    return err
    }
    base, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, &networkmanager.GetCoreNetworkPolicyDocumentArgs{
    CoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{
    {
    AsnRanges: []string{
    "65022-65534",
    },
    EdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{
    {
    Location: "us-west-2",
    Asn: pulumi.StringRef("65500"),
    },
    },
    },
    },
    Segments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{
    {
    Name: "segment",
    },
    },
    }, nil);
    if err != nil {
    return err
    }
    exampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, "exampleCoreNetwork", &networkmanager.CoreNetworkArgs{
    GlobalNetworkId: exampleGlobalNetwork.ID(),
    BasePolicyDocument: *pulumi.String(base.Json),
    CreateBasePolicy: pulumi.Bool(true),
    })
    if err != nil {
    return err
    }
    var splat0 []interface{}
    for _, val0 := range aws_subnet.Example {
    splat0 = append(splat0, val0.Arn)
    }
    exampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, "exampleVpcAttachment", &networkmanager.VpcAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    SubnetArns: toPulumiArray(splat0),
    VpcArn: pulumi.Any(aws_vpc.Example.Arn),
    })
    if err != nil {
    return err
    }
    exampleCoreNetworkPolicyDocument := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{
    CoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{
    AsnRanges: pulumi.StringArray{
    pulumi.String("65022-65534"),
    },
    EdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{
    Location: pulumi.String("us-west-2"),
    Asn: pulumi.String("65500"),
    },
    },
    },
    },
    Segments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{
    Name: pulumi.String("segment"),
    },
    },
    SegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{
    Action: pulumi.String("create-route"),
    Segment: pulumi.String("segment"),
    DestinationCidrBlocks: pulumi.StringArray{
    pulumi.String("0.0.0.0/0"),
    },
    Destinations: pulumi.StringArray{
    exampleVpcAttachment.ID(),
    },
    },
    },
    }, nil);
    _, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, "exampleCoreNetworkPolicyAttachment", &networkmanager.CoreNetworkPolicyAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    PolicyDocument: exampleCoreNetworkPolicyDocument.ApplyT(func(exampleCoreNetworkPolicyDocument networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {
    return &exampleCoreNetworkPolicyDocument.Json, nil
    }).(pulumi.StringPtrOutput),
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    func toPulumiArray(arr []) pulumi.Array {
    var pulumiArr pulumi.Array
    for _, v := range arr {
    pulumiArr = append(pulumiArr, pulumi.(v))
    }
    return pulumiArr
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.GlobalNetwork;
    import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
    import com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    import com.pulumi.aws.networkmanager.VpcAttachment;
    import com.pulumi.aws.networkmanager.VpcAttachmentArgs;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;
    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 exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork");
    
            final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
                .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
                    .asnRanges("65022-65534")
                    .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                        .location("us-west-2")
                        .asn("65500")
                        .build())
                    .build())
                .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                    .name("segment")
                    .build())
                .build());
    
            var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder()        
                .globalNetworkId(exampleGlobalNetwork.id())
                .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))
                .createBasePolicy(true)
                .build());
    
            var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .subnetArns(aws_subnet.example().stream().map(element -> element.arn()).collect(toList()))
                .vpcArn(aws_vpc.example().arn())
                .build());
    
            final var exampleCoreNetworkPolicyDocument = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
                .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
                    .asnRanges("65022-65534")
                    .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                        .location("us-west-2")
                        .asn("65500")
                        .build())
                    .build())
                .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                    .name("segment")
                    .build())
                .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
                    .action("create-route")
                    .segment("segment")
                    .destinationCidrBlocks("0.0.0.0/0")
                    .destinations(exampleVpcAttachment.id())
                    .build())
                .build());
    
            var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .policyDocument(exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(exampleCoreNetworkPolicyDocument -> exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example_global_network = aws.networkmanager.GlobalNetwork("exampleGlobalNetwork")
    base = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(
            asn_ranges=["65022-65534"],
            edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                location="us-west-2",
                asn="65500",
            )],
        )],
        segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
            name="segment",
        )])
    example_core_network = aws.networkmanager.CoreNetwork("exampleCoreNetwork",
        global_network_id=example_global_network.id,
        base_policy_document=base.json,
        create_base_policy=True)
    example_vpc_attachment = aws.networkmanager.VpcAttachment("exampleVpcAttachment",
        core_network_id=example_core_network.id,
        subnet_arns=[__item["arn"] for __item in aws_subnet["example"]],
        vpc_arn=aws_vpc["example"]["arn"])
    example_core_network_policy_document = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(
            asn_ranges=["65022-65534"],
            edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                location="us-west-2",
                asn="65500",
            )],
        )],
        segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
            name="segment",
        )],
        segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(
            action="create-route",
            segment="segment",
            destination_cidr_blocks=["0.0.0.0/0"],
            destinations=[example_vpc_attachment.id],
        )])
    example_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment",
        core_network_id=example_core_network.id,
        policy_document=example_core_network_policy_document.json)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork("exampleGlobalNetwork", {});
    const base = aws.networkmanager.getCoreNetworkPolicyDocument({
        coreNetworkConfigurations: [{
            asnRanges: ["65022-65534"],
            edgeLocations: [{
                location: "us-west-2",
                asn: "65500",
            }],
        }],
        segments: [{
            name: "segment",
        }],
    });
    const exampleCoreNetwork = new aws.networkmanager.CoreNetwork("exampleCoreNetwork", {
        globalNetworkId: exampleGlobalNetwork.id,
        basePolicyDocument: base.then(base => base.json),
        createBasePolicy: true,
    });
    const exampleVpcAttachment = new aws.networkmanager.VpcAttachment("exampleVpcAttachment", {
        coreNetworkId: exampleCoreNetwork.id,
        subnetArns: aws_subnet.example.map(__item => __item.arn),
        vpcArn: aws_vpc.example.arn,
    });
    const exampleCoreNetworkPolicyDocument = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({
        coreNetworkConfigurations: [{
            asnRanges: ["65022-65534"],
            edgeLocations: [{
                location: "us-west-2",
                asn: "65500",
            }],
        }],
        segments: [{
            name: "segment",
        }],
        segmentActions: [{
            action: "create-route",
            segment: "segment",
            destinationCidrBlocks: ["0.0.0.0/0"],
            destinations: [exampleVpcAttachment.id],
        }],
    });
    const exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", {
        coreNetworkId: exampleCoreNetwork.id,
        policyDocument: exampleCoreNetworkPolicyDocument.apply(exampleCoreNetworkPolicyDocument => exampleCoreNetworkPolicyDocument.json),
    });
    

    Coming soon!

    Option 2 - create_base_policy only

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork("exampleGlobalNetwork");
    
        var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork("exampleCoreNetwork", new()
        {
            GlobalNetworkId = exampleGlobalNetwork.Id,
            CreateBasePolicy = true,
        });
    
        var exampleVpcAttachment = new Aws.NetworkManager.VpcAttachment("exampleVpcAttachment", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            SubnetArns = aws_subnet.Example.Select(__item => __item.Arn).ToList(),
            VpcArn = aws_vpc.Example.Arn,
        });
    
        var exampleCoreNetworkPolicyDocument = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()
        {
            CoreNetworkConfigurations = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs
                {
                    AsnRanges = new[]
                    {
                        "65022-65534",
                    },
                    EdgeLocations = new[]
                    {
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-west-2",
                        },
                    },
                },
            },
            Segments = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment",
                },
            },
            SegmentActions = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs
                {
                    Action = "create-route",
                    Segment = "segment",
                    DestinationCidrBlocks = new[]
                    {
                        "0.0.0.0/0",
                    },
                    Destinations = new[]
                    {
                        exampleVpcAttachment.Id,
                    },
                },
            },
        });
    
        var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            PolicyDocument = exampleCoreNetworkPolicyDocument.Apply(getCoreNetworkPolicyDocumentResult => getCoreNetworkPolicyDocumentResult.Json),
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    exampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, "exampleGlobalNetwork", nil)
    if err != nil {
    return err
    }
    exampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, "exampleCoreNetwork", &networkmanager.CoreNetworkArgs{
    GlobalNetworkId: exampleGlobalNetwork.ID(),
    CreateBasePolicy: pulumi.Bool(true),
    })
    if err != nil {
    return err
    }
    var splat0 []interface{}
    for _, val0 := range aws_subnet.Example {
    splat0 = append(splat0, val0.Arn)
    }
    exampleVpcAttachment, err := networkmanager.NewVpcAttachment(ctx, "exampleVpcAttachment", &networkmanager.VpcAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    SubnetArns: toPulumiArray(splat0),
    VpcArn: pulumi.Any(aws_vpc.Example.Arn),
    })
    if err != nil {
    return err
    }
    exampleCoreNetworkPolicyDocument := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{
    CoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{
    AsnRanges: pulumi.StringArray{
    pulumi.String("65022-65534"),
    },
    EdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{
    Location: pulumi.String("us-west-2"),
    },
    },
    },
    },
    Segments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{
    Name: pulumi.String("segment"),
    },
    },
    SegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{
    Action: pulumi.String("create-route"),
    Segment: pulumi.String("segment"),
    DestinationCidrBlocks: pulumi.StringArray{
    pulumi.String("0.0.0.0/0"),
    },
    Destinations: pulumi.StringArray{
    exampleVpcAttachment.ID(),
    },
    },
    },
    }, nil);
    _, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, "exampleCoreNetworkPolicyAttachment", &networkmanager.CoreNetworkPolicyAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    PolicyDocument: exampleCoreNetworkPolicyDocument.ApplyT(func(exampleCoreNetworkPolicyDocument networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {
    return &exampleCoreNetworkPolicyDocument.Json, nil
    }).(pulumi.StringPtrOutput),
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    func toPulumiArray(arr []) pulumi.Array {
    var pulumiArr pulumi.Array
    for _, v := range arr {
    pulumiArr = append(pulumiArr, pulumi.(v))
    }
    return pulumiArr
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.GlobalNetwork;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    import com.pulumi.aws.networkmanager.VpcAttachment;
    import com.pulumi.aws.networkmanager.VpcAttachmentArgs;
    import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
    import com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;
    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 exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork");
    
            var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder()        
                .globalNetworkId(exampleGlobalNetwork.id())
                .createBasePolicy(true)
                .build());
    
            var exampleVpcAttachment = new VpcAttachment("exampleVpcAttachment", VpcAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .subnetArns(aws_subnet.example().stream().map(element -> element.arn()).collect(toList()))
                .vpcArn(aws_vpc.example().arn())
                .build());
    
            final var exampleCoreNetworkPolicyDocument = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
                .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
                    .asnRanges("65022-65534")
                    .edgeLocations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                        .location("us-west-2")
                        .build())
                    .build())
                .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                    .name("segment")
                    .build())
                .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
                    .action("create-route")
                    .segment("segment")
                    .destinationCidrBlocks("0.0.0.0/0")
                    .destinations(exampleVpcAttachment.id())
                    .build())
                .build());
    
            var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .policyDocument(exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(exampleCoreNetworkPolicyDocument -> exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example_global_network = aws.networkmanager.GlobalNetwork("exampleGlobalNetwork")
    example_core_network = aws.networkmanager.CoreNetwork("exampleCoreNetwork",
        global_network_id=example_global_network.id,
        create_base_policy=True)
    example_vpc_attachment = aws.networkmanager.VpcAttachment("exampleVpcAttachment",
        core_network_id=example_core_network.id,
        subnet_arns=[__item["arn"] for __item in aws_subnet["example"]],
        vpc_arn=aws_vpc["example"]["arn"])
    example_core_network_policy_document = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(
            asn_ranges=["65022-65534"],
            edge_locations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                location="us-west-2",
            )],
        )],
        segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
            name="segment",
        )],
        segment_actions=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(
            action="create-route",
            segment="segment",
            destination_cidr_blocks=["0.0.0.0/0"],
            destinations=[example_vpc_attachment.id],
        )])
    example_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment",
        core_network_id=example_core_network.id,
        policy_document=example_core_network_policy_document.json)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork("exampleGlobalNetwork", {});
    const exampleCoreNetwork = new aws.networkmanager.CoreNetwork("exampleCoreNetwork", {
        globalNetworkId: exampleGlobalNetwork.id,
        createBasePolicy: true,
    });
    const exampleVpcAttachment = new aws.networkmanager.VpcAttachment("exampleVpcAttachment", {
        coreNetworkId: exampleCoreNetwork.id,
        subnetArns: aws_subnet.example.map(__item => __item.arn),
        vpcArn: aws_vpc.example.arn,
    });
    const exampleCoreNetworkPolicyDocument = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({
        coreNetworkConfigurations: [{
            asnRanges: ["65022-65534"],
            edgeLocations: [{
                location: "us-west-2",
            }],
        }],
        segments: [{
            name: "segment",
        }],
        segmentActions: [{
            action: "create-route",
            segment: "segment",
            destinationCidrBlocks: ["0.0.0.0/0"],
            destinations: [exampleVpcAttachment.id],
        }],
    });
    const exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", {
        coreNetworkId: exampleCoreNetwork.id,
        policyDocument: exampleCoreNetworkPolicyDocument.apply(exampleCoreNetworkPolicyDocument => exampleCoreNetworkPolicyDocument.json),
    });
    

    Coming soon!

    Option 1 - using base_policy_document

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork("exampleGlobalNetwork");
    
        var @base = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()
        {
            CoreNetworkConfigurations = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs
                {
                    AsnRanges = new[]
                    {
                        "65022-65534",
                    },
                    EdgeLocations = new[]
                    {
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-west-2",
                            Asn = "65500",
                        },
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-east-1",
                            Asn = "65501",
                        },
                    },
                },
            },
            Segments = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment",
                },
            },
        });
    
        var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork("exampleCoreNetwork", new()
        {
            GlobalNetworkId = exampleGlobalNetwork.Id,
            BasePolicyDocument = @base.Apply(@base => @base.Apply(getCoreNetworkPolicyDocumentResult => getCoreNetworkPolicyDocumentResult.Json)),
            CreateBasePolicy = true,
        });
    
        var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment("exampleUsWest2", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            SubnetArns = aws_subnet.Example_us_west_2.Select(__item => __item.Arn).ToList(),
            VpcArn = aws_vpc.Example_us_west_2.Arn,
        });
    
        var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment("exampleUsEast1", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            SubnetArns = aws_subnet.Example_us_east_1.Select(__item => __item.Arn).ToList(),
            VpcArn = aws_vpc.Example_us_east_1.Arn,
        }, new CustomResourceOptions
        {
            Provider = "alternate",
        });
    
        var exampleCoreNetworkPolicyDocument = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()
        {
            CoreNetworkConfigurations = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs
                {
                    AsnRanges = new[]
                    {
                        "65022-65534",
                    },
                    EdgeLocations = new[]
                    {
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-west-2",
                            Asn = "65500",
                        },
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-east-1",
                            Asn = "65501",
                        },
                    },
                },
            },
            Segments = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment",
                },
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment2",
                },
            },
            SegmentActions = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs
                {
                    Action = "create-route",
                    Segment = "segment",
                    DestinationCidrBlocks = new[]
                    {
                        "10.0.0.0/16",
                    },
                    Destinations = new[]
                    {
                        exampleUsWest2.Id,
                    },
                },
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs
                {
                    Action = "create-route",
                    Segment = "segment",
                    DestinationCidrBlocks = new[]
                    {
                        "10.1.0.0/16",
                    },
                    Destinations = new[]
                    {
                        exampleUsEast1.Id,
                    },
                },
            },
        });
    
        var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            PolicyDocument = exampleCoreNetworkPolicyDocument.Apply(getCoreNetworkPolicyDocumentResult => getCoreNetworkPolicyDocumentResult.Json),
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    exampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, "exampleGlobalNetwork", nil)
    if err != nil {
    return err
    }
    base, err := networkmanager.GetCoreNetworkPolicyDocument(ctx, &networkmanager.GetCoreNetworkPolicyDocumentArgs{
    CoreNetworkConfigurations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfiguration{
    {
    AsnRanges: []string{
    "65022-65534",
    },
    EdgeLocations: []networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocation{
    {
    Location: "us-west-2",
    Asn: pulumi.StringRef("65500"),
    },
    {
    Location: "us-east-1",
    Asn: pulumi.StringRef("65501"),
    },
    },
    },
    },
    Segments: []networkmanager.GetCoreNetworkPolicyDocumentSegment{
    {
    Name: "segment",
    },
    },
    }, nil);
    if err != nil {
    return err
    }
    exampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, "exampleCoreNetwork", &networkmanager.CoreNetworkArgs{
    GlobalNetworkId: exampleGlobalNetwork.ID(),
    BasePolicyDocument: *pulumi.String(base.Json),
    CreateBasePolicy: pulumi.Bool(true),
    })
    if err != nil {
    return err
    }
    var splat0 []interface{}
    for _, val0 := range aws_subnet.Example_us_west_2 {
    splat0 = append(splat0, val0.Arn)
    }
    exampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, "exampleUsWest2", &networkmanager.VpcAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    SubnetArns: toPulumiArray(splat0),
    VpcArn: pulumi.Any(aws_vpc.Example_us_west_2.Arn),
    })
    if err != nil {
    return err
    }
    var splat1 []interface{}
    for _, val0 := range aws_subnet.Example_us_east_1 {
    splat1 = append(splat1, val0.Arn)
    }
    exampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, "exampleUsEast1", &networkmanager.VpcAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    SubnetArns: toPulumiArray(splat1),
    VpcArn: pulumi.Any(aws_vpc.Example_us_east_1.Arn),
    }, pulumi.Provider("alternate"))
    if err != nil {
    return err
    }
    exampleCoreNetworkPolicyDocument := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{
    CoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{
    AsnRanges: pulumi.StringArray{
    pulumi.String("65022-65534"),
    },
    EdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{
    Location: pulumi.String("us-west-2"),
    Asn: pulumi.String("65500"),
    },
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{
    Location: pulumi.String("us-east-1"),
    Asn: pulumi.String("65501"),
    },
    },
    },
    },
    Segments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{
    Name: pulumi.String("segment"),
    },
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{
    Name: pulumi.String("segment2"),
    },
    },
    SegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{
    Action: pulumi.String("create-route"),
    Segment: pulumi.String("segment"),
    DestinationCidrBlocks: pulumi.StringArray{
    pulumi.String("10.0.0.0/16"),
    },
    Destinations: pulumi.StringArray{
    exampleUsWest2.ID(),
    },
    },
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{
    Action: pulumi.String("create-route"),
    Segment: pulumi.String("segment"),
    DestinationCidrBlocks: pulumi.StringArray{
    pulumi.String("10.1.0.0/16"),
    },
    Destinations: pulumi.StringArray{
    exampleUsEast1.ID(),
    },
    },
    },
    }, nil);
    _, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, "exampleCoreNetworkPolicyAttachment", &networkmanager.CoreNetworkPolicyAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    PolicyDocument: exampleCoreNetworkPolicyDocument.ApplyT(func(exampleCoreNetworkPolicyDocument networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {
    return &exampleCoreNetworkPolicyDocument.Json, nil
    }).(pulumi.StringPtrOutput),
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    func toPulumiArray(arr []) pulumi.Array {
    var pulumiArr pulumi.Array
    for _, v := range arr {
    pulumiArr = append(pulumiArr, pulumi.(v))
    }
    return pulumiArr
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.GlobalNetwork;
    import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
    import com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    import com.pulumi.aws.networkmanager.VpcAttachment;
    import com.pulumi.aws.networkmanager.VpcAttachmentArgs;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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 exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork");
    
            final var base = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
                .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
                    .asnRanges("65022-65534")
                    .edgeLocations(                
                        GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                            .location("us-west-2")
                            .asn("65500")
                            .build(),
                        GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                            .location("us-east-1")
                            .asn("65501")
                            .build())
                    .build())
                .segments(GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                    .name("segment")
                    .build())
                .build());
    
            var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder()        
                .globalNetworkId(exampleGlobalNetwork.id())
                .basePolicyDocument(base.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json()))
                .createBasePolicy(true)
                .build());
    
            var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .subnetArns(aws_subnet.example_us_west_2().stream().map(element -> element.arn()).collect(toList()))
                .vpcArn(aws_vpc.example_us_west_2().arn())
                .build());
    
            var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .subnetArns(aws_subnet.example_us_east_1().stream().map(element -> element.arn()).collect(toList()))
                .vpcArn(aws_vpc.example_us_east_1().arn())
                .build(), CustomResourceOptions.builder()
                    .provider("alternate")
                    .build());
    
            final var exampleCoreNetworkPolicyDocument = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
                .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
                    .asnRanges("65022-65534")
                    .edgeLocations(                
                        GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                            .location("us-west-2")
                            .asn("65500")
                            .build(),
                        GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                            .location("us-east-1")
                            .asn("65501")
                            .build())
                    .build())
                .segments(            
                    GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                        .name("segment")
                        .build(),
                    GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                        .name("segment2")
                        .build())
                .segmentActions(            
                    GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
                        .action("create-route")
                        .segment("segment")
                        .destinationCidrBlocks("10.0.0.0/16")
                        .destinations(exampleUsWest2.id())
                        .build(),
                    GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
                        .action("create-route")
                        .segment("segment")
                        .destinationCidrBlocks("10.1.0.0/16")
                        .destinations(exampleUsEast1.id())
                        .build())
                .build());
    
            var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .policyDocument(exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(exampleCoreNetworkPolicyDocument -> exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example_global_network = aws.networkmanager.GlobalNetwork("exampleGlobalNetwork")
    base = aws.networkmanager.get_core_network_policy_document(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(
            asn_ranges=["65022-65534"],
            edge_locations=[
                aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                    location="us-west-2",
                    asn="65500",
                ),
                aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                    location="us-east-1",
                    asn="65501",
                ),
            ],
        )],
        segments=[aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
            name="segment",
        )])
    example_core_network = aws.networkmanager.CoreNetwork("exampleCoreNetwork",
        global_network_id=example_global_network.id,
        base_policy_document=base.json,
        create_base_policy=True)
    example_us_west2 = aws.networkmanager.VpcAttachment("exampleUsWest2",
        core_network_id=example_core_network.id,
        subnet_arns=[__item["arn"] for __item in aws_subnet["example_us_west_2"]],
        vpc_arn=aws_vpc["example_us_west_2"]["arn"])
    example_us_east1 = aws.networkmanager.VpcAttachment("exampleUsEast1",
        core_network_id=example_core_network.id,
        subnet_arns=[__item["arn"] for __item in aws_subnet["example_us_east_1"]],
        vpc_arn=aws_vpc["example_us_east_1"]["arn"],
        opts=pulumi.ResourceOptions(provider="alternate"))
    example_core_network_policy_document = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(
            asn_ranges=["65022-65534"],
            edge_locations=[
                aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                    location="us-west-2",
                    asn="65500",
                ),
                aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                    location="us-east-1",
                    asn="65501",
                ),
            ],
        )],
        segments=[
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
                name="segment",
            ),
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
                name="segment2",
            ),
        ],
        segment_actions=[
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(
                action="create-route",
                segment="segment",
                destination_cidr_blocks=["10.0.0.0/16"],
                destinations=[example_us_west2.id],
            ),
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(
                action="create-route",
                segment="segment",
                destination_cidr_blocks=["10.1.0.0/16"],
                destinations=[example_us_east1.id],
            ),
        ])
    example_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment",
        core_network_id=example_core_network.id,
        policy_document=example_core_network_policy_document.json)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork("exampleGlobalNetwork", {});
    const base = aws.networkmanager.getCoreNetworkPolicyDocument({
        coreNetworkConfigurations: [{
            asnRanges: ["65022-65534"],
            edgeLocations: [
                {
                    location: "us-west-2",
                    asn: "65500",
                },
                {
                    location: "us-east-1",
                    asn: "65501",
                },
            ],
        }],
        segments: [{
            name: "segment",
        }],
    });
    const exampleCoreNetwork = new aws.networkmanager.CoreNetwork("exampleCoreNetwork", {
        globalNetworkId: exampleGlobalNetwork.id,
        basePolicyDocument: base.then(base => base.json),
        createBasePolicy: true,
    });
    const exampleUsWest2 = new aws.networkmanager.VpcAttachment("exampleUsWest2", {
        coreNetworkId: exampleCoreNetwork.id,
        subnetArns: aws_subnet.example_us_west_2.map(__item => __item.arn),
        vpcArn: aws_vpc.example_us_west_2.arn,
    });
    const exampleUsEast1 = new aws.networkmanager.VpcAttachment("exampleUsEast1", {
        coreNetworkId: exampleCoreNetwork.id,
        subnetArns: aws_subnet.example_us_east_1.map(__item => __item.arn),
        vpcArn: aws_vpc.example_us_east_1.arn,
    }, {
        provider: "alternate",
    });
    const exampleCoreNetworkPolicyDocument = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({
        coreNetworkConfigurations: [{
            asnRanges: ["65022-65534"],
            edgeLocations: [
                {
                    location: "us-west-2",
                    asn: "65500",
                },
                {
                    location: "us-east-1",
                    asn: "65501",
                },
            ],
        }],
        segments: [
            {
                name: "segment",
            },
            {
                name: "segment2",
            },
        ],
        segmentActions: [
            {
                action: "create-route",
                segment: "segment",
                destinationCidrBlocks: ["10.0.0.0/16"],
                destinations: [exampleUsWest2.id],
            },
            {
                action: "create-route",
                segment: "segment",
                destinationCidrBlocks: ["10.1.0.0/16"],
                destinations: [exampleUsEast1.id],
            },
        ],
    });
    const exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", {
        coreNetworkId: exampleCoreNetwork.id,
        policyDocument: exampleCoreNetworkPolicyDocument.apply(exampleCoreNetworkPolicyDocument => exampleCoreNetworkPolicyDocument.json),
    });
    

    Coming soon!

    Option 2 - using base_policy_regions

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleGlobalNetwork = new Aws.NetworkManager.GlobalNetwork("exampleGlobalNetwork");
    
        var exampleCoreNetwork = new Aws.NetworkManager.CoreNetwork("exampleCoreNetwork", new()
        {
            GlobalNetworkId = exampleGlobalNetwork.Id,
            BasePolicyRegions = new[]
            {
                "us-west-2",
                "us-east-1",
            },
            CreateBasePolicy = true,
        });
    
        var exampleUsWest2 = new Aws.NetworkManager.VpcAttachment("exampleUsWest2", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            SubnetArns = aws_subnet.Example_us_west_2.Select(__item => __item.Arn).ToList(),
            VpcArn = aws_vpc.Example_us_west_2.Arn,
        });
    
        var exampleUsEast1 = new Aws.NetworkManager.VpcAttachment("exampleUsEast1", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            SubnetArns = aws_subnet.Example_us_east_1.Select(__item => __item.Arn).ToList(),
            VpcArn = aws_vpc.Example_us_east_1.Arn,
        }, new CustomResourceOptions
        {
            Provider = "alternate",
        });
    
        var exampleCoreNetworkPolicyDocument = Aws.NetworkManager.GetCoreNetworkPolicyDocument.Invoke(new()
        {
            CoreNetworkConfigurations = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationInputArgs
                {
                    AsnRanges = new[]
                    {
                        "65022-65534",
                    },
                    EdgeLocations = new[]
                    {
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-west-2",
                        },
                        new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationInputArgs
                        {
                            Location = "us-east-1",
                        },
                    },
                },
            },
            Segments = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment",
                },
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentInputArgs
                {
                    Name = "segment2",
                },
            },
            SegmentActions = new[]
            {
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs
                {
                    Action = "create-route",
                    Segment = "segment",
                    DestinationCidrBlocks = new[]
                    {
                        "10.0.0.0/16",
                    },
                    Destinations = new[]
                    {
                        exampleUsWest2.Id,
                    },
                },
                new Aws.NetworkManager.Inputs.GetCoreNetworkPolicyDocumentSegmentActionInputArgs
                {
                    Action = "create-route",
                    Segment = "segment",
                    DestinationCidrBlocks = new[]
                    {
                        "10.1.0.0/16",
                    },
                    Destinations = new[]
                    {
                        exampleUsEast1.Id,
                    },
                },
            },
        });
    
        var exampleCoreNetworkPolicyAttachment = new Aws.NetworkManager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", new()
        {
            CoreNetworkId = exampleCoreNetwork.Id,
            PolicyDocument = exampleCoreNetworkPolicyDocument.Apply(getCoreNetworkPolicyDocumentResult => getCoreNetworkPolicyDocumentResult.Json),
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    exampleGlobalNetwork, err := networkmanager.NewGlobalNetwork(ctx, "exampleGlobalNetwork", nil)
    if err != nil {
    return err
    }
    exampleCoreNetwork, err := networkmanager.NewCoreNetwork(ctx, "exampleCoreNetwork", &networkmanager.CoreNetworkArgs{
    GlobalNetworkId: exampleGlobalNetwork.ID(),
    BasePolicyRegions: pulumi.StringArray{
    pulumi.String("us-west-2"),
    pulumi.String("us-east-1"),
    },
    CreateBasePolicy: pulumi.Bool(true),
    })
    if err != nil {
    return err
    }
    var splat0 []interface{}
    for _, val0 := range aws_subnet.Example_us_west_2 {
    splat0 = append(splat0, val0.Arn)
    }
    exampleUsWest2, err := networkmanager.NewVpcAttachment(ctx, "exampleUsWest2", &networkmanager.VpcAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    SubnetArns: toPulumiArray(splat0),
    VpcArn: pulumi.Any(aws_vpc.Example_us_west_2.Arn),
    })
    if err != nil {
    return err
    }
    var splat1 []interface{}
    for _, val0 := range aws_subnet.Example_us_east_1 {
    splat1 = append(splat1, val0.Arn)
    }
    exampleUsEast1, err := networkmanager.NewVpcAttachment(ctx, "exampleUsEast1", &networkmanager.VpcAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    SubnetArns: toPulumiArray(splat1),
    VpcArn: pulumi.Any(aws_vpc.Example_us_east_1.Arn),
    }, pulumi.Provider("alternate"))
    if err != nil {
    return err
    }
    exampleCoreNetworkPolicyDocument := networkmanager.GetCoreNetworkPolicyDocumentOutput(ctx, networkmanager.GetCoreNetworkPolicyDocumentOutputArgs{
    CoreNetworkConfigurations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs{
    AsnRanges: pulumi.StringArray{
    pulumi.String("65022-65534"),
    },
    EdgeLocations: networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArray{
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{
    Location: pulumi.String("us-west-2"),
    },
    &networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs{
    Location: pulumi.String("us-east-1"),
    },
    },
    },
    },
    Segments: networkmanager.GetCoreNetworkPolicyDocumentSegmentArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{
    Name: pulumi.String("segment"),
    },
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs{
    Name: pulumi.String("segment2"),
    },
    },
    SegmentActions: networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArray{
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{
    Action: pulumi.String("create-route"),
    Segment: pulumi.String("segment"),
    DestinationCidrBlocks: pulumi.StringArray{
    pulumi.String("10.0.0.0/16"),
    },
    Destinations: pulumi.StringArray{
    exampleUsWest2.ID(),
    },
    },
    &networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs{
    Action: pulumi.String("create-route"),
    Segment: pulumi.String("segment"),
    DestinationCidrBlocks: pulumi.StringArray{
    pulumi.String("10.1.0.0/16"),
    },
    Destinations: pulumi.StringArray{
    exampleUsEast1.ID(),
    },
    },
    },
    }, nil);
    _, err = networkmanager.NewCoreNetworkPolicyAttachment(ctx, "exampleCoreNetworkPolicyAttachment", &networkmanager.CoreNetworkPolicyAttachmentArgs{
    CoreNetworkId: exampleCoreNetwork.ID(),
    PolicyDocument: exampleCoreNetworkPolicyDocument.ApplyT(func(exampleCoreNetworkPolicyDocument networkmanager.GetCoreNetworkPolicyDocumentResult) (*string, error) {
    return &exampleCoreNetworkPolicyDocument.Json, nil
    }).(pulumi.StringPtrOutput),
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    func toPulumiArray(arr []) pulumi.Array {
    var pulumiArr pulumi.Array
    for _, v := range arr {
    pulumiArr = append(pulumiArr, pulumi.(v))
    }
    return pulumiArr
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.networkmanager.GlobalNetwork;
    import com.pulumi.aws.networkmanager.CoreNetwork;
    import com.pulumi.aws.networkmanager.CoreNetworkArgs;
    import com.pulumi.aws.networkmanager.VpcAttachment;
    import com.pulumi.aws.networkmanager.VpcAttachmentArgs;
    import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
    import com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachment;
    import com.pulumi.aws.networkmanager.CoreNetworkPolicyAttachmentArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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 exampleGlobalNetwork = new GlobalNetwork("exampleGlobalNetwork");
    
            var exampleCoreNetwork = new CoreNetwork("exampleCoreNetwork", CoreNetworkArgs.builder()        
                .globalNetworkId(exampleGlobalNetwork.id())
                .basePolicyRegions(            
                    "us-west-2",
                    "us-east-1")
                .createBasePolicy(true)
                .build());
    
            var exampleUsWest2 = new VpcAttachment("exampleUsWest2", VpcAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .subnetArns(aws_subnet.example_us_west_2().stream().map(element -> element.arn()).collect(toList()))
                .vpcArn(aws_vpc.example_us_west_2().arn())
                .build());
    
            var exampleUsEast1 = new VpcAttachment("exampleUsEast1", VpcAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .subnetArns(aws_subnet.example_us_east_1().stream().map(element -> element.arn()).collect(toList()))
                .vpcArn(aws_vpc.example_us_east_1().arn())
                .build(), CustomResourceOptions.builder()
                    .provider("alternate")
                    .build());
    
            final var exampleCoreNetworkPolicyDocument = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
                .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
                    .asnRanges("65022-65534")
                    .edgeLocations(                
                        GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                            .location("us-west-2")
                            .build(),
                        GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
                            .location("us-east-1")
                            .build())
                    .build())
                .segments(            
                    GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                        .name("segment")
                        .build(),
                    GetCoreNetworkPolicyDocumentSegmentArgs.builder()
                        .name("segment2")
                        .build())
                .segmentActions(            
                    GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
                        .action("create-route")
                        .segment("segment")
                        .destinationCidrBlocks("10.0.0.0/16")
                        .destinations(exampleUsWest2.id())
                        .build(),
                    GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
                        .action("create-route")
                        .segment("segment")
                        .destinationCidrBlocks("10.1.0.0/16")
                        .destinations(exampleUsEast1.id())
                        .build())
                .build());
    
            var exampleCoreNetworkPolicyAttachment = new CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", CoreNetworkPolicyAttachmentArgs.builder()        
                .coreNetworkId(exampleCoreNetwork.id())
                .policyDocument(exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult).applyValue(exampleCoreNetworkPolicyDocument -> exampleCoreNetworkPolicyDocument.applyValue(getCoreNetworkPolicyDocumentResult -> getCoreNetworkPolicyDocumentResult.json())))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example_global_network = aws.networkmanager.GlobalNetwork("exampleGlobalNetwork")
    example_core_network = aws.networkmanager.CoreNetwork("exampleCoreNetwork",
        global_network_id=example_global_network.id,
        base_policy_regions=[
            "us-west-2",
            "us-east-1",
        ],
        create_base_policy=True)
    example_us_west2 = aws.networkmanager.VpcAttachment("exampleUsWest2",
        core_network_id=example_core_network.id,
        subnet_arns=[__item["arn"] for __item in aws_subnet["example_us_west_2"]],
        vpc_arn=aws_vpc["example_us_west_2"]["arn"])
    example_us_east1 = aws.networkmanager.VpcAttachment("exampleUsEast1",
        core_network_id=example_core_network.id,
        subnet_arns=[__item["arn"] for __item in aws_subnet["example_us_east_1"]],
        vpc_arn=aws_vpc["example_us_east_1"]["arn"],
        opts=pulumi.ResourceOptions(provider="alternate"))
    example_core_network_policy_document = aws.networkmanager.get_core_network_policy_document_output(core_network_configurations=[aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs(
            asn_ranges=["65022-65534"],
            edge_locations=[
                aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                    location="us-west-2",
                ),
                aws.networkmanager.GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs(
                    location="us-east-1",
                ),
            ],
        )],
        segments=[
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
                name="segment",
            ),
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentArgs(
                name="segment2",
            ),
        ],
        segment_actions=[
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(
                action="create-route",
                segment="segment",
                destination_cidr_blocks=["10.0.0.0/16"],
                destinations=[example_us_west2.id],
            ),
            aws.networkmanager.GetCoreNetworkPolicyDocumentSegmentActionArgs(
                action="create-route",
                segment="segment",
                destination_cidr_blocks=["10.1.0.0/16"],
                destinations=[example_us_east1.id],
            ),
        ])
    example_core_network_policy_attachment = aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment",
        core_network_id=example_core_network.id,
        policy_document=example_core_network_policy_document.json)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const exampleGlobalNetwork = new aws.networkmanager.GlobalNetwork("exampleGlobalNetwork", {});
    const exampleCoreNetwork = new aws.networkmanager.CoreNetwork("exampleCoreNetwork", {
        globalNetworkId: exampleGlobalNetwork.id,
        basePolicyRegions: [
            "us-west-2",
            "us-east-1",
        ],
        createBasePolicy: true,
    });
    const exampleUsWest2 = new aws.networkmanager.VpcAttachment("exampleUsWest2", {
        coreNetworkId: exampleCoreNetwork.id,
        subnetArns: aws_subnet.example_us_west_2.map(__item => __item.arn),
        vpcArn: aws_vpc.example_us_west_2.arn,
    });
    const exampleUsEast1 = new aws.networkmanager.VpcAttachment("exampleUsEast1", {
        coreNetworkId: exampleCoreNetwork.id,
        subnetArns: aws_subnet.example_us_east_1.map(__item => __item.arn),
        vpcArn: aws_vpc.example_us_east_1.arn,
    }, {
        provider: "alternate",
    });
    const exampleCoreNetworkPolicyDocument = aws.networkmanager.getCoreNetworkPolicyDocumentOutput({
        coreNetworkConfigurations: [{
            asnRanges: ["65022-65534"],
            edgeLocations: [
                {
                    location: "us-west-2",
                },
                {
                    location: "us-east-1",
                },
            ],
        }],
        segments: [
            {
                name: "segment",
            },
            {
                name: "segment2",
            },
        ],
        segmentActions: [
            {
                action: "create-route",
                segment: "segment",
                destinationCidrBlocks: ["10.0.0.0/16"],
                destinations: [exampleUsWest2.id],
            },
            {
                action: "create-route",
                segment: "segment",
                destinationCidrBlocks: ["10.1.0.0/16"],
                destinations: [exampleUsEast1.id],
            },
        ],
    });
    const exampleCoreNetworkPolicyAttachment = new aws.networkmanager.CoreNetworkPolicyAttachment("exampleCoreNetworkPolicyAttachment", {
        coreNetworkId: exampleCoreNetwork.id,
        policyDocument: exampleCoreNetworkPolicyDocument.apply(exampleCoreNetworkPolicyDocument => exampleCoreNetworkPolicyDocument.json),
    });
    

    Coming soon!

    Create CoreNetwork Resource

    new CoreNetwork(name: string, args: CoreNetworkArgs, opts?: CustomResourceOptions);
    @overload
    def CoreNetwork(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    base_policy_document: Optional[str] = None,
                    base_policy_region: Optional[str] = None,
                    base_policy_regions: Optional[Sequence[str]] = None,
                    create_base_policy: Optional[bool] = None,
                    description: Optional[str] = None,
                    global_network_id: Optional[str] = None,
                    tags: Optional[Mapping[str, str]] = None)
    @overload
    def CoreNetwork(resource_name: str,
                    args: CoreNetworkArgs,
                    opts: Optional[ResourceOptions] = None)
    func NewCoreNetwork(ctx *Context, name string, args CoreNetworkArgs, opts ...ResourceOption) (*CoreNetwork, error)
    public CoreNetwork(string name, CoreNetworkArgs args, CustomResourceOptions? opts = null)
    public CoreNetwork(String name, CoreNetworkArgs args)
    public CoreNetwork(String name, CoreNetworkArgs args, CustomResourceOptions options)
    
    type: aws:networkmanager:CoreNetwork
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args CoreNetworkArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CoreNetworkArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CoreNetworkArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CoreNetworkArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CoreNetworkArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    CoreNetwork Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The CoreNetwork resource accepts the following input properties:

    GlobalNetworkId string

    The ID of the global network that a core network will be a part of.

    BasePolicyDocument string

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    BasePolicyRegion string

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    BasePolicyRegions List<string>

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    CreateBasePolicy bool

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    Description string

    Description of the Core Network.

    Tags Dictionary<string, string>

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    GlobalNetworkId string

    The ID of the global network that a core network will be a part of.

    BasePolicyDocument string

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    BasePolicyRegion string

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    BasePolicyRegions []string

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    CreateBasePolicy bool

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    Description string

    Description of the Core Network.

    Tags map[string]string

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    globalNetworkId String

    The ID of the global network that a core network will be a part of.

    basePolicyDocument String

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    basePolicyRegion String

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    basePolicyRegions List<String>

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    createBasePolicy Boolean

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    description String

    Description of the Core Network.

    tags Map<String,String>

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    globalNetworkId string

    The ID of the global network that a core network will be a part of.

    basePolicyDocument string

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    basePolicyRegion string

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    basePolicyRegions string[]

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    createBasePolicy boolean

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    description string

    Description of the Core Network.

    tags {[key: string]: string}

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    global_network_id str

    The ID of the global network that a core network will be a part of.

    base_policy_document str

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    base_policy_region str

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    base_policy_regions Sequence[str]

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    create_base_policy bool

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    description str

    Description of the Core Network.

    tags Mapping[str, str]

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    globalNetworkId String

    The ID of the global network that a core network will be a part of.

    basePolicyDocument String

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    basePolicyRegion String

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    basePolicyRegions List<String>

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    createBasePolicy Boolean

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    description String

    Description of the Core Network.

    tags Map<String>

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CoreNetwork resource produces the following output properties:

    Arn string

    Core Network Amazon Resource Name (ARN).

    CreatedAt string

    Timestamp when a core network was created.

    Edges List<CoreNetworkEdge>

    One or more blocks detailing the edges within a core network. Detailed below.

    Id string

    The provider-assigned unique ID for this managed resource.

    Segments List<CoreNetworkSegment>

    One or more blocks detailing the segments within a core network. Detailed below.

    State string

    Current state of a core network.

    TagsAll Dictionary<string, string>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    Arn string

    Core Network Amazon Resource Name (ARN).

    CreatedAt string

    Timestamp when a core network was created.

    Edges []CoreNetworkEdge

    One or more blocks detailing the edges within a core network. Detailed below.

    Id string

    The provider-assigned unique ID for this managed resource.

    Segments []CoreNetworkSegment

    One or more blocks detailing the segments within a core network. Detailed below.

    State string

    Current state of a core network.

    TagsAll map[string]string

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn String

    Core Network Amazon Resource Name (ARN).

    createdAt String

    Timestamp when a core network was created.

    edges List<CoreNetworkEdge>

    One or more blocks detailing the edges within a core network. Detailed below.

    id String

    The provider-assigned unique ID for this managed resource.

    segments List<CoreNetworkSegment>

    One or more blocks detailing the segments within a core network. Detailed below.

    state String

    Current state of a core network.

    tagsAll Map<String,String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn string

    Core Network Amazon Resource Name (ARN).

    createdAt string

    Timestamp when a core network was created.

    edges CoreNetworkEdge[]

    One or more blocks detailing the edges within a core network. Detailed below.

    id string

    The provider-assigned unique ID for this managed resource.

    segments CoreNetworkSegment[]

    One or more blocks detailing the segments within a core network. Detailed below.

    state string

    Current state of a core network.

    tagsAll {[key: string]: string}

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn str

    Core Network Amazon Resource Name (ARN).

    created_at str

    Timestamp when a core network was created.

    edges Sequence[CoreNetworkEdge]

    One or more blocks detailing the edges within a core network. Detailed below.

    id str

    The provider-assigned unique ID for this managed resource.

    segments Sequence[CoreNetworkSegment]

    One or more blocks detailing the segments within a core network. Detailed below.

    state str

    Current state of a core network.

    tags_all Mapping[str, str]

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn String

    Core Network Amazon Resource Name (ARN).

    createdAt String

    Timestamp when a core network was created.

    edges List<Property Map>

    One or more blocks detailing the edges within a core network. Detailed below.

    id String

    The provider-assigned unique ID for this managed resource.

    segments List<Property Map>

    One or more blocks detailing the segments within a core network. Detailed below.

    state String

    Current state of a core network.

    tagsAll Map<String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    Look up Existing CoreNetwork Resource

    Get an existing CoreNetwork resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CoreNetworkState, opts?: CustomResourceOptions): CoreNetwork
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            base_policy_document: Optional[str] = None,
            base_policy_region: Optional[str] = None,
            base_policy_regions: Optional[Sequence[str]] = None,
            create_base_policy: Optional[bool] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            edges: Optional[Sequence[CoreNetworkEdgeArgs]] = None,
            global_network_id: Optional[str] = None,
            segments: Optional[Sequence[CoreNetworkSegmentArgs]] = None,
            state: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None) -> CoreNetwork
    func GetCoreNetwork(ctx *Context, name string, id IDInput, state *CoreNetworkState, opts ...ResourceOption) (*CoreNetwork, error)
    public static CoreNetwork Get(string name, Input<string> id, CoreNetworkState? state, CustomResourceOptions? opts = null)
    public static CoreNetwork get(String name, Output<String> id, CoreNetworkState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string

    Core Network Amazon Resource Name (ARN).

    BasePolicyDocument string

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    BasePolicyRegion string

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    BasePolicyRegions List<string>

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    CreateBasePolicy bool

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    CreatedAt string

    Timestamp when a core network was created.

    Description string

    Description of the Core Network.

    Edges List<CoreNetworkEdge>

    One or more blocks detailing the edges within a core network. Detailed below.

    GlobalNetworkId string

    The ID of the global network that a core network will be a part of.

    Segments List<CoreNetworkSegment>

    One or more blocks detailing the segments within a core network. Detailed below.

    State string

    Current state of a core network.

    Tags Dictionary<string, string>

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TagsAll Dictionary<string, string>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    Arn string

    Core Network Amazon Resource Name (ARN).

    BasePolicyDocument string

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    BasePolicyRegion string

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    BasePolicyRegions []string

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    CreateBasePolicy bool

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    CreatedAt string

    Timestamp when a core network was created.

    Description string

    Description of the Core Network.

    Edges []CoreNetworkEdgeArgs

    One or more blocks detailing the edges within a core network. Detailed below.

    GlobalNetworkId string

    The ID of the global network that a core network will be a part of.

    Segments []CoreNetworkSegmentArgs

    One or more blocks detailing the segments within a core network. Detailed below.

    State string

    Current state of a core network.

    Tags map[string]string

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TagsAll map[string]string

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn String

    Core Network Amazon Resource Name (ARN).

    basePolicyDocument String

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    basePolicyRegion String

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    basePolicyRegions List<String>

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    createBasePolicy Boolean

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    createdAt String

    Timestamp when a core network was created.

    description String

    Description of the Core Network.

    edges List<CoreNetworkEdge>

    One or more blocks detailing the edges within a core network. Detailed below.

    globalNetworkId String

    The ID of the global network that a core network will be a part of.

    segments List<CoreNetworkSegment>

    One or more blocks detailing the segments within a core network. Detailed below.

    state String

    Current state of a core network.

    tags Map<String,String>

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll Map<String,String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn string

    Core Network Amazon Resource Name (ARN).

    basePolicyDocument string

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    basePolicyRegion string

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    basePolicyRegions string[]

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    createBasePolicy boolean

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    createdAt string

    Timestamp when a core network was created.

    description string

    Description of the Core Network.

    edges CoreNetworkEdge[]

    One or more blocks detailing the edges within a core network. Detailed below.

    globalNetworkId string

    The ID of the global network that a core network will be a part of.

    segments CoreNetworkSegment[]

    One or more blocks detailing the segments within a core network. Detailed below.

    state string

    Current state of a core network.

    tags {[key: string]: string}

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll {[key: string]: string}

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn str

    Core Network Amazon Resource Name (ARN).

    base_policy_document str

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    base_policy_region str

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    base_policy_regions Sequence[str]

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    create_base_policy bool

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    created_at str

    Timestamp when a core network was created.

    description str

    Description of the Core Network.

    edges Sequence[CoreNetworkEdgeArgs]

    One or more blocks detailing the edges within a core network. Detailed below.

    global_network_id str

    The ID of the global network that a core network will be a part of.

    segments Sequence[CoreNetworkSegmentArgs]

    One or more blocks detailing the segments within a core network. Detailed below.

    state str

    Current state of a core network.

    tags Mapping[str, str]

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tags_all Mapping[str, str]

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    arn String

    Core Network Amazon Resource Name (ARN).

    basePolicyDocument String

    Sets the base policy document for the core network. Refer to the Core network policies documentation for more information.

    basePolicyRegion String

    The base policy created by setting the create_base_policy argument to true requires a region to be set in the edge-locations, location key. If base_policy_region is not specified, the region used in the base policy defaults to the region specified in the provider block.

    Deprecated:

    Use the base_policy_regions argument instead. This argument will be removed in the next major version of the provider.

    basePolicyRegions List<String>

    A list of regions to add to the base policy. The base policy created by setting the create_base_policy argument to true requires one or more regions to be set in the edge-locations, location key. If base_policy_regions is not specified, the region used in the base policy defaults to the region specified in the provider block.

    createBasePolicy Boolean

    Specifies whether to create a base policy when a core network is created or updated. A base policy is created and set to LIVE to allow attachments to the core network (e.g. VPC Attachments) before applying a policy document provided using the aws.networkmanager.CoreNetworkPolicyAttachment resource. This base policy is needed if your core network does not have any LIVE policies and your policy document has static routes pointing to VPC attachments and you want to attach your VPCs to the core network before applying the desired policy document. Valid values are true or false. An example of this Pulumi snippet can be found above for VPC Attachment in a single region and for VPC Attachment multi-region. An example base policy is shown below. This base policy is overridden with the policy that you specify in the aws.networkmanager.CoreNetworkPolicyAttachment resource.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    createdAt String

    Timestamp when a core network was created.

    description String

    Description of the Core Network.

    edges List<Property Map>

    One or more blocks detailing the edges within a core network. Detailed below.

    globalNetworkId String

    The ID of the global network that a core network will be a part of.

    segments List<Property Map>

    One or more blocks detailing the segments within a core network. Detailed below.

    state String

    Current state of a core network.

    tags Map<String>

    Key-value tags for the Core Network. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll Map<String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    Supporting Types

    CoreNetworkEdge, CoreNetworkEdgeArgs

    Asn int

    ASN of a core network edge.

    EdgeLocation string

    Region where a core network edge is located.

    InsideCidrBlocks List<string>

    Inside IP addresses used for core network edges.

    Asn int

    ASN of a core network edge.

    EdgeLocation string

    Region where a core network edge is located.

    InsideCidrBlocks []string

    Inside IP addresses used for core network edges.

    asn Integer

    ASN of a core network edge.

    edgeLocation String

    Region where a core network edge is located.

    insideCidrBlocks List<String>

    Inside IP addresses used for core network edges.

    asn number

    ASN of a core network edge.

    edgeLocation string

    Region where a core network edge is located.

    insideCidrBlocks string[]

    Inside IP addresses used for core network edges.

    asn int

    ASN of a core network edge.

    edge_location str

    Region where a core network edge is located.

    inside_cidr_blocks Sequence[str]

    Inside IP addresses used for core network edges.

    asn Number

    ASN of a core network edge.

    edgeLocation String

    Region where a core network edge is located.

    insideCidrBlocks List<String>

    Inside IP addresses used for core network edges.

    CoreNetworkSegment, CoreNetworkSegmentArgs

    EdgeLocations List<string>

    Regions where the edges are located.

    Name string

    Name of a core network segment.

    SharedSegments List<string>

    Shared segments of a core network.

    EdgeLocations []string

    Regions where the edges are located.

    Name string

    Name of a core network segment.

    SharedSegments []string

    Shared segments of a core network.

    edgeLocations List<String>

    Regions where the edges are located.

    name String

    Name of a core network segment.

    sharedSegments List<String>

    Shared segments of a core network.

    edgeLocations string[]

    Regions where the edges are located.

    name string

    Name of a core network segment.

    sharedSegments string[]

    Shared segments of a core network.

    edge_locations Sequence[str]

    Regions where the edges are located.

    name str

    Name of a core network segment.

    shared_segments Sequence[str]

    Shared segments of a core network.

    edgeLocations List<String>

    Regions where the edges are located.

    name String

    Name of a core network segment.

    sharedSegments List<String>

    Shared segments of a core network.

    Import

    Using pulumi import, import aws_networkmanager_core_network using the core network ID. For example:

     $ pulumi import aws:networkmanager/coreNetwork:CoreNetwork example core-network-0d47f6t230mz46dy4
    

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the aws Terraform Provider.

    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.12.2 published on Wednesday, Nov 29, 2023 by Pulumi