@@ -1457,6 +1457,101 @@ export namespace IngressPointConfiguration {
1457
1457
} ;
1458
1458
}
1459
1459
1460
+ /**
1461
+ * <p>Specifies the network configuration for the private ingress point.</p>
1462
+ * @public
1463
+ */
1464
+ export interface PrivateNetworkConfiguration {
1465
+ /**
1466
+ * <p>The identifier of the VPC endpoint to associate with this private ingress point.</p>
1467
+ * @public
1468
+ */
1469
+ VpcEndpointId : string | undefined ;
1470
+ }
1471
+
1472
+ /**
1473
+ * @public
1474
+ * @enum
1475
+ */
1476
+ export const IpType = {
1477
+ DUAL_STACK : "DUAL_STACK" ,
1478
+ IPV4 : "IPV4" ,
1479
+ } as const ;
1480
+
1481
+ /**
1482
+ * @public
1483
+ */
1484
+ export type IpType = ( typeof IpType ) [ keyof typeof IpType ] ;
1485
+
1486
+ /**
1487
+ * <p>Specifies the network configuration for the public ingress point.</p>
1488
+ * @public
1489
+ */
1490
+ export interface PublicNetworkConfiguration {
1491
+ /**
1492
+ * <p>The IP address type for the public ingress point. Valid values are IPV4 and DUAL_STACK.</p>
1493
+ * @public
1494
+ */
1495
+ IpType : IpType | undefined ;
1496
+ }
1497
+
1498
+ /**
1499
+ * <p>The network type (IPv4-only, Dual-Stack, PrivateLink) of the ingress endpoint resource.</p>
1500
+ * @public
1501
+ */
1502
+ export type NetworkConfiguration =
1503
+ | NetworkConfiguration . PrivateNetworkConfigurationMember
1504
+ | NetworkConfiguration . PublicNetworkConfigurationMember
1505
+ | NetworkConfiguration . $UnknownMember ;
1506
+
1507
+ /**
1508
+ * @public
1509
+ */
1510
+ export namespace NetworkConfiguration {
1511
+ /**
1512
+ * <p>Specifies the network configuration for the public ingress point.</p>
1513
+ * @public
1514
+ */
1515
+ export interface PublicNetworkConfigurationMember {
1516
+ PublicNetworkConfiguration : PublicNetworkConfiguration ;
1517
+ PrivateNetworkConfiguration ?: never ;
1518
+ $unknown ?: never ;
1519
+ }
1520
+
1521
+ /**
1522
+ * <p>Specifies the network configuration for the private ingress point.</p>
1523
+ * @public
1524
+ */
1525
+ export interface PrivateNetworkConfigurationMember {
1526
+ PublicNetworkConfiguration ?: never ;
1527
+ PrivateNetworkConfiguration : PrivateNetworkConfiguration ;
1528
+ $unknown ?: never ;
1529
+ }
1530
+
1531
+ /**
1532
+ * @public
1533
+ */
1534
+ export interface $UnknownMember {
1535
+ PublicNetworkConfiguration ?: never ;
1536
+ PrivateNetworkConfiguration ?: never ;
1537
+ $unknown : [ string , any ] ;
1538
+ }
1539
+
1540
+ export interface Visitor < T > {
1541
+ PublicNetworkConfiguration : ( value : PublicNetworkConfiguration ) => T ;
1542
+ PrivateNetworkConfiguration : ( value : PrivateNetworkConfiguration ) => T ;
1543
+ _ : ( name : string , value : any ) => T ;
1544
+ }
1545
+
1546
+ export const visit = < T > ( value : NetworkConfiguration , visitor : Visitor < T > ) : T => {
1547
+ if ( value . PublicNetworkConfiguration !== undefined )
1548
+ return visitor . PublicNetworkConfiguration ( value . PublicNetworkConfiguration ) ;
1549
+ if ( value . PrivateNetworkConfiguration !== undefined )
1550
+ return visitor . PrivateNetworkConfiguration ( value . PrivateNetworkConfiguration ) ;
1551
+ return visitor . _ ( value . $unknown [ 0 ] , value . $unknown [ 1 ] ) ;
1552
+ } ;
1553
+ }
1554
+
1460
1555
/**
1461
1556
* @public
1462
1557
* @enum
@@ -1515,6 +1610,14 @@ export interface CreateIngressPointRequest {
1515
1610
*/
1516
1611
IngressPointConfiguration ?: IngressPointConfiguration | undefined ;
1517
1612
1613
+ /**
1614
+ * <p>Specifies the network configuration for the ingress point.
1615
+ * This allows you to create an IPv4-only, Dual-Stack, or PrivateLink type of ingress point. If not specified, the default network type is IPv4-only.
1616
+ * </p>
1617
+ * @public
1618
+ */
1619
+ NetworkConfiguration ?: NetworkConfiguration | undefined ;
1620
+
1518
1621
/**
1519
1622
* <p>The tags used to organize, track, or control access for the resource. For example, \{ "tags": \{"key1":"value1", "key2":"value2"\} \}.</p>
1520
1623
* @public
@@ -3164,6 +3267,81 @@ export interface IngressIpv4Expression {
3164
3267
Values : string [ ] | undefined ;
3165
3268
}
3166
3269
3270
+ /**
3271
+ * @public
3272
+ * @enum
3273
+ */
3274
+ export const IngressIpv6Attribute = {
3275
+ SENDER_IPV6 : "SENDER_IPV6" ,
3276
+ } as const ;
3277
+
3278
+ /**
3279
+ * @public
3280
+ */
3281
+ export type IngressIpv6Attribute = ( typeof IngressIpv6Attribute ) [ keyof typeof IngressIpv6Attribute ] ;
3282
+
3283
+ /**
3284
+ * <p>The structure for an IPv6 based condition matching on the incoming mail.</p>
3285
+ * @public
3286
+ */
3287
+ export type IngressIpv6ToEvaluate = IngressIpv6ToEvaluate . AttributeMember | IngressIpv6ToEvaluate . $UnknownMember ;
3288
+
3289
+ /**
3290
+ * @public
3291
+ */
3292
+ export namespace IngressIpv6ToEvaluate {
3293
+ /**
3294
+ * <p>An enum type representing the allowed attribute types for an IPv6 condition.</p>
3295
+ * @public
3296
+ */
3297
+ export interface AttributeMember {
3298
+ Attribute : IngressIpv6Attribute ;
3299
+ $unknown ?: never ;
3300
+ }
3301
+
3302
+ /**
3303
+ * @public
3304
+ */
3305
+ export interface $UnknownMember {
3306
+ Attribute ?: never ;
3307
+ $unknown : [ string , any ] ;
3308
+ }
3309
+
3310
+ export interface Visitor < T > {
3311
+ Attribute : ( value : IngressIpv6Attribute ) => T ;
3312
+ _ : ( name : string , value : any ) => T ;
3313
+ }
3314
+
3315
+ export const visit = < T > ( value : IngressIpv6ToEvaluate , visitor : Visitor < T > ) : T => {
3316
+ if ( value . Attribute !== undefined ) return visitor . Attribute ( value . Attribute ) ;
3317
+ return visitor . _ ( value . $unknown [ 0 ] , value . $unknown [ 1 ] ) ;
3318
+ } ;
3319
+ }
3320
+
3321
+ /**
3322
+ * <p>The union type representing the allowed types for the left hand side of an IPv6 condition.</p>
3323
+ * @public
3324
+ */
3325
+ export interface IngressIpv6Expression {
3326
+ /**
3327
+ * <p>The left hand side argument of an IPv6 condition expression.</p>
3328
+ * @public
3329
+ */
3330
+ Evaluate : IngressIpv6ToEvaluate | undefined ;
3331
+
3332
+ /**
3333
+ * <p>The matching operator for an IPv6 condition expression.</p>
3334
+ * @public
3335
+ */
3336
+ Operator : IngressIpOperator | undefined ;
3337
+
3338
+ /**
3339
+ * <p>The right hand side argument of an IPv6 condition expression.</p>
3340
+ * @public
3341
+ */
3342
+ Values : string [ ] | undefined ;
3343
+ }
3344
+
3167
3345
/**
3168
3346
* @public
3169
3347
* @enum
@@ -3390,6 +3568,7 @@ export interface IngressTlsProtocolExpression {
3390
3568
export type PolicyCondition =
3391
3569
| PolicyCondition . BooleanExpressionMember
3392
3570
| PolicyCondition . IpExpressionMember
3571
+ | PolicyCondition . Ipv6ExpressionMember
3393
3572
| PolicyCondition . StringExpressionMember
3394
3573
| PolicyCondition . TlsExpressionMember
3395
3574
| PolicyCondition . $UnknownMember ;
@@ -3407,6 +3586,7 @@ export namespace PolicyCondition {
3407
3586
export interface StringExpressionMember {
3408
3587
StringExpression : IngressStringExpression ;
3409
3588
IpExpression ?: never ;
3589
+ Ipv6Expression ?: never ;
3410
3590
TlsExpression ?: never ;
3411
3591
BooleanExpression ?: never ;
3412
3592
$unknown ?: never ;
@@ -3421,6 +3601,22 @@ export namespace PolicyCondition {
3421
3601
export interface IpExpressionMember {
3422
3602
StringExpression ?: never ;
3423
3603
IpExpression : IngressIpv4Expression ;
3604
+ Ipv6Expression ?: never ;
3605
+ TlsExpression ?: never ;
3606
+ BooleanExpression ?: never ;
3607
+ $unknown ?: never ;
3608
+ }
3609
+
3610
+ /**
3611
+ * <p>This represents an IPv6 based condition matching on the incoming mail. It performs the
3612
+ * operation configured in 'Operator' and evaluates the 'Protocol' object against the
3613
+ * 'Value'.</p>
3614
+ * @public
3615
+ */
3616
+ export interface Ipv6ExpressionMember {
3617
+ StringExpression ?: never ;
3618
+ IpExpression ?: never ;
3619
+ Ipv6Expression : IngressIpv6Expression ;
3424
3620
TlsExpression ?: never ;
3425
3621
BooleanExpression ?: never ;
3426
3622
$unknown ?: never ;
@@ -3435,6 +3631,7 @@ export namespace PolicyCondition {
3435
3631
export interface TlsExpressionMember {
3436
3632
StringExpression ?: never ;
3437
3633
IpExpression ?: never ;
3634
+ Ipv6Expression ?: never ;
3438
3635
TlsExpression : IngressTlsProtocolExpression ;
3439
3636
BooleanExpression ?: never ;
3440
3637
$unknown ?: never ;
@@ -3449,6 +3646,7 @@ export namespace PolicyCondition {
3449
3646
export interface BooleanExpressionMember {
3450
3647
StringExpression ?: never ;
3451
3648
IpExpression ?: never ;
3649
+ Ipv6Expression ?: never ;
3452
3650
TlsExpression ?: never ;
3453
3651
BooleanExpression : IngressBooleanExpression ;
3454
3652
$unknown ?: never ;
@@ -3460,6 +3658,7 @@ export namespace PolicyCondition {
3460
3658
export interface $UnknownMember {
3461
3659
StringExpression ?: never ;
3462
3660
IpExpression ?: never ;
3661
+ Ipv6Expression ?: never ;
3463
3662
TlsExpression ?: never ;
3464
3663
BooleanExpression ?: never ;
3465
3664
$unknown : [ string , any ] ;
@@ -3468,6 +3667,7 @@ export namespace PolicyCondition {
3468
3667
export interface Visitor < T > {
3469
3668
StringExpression : ( value : IngressStringExpression ) => T ;
3470
3669
IpExpression : ( value : IngressIpv4Expression ) => T ;
3670
+ Ipv6Expression : ( value : IngressIpv6Expression ) => T ;
3471
3671
TlsExpression : ( value : IngressTlsProtocolExpression ) => T ;
3472
3672
BooleanExpression : ( value : IngressBooleanExpression ) => T ;
3473
3673
_ : ( name : string , value : any ) => T ;
@@ -3476,6 +3676,7 @@ export namespace PolicyCondition {
3476
3676
export const visit = < T > ( value : PolicyCondition , visitor : Visitor < T > ) : T => {
3477
3677
if ( value . StringExpression !== undefined ) return visitor . StringExpression ( value . StringExpression ) ;
3478
3678
if ( value . IpExpression !== undefined ) return visitor . IpExpression ( value . IpExpression ) ;
3679
+ if ( value . Ipv6Expression !== undefined ) return visitor . Ipv6Expression ( value . Ipv6Expression ) ;
3479
3680
if ( value . TlsExpression !== undefined ) return visitor . TlsExpression ( value . TlsExpression ) ;
3480
3681
if ( value . BooleanExpression !== undefined ) return visitor . BooleanExpression ( value . BooleanExpression ) ;
3481
3682
return visitor . _ ( value . $unknown [ 0 ] , value . $unknown [ 1 ] ) ;
@@ -4509,6 +4710,12 @@ export interface GetIngressPointResponse {
4509
4710
*/
4510
4711
IngressPointAuthConfiguration ?: IngressPointAuthConfiguration | undefined ;
4511
4712
4713
+ /**
4714
+ * <p>The network configuration for the ingress point.</p>
4715
+ * @public
4716
+ */
4717
+ NetworkConfiguration ?: NetworkConfiguration | undefined ;
4718
+
4512
4719
/**
4513
4720
* <p>The timestamp of when the ingress endpoint was created.</p>
4514
4721
* @public
@@ -5757,6 +5964,7 @@ export const CreateIngressPointRequestFilterSensitiveLog = (obj: CreateIngressPo
5757
5964
...( obj . IngressPointConfiguration && {
5758
5965
IngressPointConfiguration : IngressPointConfigurationFilterSensitiveLog ( obj . IngressPointConfiguration ) ,
5759
5966
} ) ,
5967
+ ...( obj . NetworkConfiguration && { NetworkConfiguration : obj . NetworkConfiguration } ) ,
5760
5968
} ) ;
5761
5969
5762
5970
/**
0 commit comments