@@ -1457,6 +1457,101 @@ export namespace IngressPointConfiguration {
14571457 } ;
14581458}
14591459
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+
14601555/**
14611556 * @public
14621557 * @enum
@@ -1515,6 +1610,14 @@ export interface CreateIngressPointRequest {
15151610 */
15161611 IngressPointConfiguration ?: IngressPointConfiguration | undefined ;
15171612
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+
15181621 /**
15191622 * <p>The tags used to organize, track, or control access for the resource. For example, \{ "tags": \{"key1":"value1", "key2":"value2"\} \}.</p>
15201623 * @public
@@ -3164,6 +3267,81 @@ export interface IngressIpv4Expression {
31643267 Values : string [ ] | undefined ;
31653268}
31663269
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+
31673345/**
31683346 * @public
31693347 * @enum
@@ -3390,6 +3568,7 @@ export interface IngressTlsProtocolExpression {
33903568export type PolicyCondition =
33913569 | PolicyCondition . BooleanExpressionMember
33923570 | PolicyCondition . IpExpressionMember
3571+ | PolicyCondition . Ipv6ExpressionMember
33933572 | PolicyCondition . StringExpressionMember
33943573 | PolicyCondition . TlsExpressionMember
33953574 | PolicyCondition . $UnknownMember ;
@@ -3407,6 +3586,7 @@ export namespace PolicyCondition {
34073586 export interface StringExpressionMember {
34083587 StringExpression : IngressStringExpression ;
34093588 IpExpression ?: never ;
3589+ Ipv6Expression ?: never ;
34103590 TlsExpression ?: never ;
34113591 BooleanExpression ?: never ;
34123592 $unknown ?: never ;
@@ -3421,6 +3601,22 @@ export namespace PolicyCondition {
34213601 export interface IpExpressionMember {
34223602 StringExpression ?: never ;
34233603 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 ;
34243620 TlsExpression ?: never ;
34253621 BooleanExpression ?: never ;
34263622 $unknown ?: never ;
@@ -3435,6 +3631,7 @@ export namespace PolicyCondition {
34353631 export interface TlsExpressionMember {
34363632 StringExpression ?: never ;
34373633 IpExpression ?: never ;
3634+ Ipv6Expression ?: never ;
34383635 TlsExpression : IngressTlsProtocolExpression ;
34393636 BooleanExpression ?: never ;
34403637 $unknown ?: never ;
@@ -3449,6 +3646,7 @@ export namespace PolicyCondition {
34493646 export interface BooleanExpressionMember {
34503647 StringExpression ?: never ;
34513648 IpExpression ?: never ;
3649+ Ipv6Expression ?: never ;
34523650 TlsExpression ?: never ;
34533651 BooleanExpression : IngressBooleanExpression ;
34543652 $unknown ?: never ;
@@ -3460,6 +3658,7 @@ export namespace PolicyCondition {
34603658 export interface $UnknownMember {
34613659 StringExpression ?: never ;
34623660 IpExpression ?: never ;
3661+ Ipv6Expression ?: never ;
34633662 TlsExpression ?: never ;
34643663 BooleanExpression ?: never ;
34653664 $unknown : [ string , any ] ;
@@ -3468,6 +3667,7 @@ export namespace PolicyCondition {
34683667 export interface Visitor < T > {
34693668 StringExpression : ( value : IngressStringExpression ) => T ;
34703669 IpExpression : ( value : IngressIpv4Expression ) => T ;
3670+ Ipv6Expression : ( value : IngressIpv6Expression ) => T ;
34713671 TlsExpression : ( value : IngressTlsProtocolExpression ) => T ;
34723672 BooleanExpression : ( value : IngressBooleanExpression ) => T ;
34733673 _ : ( name : string , value : any ) => T ;
@@ -3476,6 +3676,7 @@ export namespace PolicyCondition {
34763676 export const visit = < T > ( value : PolicyCondition , visitor : Visitor < T > ) : T => {
34773677 if ( value . StringExpression !== undefined ) return visitor . StringExpression ( value . StringExpression ) ;
34783678 if ( value . IpExpression !== undefined ) return visitor . IpExpression ( value . IpExpression ) ;
3679+ if ( value . Ipv6Expression !== undefined ) return visitor . Ipv6Expression ( value . Ipv6Expression ) ;
34793680 if ( value . TlsExpression !== undefined ) return visitor . TlsExpression ( value . TlsExpression ) ;
34803681 if ( value . BooleanExpression !== undefined ) return visitor . BooleanExpression ( value . BooleanExpression ) ;
34813682 return visitor . _ ( value . $unknown [ 0 ] , value . $unknown [ 1 ] ) ;
@@ -4509,6 +4710,12 @@ export interface GetIngressPointResponse {
45094710 */
45104711 IngressPointAuthConfiguration ?: IngressPointAuthConfiguration | undefined ;
45114712
4713+ /**
4714+ * <p>The network configuration for the ingress point.</p>
4715+ * @public
4716+ */
4717+ NetworkConfiguration ?: NetworkConfiguration | undefined ;
4718+
45124719 /**
45134720 * <p>The timestamp of when the ingress endpoint was created.</p>
45144721 * @public
@@ -5757,6 +5964,7 @@ export const CreateIngressPointRequestFilterSensitiveLog = (obj: CreateIngressPo
57575964 ...( obj . IngressPointConfiguration && {
57585965 IngressPointConfiguration : IngressPointConfigurationFilterSensitiveLog ( obj . IngressPointConfiguration ) ,
57595966 } ) ,
5967+ ...( obj . NetworkConfiguration && { NetworkConfiguration : obj . NetworkConfiguration } ) ,
57605968} ) ;
57615969
57625970/**
0 commit comments