Skip to content
GitHubXDiscord

Service

The Service resource allows you to create and manage AWS RefactorSpaces Services that facilitate the migration of applications to microservices. This resource integrates with AWS Lambda and HTTP endpoints for seamless application management.

Create a basic RefactorSpaces Service with essential properties.

import AWS from "alchemy/aws/control";
const refactorService = await AWS.RefactorSpaces.Service("myRefactorService", {
name: "MyRefactorService",
environmentIdentifier: "env-123456",
applicationIdentifier: "app-123456",
endpointType: "Lambda",
lambdaEndpoint: {
functionArn: "arn:aws:lambda:us-west-2:123456789012:function:my-function",
payloadFormatVersion: "2.0"
}
});

Configure a RefactorSpaces Service with additional options, including a description and VPC settings.

const advancedRefactorService = await AWS.RefactorSpaces.Service("advancedRefactorService", {
name: "AdvancedRefactorService",
environmentIdentifier: "env-123456",
applicationIdentifier: "app-123456",
endpointType: "Url",
urlEndpoint: {
url: "https://api.myservice.com",
healthUrl: "https://api.myservice.com/health"
},
description: "This service handles advanced operations for my application.",
vpcId: "vpc-0a1b2c3d4e5f6g7h8",
tags: [
{ key: "Environment", value: "Production" },
{ key: "Team", value: "DevOps" }
]
});

Create a service that runs within a specific VPC for better network security.

const vpcService = await AWS.RefactorSpaces.Service("vpcService", {
name: "VpcService",
environmentIdentifier: "env-123456",
applicationIdentifier: "app-123456",
endpointType: "Lambda",
lambdaEndpoint: {
functionArn: "arn:aws:lambda:us-west-2:123456789012:function:my-secure-function",
payloadFormatVersion: "2.0"
},
vpcId: "vpc-0a1b2c3d4e5f6g7h8"
});

Create a service with specific tags for better resource management and organization.

const taggedService = await AWS.RefactorSpaces.Service("taggedService", {
name: "TaggedRefactorService",
environmentIdentifier: "env-123456",
applicationIdentifier: "app-123456",
endpointType: "Url",
urlEndpoint: {
url: "https://api.taggedservice.com",
healthUrl: "https://api.taggedservice.com/health"
},
tags: [
{ key: "Purpose", value: "Testing" },
{ key: "Owner", value: "TeamA" }
]
});