PublicDelegatedPrefixArgs

data class PublicDelegatedPrefixArgs(val description: Output<String>? = null, val ipCidrRange: Output<String>? = null, val isLiveMigration: Output<Boolean>? = null, val name: Output<String>? = null, val parentPrefix: Output<String>? = null, val project: Output<String>? = null, val region: Output<String>? = null) : ConvertibleToJava<PublicDelegatedPrefixArgs>

Represents a PublicDelegatedPrefix for use with bring your own IP addresses (BYOIP). To get more information about PublicDelegatedPrefix, see:

Example Usage

Public Delegated Prefixes Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const advertised = new gcp.compute.PublicAdvertisedPrefix("advertised", {
name: "my-prefix",
description: "description",
dnsVerificationIp: "127.127.0.0",
ipCidrRange: "127.127.0.0/16",
});
const prefixes = new gcp.compute.PublicDelegatedPrefix("prefixes", {
name: "my-prefix",
region: "us-central1",
description: "my description",
ipCidrRange: "127.127.0.0/24",
parentPrefix: advertised.id,
});
import pulumi
import pulumi_gcp as gcp
advertised = gcp.compute.PublicAdvertisedPrefix("advertised",
name="my-prefix",
description="description",
dns_verification_ip="127.127.0.0",
ip_cidr_range="127.127.0.0/16")
prefixes = gcp.compute.PublicDelegatedPrefix("prefixes",
name="my-prefix",
region="us-central1",
description="my description",
ip_cidr_range="127.127.0.0/24",
parent_prefix=advertised.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var advertised = new Gcp.Compute.PublicAdvertisedPrefix("advertised", new()
{
Name = "my-prefix",
Description = "description",
DnsVerificationIp = "127.127.0.0",
IpCidrRange = "127.127.0.0/16",
});
var prefixes = new Gcp.Compute.PublicDelegatedPrefix("prefixes", new()
{
Name = "my-prefix",
Region = "us-central1",
Description = "my description",
IpCidrRange = "127.127.0.0/24",
ParentPrefix = advertised.Id,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
advertised, err := compute.NewPublicAdvertisedPrefix(ctx, "advertised", &compute.PublicAdvertisedPrefixArgs{
Name: pulumi.String("my-prefix"),
Description: pulumi.String("description"),
DnsVerificationIp: pulumi.String("127.127.0.0"),
IpCidrRange: pulumi.String("127.127.0.0/16"),
})
if err != nil {
return err
}
_, err = compute.NewPublicDelegatedPrefix(ctx, "prefixes", &compute.PublicDelegatedPrefixArgs{
Name: pulumi.String("my-prefix"),
Region: pulumi.String("us-central1"),
Description: pulumi.String("my description"),
IpCidrRange: pulumi.String("127.127.0.0/24"),
ParentPrefix: advertised.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.gcp.compute.PublicAdvertisedPrefix;
import com.pulumi.gcp.compute.PublicAdvertisedPrefixArgs;
import com.pulumi.gcp.compute.PublicDelegatedPrefix;
import com.pulumi.gcp.compute.PublicDelegatedPrefixArgs;
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 advertised = new PublicAdvertisedPrefix("advertised", PublicAdvertisedPrefixArgs.builder()
.name("my-prefix")
.description("description")
.dnsVerificationIp("127.127.0.0")
.ipCidrRange("127.127.0.0/16")
.build());
var prefixes = new PublicDelegatedPrefix("prefixes", PublicDelegatedPrefixArgs.builder()
.name("my-prefix")
.region("us-central1")
.description("my description")
.ipCidrRange("127.127.0.0/24")
.parentPrefix(advertised.id())
.build());
}
}
resources:
advertised:
type: gcp:compute:PublicAdvertisedPrefix
properties:
name: my-prefix
description: description
dnsVerificationIp: 127.127.0.0
ipCidrRange: 127.127.0.0/16
prefixes:
type: gcp:compute:PublicDelegatedPrefix
properties:
name: my-prefix
region: us-central1
description: my description
ipCidrRange: 127.127.0.0/24
parentPrefix: ${advertised.id}

Import

PublicDelegatedPrefix can be imported using any of these accepted formats:

  • projects/{{project}}/regions/{{region}}/publicDelegatedPrefixes/{{name}}

  • {{project}}/{{region}}/{{name}}

  • {{region}}/{{name}}

  • {{name}} When using the pulumi import command, PublicDelegatedPrefix can be imported using one of the formats above. For example:

$ pulumi import gcp:compute/publicDelegatedPrefix:PublicDelegatedPrefix default projects/{{project}}/regions/{{region}}/publicDelegatedPrefixes/{{name}}
$ pulumi import gcp:compute/publicDelegatedPrefix:PublicDelegatedPrefix default {{project}}/{{region}}/{{name}}
$ pulumi import gcp:compute/publicDelegatedPrefix:PublicDelegatedPrefix default {{region}}/{{name}}
$ pulumi import gcp:compute/publicDelegatedPrefix:PublicDelegatedPrefix default {{name}}

Constructors

Link copied to clipboard
constructor(description: Output<String>? = null, ipCidrRange: Output<String>? = null, isLiveMigration: Output<Boolean>? = null, name: Output<String>? = null, parentPrefix: Output<String>? = null, project: Output<String>? = null, region: Output<String>? = null)

Properties

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

An optional description of this resource.

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

The IPv4 address range, in CIDR format, represented by this public advertised prefix.

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

If true, the prefix will be live migrated.

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

Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

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

The URL of parent prefix. Either PublicAdvertisedPrefix or PublicDelegatedPrefix.

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.

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

A region where the prefix will reside.

Functions

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