Skip to content
v2.274.0

ParameterMapping Class ​

Represents a Parameter Mapping.

Example ​

ts
import { HttpAlbIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';

declare const lb: elbv2.ApplicationLoadBalancer;
const listener = lb.addListener('listener', { port: 80 });
listener.addTargets('target', {
  port: 80,
});

const httpEndpoint = new apigwv2.HttpApi(this, 'HttpProxyPrivateApi', {
  defaultIntegration: new HttpAlbIntegration('DefaultIntegration', listener, {
    parameterMapping: new apigwv2.ParameterMapping()
      .appendHeader('header2', apigwv2.MappingValue.requestHeader('header1'))
      .removeHeader('header1'),
  }),
});
python
from aws_cdk.aws_apigatewayv2_integrations import HttpAlbIntegration

# lb: elbv2.ApplicationLoadBalancer

listener = lb.add_listener("listener", port=80)
listener.add_targets("target",
    port=80
)

http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
    default_integration=HttpAlbIntegration("DefaultIntegration", listener,
        parameter_mapping=apigwv2.ParameterMapping().append_header("header2", apigwv2.MappingValue.request_header("header1")).remove_header("header1")
    )
)
java
import software.amazon.awscdk.aws_apigatewayv2_integrations.HttpAlbIntegration;

ApplicationLoadBalancer lb;

ApplicationListener listener = lb.addListener("listener", BaseApplicationListenerProps.builder().port(80).build());
listener.addTargets("target", AddApplicationTargetsProps.builder()
        .port(80)
        .build());

HttpApi httpEndpoint = HttpApi.Builder.create(this, "HttpProxyPrivateApi")
        .defaultIntegration(HttpAlbIntegration.Builder.create("DefaultIntegration", listener)
                .parameterMapping(new ParameterMapping().appendHeader("header2", MappingValue.requestHeader("header1")).removeHeader("header1"))
                .build())
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AwsApigatewayv2Integrations;

ApplicationLoadBalancer lb;

var listener = lb.AddListener("listener", new BaseApplicationListenerProps { Port = 80 });
listener.AddTargets("target", new AddApplicationTargetsProps {
    Port = 80
});

var httpEndpoint = new HttpApi(this, "HttpProxyPrivateApi", new HttpApiProps {
    DefaultIntegration = new HttpAlbIntegration("DefaultIntegration", listener, new HttpAlbIntegrationProps {
        ParameterMapping = new ParameterMapping().AppendHeader("header2", MappingValue.RequestHeader("header1")).RemoveHeader("header1")
    })
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"

var lb ApplicationLoadBalancer

listener := lb.AddListener(jsii.String("listener"), &BaseApplicationListenerProps{
	Port: jsii.Number(80),
})
listener.AddTargets(jsii.String("target"), &AddApplicationTargetsProps{
	Port: jsii.Number(80),
})

httpEndpoint := apigwv2.NewHttpApi(this, jsii.String("HttpProxyPrivateApi"), &HttpApiProps{
	DefaultIntegration: awscdk.NewHttpAlbIntegration(jsii.String("DefaultIntegration"), listener, &HttpAlbIntegrationProps{
		ParameterMapping: apigwv2.NewParameterMapping().AppendHeader(jsii.String("header2"), apigwv2.MappingValue_RequestHeader(jsii.String("header1"))).RemoveHeader(jsii.String("header1")),
	}),
})

Initializer ​

ts
new ParameterMapping()
python
ParameterMapping()
java
new ParameterMapping()
csharp
new ParameterMapping()
go
NewParameterMapping()

Properties ​

mappings{ [key: string]: string }mappingstyping.Mapping[str, str]mappingsMap<String, String>MappingsIDictionary<string, string>Mappings*map[string]*stringrequired#
Represents all created parameter mappings.

Methods ​

appendHeader(name: string, value: MappingValue): ParameterMapping // chainabledef append_header(self, name: str, value: MappingValue) -> ParameterMappingpublic ParameterMapping appendHeader(String name, MappingValue value)public ParameterMapping AppendHeader(string name, MappingValue value)func AppendHeader(Name *string, Value MappingValue) ParameterMapping#
Creates a mapping to append a header.
appendQueryString(name: string, value: MappingValue): ParameterMapping // chainabledef append_query_string(self, name: str, value: MappingValue) -> ParameterMappingpublic ParameterMapping appendQueryString(String name, MappingValue value)public ParameterMapping AppendQueryString(string name, MappingValue value)func AppendQueryString(Name *string, Value MappingValue) ParameterMapping#
Creates a mapping to append a query string.
custom(key: string, value: string): ParameterMapping // chainabledef custom(self, key: str, value: str) -> ParameterMappingpublic ParameterMapping custom(String key, String value)public ParameterMapping Custom(string key, string value)func Custom(Key *string, Value *string) ParameterMapping#
Creates a custom mapping.
fromObject(obj: { [key: string]: MappingValue }): ParameterMapping // chainable@staticmethod def from_object(obj: typing.Mapping[str, MappingValue]) -> ParameterMappingpublic static ParameterMapping fromObject(Map<String, MappingValue> obj)public static ParameterMapping FromObject(IDictionary<string, MappingValue> obj)func FromObject(Obj *map[string]MappingValue) ParameterMappingstatic#
Creates a mapping from an object.
overwriteHeader(name: string, value: MappingValue): ParameterMapping // chainabledef overwrite_header(self, name: str, value: MappingValue) -> ParameterMappingpublic ParameterMapping overwriteHeader(String name, MappingValue value)public ParameterMapping OverwriteHeader(string name, MappingValue value)func OverwriteHeader(Name *string, Value MappingValue) ParameterMapping#
Creates a mapping to overwrite a header.
overwritePath(value: MappingValue): ParameterMapping // chainabledef overwrite_path(self, value: MappingValue) -> ParameterMappingpublic ParameterMapping overwritePath(MappingValue value)public ParameterMapping OverwritePath(MappingValue value)func OverwritePath(Value MappingValue) ParameterMapping#
Creates a mapping to overwrite a path.
overwriteQueryString(name: string, value: MappingValue): ParameterMapping // chainabledef overwrite_query_string(self, name: str, value: MappingValue) -> ParameterMappingpublic ParameterMapping overwriteQueryString(String name, MappingValue value)public ParameterMapping OverwriteQueryString(string name, MappingValue value)func OverwriteQueryString(Name *string, Value MappingValue) ParameterMapping#
Creates a mapping to overwrite a querystring.
removeHeader(name: string): ParameterMapping // chainabledef remove_header(self, name: str) -> ParameterMappingpublic ParameterMapping removeHeader(String name)public ParameterMapping RemoveHeader(string name)func RemoveHeader(Name *string) ParameterMapping#
Creates a mapping to remove a header.
removeQueryString(name: string): ParameterMapping // chainabledef remove_query_string(self, name: str) -> ParameterMappingpublic ParameterMapping removeQueryString(String name)public ParameterMapping RemoveQueryString(string name)func RemoveQueryString(Name *string) ParameterMapping#
Creates a mapping to remove a querystring.