rittenhop-dev/versions/5.94.2/node_modules/@aws-sdk/client-ses/dist-es/endpoint/ruleset.js

316 lines
13 KiB
JavaScript
Raw Normal View History

2024-09-23 19:40:12 -04:00
export const ruleSet = {
version: "1.0",
parameters: {
Region: {
builtIn: "AWS::Region",
required: false,
documentation: "The AWS region used to dispatch the request.",
type: "String",
},
UseDualStack: {
builtIn: "AWS::UseDualStack",
required: true,
default: false,
documentation: "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.",
type: "Boolean",
},
UseFIPS: {
builtIn: "AWS::UseFIPS",
required: true,
default: false,
documentation: "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.",
type: "Boolean",
},
Endpoint: {
builtIn: "SDK::Endpoint",
required: false,
documentation: "Override the endpoint used to send this request",
type: "String",
},
},
rules: [
{
conditions: [
{
fn: "aws.partition",
argv: [
{
ref: "Region",
},
],
assign: "PartitionResult",
},
],
type: "tree",
rules: [
{
conditions: [
{
fn: "isSet",
argv: [
{
ref: "Endpoint",
},
],
},
{
fn: "parseURL",
argv: [
{
ref: "Endpoint",
},
],
assign: "url",
},
],
type: "tree",
rules: [
{
conditions: [
{
fn: "booleanEquals",
argv: [
{
ref: "UseFIPS",
},
true,
],
},
],
error: "Invalid Configuration: FIPS and custom endpoint are not supported",
type: "error",
},
{
conditions: [],
type: "tree",
rules: [
{
conditions: [
{
fn: "booleanEquals",
argv: [
{
ref: "UseDualStack",
},
true,
],
},
],
error: "Invalid Configuration: Dualstack and custom endpoint are not supported",
type: "error",
},
{
conditions: [],
endpoint: {
url: {
ref: "Endpoint",
},
properties: {},
headers: {},
},
type: "endpoint",
},
],
},
],
},
{
conditions: [
{
fn: "booleanEquals",
argv: [
{
ref: "UseFIPS",
},
true,
],
},
{
fn: "booleanEquals",
argv: [
{
ref: "UseDualStack",
},
true,
],
},
],
type: "tree",
rules: [
{
conditions: [
{
fn: "booleanEquals",
argv: [
true,
{
fn: "getAttr",
argv: [
{
ref: "PartitionResult",
},
"supportsFIPS",
],
},
],
},
{
fn: "booleanEquals",
argv: [
true,
{
fn: "getAttr",
argv: [
{
ref: "PartitionResult",
},
"supportsDualStack",
],
},
],
},
],
type: "tree",
rules: [
{
conditions: [],
endpoint: {
url: "https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: {},
headers: {},
},
type: "endpoint",
},
],
},
{
conditions: [],
error: "FIPS and DualStack are enabled, but this partition does not support one or both",
type: "error",
},
],
},
{
conditions: [
{
fn: "booleanEquals",
argv: [
{
ref: "UseFIPS",
},
true,
],
},
],
type: "tree",
rules: [
{
conditions: [
{
fn: "booleanEquals",
argv: [
true,
{
fn: "getAttr",
argv: [
{
ref: "PartitionResult",
},
"supportsFIPS",
],
},
],
},
],
type: "tree",
rules: [
{
conditions: [],
type: "tree",
rules: [
{
conditions: [],
endpoint: {
url: "https://email-fips.{Region}.{PartitionResult#dnsSuffix}",
properties: {},
headers: {},
},
type: "endpoint",
},
],
},
],
},
{
conditions: [],
error: "FIPS is enabled but this partition does not support FIPS",
type: "error",
},
],
},
{
conditions: [
{
fn: "booleanEquals",
argv: [
{
ref: "UseDualStack",
},
true,
],
},
],
type: "tree",
rules: [
{
conditions: [
{
fn: "booleanEquals",
argv: [
true,
{
fn: "getAttr",
argv: [
{
ref: "PartitionResult",
},
"supportsDualStack",
],
},
],
},
],
type: "tree",
rules: [
{
conditions: [],
endpoint: {
url: "https://email.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: {},
headers: {},
},
type: "endpoint",
},
],
},
{
conditions: [],
error: "DualStack is enabled but this partition does not support DualStack",
type: "error",
},
],
},
{
conditions: [],
endpoint: {
url: "https://email.{Region}.{PartitionResult#dnsSuffix}",
properties: {},
headers: {},
},
type: "endpoint",
},
],
},
],
};