NetworkPeeringRoutesConfigArgs

data class NetworkPeeringRoutesConfigArgs(val exportCustomRoutes: Output<Boolean>? = null, val importCustomRoutes: Output<Boolean>? = null, val network: Output<String>? = null, val peering: Output<String>? = null, val project: Output<String>? = null) : ConvertibleToJava<NetworkPeeringRoutesConfigArgs>

Manage a network peering's route settings without managing the peering as a whole. This resource is primarily intended for use with GCP-generated peerings that shouldn't otherwise be managed by other tools. Deleting this resource is a no-op and the peering will not be modified. To get more information about NetworkPeeringRoutesConfig, see:

Example Usage

Network Peering Routes Config Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.NetworkPeering;
import com.pulumi.gcp.compute.NetworkPeeringArgs;
import com.pulumi.gcp.compute.NetworkPeeringRoutesConfig;
import com.pulumi.gcp.compute.NetworkPeeringRoutesConfigArgs;
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 networkPrimary = new Network("networkPrimary", NetworkArgs.builder()
.autoCreateSubnetworks("false")
.build());
var networkSecondary = new Network("networkSecondary", NetworkArgs.builder()
.autoCreateSubnetworks("false")
.build());
var peeringPrimary = new NetworkPeering("peeringPrimary", NetworkPeeringArgs.builder()
.network(networkPrimary.id())
.peerNetwork(networkSecondary.id())
.importCustomRoutes(true)
.exportCustomRoutes(true)
.build());
var peeringPrimaryRoutes = new NetworkPeeringRoutesConfig("peeringPrimaryRoutes", NetworkPeeringRoutesConfigArgs.builder()
.peering(peeringPrimary.name())
.network(networkPrimary.name())
.importCustomRoutes(true)
.exportCustomRoutes(true)
.build());
var peeringSecondary = new NetworkPeering("peeringSecondary", NetworkPeeringArgs.builder()
.network(networkSecondary.id())
.peerNetwork(networkPrimary.id())
.build());
}
}

Network Peering Routes Config Gke

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.compute.inputs.SubnetworkSecondaryIpRangeArgs;
import com.pulumi.gcp.container.Cluster;
import com.pulumi.gcp.container.ClusterArgs;
import com.pulumi.gcp.container.inputs.ClusterPrivateClusterConfigArgs;
import com.pulumi.gcp.container.inputs.ClusterMasterAuthorizedNetworksConfigArgs;
import com.pulumi.gcp.container.inputs.ClusterIpAllocationPolicyArgs;
import com.pulumi.gcp.compute.NetworkPeeringRoutesConfig;
import com.pulumi.gcp.compute.NetworkPeeringRoutesConfigArgs;
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 containerNetwork = new Network("containerNetwork", NetworkArgs.builder()
.autoCreateSubnetworks(false)
.build());
var containerSubnetwork = new Subnetwork("containerSubnetwork", SubnetworkArgs.builder()
.region("us-central1")
.network(containerNetwork.name())
.ipCidrRange("10.0.36.0/24")
.privateIpGoogleAccess(true)
.secondaryIpRanges(
SubnetworkSecondaryIpRangeArgs.builder()
.rangeName("pod")
.ipCidrRange("10.0.0.0/19")
.build(),
SubnetworkSecondaryIpRangeArgs.builder()
.rangeName("svc")
.ipCidrRange("10.0.32.0/22")
.build())
.build());
var privateCluster = new Cluster("privateCluster", ClusterArgs.builder()
.location("us-central1-a")
.initialNodeCount(1)
.network(containerNetwork.name())
.subnetwork(containerSubnetwork.name())
.privateClusterConfig(ClusterPrivateClusterConfigArgs.builder()
.enablePrivateEndpoint(true)
.enablePrivateNodes(true)
.masterIpv4CidrBlock("10.42.0.0/28")
.build())
.masterAuthorizedNetworksConfig()
.ipAllocationPolicy(ClusterIpAllocationPolicyArgs.builder()
.clusterSecondaryRangeName(containerSubnetwork.secondaryIpRanges().applyValue(secondaryIpRanges -> secondaryIpRanges[0].rangeName()))
.servicesSecondaryRangeName(containerSubnetwork.secondaryIpRanges().applyValue(secondaryIpRanges -> secondaryIpRanges[1].rangeName()))
.build())
.build());
var peeringGkeRoutes = new NetworkPeeringRoutesConfig("peeringGkeRoutes", NetworkPeeringRoutesConfigArgs.builder()
.peering(privateCluster.privateClusterConfig().applyValue(privateClusterConfig -> privateClusterConfig.peeringName()))
.network(containerNetwork.name())
.importCustomRoutes(true)
.exportCustomRoutes(true)
.build());
}
}

Import

NetworkPeeringRoutesConfig can be imported using any of these accepted formats

$ pulumi import gcp:compute/networkPeeringRoutesConfig:NetworkPeeringRoutesConfig default projects/{{project}}/global/networks/{{network}}/networkPeerings/{{peering}}
$ pulumi import gcp:compute/networkPeeringRoutesConfig:NetworkPeeringRoutesConfig default {{project}}/{{network}}/{{peering}}
$ pulumi import gcp:compute/networkPeeringRoutesConfig:NetworkPeeringRoutesConfig default {{network}}/{{peering}}

Constructors

Link copied to clipboard
constructor(exportCustomRoutes: Output<Boolean>? = null, importCustomRoutes: Output<Boolean>? = null, network: Output<String>? = null, peering: Output<String>? = null, project: Output<String>? = null)

Properties

Link copied to clipboard
val exportCustomRoutes: Output<Boolean>? = null

Whether to export the custom routes to the peer network.

Link copied to clipboard
val importCustomRoutes: Output<Boolean>? = null

Whether to import the custom routes to the peer network.

Link copied to clipboard
val network: Output<String>? = null

The name of the primary network for the peering.

Link copied to clipboard
val peering: Output<String>? = null

Name of the peering.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Functions

Link copied to clipboard
open override fun toJava(): NetworkPeeringRoutesConfigArgs