gcp.apigee.TargetServer
Explore with Pulumi AI
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",
deletionPolicy: "DELETE",
});
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",
}, {
dependsOn: [apigee],
});
const compute = new gcp.projects.Service("compute", {
project: project.projectId,
service: "compute.googleapis.com",
}, {
dependsOn: [servicenetworking],
});
const apigeeNetwork = new gcp.compute.Network("apigee_network", {
name: "apigee-network",
project: project.projectId,
}, {
dependsOn: [compute],
});
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],
}, {
dependsOn: [servicenetworking],
});
const apigeeOrg = new gcp.apigee.Organization("apigee_org", {
analyticsRegion: "us-central1",
projectId: project.projectId,
authorizedNetwork: apigeeNetwork.id,
}, {
dependsOn: [
apigeeVpcConnection,
apigee,
],
});
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",
deletion_policy="DELETE")
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",
opts = pulumi.ResourceOptions(depends_on=[apigee]))
compute = gcp.projects.Service("compute",
project=project.project_id,
service="compute.googleapis.com",
opts = pulumi.ResourceOptions(depends_on=[servicenetworking]))
apigee_network = gcp.compute.Network("apigee_network",
name="apigee-network",
project=project.project_id,
opts = pulumi.ResourceOptions(depends_on=[compute]))
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],
opts = pulumi.ResourceOptions(depends_on=[servicenetworking]))
apigee_org = gcp.apigee.Organization("apigee_org",
analytics_region="us-central1",
project_id=project.project_id,
authorized_network=apigee_network.id,
opts = pulumi.ResourceOptions(depends_on=[
apigee_vpc_connection,
apigee,
]))
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/v8/go/gcp/apigee"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/projects"
"github.com/pulumi/pulumi-gcp/sdk/v8/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"),
DeletionPolicy: pulumi.String("DELETE"),
})
if err != nil {
return err
}
apigee, err := projects.NewService(ctx, "apigee", &projects.ServiceArgs{
Project: project.ProjectId,
Service: pulumi.String("apigee.googleapis.com"),
})
if err != nil {
return err
}
servicenetworking, err := projects.NewService(ctx, "servicenetworking", &projects.ServiceArgs{
Project: project.ProjectId,
Service: pulumi.String("servicenetworking.googleapis.com"),
}, pulumi.DependsOn([]pulumi.Resource{
apigee,
}))
if err != nil {
return err
}
compute, err := projects.NewService(ctx, "compute", &projects.ServiceArgs{
Project: project.ProjectId,
Service: pulumi.String("compute.googleapis.com"),
}, pulumi.DependsOn([]pulumi.Resource{
servicenetworking,
}))
if err != nil {
return err
}
apigeeNetwork, err := compute.NewNetwork(ctx, "apigee_network", &compute.NetworkArgs{
Name: pulumi.String("apigee-network"),
Project: project.ProjectId,
}, pulumi.DependsOn([]pulumi.Resource{
compute,
}))
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
}
apigeeVpcConnection, err := servicenetworking.NewConnection(ctx, "apigee_vpc_connection", &servicenetworking.ConnectionArgs{
Network: apigeeNetwork.ID(),
Service: pulumi.String("servicenetworking.googleapis.com"),
ReservedPeeringRanges: pulumi.StringArray{
apigeeRange.Name,
},
}, pulumi.DependsOn([]pulumi.Resource{
servicenetworking,
}))
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(),
}, pulumi.DependsOn([]pulumi.Resource{
apigeeVpcConnection,
apigee,
}))
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",
DeletionPolicy = "DELETE",
});
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",
}, new CustomResourceOptions
{
DependsOn =
{
apigee,
},
});
var compute = new Gcp.Projects.Service("compute", new()
{
Project = project.ProjectId,
ServiceName = "compute.googleapis.com",
}, new CustomResourceOptions
{
DependsOn =
{
servicenetworking,
},
});
var apigeeNetwork = new Gcp.Compute.Network("apigee_network", new()
{
Name = "apigee-network",
Project = project.ProjectId,
}, new CustomResourceOptions
{
DependsOn =
{
compute,
},
});
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,
},
}, new CustomResourceOptions
{
DependsOn =
{
servicenetworking,
},
});
var apigeeOrg = new Gcp.Apigee.Organization("apigee_org", new()
{
AnalyticsRegion = "us-central1",
ProjectId = project.ProjectId,
AuthorizedNetwork = apigeeNetwork.Id,
}, new CustomResourceOptions
{
DependsOn =
{
apigeeVpcConnection,
apigee,
},
});
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 com.pulumi.resources.CustomResourceOptions;
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")
.deletionPolicy("DELETE")
.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(), CustomResourceOptions.builder()
.dependsOn(apigee)
.build());
var compute = new Service("compute", ServiceArgs.builder()
.project(project.projectId())
.service("compute.googleapis.com")
.build(), CustomResourceOptions.builder()
.dependsOn(servicenetworking)
.build());
var apigeeNetwork = new Network("apigeeNetwork", NetworkArgs.builder()
.name("apigee-network")
.project(project.projectId())
.build(), CustomResourceOptions.builder()
.dependsOn(compute)
.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(), CustomResourceOptions.builder()
.dependsOn(servicenetworking)
.build());
var apigeeOrg = new Organization("apigeeOrg", OrganizationArgs.builder()
.analyticsRegion("us-central1")
.projectId(project.projectId())
.authorizedNetwork(apigeeNetwork.id())
.build(), CustomResourceOptions.builder()
.dependsOn(
apigeeVpcConnection,
apigee)
.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
deletionPolicy: DELETE
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
options:
dependson:
- ${apigee}
compute:
type: gcp:projects:Service
properties:
project: ${project.projectId}
service: compute.googleapis.com
options:
dependson:
- ${servicenetworking}
apigeeNetwork:
type: gcp:compute:Network
name: apigee_network
properties:
name: apigee-network
project: ${project.projectId}
options:
dependson:
- ${compute}
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}
options:
dependson:
- ${servicenetworking}
apigeeOrg:
type: gcp:apigee:Organization
name: apigee_org
properties:
analyticsRegion: us-central1
projectId: ${project.projectId}
authorizedNetwork: ${apigeeNetwork.id}
options:
dependson:
- ${apigeeVpcConnection}
- ${apigee}
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.
Constructor 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={
"enabled": False,
"ciphers": ["string"],
"client_auth_enabled": False,
"common_name": {
"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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The TargetServer resource accepts the following input properties:
- Env
Id 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.
- 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 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
. - SSl
Info TargetServer SSl Info - 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 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.
- 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 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
. - SSl
Info TargetServer SSl Info Args - 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 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.
- is
Enabled 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
. - s
Sl TargetInfo Server SSl Info - 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 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.
- is
Enabled 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
. - s
Sl TargetInfo Server SSl Info - 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_ Targetinfo Server SSl Info Args - 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 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.
- is
Enabled 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
. - s
Sl Property MapInfo - 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.
- Description string
- A human-readable description of this TargetServer.
- Env
Id 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.
- 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 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
. - SSl
Info TargetServer SSl Info - 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.
- Env
Id 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.
- 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 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
. - SSl
Info TargetServer SSl Info Args - 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.
- env
Id 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.
- is
Enabled 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
. - s
Sl TargetInfo Server SSl Info - 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.
- env
Id 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.
- is
Enabled 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
. - s
Sl TargetInfo Server SSl Info - 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_ Targetinfo Server SSl Info Args - 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.
- env
Id 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.
- is
Enabled 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
. - s
Sl Property MapInfo - 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.
- Client
Auth boolEnabled - Enables two-way TLS.
- Common
Name TargetServer SSl Info Common Name - The TLS Common Name of the certificate. Structure is documented below.
- Ignore
Validation boolErrors - 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 string - Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
- Key
Store string - Required if clientAuthEnabled is true. The resource ID of the keystore.
- Protocols List<string>
- The TLS versioins to be used.
- Trust
Store 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.
- Client
Auth boolEnabled - Enables two-way TLS.
- Common
Name TargetServer SSl Info Common Name - The TLS Common Name of the certificate. Structure is documented below.
- Ignore
Validation boolErrors - 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 string - Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
- Key
Store string - Required if clientAuthEnabled is true. The resource ID of the keystore.
- Protocols []string
- The TLS versioins to be used.
- Trust
Store 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.
- client
Auth BooleanEnabled - Enables two-way TLS.
- common
Name TargetServer SSl Info Common Name - The TLS Common Name of the certificate. Structure is documented below.
- ignore
Validation BooleanErrors - 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 String - Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
- key
Store String - Required if clientAuthEnabled is true. The resource ID of the keystore.
- protocols List<String>
- The TLS versioins to be used.
- trust
Store 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.
- client
Auth booleanEnabled - Enables two-way TLS.
- common
Name TargetServer SSl Info Common Name - The TLS Common Name of the certificate. Structure is documented below.
- ignore
Validation booleanErrors - 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 string - Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
- key
Store string - Required if clientAuthEnabled is true. The resource ID of the keystore.
- protocols string[]
- The TLS versioins to be used.
- trust
Store 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_ boolenabled - Enables two-way TLS.
- common_
name TargetServer SSl Info Common Name - The TLS Common Name of the certificate. Structure is documented below.
- ignore_
validation_ boolerrors - 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.
- client
Auth BooleanEnabled - Enables two-way TLS.
- common
Name Property Map - The TLS Common Name of the certificate. Structure is documented below.
- ignore
Validation BooleanErrors - 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 String - Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
- key
Store String - Required if clientAuthEnabled is true. The resource ID of the keystore.
- protocols List<String>
- The TLS versioins to be used.
- trust
Store String - The resource ID of the truststore.
TargetServerSSlInfoCommonName, TargetServerSSlInfoCommonNameArgs
- Value string
- 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.
- 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.
- wildcard
Match Boolean - Indicates whether the cert should be matched against as a wildcard cert.
- value string
- The TLS Common Name string of the certificate.
- wildcard
Match 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.
- wildcard
Match 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.