Peering Args
data class PeeringArgs(val authorizedNetwork: Output<String>? = null, val domainResource: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val peeringId: Output<String>? = null, val project: Output<String>? = null, val status: Output<String>? = null, val statusMessage: Output<String>? = null) : ConvertibleToJava<PeeringArgs>
Example Usage
Active Directory Peering Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const source_network = new gcp.compute.Network("source-network", {name: "ad-network"});
const ad_domain = new gcp.activedirectory.Domain("ad-domain", {
domainName: "ad.test.hashicorptest.com",
locations: ["us-central1"],
reservedIpRange: "192.168.255.0/24",
authorizedNetworks: [source_network.id],
});
const peered_project = new gcp.organizations.Project("peered-project", {
name: "my-peered-project",
projectId: "my-peered-project",
orgId: "123456789",
billingAccount: "000000-0000000-0000000-000000",
});
const compute = new gcp.projects.Service("compute", {
project: peered_project.projectId,
service: "compute.googleapis.com",
});
const peered_network = new gcp.compute.Network("peered-network", {
project: compute.project,
name: "ad-peered-network",
});
const ad_domain_peering = new gcp.activedirectory.Peering("ad-domain-peering", {
domainResource: ad_domain.name,
peeringId: "ad-domain-peering",
authorizedNetwork: peered_network.id,
labels: {
foo: "bar",
},
});
Content copied to clipboard
import pulumi
import pulumi_gcp as gcp
source_network = gcp.compute.Network("source-network", name="ad-network")
ad_domain = gcp.activedirectory.Domain("ad-domain",
domain_name="ad.test.hashicorptest.com",
locations=["us-central1"],
reserved_ip_range="192.168.255.0/24",
authorized_networks=[source_network.id])
peered_project = gcp.organizations.Project("peered-project",
name="my-peered-project",
project_id="my-peered-project",
org_id="123456789",
billing_account="000000-0000000-0000000-000000")
compute = gcp.projects.Service("compute",
project=peered_project.project_id,
service="compute.googleapis.com")
peered_network = gcp.compute.Network("peered-network",
project=compute.project,
name="ad-peered-network")
ad_domain_peering = gcp.activedirectory.Peering("ad-domain-peering",
domain_resource=ad_domain.name,
peering_id="ad-domain-peering",
authorized_network=peered_network.id,
labels={
"foo": "bar",
})
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var source_network = new Gcp.Compute.Network("source-network", new()
{
Name = "ad-network",
});
var ad_domain = new Gcp.ActiveDirectory.Domain("ad-domain", new()
{
DomainName = "ad.test.hashicorptest.com",
Locations = new[]
{
"us-central1",
},
ReservedIpRange = "192.168.255.0/24",
AuthorizedNetworks = new[]
{
source_network.Id,
},
});
var peered_project = new Gcp.Organizations.Project("peered-project", new()
{
Name = "my-peered-project",
ProjectId = "my-peered-project",
OrgId = "123456789",
BillingAccount = "000000-0000000-0000000-000000",
});
var compute = new Gcp.Projects.Service("compute", new()
{
Project = peered_project.ProjectId,
ServiceName = "compute.googleapis.com",
});
var peered_network = new Gcp.Compute.Network("peered-network", new()
{
Project = compute.Project,
Name = "ad-peered-network",
});
var ad_domain_peering = new Gcp.ActiveDirectory.Peering("ad-domain-peering", new()
{
DomainResource = ad_domain.Name,
PeeringId = "ad-domain-peering",
AuthorizedNetwork = peered_network.Id,
Labels =
{
{ "foo", "bar" },
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/activedirectory"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewNetwork(ctx, "source-network", &compute.NetworkArgs{
Name: pulumi.String("ad-network"),
})
if err != nil {
return err
}
_, err = activedirectory.NewDomain(ctx, "ad-domain", &activedirectory.DomainArgs{
DomainName: pulumi.String("ad.test.hashicorptest.com"),
Locations: pulumi.StringArray{
pulumi.String("us-central1"),
},
ReservedIpRange: pulumi.String("192.168.255.0/24"),
AuthorizedNetworks: pulumi.StringArray{
source_network.ID(),
},
})
if err != nil {
return err
}
_, err = organizations.NewProject(ctx, "peered-project", &organizations.ProjectArgs{
Name: pulumi.String("my-peered-project"),
ProjectId: pulumi.String("my-peered-project"),
OrgId: pulumi.String("123456789"),
BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
})
if err != nil {
return err
}
compute, err := projects.NewService(ctx, "compute", &projects.ServiceArgs{
Project: peered_project.ProjectId,
Service: pulumi.String("compute.googleapis.com"),
})
if err != nil {
return err
}
_, err = compute.NewNetwork(ctx, "peered-network", &compute.NetworkArgs{
Project: compute.Project,
Name: pulumi.String("ad-peered-network"),
})
if err != nil {
return err
}
_, err = activedirectory.NewPeering(ctx, "ad-domain-peering", &activedirectory.PeeringArgs{
DomainResource: ad_domain.Name,
PeeringId: pulumi.String("ad-domain-peering"),
AuthorizedNetwork: peered_network.ID(),
Labels: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
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.activedirectory.Domain;
import com.pulumi.gcp.activedirectory.DomainArgs;
import com.pulumi.gcp.organizations.Project;
import com.pulumi.gcp.organizations.ProjectArgs;
import com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.activedirectory.Peering;
import com.pulumi.gcp.activedirectory.PeeringArgs;
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 source_network = new Network("source-network", NetworkArgs.builder()
.name("ad-network")
.build());
var ad_domain = new Domain("ad-domain", DomainArgs.builder()
.domainName("ad.test.hashicorptest.com")
.locations("us-central1")
.reservedIpRange("192.168.255.0/24")
.authorizedNetworks(source_network.id())
.build());
var peered_project = new Project("peered-project", ProjectArgs.builder()
.name("my-peered-project")
.projectId("my-peered-project")
.orgId("123456789")
.billingAccount("000000-0000000-0000000-000000")
.build());
var compute = new Service("compute", ServiceArgs.builder()
.project(peered_project.projectId())
.service("compute.googleapis.com")
.build());
var peered_network = new Network("peered-network", NetworkArgs.builder()
.project(compute.project())
.name("ad-peered-network")
.build());
var ad_domain_peering = new Peering("ad-domain-peering", PeeringArgs.builder()
.domainResource(ad_domain.name())
.peeringId("ad-domain-peering")
.authorizedNetwork(peered_network.id())
.labels(Map.of("foo", "bar"))
.build());
}
}
Content copied to clipboard
resources:
ad-domain-peering:
type: gcp:activedirectory:Peering
properties:
domainResource: ${["ad-domain"].name}
peeringId: ad-domain-peering
authorizedNetwork: ${["peered-network"].id}
labels:
foo: bar
ad-domain:
type: gcp:activedirectory:Domain
properties:
domainName: ad.test.hashicorptest.com
locations:
- us-central1
reservedIpRange: 192.168.255.0/24
authorizedNetworks:
- ${["source-network"].id}
peered-network:
type: gcp:compute:Network
properties:
project: ${compute.project}
name: ad-peered-network
source-network:
type: gcp:compute:Network
properties:
name: ad-network
compute:
type: gcp:projects:Service
properties:
project: ${["peered-project"].projectId}
service: compute.googleapis.com
peered-project:
type: gcp:organizations:Project
properties:
name: my-peered-project
projectId: my-peered-project
orgId: '123456789'
billingAccount: 000000-0000000-0000000-000000
Content copied to clipboard
Import
This resource does not support import.
Properties
Link copied to clipboard
The full names of the Google Compute Engine networks to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.
Link copied to clipboard
Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form projects/{projectId}/locations/global/domains/{domainName}
Link copied to clipboard
Link copied to clipboard
Additional information about the current status of this peering, if available.