ResourceConfigurationArgs

data class ResourceConfigurationArgs(val allowAssociationToShareableServiceNetwork: Output<Boolean>? = null, val name: Output<String>? = null, val portRanges: Output<List<String>>? = null, val protocol: Output<String>? = null, val resourceConfigurationDefinition: Output<ResourceConfigurationResourceConfigurationDefinitionArgs>? = null, val resourceConfigurationGroupId: Output<String>? = null, val resourceGatewayIdentifier: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val timeouts: Output<ResourceConfigurationTimeoutsArgs>? = null, val type: Output<String>? = null) : ConvertibleToJava<ResourceConfigurationArgs>

Resource for managing an AWS VPC Lattice Resource Configuration.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.vpclattice.ResourceConfiguration("example", {
name: "Example",
resourceGatewayIdentifier: exampleAwsVpclatticeResourceGateway.id,
portRanges: ["80"],
protocol: "TCP",
resourceConfigurationDefinition: {
dnsResource: {
domainName: "example.com",
ipAddressType: "IPV4",
},
},
tags: {
Environment: "Example",
},
});
import pulumi
import pulumi_aws as aws
example = aws.vpclattice.ResourceConfiguration("example",
name="Example",
resource_gateway_identifier=example_aws_vpclattice_resource_gateway["id"],
port_ranges=["80"],
protocol="TCP",
resource_configuration_definition={
"dns_resource": {
"domain_name": "example.com",
"ip_address_type": "IPV4",
},
},
tags={
"Environment": "Example",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.VpcLattice.ResourceConfiguration("example", new()
{
Name = "Example",
ResourceGatewayIdentifier = exampleAwsVpclatticeResourceGateway.Id,
PortRanges = new[]
{
"80",
},
Protocol = "TCP",
ResourceConfigurationDefinition = new Aws.VpcLattice.Inputs.ResourceConfigurationResourceConfigurationDefinitionArgs
{
DnsResource = new Aws.VpcLattice.Inputs.ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs
{
DomainName = "example.com",
IpAddressType = "IPV4",
},
},
Tags =
{
{ "Environment", "Example" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vpclattice.NewResourceConfiguration(ctx, "example", &vpclattice.ResourceConfigurationArgs{
Name: pulumi.String("Example"),
ResourceGatewayIdentifier: pulumi.Any(exampleAwsVpclatticeResourceGateway.Id),
PortRanges: pulumi.StringArray{
pulumi.String("80"),
},
Protocol: pulumi.String("TCP"),
ResourceConfigurationDefinition: &vpclattice.ResourceConfigurationResourceConfigurationDefinitionArgs{
DnsResource: &vpclattice.ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs{
DomainName: pulumi.String("example.com"),
IpAddressType: pulumi.String("IPV4"),
},
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("Example"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.vpclattice.ResourceConfiguration;
import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs;
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 example = new ResourceConfiguration("example", ResourceConfigurationArgs.builder()
.name("Example")
.resourceGatewayIdentifier(exampleAwsVpclatticeResourceGateway.id())
.portRanges("80")
.protocol("TCP")
.resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
.dnsResource(ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs.builder()
.domainName("example.com")
.ipAddressType("IPV4")
.build())
.build())
.tags(Map.of("Environment", "Example"))
.build());
}
}
resources:
example:
type: aws:vpclattice:ResourceConfiguration
properties:
name: Example
resourceGatewayIdentifier: ${exampleAwsVpclatticeResourceGateway.id}
portRanges:
- '80'
protocol: TCP
resourceConfigurationDefinition:
dnsResource:
domainName: example.com
ipAddressType: IPV4
tags:
Environment: Example

IP Address Example

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.vpclattice.ResourceConfiguration("example", {
name: "Example",
resourceGatewayIdentifier: exampleAwsVpclatticeResourceGateway.id,
portRanges: ["80"],
protocol: "TCP",
resourceConfigurationDefinition: {
ipResource: {
ipAddress: "10.0.0.1",
},
},
tags: {
Environment: "Example",
},
});
import pulumi
import pulumi_aws as aws
example = aws.vpclattice.ResourceConfiguration("example",
name="Example",
resource_gateway_identifier=example_aws_vpclattice_resource_gateway["id"],
port_ranges=["80"],
protocol="TCP",
resource_configuration_definition={
"ip_resource": {
"ip_address": "10.0.0.1",
},
},
tags={
"Environment": "Example",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.VpcLattice.ResourceConfiguration("example", new()
{
Name = "Example",
ResourceGatewayIdentifier = exampleAwsVpclatticeResourceGateway.Id,
PortRanges = new[]
{
"80",
},
Protocol = "TCP",
ResourceConfigurationDefinition = new Aws.VpcLattice.Inputs.ResourceConfigurationResourceConfigurationDefinitionArgs
{
IpResource = new Aws.VpcLattice.Inputs.ResourceConfigurationResourceConfigurationDefinitionIpResourceArgs
{
IpAddress = "10.0.0.1",
},
},
Tags =
{
{ "Environment", "Example" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vpclattice.NewResourceConfiguration(ctx, "example", &vpclattice.ResourceConfigurationArgs{
Name: pulumi.String("Example"),
ResourceGatewayIdentifier: pulumi.Any(exampleAwsVpclatticeResourceGateway.Id),
PortRanges: pulumi.StringArray{
pulumi.String("80"),
},
Protocol: pulumi.String("TCP"),
ResourceConfigurationDefinition: &vpclattice.ResourceConfigurationResourceConfigurationDefinitionArgs{
IpResource: &vpclattice.ResourceConfigurationResourceConfigurationDefinitionIpResourceArgs{
IpAddress: pulumi.String("10.0.0.1"),
},
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("Example"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.vpclattice.ResourceConfiguration;
import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionIpResourceArgs;
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 example = new ResourceConfiguration("example", ResourceConfigurationArgs.builder()
.name("Example")
.resourceGatewayIdentifier(exampleAwsVpclatticeResourceGateway.id())
.portRanges("80")
.protocol("TCP")
.resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
.ipResource(ResourceConfigurationResourceConfigurationDefinitionIpResourceArgs.builder()
.ipAddress("10.0.0.1")
.build())
.build())
.tags(Map.of("Environment", "Example"))
.build());
}
}
resources:
example:
type: aws:vpclattice:ResourceConfiguration
properties:
name: Example
resourceGatewayIdentifier: ${exampleAwsVpclatticeResourceGateway.id}
portRanges:
- '80'
protocol: TCP
resourceConfigurationDefinition:
ipResource:
ipAddress: 10.0.0.1
tags:
Environment: Example

ARN Example

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.vpclattice.ResourceConfiguration("test", {
name: "Example",
resourceGatewayIdentifier: testAwsVpclatticeResourceGateway.id,
type: "ARN",
resourceConfigurationDefinition: {
arnResource: {
arn: example.arn,
},
},
});
import pulumi
import pulumi_aws as aws
test = aws.vpclattice.ResourceConfiguration("test",
name="Example",
resource_gateway_identifier=test_aws_vpclattice_resource_gateway["id"],
type="ARN",
resource_configuration_definition={
"arn_resource": {
"arn": example["arn"],
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.VpcLattice.ResourceConfiguration("test", new()
{
Name = "Example",
ResourceGatewayIdentifier = testAwsVpclatticeResourceGateway.Id,
Type = "ARN",
ResourceConfigurationDefinition = new Aws.VpcLattice.Inputs.ResourceConfigurationResourceConfigurationDefinitionArgs
{
ArnResource = new Aws.VpcLattice.Inputs.ResourceConfigurationResourceConfigurationDefinitionArnResourceArgs
{
Arn = example.Arn,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpclattice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := vpclattice.NewResourceConfiguration(ctx, "test", &vpclattice.ResourceConfigurationArgs{
Name: pulumi.String("Example"),
ResourceGatewayIdentifier: pulumi.Any(testAwsVpclatticeResourceGateway.Id),
Type: pulumi.String("ARN"),
ResourceConfigurationDefinition: &vpclattice.ResourceConfigurationResourceConfigurationDefinitionArgs{
ArnResource: &vpclattice.ResourceConfigurationResourceConfigurationDefinitionArnResourceArgs{
Arn: pulumi.Any(example.Arn),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.vpclattice.ResourceConfiguration;
import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArnResourceArgs;
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 test = new ResourceConfiguration("test", ResourceConfigurationArgs.builder()
.name("Example")
.resourceGatewayIdentifier(testAwsVpclatticeResourceGateway.id())
.type("ARN")
.resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
.arnResource(ResourceConfigurationResourceConfigurationDefinitionArnResourceArgs.builder()
.arn(example.arn())
.build())
.build())
.build());
}
}
resources:
test:
type: aws:vpclattice:ResourceConfiguration
properties:
name: Example
resourceGatewayIdentifier: ${testAwsVpclatticeResourceGateway.id}
type: ARN
resourceConfigurationDefinition:
arnResource:
arn: ${example.arn}

Import

Using pulumi import, import VPC Lattice Resource Configuration using the id. For example:

$ pulumi import aws:vpclattice/resourceConfiguration:ResourceConfiguration example rcfg-1234567890abcdef1

Constructors

Link copied to clipboard
constructor(allowAssociationToShareableServiceNetwork: Output<Boolean>? = null, name: Output<String>? = null, portRanges: Output<List<String>>? = null, protocol: Output<String>? = null, resourceConfigurationDefinition: Output<ResourceConfigurationResourceConfigurationDefinitionArgs>? = null, resourceConfigurationGroupId: Output<String>? = null, resourceGatewayIdentifier: Output<String>? = null, tags: Output<Map<String, String>>? = null, timeouts: Output<ResourceConfigurationTimeoutsArgs>? = null, type: Output<String>? = null)

Properties

Allow or Deny the association of this resource to a shareable service network.

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

Name for the Resource Configuration.

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

Port ranges to access the Resource either single port 80 or range 80-81 range.

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

Protocol for the Resource TCP is currently the only supported value. MUST be specified if resource_configuration_group_id is not.

Link copied to clipboard

Details of the Resource Configuration. See resource_configuration_definition Block for details. The following arguments are optional:

Link copied to clipboard

ID of Resource Configuration where type is CHILD.

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

ID of the Resource Gateway used to access the resource. MUST be specified if resource_configuration_group_id is not.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

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

Type of Resource Configuration. Must be one of GROUP, CHILD, SINGLE, ARN.

Functions

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