Skip to content

ResourceConfiguration

The ResourceConfiguration resource allows you to manage AWS VpcLattice ResourceConfigurations and their associated settings, enabling you to define the behavior and properties of your service network resources.

Minimal Example

Create a basic resource configuration with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const basicResourceConfig = await AWS.VpcLattice.ResourceConfiguration("basicResourceConfig", {
  ResourceConfigurationType: "SERVICE", // Example type
  Name: "BasicServiceConfig",
  AllowAssociationToSharableServiceNetwork: true
});

Advanced Configuration

Configure a resource with a more complex setup, including port ranges and a resource gateway ID.

ts
const advancedResourceConfig = await AWS.VpcLattice.ResourceConfiguration("advancedResourceConfig", {
  ResourceConfigurationType: "SERVICE", // Example type
  Name: "AdvancedServiceConfig",
  PortRanges: ["8080-8081", "443"], // Define multiple port ranges
  ResourceGatewayId: "gateway-123456789", // Example gateway ID
  ResourceConfigurationAuthType: "IAM", // Example auth type
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "VpcLatticeDemo" }
  ]
});

Custom Protocol Settings

Set up a resource configuration with specific protocol types and the ability to associate with sharable service networks.

ts
const customProtocolConfig = await AWS.VpcLattice.ResourceConfiguration("customProtocolConfig", {
  ResourceConfigurationType: "SERVICE", // Example type
  Name: "CustomProtocolServiceConfig",
  ProtocolType: "HTTP", // Specifying the protocol type
  AllowAssociationToSharableServiceNetwork: true,
  ResourceConfigurationDefinition: {
    // Example definition structure
    Type: "Service",
    Properties: {
      HealthCheck: {
        Path: "/health",
        IntervalSeconds: 30,
        TimeoutSeconds: 5
      }
    }
  }
});

Tagging Resources

Demonstrate how to tag your resource configuration for better organization and management.

ts
const taggedResourceConfig = await AWS.VpcLattice.ResourceConfiguration("taggedResourceConfig", {
  ResourceConfigurationType: "SERVICE", // Example type
  Name: "TaggedServiceConfig",
  Tags: [
    { Key: "Owner", Value: "DevTeam" },
    { Key: "CostCenter", Value: "ProjectX" }
  ]
});

This structure provides a comprehensive overview of managing AWS VpcLattice ResourceConfigurations with Alchemy, illustrating both basic and more advanced configurations that you can implement in your infrastructure.