1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. apigee
  5. TargetServer
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

gcp.apigee.TargetServer

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

    TargetServer configuration. TargetServers are used to decouple a proxy TargetEndpoint HTTPTargetConnections from concrete URLs for backend services.

    To get more information about TargetServer, see:

    Example Usage

    Apigee Target Server Test Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const project = new gcp.organizations.Project("project", {
        projectId: "my-project",
        name: "my-project",
        orgId: "123456789",
        billingAccount: "000000-0000000-0000000-000000",
    });
    const apigee = new gcp.projects.Service("apigee", {
        project: project.projectId,
        service: "apigee.googleapis.com",
    });
    const servicenetworking = new gcp.projects.Service("servicenetworking", {
        project: project.projectId,
        service: "servicenetworking.googleapis.com",
    });
    const compute = new gcp.projects.Service("compute", {
        project: project.projectId,
        service: "compute.googleapis.com",
    });
    const apigeeNetwork = new gcp.compute.Network("apigee_network", {
        name: "apigee-network",
        project: project.projectId,
    });
    const apigeeRange = new gcp.compute.GlobalAddress("apigee_range", {
        name: "apigee-range",
        purpose: "VPC_PEERING",
        addressType: "INTERNAL",
        prefixLength: 16,
        network: apigeeNetwork.id,
        project: project.projectId,
    });
    const apigeeVpcConnection = new gcp.servicenetworking.Connection("apigee_vpc_connection", {
        network: apigeeNetwork.id,
        service: "servicenetworking.googleapis.com",
        reservedPeeringRanges: [apigeeRange.name],
    });
    const apigeeOrg = new gcp.apigee.Organization("apigee_org", {
        analyticsRegion: "us-central1",
        projectId: project.projectId,
        authorizedNetwork: apigeeNetwork.id,
    });
    const apigeeEnvironment = new gcp.apigee.Environment("apigee_environment", {
        orgId: apigeeOrg.id,
        name: "my-environment-name",
        description: "Apigee Environment",
        displayName: "environment-1",
    });
    const apigeeTargetServer = new gcp.apigee.TargetServer("apigee_target_server", {
        name: "my-target-server",
        description: "Apigee Target Server",
        protocol: "HTTP",
        host: "abc.foo.com",
        port: 8080,
        envId: apigeeEnvironment.id,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    project = gcp.organizations.Project("project",
        project_id="my-project",
        name="my-project",
        org_id="123456789",
        billing_account="000000-0000000-0000000-000000")
    apigee = gcp.projects.Service("apigee",
        project=project.project_id,
        service="apigee.googleapis.com")
    servicenetworking = gcp.projects.Service("servicenetworking",
        project=project.project_id,
        service="servicenetworking.googleapis.com")
    compute = gcp.projects.Service("compute",
        project=project.project_id,
        service="compute.googleapis.com")
    apigee_network = gcp.compute.Network("apigee_network",
        name="apigee-network",
        project=project.project_id)
    apigee_range = gcp.compute.GlobalAddress("apigee_range",
        name="apigee-range",
        purpose="VPC_PEERING",
        address_type="INTERNAL",
        prefix_length=16,
        network=apigee_network.id,
        project=project.project_id)
    apigee_vpc_connection = gcp.servicenetworking.Connection("apigee_vpc_connection",
        network=apigee_network.id,
        service="servicenetworking.googleapis.com",
        reserved_peering_ranges=[apigee_range.name])
    apigee_org = gcp.apigee.Organization("apigee_org",
        analytics_region="us-central1",
        project_id=project.project_id,
        authorized_network=apigee_network.id)
    apigee_environment = gcp.apigee.Environment("apigee_environment",
        org_id=apigee_org.id,
        name="my-environment-name",
        description="Apigee Environment",
        display_name="environment-1")
    apigee_target_server = gcp.apigee.TargetServer("apigee_target_server",
        name="my-target-server",
        description="Apigee Target Server",
        protocol="HTTP",
        host="abc.foo.com",
        port=8080,
        env_id=apigee_environment.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/apigee"
    	"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-gcp/sdk/v7/go/gcp/servicenetworking"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
    			ProjectId:      pulumi.String("my-project"),
    			Name:           pulumi.String("my-project"),
    			OrgId:          pulumi.String("123456789"),
    			BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = projects.NewService(ctx, "apigee", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("apigee.googleapis.com"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = projects.NewService(ctx, "servicenetworking", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("servicenetworking.googleapis.com"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = projects.NewService(ctx, "compute", &projects.ServiceArgs{
    			Project: project.ProjectId,
    			Service: pulumi.String("compute.googleapis.com"),
    		})
    		if err != nil {
    			return err
    		}
    		apigeeNetwork, err := compute.NewNetwork(ctx, "apigee_network", &compute.NetworkArgs{
    			Name:    pulumi.String("apigee-network"),
    			Project: project.ProjectId,
    		})
    		if err != nil {
    			return err
    		}
    		apigeeRange, err := compute.NewGlobalAddress(ctx, "apigee_range", &compute.GlobalAddressArgs{
    			Name:         pulumi.String("apigee-range"),
    			Purpose:      pulumi.String("VPC_PEERING"),
    			AddressType:  pulumi.String("INTERNAL"),
    			PrefixLength: pulumi.Int(16),
    			Network:      apigeeNetwork.ID(),
    			Project:      project.ProjectId,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = servicenetworking.NewConnection(ctx, "apigee_vpc_connection", &servicenetworking.ConnectionArgs{
    			Network: apigeeNetwork.ID(),
    			Service: pulumi.String("servicenetworking.googleapis.com"),
    			ReservedPeeringRanges: pulumi.StringArray{
    				apigeeRange.Name,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		apigeeOrg, err := apigee.NewOrganization(ctx, "apigee_org", &apigee.OrganizationArgs{
    			AnalyticsRegion:   pulumi.String("us-central1"),
    			ProjectId:         project.ProjectId,
    			AuthorizedNetwork: apigeeNetwork.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		apigeeEnvironment, err := apigee.NewEnvironment(ctx, "apigee_environment", &apigee.EnvironmentArgs{
    			OrgId:       apigeeOrg.ID(),
    			Name:        pulumi.String("my-environment-name"),
    			Description: pulumi.String("Apigee Environment"),
    			DisplayName: pulumi.String("environment-1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = apigee.NewTargetServer(ctx, "apigee_target_server", &apigee.TargetServerArgs{
    			Name:        pulumi.String("my-target-server"),
    			Description: pulumi.String("Apigee Target Server"),
    			Protocol:    pulumi.String("HTTP"),
    			Host:        pulumi.String("abc.foo.com"),
    			Port:        pulumi.Int(8080),
    			EnvId:       apigeeEnvironment.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var project = new Gcp.Organizations.Project("project", new()
        {
            ProjectId = "my-project",
            Name = "my-project",
            OrgId = "123456789",
            BillingAccount = "000000-0000000-0000000-000000",
        });
    
        var apigee = new Gcp.Projects.Service("apigee", new()
        {
            Project = project.ProjectId,
            ServiceName = "apigee.googleapis.com",
        });
    
        var servicenetworking = new Gcp.Projects.Service("servicenetworking", new()
        {
            Project = project.ProjectId,
            ServiceName = "servicenetworking.googleapis.com",
        });
    
        var compute = new Gcp.Projects.Service("compute", new()
        {
            Project = project.ProjectId,
            ServiceName = "compute.googleapis.com",
        });
    
        var apigeeNetwork = new Gcp.Compute.Network("apigee_network", new()
        {
            Name = "apigee-network",
            Project = project.ProjectId,
        });
    
        var apigeeRange = new Gcp.Compute.GlobalAddress("apigee_range", new()
        {
            Name = "apigee-range",
            Purpose = "VPC_PEERING",
            AddressType = "INTERNAL",
            PrefixLength = 16,
            Network = apigeeNetwork.Id,
            Project = project.ProjectId,
        });
    
        var apigeeVpcConnection = new Gcp.ServiceNetworking.Connection("apigee_vpc_connection", new()
        {
            Network = apigeeNetwork.Id,
            Service = "servicenetworking.googleapis.com",
            ReservedPeeringRanges = new[]
            {
                apigeeRange.Name,
            },
        });
    
        var apigeeOrg = new Gcp.Apigee.Organization("apigee_org", new()
        {
            AnalyticsRegion = "us-central1",
            ProjectId = project.ProjectId,
            AuthorizedNetwork = apigeeNetwork.Id,
        });
    
        var apigeeEnvironment = new Gcp.Apigee.Environment("apigee_environment", new()
        {
            OrgId = apigeeOrg.Id,
            Name = "my-environment-name",
            Description = "Apigee Environment",
            DisplayName = "environment-1",
        });
    
        var apigeeTargetServer = new Gcp.Apigee.TargetServer("apigee_target_server", new()
        {
            Name = "my-target-server",
            Description = "Apigee Target Server",
            Protocol = "HTTP",
            Host = "abc.foo.com",
            Port = 8080,
            EnvId = apigeeEnvironment.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.GlobalAddress;
    import com.pulumi.gcp.compute.GlobalAddressArgs;
    import com.pulumi.gcp.servicenetworking.Connection;
    import com.pulumi.gcp.servicenetworking.ConnectionArgs;
    import com.pulumi.gcp.apigee.Organization;
    import com.pulumi.gcp.apigee.OrganizationArgs;
    import com.pulumi.gcp.apigee.Environment;
    import com.pulumi.gcp.apigee.EnvironmentArgs;
    import com.pulumi.gcp.apigee.TargetServer;
    import com.pulumi.gcp.apigee.TargetServerArgs;
    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 project = new Project("project", ProjectArgs.builder()        
                .projectId("my-project")
                .name("my-project")
                .orgId("123456789")
                .billingAccount("000000-0000000-0000000-000000")
                .build());
    
            var apigee = new Service("apigee", ServiceArgs.builder()        
                .project(project.projectId())
                .service("apigee.googleapis.com")
                .build());
    
            var servicenetworking = new Service("servicenetworking", ServiceArgs.builder()        
                .project(project.projectId())
                .service("servicenetworking.googleapis.com")
                .build());
    
            var compute = new Service("compute", ServiceArgs.builder()        
                .project(project.projectId())
                .service("compute.googleapis.com")
                .build());
    
            var apigeeNetwork = new Network("apigeeNetwork", NetworkArgs.builder()        
                .name("apigee-network")
                .project(project.projectId())
                .build());
    
            var apigeeRange = new GlobalAddress("apigeeRange", GlobalAddressArgs.builder()        
                .name("apigee-range")
                .purpose("VPC_PEERING")
                .addressType("INTERNAL")
                .prefixLength(16)
                .network(apigeeNetwork.id())
                .project(project.projectId())
                .build());
    
            var apigeeVpcConnection = new Connection("apigeeVpcConnection", ConnectionArgs.builder()        
                .network(apigeeNetwork.id())
                .service("servicenetworking.googleapis.com")
                .reservedPeeringRanges(apigeeRange.name())
                .build());
    
            var apigeeOrg = new Organization("apigeeOrg", OrganizationArgs.builder()        
                .analyticsRegion("us-central1")
                .projectId(project.projectId())
                .authorizedNetwork(apigeeNetwork.id())
                .build());
    
            var apigeeEnvironment = new Environment("apigeeEnvironment", EnvironmentArgs.builder()        
                .orgId(apigeeOrg.id())
                .name("my-environment-name")
                .description("Apigee Environment")
                .displayName("environment-1")
                .build());
    
            var apigeeTargetServer = new TargetServer("apigeeTargetServer", TargetServerArgs.builder()        
                .name("my-target-server")
                .description("Apigee Target Server")
                .protocol("HTTP")
                .host("abc.foo.com")
                .port(8080)
                .envId(apigeeEnvironment.id())
                .build());
    
        }
    }
    
    resources:
      project:
        type: gcp:organizations:Project
        properties:
          projectId: my-project
          name: my-project
          orgId: '123456789'
          billingAccount: 000000-0000000-0000000-000000
      apigee:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: apigee.googleapis.com
      servicenetworking:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: servicenetworking.googleapis.com
      compute:
        type: gcp:projects:Service
        properties:
          project: ${project.projectId}
          service: compute.googleapis.com
      apigeeNetwork:
        type: gcp:compute:Network
        name: apigee_network
        properties:
          name: apigee-network
          project: ${project.projectId}
      apigeeRange:
        type: gcp:compute:GlobalAddress
        name: apigee_range
        properties:
          name: apigee-range
          purpose: VPC_PEERING
          addressType: INTERNAL
          prefixLength: 16
          network: ${apigeeNetwork.id}
          project: ${project.projectId}
      apigeeVpcConnection:
        type: gcp:servicenetworking:Connection
        name: apigee_vpc_connection
        properties:
          network: ${apigeeNetwork.id}
          service: servicenetworking.googleapis.com
          reservedPeeringRanges:
            - ${apigeeRange.name}
      apigeeOrg:
        type: gcp:apigee:Organization
        name: apigee_org
        properties:
          analyticsRegion: us-central1
          projectId: ${project.projectId}
          authorizedNetwork: ${apigeeNetwork.id}
      apigeeEnvironment:
        type: gcp:apigee:Environment
        name: apigee_environment
        properties:
          orgId: ${apigeeOrg.id}
          name: my-environment-name
          description: Apigee Environment
          displayName: environment-1
      apigeeTargetServer:
        type: gcp:apigee:TargetServer
        name: apigee_target_server
        properties:
          name: my-target-server
          description: Apigee Target Server
          protocol: HTTP
          host: abc.foo.com
          port: 8080
          envId: ${apigeeEnvironment.id}
    

    Create TargetServer Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new TargetServer(name: string, args: TargetServerArgs, opts?: CustomResourceOptions);
    @overload
    def TargetServer(resource_name: str,
                     args: TargetServerArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def TargetServer(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     env_id: Optional[str] = None,
                     host: Optional[str] = None,
                     port: Optional[int] = None,
                     description: Optional[str] = None,
                     is_enabled: Optional[bool] = None,
                     name: Optional[str] = None,
                     protocol: Optional[str] = None,
                     s_sl_info: Optional[TargetServerSSlInfoArgs] = None)
    func NewTargetServer(ctx *Context, name string, args TargetServerArgs, opts ...ResourceOption) (*TargetServer, error)
    public TargetServer(string name, TargetServerArgs args, CustomResourceOptions? opts = null)
    public TargetServer(String name, TargetServerArgs args)
    public TargetServer(String name, TargetServerArgs args, CustomResourceOptions options)
    
    type: gcp:apigee:TargetServer
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args TargetServerArgs
    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 TargetServerArgs
    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 TargetServerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TargetServerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TargetServerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var targetServerResource = new Gcp.Apigee.TargetServer("targetServerResource", new()
    {
        EnvId = "string",
        Host = "string",
        Port = 0,
        Description = "string",
        IsEnabled = false,
        Name = "string",
        Protocol = "string",
        SSlInfo = new Gcp.Apigee.Inputs.TargetServerSSlInfoArgs
        {
            Enabled = false,
            Ciphers = new[]
            {
                "string",
            },
            ClientAuthEnabled = false,
            CommonName = new Gcp.Apigee.Inputs.TargetServerSSlInfoCommonNameArgs
            {
                Value = "string",
                WildcardMatch = false,
            },
            IgnoreValidationErrors = false,
            KeyAlias = "string",
            KeyStore = "string",
            Protocols = new[]
            {
                "string",
            },
            TrustStore = "string",
        },
    });
    
    example, err := apigee.NewTargetServer(ctx, "targetServerResource", &apigee.TargetServerArgs{
    	EnvId:       pulumi.String("string"),
    	Host:        pulumi.String("string"),
    	Port:        pulumi.Int(0),
    	Description: pulumi.String("string"),
    	IsEnabled:   pulumi.Bool(false),
    	Name:        pulumi.String("string"),
    	Protocol:    pulumi.String("string"),
    	SSlInfo: &apigee.TargetServerSSlInfoArgs{
    		Enabled: pulumi.Bool(false),
    		Ciphers: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ClientAuthEnabled: pulumi.Bool(false),
    		CommonName: &apigee.TargetServerSSlInfoCommonNameArgs{
    			Value:         pulumi.String("string"),
    			WildcardMatch: pulumi.Bool(false),
    		},
    		IgnoreValidationErrors: pulumi.Bool(false),
    		KeyAlias:               pulumi.String("string"),
    		KeyStore:               pulumi.String("string"),
    		Protocols: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		TrustStore: pulumi.String("string"),
    	},
    })
    
    var targetServerResource = new TargetServer("targetServerResource", TargetServerArgs.builder()        
        .envId("string")
        .host("string")
        .port(0)
        .description("string")
        .isEnabled(false)
        .name("string")
        .protocol("string")
        .sSlInfo(TargetServerSSlInfoArgs.builder()
            .enabled(false)
            .ciphers("string")
            .clientAuthEnabled(false)
            .commonName(TargetServerSSlInfoCommonNameArgs.builder()
                .value("string")
                .wildcardMatch(false)
                .build())
            .ignoreValidationErrors(false)
            .keyAlias("string")
            .keyStore("string")
            .protocols("string")
            .trustStore("string")
            .build())
        .build());
    
    target_server_resource = gcp.apigee.TargetServer("targetServerResource",
        env_id="string",
        host="string",
        port=0,
        description="string",
        is_enabled=False,
        name="string",
        protocol="string",
        s_sl_info=gcp.apigee.TargetServerSSlInfoArgs(
            enabled=False,
            ciphers=["string"],
            client_auth_enabled=False,
            common_name=gcp.apigee.TargetServerSSlInfoCommonNameArgs(
                value="string",
                wildcard_match=False,
            ),
            ignore_validation_errors=False,
            key_alias="string",
            key_store="string",
            protocols=["string"],
            trust_store="string",
        ))
    
    const targetServerResource = new gcp.apigee.TargetServer("targetServerResource", {
        envId: "string",
        host: "string",
        port: 0,
        description: "string",
        isEnabled: false,
        name: "string",
        protocol: "string",
        sSlInfo: {
            enabled: false,
            ciphers: ["string"],
            clientAuthEnabled: false,
            commonName: {
                value: "string",
                wildcardMatch: false,
            },
            ignoreValidationErrors: false,
            keyAlias: "string",
            keyStore: "string",
            protocols: ["string"],
            trustStore: "string",
        },
    });
    
    type: gcp:apigee:TargetServer
    properties:
        description: string
        envId: string
        host: string
        isEnabled: false
        name: string
        port: 0
        protocol: string
        sSlInfo:
            ciphers:
                - string
            clientAuthEnabled: false
            commonName:
                value: string
                wildcardMatch: false
            enabled: false
            ignoreValidationErrors: false
            keyAlias: string
            keyStore: string
            protocols:
                - string
            trustStore: string
    

    TargetServer 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 TargetServer resource accepts the following input properties:

    EnvId string
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    Host string
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    Port int
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    Description string
    A human-readable description of this TargetServer.
    IsEnabled bool
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    Name string
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    Protocol string
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    SSlInfo TargetServerSSlInfo
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    EnvId string
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    Host string
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    Port int
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    Description string
    A human-readable description of this TargetServer.
    IsEnabled bool
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    Name string
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    Protocol string
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    SSlInfo TargetServerSSlInfoArgs
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    envId String
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host String
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    port Integer
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    description String
    A human-readable description of this TargetServer.
    isEnabled Boolean
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name String
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    protocol String
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    sSlInfo TargetServerSSlInfo
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    envId string
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host string
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    port number
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    description string
    A human-readable description of this TargetServer.
    isEnabled boolean
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name string
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    protocol string
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    sSlInfo TargetServerSSlInfo
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    env_id str
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host str
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    port int
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    description str
    A human-readable description of this TargetServer.
    is_enabled bool
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name str
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    protocol str
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    s_sl_info TargetServerSSlInfoArgs
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    envId String
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host String
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    port Number
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    description String
    A human-readable description of this TargetServer.
    isEnabled Boolean
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name String
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    protocol String
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    sSlInfo Property Map
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing TargetServer Resource

    Get an existing TargetServer 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?: TargetServerState, opts?: CustomResourceOptions): TargetServer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            env_id: Optional[str] = None,
            host: Optional[str] = None,
            is_enabled: Optional[bool] = None,
            name: Optional[str] = None,
            port: Optional[int] = None,
            protocol: Optional[str] = None,
            s_sl_info: Optional[TargetServerSSlInfoArgs] = None) -> TargetServer
    func GetTargetServer(ctx *Context, name string, id IDInput, state *TargetServerState, opts ...ResourceOption) (*TargetServer, error)
    public static TargetServer Get(string name, Input<string> id, TargetServerState? state, CustomResourceOptions? opts = null)
    public static TargetServer get(String name, Output<String> id, TargetServerState 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:
    Description string
    A human-readable description of this TargetServer.
    EnvId string
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    Host string
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    IsEnabled bool
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    Name string
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    Port int
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    Protocol string
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    SSlInfo TargetServerSSlInfo
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    Description string
    A human-readable description of this TargetServer.
    EnvId string
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    Host string
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    IsEnabled bool
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    Name string
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    Port int
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    Protocol string
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    SSlInfo TargetServerSSlInfoArgs
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    description String
    A human-readable description of this TargetServer.
    envId String
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host String
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    isEnabled Boolean
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name String
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    port Integer
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    protocol String
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    sSlInfo TargetServerSSlInfo
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    description string
    A human-readable description of this TargetServer.
    envId string
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host string
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    isEnabled boolean
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name string
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    port number
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    protocol string
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    sSlInfo TargetServerSSlInfo
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    description str
    A human-readable description of this TargetServer.
    env_id str
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host str
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    is_enabled bool
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name str
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    port int
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    protocol str
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    s_sl_info TargetServerSSlInfoArgs
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.
    description String
    A human-readable description of this TargetServer.
    envId String
    The Apigee environment group associated with the Apigee environment, in the format organizations/{{org_name}}/environments/{{env_name}}.


    host String
    The host name this target connects to. Value must be a valid hostname as described by RFC-1123.
    isEnabled Boolean
    Enabling/disabling a TargetServer is useful when TargetServers are used in load balancing configurations, and one or more TargetServers need to taken out of rotation periodically. Defaults to true.
    name String
    The resource id of this reference. Values must match the regular expression [\w\s-.]+.
    port Number
    The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive.
    protocol String
    Immutable. The protocol used by this TargetServer. Possible values are: HTTP, HTTP2, GRPC_TARGET, GRPC, EXTERNAL_CALLOUT.
    sSlInfo Property Map
    Specifies TLS configuration info for this TargetServer. The JSON name is sSLInfo for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration. Structure is documented below.

    Supporting Types

    TargetServerSSlInfo, TargetServerSSlInfoArgs

    Enabled bool
    Enables TLS. If false, neither one-way nor two-way TLS will be enabled.
    Ciphers List<string>
    The SSL/TLS cipher suites to be used. For programmable proxies, it must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. For configurable proxies, it must follow the configuration specified in: https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. This setting has no effect for configurable proxies when negotiating TLS 1.3.
    ClientAuthEnabled bool
    Enables two-way TLS.
    CommonName TargetServerSSlInfoCommonName
    The TLS Common Name of the certificate. Structure is documented below.
    IgnoreValidationErrors bool
    If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
    KeyAlias string
    Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
    KeyStore string
    Required if clientAuthEnabled is true. The resource ID of the keystore.
    Protocols List<string>
    The TLS versioins to be used.
    TrustStore string
    The resource ID of the truststore.
    Enabled bool
    Enables TLS. If false, neither one-way nor two-way TLS will be enabled.
    Ciphers []string
    The SSL/TLS cipher suites to be used. For programmable proxies, it must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. For configurable proxies, it must follow the configuration specified in: https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. This setting has no effect for configurable proxies when negotiating TLS 1.3.
    ClientAuthEnabled bool
    Enables two-way TLS.
    CommonName TargetServerSSlInfoCommonName
    The TLS Common Name of the certificate. Structure is documented below.
    IgnoreValidationErrors bool
    If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
    KeyAlias string
    Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
    KeyStore string
    Required if clientAuthEnabled is true. The resource ID of the keystore.
    Protocols []string
    The TLS versioins to be used.
    TrustStore string
    The resource ID of the truststore.
    enabled Boolean
    Enables TLS. If false, neither one-way nor two-way TLS will be enabled.
    ciphers List<String>
    The SSL/TLS cipher suites to be used. For programmable proxies, it must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. For configurable proxies, it must follow the configuration specified in: https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. This setting has no effect for configurable proxies when negotiating TLS 1.3.
    clientAuthEnabled Boolean
    Enables two-way TLS.
    commonName TargetServerSSlInfoCommonName
    The TLS Common Name of the certificate. Structure is documented below.
    ignoreValidationErrors Boolean
    If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
    keyAlias String
    Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
    keyStore String
    Required if clientAuthEnabled is true. The resource ID of the keystore.
    protocols List<String>
    The TLS versioins to be used.
    trustStore String
    The resource ID of the truststore.
    enabled boolean
    Enables TLS. If false, neither one-way nor two-way TLS will be enabled.
    ciphers string[]
    The SSL/TLS cipher suites to be used. For programmable proxies, it must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. For configurable proxies, it must follow the configuration specified in: https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. This setting has no effect for configurable proxies when negotiating TLS 1.3.
    clientAuthEnabled boolean
    Enables two-way TLS.
    commonName TargetServerSSlInfoCommonName
    The TLS Common Name of the certificate. Structure is documented below.
    ignoreValidationErrors boolean
    If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
    keyAlias string
    Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
    keyStore string
    Required if clientAuthEnabled is true. The resource ID of the keystore.
    protocols string[]
    The TLS versioins to be used.
    trustStore string
    The resource ID of the truststore.
    enabled bool
    Enables TLS. If false, neither one-way nor two-way TLS will be enabled.
    ciphers Sequence[str]
    The SSL/TLS cipher suites to be used. For programmable proxies, it must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. For configurable proxies, it must follow the configuration specified in: https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. This setting has no effect for configurable proxies when negotiating TLS 1.3.
    client_auth_enabled bool
    Enables two-way TLS.
    common_name TargetServerSSlInfoCommonName
    The TLS Common Name of the certificate. Structure is documented below.
    ignore_validation_errors bool
    If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
    key_alias str
    Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
    key_store str
    Required if clientAuthEnabled is true. The resource ID of the keystore.
    protocols Sequence[str]
    The TLS versioins to be used.
    trust_store str
    The resource ID of the truststore.
    enabled Boolean
    Enables TLS. If false, neither one-way nor two-way TLS will be enabled.
    ciphers List<String>
    The SSL/TLS cipher suites to be used. For programmable proxies, it must be one of the cipher suite names listed in: http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites. For configurable proxies, it must follow the configuration specified in: https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration. This setting has no effect for configurable proxies when negotiating TLS 1.3.
    clientAuthEnabled Boolean
    Enables two-way TLS.
    commonName Property Map
    The TLS Common Name of the certificate. Structure is documented below.
    ignoreValidationErrors Boolean
    If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
    keyAlias String
    Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
    keyStore String
    Required if clientAuthEnabled is true. The resource ID of the keystore.
    protocols List<String>
    The TLS versioins to be used.
    trustStore String
    The resource ID of the truststore.

    TargetServerSSlInfoCommonName, TargetServerSSlInfoCommonNameArgs

    Value string
    The TLS Common Name string of the certificate.
    WildcardMatch bool
    Indicates whether the cert should be matched against as a wildcard cert.
    Value string
    The TLS Common Name string of the certificate.
    WildcardMatch bool
    Indicates whether the cert should be matched against as a wildcard cert.
    value String
    The TLS Common Name string of the certificate.
    wildcardMatch Boolean
    Indicates whether the cert should be matched against as a wildcard cert.
    value string
    The TLS Common Name string of the certificate.
    wildcardMatch boolean
    Indicates whether the cert should be matched against as a wildcard cert.
    value str
    The TLS Common Name string of the certificate.
    wildcard_match bool
    Indicates whether the cert should be matched against as a wildcard cert.
    value String
    The TLS Common Name string of the certificate.
    wildcardMatch Boolean
    Indicates whether the cert should be matched against as a wildcard cert.

    Import

    TargetServer can be imported using any of these accepted formats:

    • {{env_id}}/targetservers/{{name}}

    • {{env_id}}/{{name}}

    When using the pulumi import command, TargetServer can be imported using one of the formats above. For example:

    $ pulumi import gcp:apigee/targetServer:TargetServer default {{env_id}}/targetservers/{{name}}
    
    $ pulumi import gcp:apigee/targetServer:TargetServer default {{env_id}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi