1. Packages
  2. Control Plane (cpln)
  3. API Docs
  4. getGvc
Control Plane v0.0.39 published on Saturday, Sep 28, 2024 by pulumiverse

cpln.getGvc

Explore with Pulumi AI

cpln logo
Control Plane v0.0.39 published on Saturday, Sep 28, 2024 by pulumiverse

    Use this data source to access information about an existing Global Virtual Cloud (GVC) within Control Plane.

    Required

    • name (String) Name of the GVC.

    Outputs

    The following attributes are exported:

    • cpln_id (String) The ID, in GUID format, of the GVC.
    • name (String) Name of the GVC.
    • alias (String) The alias name of the GVC.
    • description (String) Description of the GVC.
    • tags (Map of String) Key-value map of resource tags.
    • self_link (String) Full link to this resource. Can be referenced by other resources.
    • domain (String) Custom domain name used by associated workloads.
    • locations (List of String) A list of locations making up the Global Virtual Cloud.
    • pull_secrets (List of String) A list of pull secret names used to authenticate to any private image repository referenced by Workloads within the GVC.
    • lightstep_tracing (Block List, Max: 1) (see below).
    • otel_tracing (Block List, Max: 1) (see below).
    • controlplane_tracing (Block List, Max: 1) (see below).
    • load_balancer (Block List, Max: 1) (see below).

    lightstep_tracing

    • sampling (Int) Sampling percentage.
    • endpoint (String) Tracing Endpoint Workload. Either the canonical endpoint or the internal endpoint.
    • credentials (String) Full link to referenced Opaque Secret.

    otel_tracing

    • sampling (Int) Determines what percentage of requests should be traced.
    • endpoint (String) Tracing Endpoint Workload. Either the canonical endpoint or internal endpoint.
    • custom_tags (Map of String) Key-value map of custom tags.

    controlplane_tracing

    • sampling (Int) Determines what percentage of requests should be traced.
    • custom_tags (Map of String) Key-value map of custom tags.

    load_balancer

    • dedicated (Boolean) Creates a dedicated load balancer in each location and enables additional Domain features: custom ports, protocols and wildcard hostnames. Charges apply for each location.

    • trusted_proxies (Int) Controls the address used for request logging and for setting the X-Envoy-External-Address header. If set to 1, then the last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If set to 2, then the second to last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If the XFF header does not have at least two addresses or does not exist then the source client IP address will be used instead.

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Cpln = Pulumi.Cpln;
    
    return await Deployment.RunAsync(() => 
    {
        var gvc = Cpln.GetGvc.Invoke(new()
        {
            Name = "gvc-example",
        });
    
        return new Dictionary<string, object?>
        {
            ["gvcId"] = gvc.Apply(getGvcResult => getGvcResult.Id),
            ["gvcLocations"] = gvc.Apply(getGvcResult => getGvcResult.Locations),
        };
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-cpln/sdk/go/cpln"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		gvc, err := cpln.LookupGvc(ctx, &cpln.LookupGvcArgs{
    			Name: "gvc-example",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("gvcId", gvc.Id)
    		ctx.Export("gvcLocations", gvc.Locations)
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cpln.CplnFunctions;
    import com.pulumi.cpln.inputs.GetGvcArgs;
    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) {
            final var gvc = CplnFunctions.getGvc(GetGvcArgs.builder()
                .name("gvc-example")
                .build());
    
            ctx.export("gvcId", gvc.applyValue(getGvcResult -> getGvcResult.id()));
            ctx.export("gvcLocations", gvc.applyValue(getGvcResult -> getGvcResult.locations()));
        }
    }
    
    import pulumi
    import pulumi_cpln as cpln
    
    gvc = cpln.get_gvc(name="gvc-example")
    pulumi.export("gvcId", gvc.id)
    pulumi.export("gvcLocations", gvc.locations)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as cpln from "@pulumi/cpln";
    
    const gvc = cpln.getGvc({
        name: "gvc-example",
    });
    export const gvcId = gvc.then(gvc => gvc.id);
    export const gvcLocations = gvc.then(gvc => gvc.locations);
    
    variables:
      gvc:
        fn::invoke:
          Function: cpln:getGvc
          Arguments:
            name: gvc-example
    outputs:
      gvcId: ${gvc.id}
      gvcLocations: ${gvc.locations}
    

    Using getGvc

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getGvc(args: GetGvcArgs, opts?: InvokeOptions): Promise<GetGvcResult>
    function getGvcOutput(args: GetGvcOutputArgs, opts?: InvokeOptions): Output<GetGvcResult>
    def get_gvc(controlplane_tracing: Optional[GetGvcControlplaneTracing] = None,
                description: Optional[str] = None,
                domain: Optional[str] = None,
                env: Optional[Mapping[str, str]] = None,
                lightstep_tracing: Optional[GetGvcLightstepTracing] = None,
                load_balancer: Optional[GetGvcLoadBalancer] = None,
                locations: Optional[Sequence[str]] = None,
                name: Optional[str] = None,
                otel_tracing: Optional[GetGvcOtelTracing] = None,
                pull_secrets: Optional[Sequence[str]] = None,
                sidecar: Optional[GetGvcSidecar] = None,
                tags: Optional[Mapping[str, str]] = None,
                opts: Optional[InvokeOptions] = None) -> GetGvcResult
    def get_gvc_output(controlplane_tracing: Optional[pulumi.Input[GetGvcControlplaneTracingArgs]] = None,
                description: Optional[pulumi.Input[str]] = None,
                domain: Optional[pulumi.Input[str]] = None,
                env: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                lightstep_tracing: Optional[pulumi.Input[GetGvcLightstepTracingArgs]] = None,
                load_balancer: Optional[pulumi.Input[GetGvcLoadBalancerArgs]] = None,
                locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                name: Optional[pulumi.Input[str]] = None,
                otel_tracing: Optional[pulumi.Input[GetGvcOtelTracingArgs]] = None,
                pull_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                sidecar: Optional[pulumi.Input[GetGvcSidecarArgs]] = None,
                tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                opts: Optional[InvokeOptions] = None) -> Output[GetGvcResult]
    func LookupGvc(ctx *Context, args *LookupGvcArgs, opts ...InvokeOption) (*LookupGvcResult, error)
    func LookupGvcOutput(ctx *Context, args *LookupGvcOutputArgs, opts ...InvokeOption) LookupGvcResultOutput

    > Note: This function is named LookupGvc in the Go SDK.

    public static class GetGvc 
    {
        public static Task<GetGvcResult> InvokeAsync(GetGvcArgs args, InvokeOptions? opts = null)
        public static Output<GetGvcResult> Invoke(GetGvcInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetGvcResult> getGvc(GetGvcArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: cpln:index/getGvc:getGvc
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name string
    ControlplaneTracing Pulumiverse.Cpln.Inputs.GetGvcControlplaneTracing
    Description string
    Domain string

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    Env Dictionary<string, string>
    LightstepTracing Pulumiverse.Cpln.Inputs.GetGvcLightstepTracing
    LoadBalancer Pulumiverse.Cpln.Inputs.GetGvcLoadBalancer
    Locations List<string>
    OtelTracing Pulumiverse.Cpln.Inputs.GetGvcOtelTracing
    PullSecrets List<string>
    Sidecar Pulumiverse.Cpln.Inputs.GetGvcSidecar
    Tags Dictionary<string, string>
    Name string
    ControlplaneTracing GetGvcControlplaneTracing
    Description string
    Domain string

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    Env map[string]string
    LightstepTracing GetGvcLightstepTracing
    LoadBalancer GetGvcLoadBalancer
    Locations []string
    OtelTracing GetGvcOtelTracing
    PullSecrets []string
    Sidecar GetGvcSidecar
    Tags map[string]string
    name String
    controlplaneTracing GetGvcControlplaneTracing
    description String
    domain String

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env Map<String,String>
    lightstepTracing GetGvcLightstepTracing
    loadBalancer GetGvcLoadBalancer
    locations List<String>
    otelTracing GetGvcOtelTracing
    pullSecrets List<String>
    sidecar GetGvcSidecar
    tags Map<String,String>
    name string
    controlplaneTracing GetGvcControlplaneTracing
    description string
    domain string

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env {[key: string]: string}
    lightstepTracing GetGvcLightstepTracing
    loadBalancer GetGvcLoadBalancer
    locations string[]
    otelTracing GetGvcOtelTracing
    pullSecrets string[]
    sidecar GetGvcSidecar
    tags {[key: string]: string}
    name str
    controlplane_tracing GetGvcControlplaneTracing
    description str
    domain str

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env Mapping[str, str]
    lightstep_tracing GetGvcLightstepTracing
    load_balancer GetGvcLoadBalancer
    locations Sequence[str]
    otel_tracing GetGvcOtelTracing
    pull_secrets Sequence[str]
    sidecar GetGvcSidecar
    tags Mapping[str, str]
    name String
    controlplaneTracing Property Map
    description String
    domain String

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env Map<String>
    lightstepTracing Property Map
    loadBalancer Property Map
    locations List<String>
    otelTracing Property Map
    pullSecrets List<String>
    sidecar Property Map
    tags Map<String>

    getGvc Result

    The following output properties are available:

    Alias string
    CplnId string
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    SelfLink string
    ControlplaneTracing Pulumiverse.Cpln.Outputs.GetGvcControlplaneTracing
    Description string
    Domain string

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    Env Dictionary<string, string>
    LightstepTracing Pulumiverse.Cpln.Outputs.GetGvcLightstepTracing
    LoadBalancer Pulumiverse.Cpln.Outputs.GetGvcLoadBalancer
    Locations List<string>
    OtelTracing Pulumiverse.Cpln.Outputs.GetGvcOtelTracing
    PullSecrets List<string>
    Sidecar Pulumiverse.Cpln.Outputs.GetGvcSidecar
    Tags Dictionary<string, string>
    Alias string
    CplnId string
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    SelfLink string
    ControlplaneTracing GetGvcControlplaneTracing
    Description string
    Domain string

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    Env map[string]string
    LightstepTracing GetGvcLightstepTracing
    LoadBalancer GetGvcLoadBalancer
    Locations []string
    OtelTracing GetGvcOtelTracing
    PullSecrets []string
    Sidecar GetGvcSidecar
    Tags map[string]string
    alias String
    cplnId String
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    selfLink String
    controlplaneTracing GetGvcControlplaneTracing
    description String
    domain String

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env Map<String,String>
    lightstepTracing GetGvcLightstepTracing
    loadBalancer GetGvcLoadBalancer
    locations List<String>
    otelTracing GetGvcOtelTracing
    pullSecrets List<String>
    sidecar GetGvcSidecar
    tags Map<String,String>
    alias string
    cplnId string
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    selfLink string
    controlplaneTracing GetGvcControlplaneTracing
    description string
    domain string

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env {[key: string]: string}
    lightstepTracing GetGvcLightstepTracing
    loadBalancer GetGvcLoadBalancer
    locations string[]
    otelTracing GetGvcOtelTracing
    pullSecrets string[]
    sidecar GetGvcSidecar
    tags {[key: string]: string}
    alias str
    cpln_id str
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    self_link str
    controlplane_tracing GetGvcControlplaneTracing
    description str
    domain str

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env Mapping[str, str]
    lightstep_tracing GetGvcLightstepTracing
    load_balancer GetGvcLoadBalancer
    locations Sequence[str]
    otel_tracing GetGvcOtelTracing
    pull_secrets Sequence[str]
    sidecar GetGvcSidecar
    tags Mapping[str, str]
    alias String
    cplnId String
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    selfLink String
    controlplaneTracing Property Map
    description String
    domain String

    Deprecated: Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.

    env Map<String>
    lightstepTracing Property Map
    loadBalancer Property Map
    locations List<String>
    otelTracing Property Map
    pullSecrets List<String>
    sidecar Property Map
    tags Map<String>

    Supporting Types

    GetGvcControlplaneTracing

    Sampling double
    CustomTags Dictionary<string, string>
    Sampling float64
    CustomTags map[string]string
    sampling Double
    customTags Map<String,String>
    sampling number
    customTags {[key: string]: string}
    sampling float
    custom_tags Mapping[str, str]
    sampling Number
    customTags Map<String>

    GetGvcLightstepTracing

    Endpoint string
    Sampling double
    Credentials string
    CustomTags Dictionary<string, string>
    Endpoint string
    Sampling float64
    Credentials string
    CustomTags map[string]string
    endpoint String
    sampling Double
    credentials String
    customTags Map<String,String>
    endpoint string
    sampling number
    credentials string
    customTags {[key: string]: string}
    endpoint str
    sampling float
    credentials str
    custom_tags Mapping[str, str]
    endpoint String
    sampling Number
    credentials String
    customTags Map<String>

    GetGvcLoadBalancer

    dedicated Boolean
    trustedProxies Integer

    GetGvcOtelTracing

    Endpoint string
    Sampling double
    CustomTags Dictionary<string, string>
    Endpoint string
    Sampling float64
    CustomTags map[string]string
    endpoint String
    sampling Double
    customTags Map<String,String>
    endpoint string
    sampling number
    customTags {[key: string]: string}
    endpoint str
    sampling float
    custom_tags Mapping[str, str]
    endpoint String
    sampling Number
    customTags Map<String>

    GetGvcSidecar

    Envoy string
    Envoy string
    envoy String
    envoy string
    envoy str
    envoy String

    Package Details

    Repository
    cpln pulumiverse/pulumi-cpln
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the cpln Terraform Provider.
    cpln logo
    Control Plane v0.0.39 published on Saturday, Sep 28, 2024 by pulumiverse