AWS SDK

AWS SDK

rev. fd67870c8763076fc6895510f5e759abfe0cb35c

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ec2/src/endpoint_lib/partition.rs

@@ -13,13 +73,73 @@
   33     33   
pub(crate) struct Partition<'a> {
   34     34   
    name: &'a str,
   35     35   
    dns_suffix: &'a str,
   36     36   
    dual_stack_dns_suffix: &'a str,
   37     37   
    supports_fips: bool,
   38     38   
    supports_dual_stack: bool,
   39     39   
    implicit_global_region: &'a str,
   40     40   
}
   41     41   
   42     42   
#[allow(unused)]
   43         -
impl<'a> Partition<'a> {
          43  +
impl Partition<'_> {
   44     44   
    pub(crate) fn name(&self) -> &str {
   45     45   
        self.name
   46     46   
    }
   47     47   
   48     48   
    pub(crate) fn dns_suffix(&self) -> &str {
   49     49   
        self.dns_suffix
   50     50   
    }
   51     51   
   52     52   
    pub(crate) fn supports_fips(&self) -> bool {
   53     53   
        self.supports_fips

tmp-codegen-diff/aws-sdk/sdk/ec2/src/lens.rs

@@ -1375,1375 +2800,2380 @@
 1395   1395   
    let input = match &input.next_token {
 1396   1396   
        ::std::option::Option::None => return ::std::option::Option::None,
 1397   1397   
        ::std::option::Option::Some(t) => t,
 1398   1398   
    };
 1399   1399   
    ::std::option::Option::Some(input)
 1400   1400   
}
 1401   1401   
 1402   1402   
pub(crate) fn lens_describe_address_transfers_output_output_address_transfers(
 1403   1403   
    input: crate::operation::describe_address_transfers::DescribeAddressTransfersOutput,
 1404   1404   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AddressTransfer>> {
 1405         -
    let input = match input.address_transfers {
 1406         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1407         -
        ::std::option::Option::Some(t) => t,
 1408         -
    };
        1405  +
    let input = input.address_transfers?;
 1409   1406   
    ::std::option::Option::Some(input)
 1410   1407   
}
 1411   1408   
 1412   1409   
pub(crate) fn lens_describe_addresses_attribute_output_output_addresses(
 1413   1410   
    input: crate::operation::describe_addresses_attribute::DescribeAddressesAttributeOutput,
 1414   1411   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AddressAttribute>> {
 1415         -
    let input = match input.addresses {
 1416         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1417         -
        ::std::option::Option::Some(t) => t,
 1418         -
    };
        1412  +
    let input = input.addresses?;
 1419   1413   
    ::std::option::Option::Some(input)
 1420   1414   
}
 1421   1415   
 1422   1416   
pub(crate) fn lens_describe_aws_network_performance_metric_subscriptions_output_output_subscriptions(
 1423   1417   
    input: crate::operation::describe_aws_network_performance_metric_subscriptions::DescribeAwsNetworkPerformanceMetricSubscriptionsOutput,
 1424   1418   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Subscription>> {
 1425         -
    let input = match input.subscriptions {
 1426         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1427         -
        ::std::option::Option::Some(t) => t,
 1428         -
    };
        1419  +
    let input = input.subscriptions?;
 1429   1420   
    ::std::option::Option::Some(input)
 1430   1421   
}
 1431   1422   
 1432   1423   
pub(crate) fn lens_describe_byoip_cidrs_output_output_byoip_cidrs(
 1433   1424   
    input: crate::operation::describe_byoip_cidrs::DescribeByoipCidrsOutput,
 1434   1425   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ByoipCidr>> {
 1435         -
    let input = match input.byoip_cidrs {
 1436         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1437         -
        ::std::option::Option::Some(t) => t,
 1438         -
    };
        1426  +
    let input = input.byoip_cidrs?;
 1439   1427   
    ::std::option::Option::Some(input)
 1440   1428   
}
 1441   1429   
 1442   1430   
pub(crate) fn lens_describe_capacity_block_offerings_output_output_capacity_block_offerings(
 1443   1431   
    input: crate::operation::describe_capacity_block_offerings::DescribeCapacityBlockOfferingsOutput,
 1444   1432   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityBlockOffering>> {
 1445         -
    let input = match input.capacity_block_offerings {
 1446         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1447         -
        ::std::option::Option::Some(t) => t,
 1448         -
    };
        1433  +
    let input = input.capacity_block_offerings?;
 1449   1434   
    ::std::option::Option::Some(input)
 1450   1435   
}
 1451   1436   
 1452   1437   
pub(crate) fn lens_describe_capacity_reservation_fleets_output_output_capacity_reservation_fleets(
 1453   1438   
    input: crate::operation::describe_capacity_reservation_fleets::DescribeCapacityReservationFleetsOutput,
 1454   1439   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityReservationFleet>> {
 1455         -
    let input = match input.capacity_reservation_fleets {
 1456         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1457         -
        ::std::option::Option::Some(t) => t,
 1458         -
    };
        1440  +
    let input = input.capacity_reservation_fleets?;
 1459   1441   
    ::std::option::Option::Some(input)
 1460   1442   
}
 1461   1443   
 1462   1444   
pub(crate) fn lens_describe_capacity_reservations_output_output_capacity_reservations(
 1463   1445   
    input: crate::operation::describe_capacity_reservations::DescribeCapacityReservationsOutput,
 1464   1446   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityReservation>> {
 1465         -
    let input = match input.capacity_reservations {
 1466         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1467         -
        ::std::option::Option::Some(t) => t,
 1468         -
    };
        1447  +
    let input = input.capacity_reservations?;
 1469   1448   
    ::std::option::Option::Some(input)
 1470   1449   
}
 1471   1450   
 1472   1451   
pub(crate) fn lens_describe_carrier_gateways_output_output_carrier_gateways(
 1473   1452   
    input: crate::operation::describe_carrier_gateways::DescribeCarrierGatewaysOutput,
 1474   1453   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CarrierGateway>> {
 1475         -
    let input = match input.carrier_gateways {
 1476         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1477         -
        ::std::option::Option::Some(t) => t,
 1478         -
    };
        1454  +
    let input = input.carrier_gateways?;
 1479   1455   
    ::std::option::Option::Some(input)
 1480   1456   
}
 1481   1457   
 1482   1458   
pub(crate) fn lens_describe_classic_link_instances_output_output_instances(
 1483   1459   
    input: crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesOutput,
 1484   1460   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClassicLinkInstance>> {
 1485         -
    let input = match input.instances {
 1486         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1487         -
        ::std::option::Option::Some(t) => t,
 1488         -
    };
        1461  +
    let input = input.instances?;
 1489   1462   
    ::std::option::Option::Some(input)
 1490   1463   
}
 1491   1464   
 1492   1465   
pub(crate) fn lens_describe_client_vpn_authorization_rules_output_output_authorization_rules(
 1493   1466   
    input: crate::operation::describe_client_vpn_authorization_rules::DescribeClientVpnAuthorizationRulesOutput,
 1494   1467   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AuthorizationRule>> {
 1495         -
    let input = match input.authorization_rules {
 1496         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1497         -
        ::std::option::Option::Some(t) => t,
 1498         -
    };
        1468  +
    let input = input.authorization_rules?;
 1499   1469   
    ::std::option::Option::Some(input)
 1500   1470   
}
 1501   1471   
 1502   1472   
pub(crate) fn lens_describe_client_vpn_connections_output_output_connections(
 1503   1473   
    input: crate::operation::describe_client_vpn_connections::DescribeClientVpnConnectionsOutput,
 1504   1474   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnConnection>> {
 1505         -
    let input = match input.connections {
 1506         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1507         -
        ::std::option::Option::Some(t) => t,
 1508         -
    };
        1475  +
    let input = input.connections?;
 1509   1476   
    ::std::option::Option::Some(input)
 1510   1477   
}
 1511   1478   
 1512   1479   
pub(crate) fn lens_describe_client_vpn_endpoints_output_output_client_vpn_endpoints(
 1513   1480   
    input: crate::operation::describe_client_vpn_endpoints::DescribeClientVpnEndpointsOutput,
 1514   1481   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnEndpoint>> {
 1515         -
    let input = match input.client_vpn_endpoints {
 1516         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1517         -
        ::std::option::Option::Some(t) => t,
 1518         -
    };
        1482  +
    let input = input.client_vpn_endpoints?;
 1519   1483   
    ::std::option::Option::Some(input)
 1520   1484   
}
 1521   1485   
 1522   1486   
pub(crate) fn lens_describe_client_vpn_routes_output_output_routes(
 1523   1487   
    input: crate::operation::describe_client_vpn_routes::DescribeClientVpnRoutesOutput,
 1524   1488   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnRoute>> {
 1525         -
    let input = match input.routes {
 1526         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1527         -
        ::std::option::Option::Some(t) => t,
 1528         -
    };
        1489  +
    let input = input.routes?;
 1529   1490   
    ::std::option::Option::Some(input)
 1530   1491   
}
 1531   1492   
 1532   1493   
pub(crate) fn lens_describe_client_vpn_target_networks_output_output_client_vpn_target_networks(
 1533   1494   
    input: crate::operation::describe_client_vpn_target_networks::DescribeClientVpnTargetNetworksOutput,
 1534   1495   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TargetNetwork>> {
 1535         -
    let input = match input.client_vpn_target_networks {
 1536         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1537         -
        ::std::option::Option::Some(t) => t,
 1538         -
    };
        1496  +
    let input = input.client_vpn_target_networks?;
 1539   1497   
    ::std::option::Option::Some(input)
 1540   1498   
}
 1541   1499   
 1542   1500   
pub(crate) fn lens_describe_coip_pools_output_output_coip_pools(
 1543   1501   
    input: crate::operation::describe_coip_pools::DescribeCoipPoolsOutput,
 1544   1502   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CoipPool>> {
 1545         -
    let input = match input.coip_pools {
 1546         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1547         -
        ::std::option::Option::Some(t) => t,
 1548         -
    };
        1503  +
    let input = input.coip_pools?;
 1549   1504   
    ::std::option::Option::Some(input)
 1550   1505   
}
 1551   1506   
 1552   1507   
pub(crate) fn lens_describe_dhcp_options_output_output_dhcp_options(
 1553   1508   
    input: crate::operation::describe_dhcp_options::DescribeDhcpOptionsOutput,
 1554   1509   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DhcpOptions>> {
 1555         -
    let input = match input.dhcp_options {
 1556         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1557         -
        ::std::option::Option::Some(t) => t,
 1558         -
    };
        1510  +
    let input = input.dhcp_options?;
 1559   1511   
    ::std::option::Option::Some(input)
 1560   1512   
}
 1561   1513   
 1562   1514   
pub(crate) fn lens_describe_egress_only_internet_gateways_output_output_egress_only_internet_gateways(
 1563   1515   
    input: crate::operation::describe_egress_only_internet_gateways::DescribeEgressOnlyInternetGatewaysOutput,
 1564   1516   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EgressOnlyInternetGateway>> {
 1565         -
    let input = match input.egress_only_internet_gateways {
 1566         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1567         -
        ::std::option::Option::Some(t) => t,
 1568         -
    };
        1517  +
    let input = input.egress_only_internet_gateways?;
 1569   1518   
    ::std::option::Option::Some(input)
 1570   1519   
}
 1571   1520   
 1572   1521   
pub(crate) fn lens_describe_export_image_tasks_output_output_export_image_tasks(
 1573   1522   
    input: crate::operation::describe_export_image_tasks::DescribeExportImageTasksOutput,
 1574   1523   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ExportImageTask>> {
 1575         -
    let input = match input.export_image_tasks {
 1576         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1577         -
        ::std::option::Option::Some(t) => t,
 1578         -
    };
        1524  +
    let input = input.export_image_tasks?;
 1579   1525   
    ::std::option::Option::Some(input)
 1580   1526   
}
 1581   1527   
 1582   1528   
pub(crate) fn lens_describe_fast_launch_images_output_output_fast_launch_images(
 1583   1529   
    input: crate::operation::describe_fast_launch_images::DescribeFastLaunchImagesOutput,
 1584   1530   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DescribeFastLaunchImagesSuccessItem>> {
 1585         -
    let input = match input.fast_launch_images {
 1586         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1587         -
        ::std::option::Option::Some(t) => t,
 1588         -
    };
        1531  +
    let input = input.fast_launch_images?;
 1589   1532   
    ::std::option::Option::Some(input)
 1590   1533   
}
 1591   1534   
 1592   1535   
pub(crate) fn lens_describe_fast_snapshot_restores_output_output_fast_snapshot_restores(
 1593   1536   
    input: crate::operation::describe_fast_snapshot_restores::DescribeFastSnapshotRestoresOutput,
 1594   1537   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DescribeFastSnapshotRestoreSuccessItem>> {
 1595         -
    let input = match input.fast_snapshot_restores {
 1596         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1597         -
        ::std::option::Option::Some(t) => t,
 1598         -
    };
        1538  +
    let input = input.fast_snapshot_restores?;
 1599   1539   
    ::std::option::Option::Some(input)
 1600   1540   
}
 1601   1541   
 1602   1542   
pub(crate) fn lens_describe_fleets_output_output_fleets(
 1603   1543   
    input: crate::operation::describe_fleets::DescribeFleetsOutput,
 1604   1544   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FleetData>> {
 1605         -
    let input = match input.fleets {
 1606         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1607         -
        ::std::option::Option::Some(t) => t,
 1608         -
    };
        1545  +
    let input = input.fleets?;
 1609   1546   
    ::std::option::Option::Some(input)
 1610   1547   
}
 1611   1548   
 1612   1549   
pub(crate) fn lens_describe_flow_logs_output_output_flow_logs(
 1613   1550   
    input: crate::operation::describe_flow_logs::DescribeFlowLogsOutput,
 1614   1551   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FlowLog>> {
 1615         -
    let input = match input.flow_logs {
 1616         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1617         -
        ::std::option::Option::Some(t) => t,
 1618         -
    };
        1552  +
    let input = input.flow_logs?;
 1619   1553   
    ::std::option::Option::Some(input)
 1620   1554   
}
 1621   1555   
 1622   1556   
pub(crate) fn lens_describe_fpga_images_output_output_fpga_images(
 1623   1557   
    input: crate::operation::describe_fpga_images::DescribeFpgaImagesOutput,
 1624   1558   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FpgaImage>> {
 1625         -
    let input = match input.fpga_images {
 1626         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1627         -
        ::std::option::Option::Some(t) => t,
 1628         -
    };
        1559  +
    let input = input.fpga_images?;
 1629   1560   
    ::std::option::Option::Some(input)
 1630   1561   
}
 1631   1562   
 1632   1563   
pub(crate) fn lens_describe_host_reservation_offerings_output_output_offering_set(
 1633   1564   
    input: crate::operation::describe_host_reservation_offerings::DescribeHostReservationOfferingsOutput,
 1634   1565   
) -> ::std::option::Option<::std::vec::Vec<crate::types::HostOffering>> {
 1635         -
    let input = match input.offering_set {
 1636         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1637         -
        ::std::option::Option::Some(t) => t,
 1638         -
    };
        1566  +
    let input = input.offering_set?;
 1639   1567   
    ::std::option::Option::Some(input)
 1640   1568   
}
 1641   1569   
 1642   1570   
pub(crate) fn lens_describe_host_reservations_output_output_host_reservation_set(
 1643   1571   
    input: crate::operation::describe_host_reservations::DescribeHostReservationsOutput,
 1644   1572   
) -> ::std::option::Option<::std::vec::Vec<crate::types::HostReservation>> {
 1645         -
    let input = match input.host_reservation_set {
 1646         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1647         -
        ::std::option::Option::Some(t) => t,
 1648         -
    };
        1573  +
    let input = input.host_reservation_set?;
 1649   1574   
    ::std::option::Option::Some(input)
 1650   1575   
}
 1651   1576   
 1652   1577   
pub(crate) fn lens_describe_hosts_output_output_hosts(
 1653   1578   
    input: crate::operation::describe_hosts::DescribeHostsOutput,
 1654   1579   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Host>> {
 1655         -
    let input = match input.hosts {
 1656         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1657         -
        ::std::option::Option::Some(t) => t,
 1658         -
    };
        1580  +
    let input = input.hosts?;
 1659   1581   
    ::std::option::Option::Some(input)
 1660   1582   
}
 1661   1583   
 1662   1584   
pub(crate) fn lens_describe_iam_instance_profile_associations_output_output_iam_instance_profile_associations(
 1663   1585   
    input: crate::operation::describe_iam_instance_profile_associations::DescribeIamInstanceProfileAssociationsOutput,
 1664   1586   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IamInstanceProfileAssociation>> {
 1665         -
    let input = match input.iam_instance_profile_associations {
 1666         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1667         -
        ::std::option::Option::Some(t) => t,
 1668         -
    };
        1587  +
    let input = input.iam_instance_profile_associations?;
 1669   1588   
    ::std::option::Option::Some(input)
 1670   1589   
}
 1671   1590   
 1672   1591   
pub(crate) fn lens_describe_images_output_output_images(
 1673   1592   
    input: crate::operation::describe_images::DescribeImagesOutput,
 1674   1593   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Image>> {
 1675         -
    let input = match input.images {
 1676         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1677         -
        ::std::option::Option::Some(t) => t,
 1678         -
    };
        1594  +
    let input = input.images?;
 1679   1595   
    ::std::option::Option::Some(input)
 1680   1596   
}
 1681   1597   
 1682   1598   
pub(crate) fn lens_describe_import_image_tasks_output_output_import_image_tasks(
 1683   1599   
    input: crate::operation::describe_import_image_tasks::DescribeImportImageTasksOutput,
 1684   1600   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ImportImageTask>> {
 1685         -
    let input = match input.import_image_tasks {
 1686         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1687         -
        ::std::option::Option::Some(t) => t,
 1688         -
    };
        1601  +
    let input = input.import_image_tasks?;
 1689   1602   
    ::std::option::Option::Some(input)
 1690   1603   
}
 1691   1604   
 1692   1605   
pub(crate) fn lens_describe_import_snapshot_tasks_output_output_import_snapshot_tasks(
 1693   1606   
    input: crate::operation::describe_import_snapshot_tasks::DescribeImportSnapshotTasksOutput,
 1694   1607   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ImportSnapshotTask>> {
 1695         -
    let input = match input.import_snapshot_tasks {
 1696         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1697         -
        ::std::option::Option::Some(t) => t,
 1698         -
    };
        1608  +
    let input = input.import_snapshot_tasks?;
 1699   1609   
    ::std::option::Option::Some(input)
 1700   1610   
}
 1701   1611   
 1702   1612   
pub(crate) fn lens_describe_instance_connect_endpoints_output_output_instance_connect_endpoints(
 1703   1613   
    input: crate::operation::describe_instance_connect_endpoints::DescribeInstanceConnectEndpointsOutput,
 1704   1614   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ec2InstanceConnectEndpoint>> {
 1705         -
    let input = match input.instance_connect_endpoints {
 1706         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1707         -
        ::std::option::Option::Some(t) => t,
 1708         -
    };
        1615  +
    let input = input.instance_connect_endpoints?;
 1709   1616   
    ::std::option::Option::Some(input)
 1710   1617   
}
 1711   1618   
 1712   1619   
pub(crate) fn lens_describe_instance_credit_specifications_output_output_instance_credit_specifications(
 1713   1620   
    input: crate::operation::describe_instance_credit_specifications::DescribeInstanceCreditSpecificationsOutput,
 1714   1621   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceCreditSpecification>> {
 1715         -
    let input = match input.instance_credit_specifications {
 1716         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1717         -
        ::std::option::Option::Some(t) => t,
 1718         -
    };
        1622  +
    let input = input.instance_credit_specifications?;
 1719   1623   
    ::std::option::Option::Some(input)
 1720   1624   
}
 1721   1625   
 1722   1626   
pub(crate) fn lens_describe_instance_event_windows_output_output_instance_event_windows(
 1723   1627   
    input: crate::operation::describe_instance_event_windows::DescribeInstanceEventWindowsOutput,
 1724   1628   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceEventWindow>> {
 1725         -
    let input = match input.instance_event_windows {
 1726         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1727         -
        ::std::option::Option::Some(t) => t,
 1728         -
    };
        1629  +
    let input = input.instance_event_windows?;
 1729   1630   
    ::std::option::Option::Some(input)
 1730   1631   
}
 1731   1632   
 1732   1633   
pub(crate) fn lens_describe_instance_status_output_output_instance_statuses(
 1733   1634   
    input: crate::operation::describe_instance_status::DescribeInstanceStatusOutput,
 1734   1635   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceStatus>> {
 1735         -
    let input = match input.instance_statuses {
 1736         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1737         -
        ::std::option::Option::Some(t) => t,
 1738         -
    };
        1636  +
    let input = input.instance_statuses?;
 1739   1637   
    ::std::option::Option::Some(input)
 1740   1638   
}
 1741   1639   
 1742   1640   
pub(crate) fn lens_describe_instance_topology_output_output_instances(
 1743   1641   
    input: crate::operation::describe_instance_topology::DescribeInstanceTopologyOutput,
 1744   1642   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTopology>> {
 1745         -
    let input = match input.instances {
 1746         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1747         -
        ::std::option::Option::Some(t) => t,
 1748         -
    };
        1643  +
    let input = input.instances?;
 1749   1644   
    ::std::option::Option::Some(input)
 1750   1645   
}
 1751   1646   
 1752   1647   
pub(crate) fn lens_describe_instance_type_offerings_output_output_instance_type_offerings(
 1753   1648   
    input: crate::operation::describe_instance_type_offerings::DescribeInstanceTypeOfferingsOutput,
 1754   1649   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTypeOffering>> {
 1755         -
    let input = match input.instance_type_offerings {
 1756         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1757         -
        ::std::option::Option::Some(t) => t,
 1758         -
    };
        1650  +
    let input = input.instance_type_offerings?;
 1759   1651   
    ::std::option::Option::Some(input)
 1760   1652   
}
 1761   1653   
 1762   1654   
pub(crate) fn lens_describe_instance_types_output_output_instance_types(
 1763   1655   
    input: crate::operation::describe_instance_types::DescribeInstanceTypesOutput,
 1764   1656   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTypeInfo>> {
 1765         -
    let input = match input.instance_types {
 1766         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1767         -
        ::std::option::Option::Some(t) => t,
 1768         -
    };
        1657  +
    let input = input.instance_types?;
 1769   1658   
    ::std::option::Option::Some(input)
 1770   1659   
}
 1771   1660   
 1772   1661   
pub(crate) fn lens_describe_instances_output_output_reservations(
 1773   1662   
    input: crate::operation::describe_instances::DescribeInstancesOutput,
 1774   1663   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Reservation>> {
 1775         -
    let input = match input.reservations {
 1776         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1777         -
        ::std::option::Option::Some(t) => t,
 1778         -
    };
        1664  +
    let input = input.reservations?;
 1779   1665   
    ::std::option::Option::Some(input)
 1780   1666   
}
 1781   1667   
 1782   1668   
pub(crate) fn lens_describe_internet_gateways_output_output_internet_gateways(
 1783   1669   
    input: crate::operation::describe_internet_gateways::DescribeInternetGatewaysOutput,
 1784   1670   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InternetGateway>> {
 1785         -
    let input = match input.internet_gateways {
 1786         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1787         -
        ::std::option::Option::Some(t) => t,
 1788         -
    };
        1671  +
    let input = input.internet_gateways?;
 1789   1672   
    ::std::option::Option::Some(input)
 1790   1673   
}
 1791   1674   
 1792   1675   
pub(crate) fn lens_describe_ipam_pools_output_output_ipam_pools(
 1793   1676   
    input: crate::operation::describe_ipam_pools::DescribeIpamPoolsOutput,
 1794   1677   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamPool>> {
 1795         -
    let input = match input.ipam_pools {
 1796         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1797         -
        ::std::option::Option::Some(t) => t,
 1798         -
    };
        1678  +
    let input = input.ipam_pools?;
 1799   1679   
    ::std::option::Option::Some(input)
 1800   1680   
}
 1801   1681   
 1802   1682   
pub(crate) fn lens_describe_ipam_resource_discoveries_output_output_ipam_resource_discoveries(
 1803   1683   
    input: crate::operation::describe_ipam_resource_discoveries::DescribeIpamResourceDiscoveriesOutput,
 1804   1684   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamResourceDiscovery>> {
 1805         -
    let input = match input.ipam_resource_discoveries {
 1806         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1807         -
        ::std::option::Option::Some(t) => t,
 1808         -
    };
        1685  +
    let input = input.ipam_resource_discoveries?;
 1809   1686   
    ::std::option::Option::Some(input)
 1810   1687   
}
 1811   1688   
 1812   1689   
pub(crate) fn lens_describe_ipam_resource_discovery_associations_output_output_ipam_resource_discovery_associations(
 1813   1690   
    input: crate::operation::describe_ipam_resource_discovery_associations::DescribeIpamResourceDiscoveryAssociationsOutput,
 1814   1691   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamResourceDiscoveryAssociation>> {
 1815         -
    let input = match input.ipam_resource_discovery_associations {
 1816         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1817         -
        ::std::option::Option::Some(t) => t,
 1818         -
    };
        1692  +
    let input = input.ipam_resource_discovery_associations?;
 1819   1693   
    ::std::option::Option::Some(input)
 1820   1694   
}
 1821   1695   
 1822   1696   
pub(crate) fn lens_describe_ipam_scopes_output_output_ipam_scopes(
 1823   1697   
    input: crate::operation::describe_ipam_scopes::DescribeIpamScopesOutput,
 1824   1698   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamScope>> {
 1825         -
    let input = match input.ipam_scopes {
 1826         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1827         -
        ::std::option::Option::Some(t) => t,
 1828         -
    };
        1699  +
    let input = input.ipam_scopes?;
 1829   1700   
    ::std::option::Option::Some(input)
 1830   1701   
}
 1831   1702   
 1832   1703   
pub(crate) fn lens_describe_ipams_output_output_ipams(
 1833   1704   
    input: crate::operation::describe_ipams::DescribeIpamsOutput,
 1834   1705   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ipam>> {
 1835         -
    let input = match input.ipams {
 1836         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1837         -
        ::std::option::Option::Some(t) => t,
 1838         -
    };
        1706  +
    let input = input.ipams?;
 1839   1707   
    ::std::option::Option::Some(input)
 1840   1708   
}
 1841   1709   
 1842   1710   
pub(crate) fn lens_describe_ipv6_pools_output_output_ipv6_pools(
 1843   1711   
    input: crate::operation::describe_ipv6_pools::DescribeIpv6PoolsOutput,
 1844   1712   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ipv6Pool>> {
 1845         -
    let input = match input.ipv6_pools {
 1846         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1847         -
        ::std::option::Option::Some(t) => t,
 1848         -
    };
        1713  +
    let input = input.ipv6_pools?;
 1849   1714   
    ::std::option::Option::Some(input)
 1850   1715   
}
 1851   1716   
 1852   1717   
pub(crate) fn lens_describe_launch_template_versions_output_output_launch_template_versions(
 1853   1718   
    input: crate::operation::describe_launch_template_versions::DescribeLaunchTemplateVersionsOutput,
 1854   1719   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LaunchTemplateVersion>> {
 1855         -
    let input = match input.launch_template_versions {
 1856         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1857         -
        ::std::option::Option::Some(t) => t,
 1858         -
    };
        1720  +
    let input = input.launch_template_versions?;
 1859   1721   
    ::std::option::Option::Some(input)
 1860   1722   
}
 1861   1723   
 1862   1724   
pub(crate) fn lens_describe_launch_templates_output_output_launch_templates(
 1863   1725   
    input: crate::operation::describe_launch_templates::DescribeLaunchTemplatesOutput,
 1864   1726   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LaunchTemplate>> {
 1865         -
    let input = match input.launch_templates {
 1866         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1867         -
        ::std::option::Option::Some(t) => t,
 1868         -
    };
        1727  +
    let input = input.launch_templates?;
 1869   1728   
    ::std::option::Option::Some(input)
 1870   1729   
}
 1871   1730   
 1872   1731   
pub(crate) fn lens_describe_local_gateway_route_table_virtual_interface_group_associations_output_output_local_gateway_route_table_virtual_interface_group_associations(
 1873   1732   
    input: crate::operation::describe_local_gateway_route_table_virtual_interface_group_associations::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput,
 1874   1733   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRouteTableVirtualInterfaceGroupAssociation>> {
 1875         -
    let input = match input.local_gateway_route_table_virtual_interface_group_associations {
 1876         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1877         -
        ::std::option::Option::Some(t) => t,
 1878         -
    };
        1734  +
    let input = input.local_gateway_route_table_virtual_interface_group_associations?;
 1879   1735   
    ::std::option::Option::Some(input)
 1880   1736   
}
 1881   1737   
 1882   1738   
pub(crate) fn lens_describe_local_gateway_route_table_vpc_associations_output_output_local_gateway_route_table_vpc_associations(
 1883   1739   
    input: crate::operation::describe_local_gateway_route_table_vpc_associations::DescribeLocalGatewayRouteTableVpcAssociationsOutput,
 1884   1740   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRouteTableVpcAssociation>> {
 1885         -
    let input = match input.local_gateway_route_table_vpc_associations {
 1886         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1887         -
        ::std::option::Option::Some(t) => t,
 1888         -
    };
        1741  +
    let input = input.local_gateway_route_table_vpc_associations?;
 1889   1742   
    ::std::option::Option::Some(input)
 1890   1743   
}
 1891   1744   
 1892   1745   
pub(crate) fn lens_describe_local_gateway_route_tables_output_output_local_gateway_route_tables(
 1893   1746   
    input: crate::operation::describe_local_gateway_route_tables::DescribeLocalGatewayRouteTablesOutput,
 1894   1747   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRouteTable>> {
 1895         -
    let input = match input.local_gateway_route_tables {
 1896         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1897         -
        ::std::option::Option::Some(t) => t,
 1898         -
    };
        1748  +
    let input = input.local_gateway_route_tables?;
 1899   1749   
    ::std::option::Option::Some(input)
 1900   1750   
}
 1901   1751   
 1902   1752   
pub(crate) fn lens_describe_local_gateway_virtual_interface_groups_output_output_local_gateway_virtual_interface_groups(
 1903   1753   
    input: crate::operation::describe_local_gateway_virtual_interface_groups::DescribeLocalGatewayVirtualInterfaceGroupsOutput,
 1904   1754   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayVirtualInterfaceGroup>> {
 1905         -
    let input = match input.local_gateway_virtual_interface_groups {
 1906         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1907         -
        ::std::option::Option::Some(t) => t,
 1908         -
    };
        1755  +
    let input = input.local_gateway_virtual_interface_groups?;
 1909   1756   
    ::std::option::Option::Some(input)
 1910   1757   
}
 1911   1758   
 1912   1759   
pub(crate) fn lens_describe_local_gateway_virtual_interfaces_output_output_local_gateway_virtual_interfaces(
 1913   1760   
    input: crate::operation::describe_local_gateway_virtual_interfaces::DescribeLocalGatewayVirtualInterfacesOutput,
 1914   1761   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayVirtualInterface>> {
 1915         -
    let input = match input.local_gateway_virtual_interfaces {
 1916         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1917         -
        ::std::option::Option::Some(t) => t,
 1918         -
    };
        1762  +
    let input = input.local_gateway_virtual_interfaces?;
 1919   1763   
    ::std::option::Option::Some(input)
 1920   1764   
}
 1921   1765   
 1922   1766   
pub(crate) fn lens_describe_local_gateways_output_output_local_gateways(
 1923   1767   
    input: crate::operation::describe_local_gateways::DescribeLocalGatewaysOutput,
 1924   1768   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGateway>> {
 1925         -
    let input = match input.local_gateways {
 1926         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1927         -
        ::std::option::Option::Some(t) => t,
 1928         -
    };
        1769  +
    let input = input.local_gateways?;
 1929   1770   
    ::std::option::Option::Some(input)
 1930   1771   
}
 1931   1772   
 1932   1773   
pub(crate) fn lens_describe_mac_hosts_output_output_mac_hosts(
 1933   1774   
    input: crate::operation::describe_mac_hosts::DescribeMacHostsOutput,
 1934   1775   
) -> ::std::option::Option<::std::vec::Vec<crate::types::MacHost>> {
 1935         -
    let input = match input.mac_hosts {
 1936         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1937         -
        ::std::option::Option::Some(t) => t,
 1938         -
    };
        1776  +
    let input = input.mac_hosts?;
 1939   1777   
    ::std::option::Option::Some(input)
 1940   1778   
}
 1941   1779   
 1942   1780   
pub(crate) fn lens_describe_managed_prefix_lists_output_output_prefix_lists(
 1943   1781   
    input: crate::operation::describe_managed_prefix_lists::DescribeManagedPrefixListsOutput,
 1944   1782   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ManagedPrefixList>> {
 1945         -
    let input = match input.prefix_lists {
 1946         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1947         -
        ::std::option::Option::Some(t) => t,
 1948         -
    };
        1783  +
    let input = input.prefix_lists?;
 1949   1784   
    ::std::option::Option::Some(input)
 1950   1785   
}
 1951   1786   
 1952   1787   
pub(crate) fn lens_describe_moving_addresses_output_output_moving_address_statuses(
 1953   1788   
    input: crate::operation::describe_moving_addresses::DescribeMovingAddressesOutput,
 1954   1789   
) -> ::std::option::Option<::std::vec::Vec<crate::types::MovingAddressStatus>> {
 1955         -
    let input = match input.moving_address_statuses {
 1956         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1957         -
        ::std::option::Option::Some(t) => t,
 1958         -
    };
        1790  +
    let input = input.moving_address_statuses?;
 1959   1791   
    ::std::option::Option::Some(input)
 1960   1792   
}
 1961   1793   
 1962   1794   
pub(crate) fn lens_describe_nat_gateways_output_output_nat_gateways(
 1963   1795   
    input: crate::operation::describe_nat_gateways::DescribeNatGatewaysOutput,
 1964   1796   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NatGateway>> {
 1965         -
    let input = match input.nat_gateways {
 1966         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1967         -
        ::std::option::Option::Some(t) => t,
 1968         -
    };
        1797  +
    let input = input.nat_gateways?;
 1969   1798   
    ::std::option::Option::Some(input)
 1970   1799   
}
 1971   1800   
 1972   1801   
pub(crate) fn lens_describe_network_acls_output_output_network_acls(
 1973   1802   
    input: crate::operation::describe_network_acls::DescribeNetworkAclsOutput,
 1974   1803   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkAcl>> {
 1975         -
    let input = match input.network_acls {
 1976         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1977         -
        ::std::option::Option::Some(t) => t,
 1978         -
    };
        1804  +
    let input = input.network_acls?;
 1979   1805   
    ::std::option::Option::Some(input)
 1980   1806   
}
 1981   1807   
 1982   1808   
pub(crate) fn lens_describe_network_insights_access_scope_analyses_output_output_network_insights_access_scope_analyses(
 1983   1809   
    input: crate::operation::describe_network_insights_access_scope_analyses::DescribeNetworkInsightsAccessScopeAnalysesOutput,
 1984   1810   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsAccessScopeAnalysis>> {
 1985         -
    let input = match input.network_insights_access_scope_analyses {
 1986         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1987         -
        ::std::option::Option::Some(t) => t,
 1988         -
    };
        1811  +
    let input = input.network_insights_access_scope_analyses?;
 1989   1812   
    ::std::option::Option::Some(input)
 1990   1813   
}
 1991   1814   
 1992   1815   
pub(crate) fn lens_describe_network_insights_access_scopes_output_output_network_insights_access_scopes(
 1993   1816   
    input: crate::operation::describe_network_insights_access_scopes::DescribeNetworkInsightsAccessScopesOutput,
 1994   1817   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsAccessScope>> {
 1995         -
    let input = match input.network_insights_access_scopes {
 1996         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1997         -
        ::std::option::Option::Some(t) => t,
 1998         -
    };
        1818  +
    let input = input.network_insights_access_scopes?;
 1999   1819   
    ::std::option::Option::Some(input)
 2000   1820   
}
 2001   1821   
 2002   1822   
pub(crate) fn lens_describe_network_insights_analyses_output_output_network_insights_analyses(
 2003   1823   
    input: crate::operation::describe_network_insights_analyses::DescribeNetworkInsightsAnalysesOutput,
 2004   1824   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsAnalysis>> {
 2005         -
    let input = match input.network_insights_analyses {
 2006         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2007         -
        ::std::option::Option::Some(t) => t,
 2008         -
    };
        1825  +
    let input = input.network_insights_analyses?;
 2009   1826   
    ::std::option::Option::Some(input)
 2010   1827   
}
 2011   1828   
 2012   1829   
pub(crate) fn lens_describe_network_insights_paths_output_output_network_insights_paths(
 2013   1830   
    input: crate::operation::describe_network_insights_paths::DescribeNetworkInsightsPathsOutput,
 2014   1831   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsPath>> {
 2015         -
    let input = match input.network_insights_paths {
 2016         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2017         -
        ::std::option::Option::Some(t) => t,
 2018         -
    };
        1832  +
    let input = input.network_insights_paths?;
 2019   1833   
    ::std::option::Option::Some(input)
 2020   1834   
}
 2021   1835   
 2022   1836   
pub(crate) fn lens_describe_network_interface_permissions_output_output_network_interface_permissions(
 2023   1837   
    input: crate::operation::describe_network_interface_permissions::DescribeNetworkInterfacePermissionsOutput,
 2024   1838   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInterfacePermission>> {
 2025         -
    let input = match input.network_interface_permissions {
 2026         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2027         -
        ::std::option::Option::Some(t) => t,
 2028         -
    };
        1839  +
    let input = input.network_interface_permissions?;
 2029   1840   
    ::std::option::Option::Some(input)
 2030   1841   
}
 2031   1842   
 2032   1843   
pub(crate) fn lens_describe_network_interfaces_output_output_network_interfaces(
 2033   1844   
    input: crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
 2034   1845   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInterface>> {
 2035         -
    let input = match input.network_interfaces {
 2036         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2037         -
        ::std::option::Option::Some(t) => t,
 2038         -
    };
        1846  +
    let input = input.network_interfaces?;
 2039   1847   
    ::std::option::Option::Some(input)
 2040   1848   
}
 2041   1849   
 2042   1850   
pub(crate) fn lens_describe_prefix_lists_output_output_prefix_lists(
 2043   1851   
    input: crate::operation::describe_prefix_lists::DescribePrefixListsOutput,
 2044   1852   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrefixList>> {
 2045         -
    let input = match input.prefix_lists {
 2046         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2047         -
        ::std::option::Option::Some(t) => t,
 2048         -
    };
        1853  +
    let input = input.prefix_lists?;
 2049   1854   
    ::std::option::Option::Some(input)
 2050   1855   
}
 2051   1856   
 2052   1857   
pub(crate) fn lens_describe_principal_id_format_output_output_principals(
 2053   1858   
    input: crate::operation::describe_principal_id_format::DescribePrincipalIdFormatOutput,
 2054   1859   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrincipalIdFormat>> {
 2055         -
    let input = match input.principals {
 2056         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2057         -
        ::std::option::Option::Some(t) => t,
 2058         -
    };
        1860  +
    let input = input.principals?;
 2059   1861   
    ::std::option::Option::Some(input)
 2060   1862   
}
 2061   1863   
 2062   1864   
pub(crate) fn lens_describe_public_ipv4_pools_output_output_public_ipv4_pools(
 2063   1865   
    input: crate::operation::describe_public_ipv4_pools::DescribePublicIpv4PoolsOutput,
 2064   1866   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PublicIpv4Pool>> {
 2065         -
    let input = match input.public_ipv4_pools {
 2066         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2067         -
        ::std::option::Option::Some(t) => t,
 2068         -
    };
        1867  +
    let input = input.public_ipv4_pools?;
 2069   1868   
    ::std::option::Option::Some(input)
 2070   1869   
}
 2071   1870   
 2072   1871   
pub(crate) fn lens_describe_replace_root_volume_tasks_output_output_replace_root_volume_tasks(
 2073   1872   
    input: crate::operation::describe_replace_root_volume_tasks::DescribeReplaceRootVolumeTasksOutput,
 2074   1873   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ReplaceRootVolumeTask>> {
 2075         -
    let input = match input.replace_root_volume_tasks {
 2076         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2077         -
        ::std::option::Option::Some(t) => t,
 2078         -
    };
        1874  +
    let input = input.replace_root_volume_tasks?;
 2079   1875   
    ::std::option::Option::Some(input)
 2080   1876   
}
 2081   1877   
 2082   1878   
pub(crate) fn lens_describe_reserved_instances_modifications_output_output_reserved_instances_modifications(
 2083   1879   
    input: crate::operation::describe_reserved_instances_modifications::DescribeReservedInstancesModificationsOutput,
 2084   1880   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ReservedInstancesModification>> {
 2085         -
    let input = match input.reserved_instances_modifications {
 2086         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2087         -
        ::std::option::Option::Some(t) => t,
 2088         -
    };
        1881  +
    let input = input.reserved_instances_modifications?;
 2089   1882   
    ::std::option::Option::Some(input)
 2090   1883   
}
 2091   1884   
 2092   1885   
pub(crate) fn lens_describe_reserved_instances_offerings_output_output_reserved_instances_offerings(
 2093   1886   
    input: crate::operation::describe_reserved_instances_offerings::DescribeReservedInstancesOfferingsOutput,
 2094   1887   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ReservedInstancesOffering>> {
 2095         -
    let input = match input.reserved_instances_offerings {
 2096         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2097         -
        ::std::option::Option::Some(t) => t,
 2098         -
    };
        1888  +
    let input = input.reserved_instances_offerings?;
 2099   1889   
    ::std::option::Option::Some(input)
 2100   1890   
}
 2101   1891   
 2102   1892   
pub(crate) fn lens_describe_route_tables_output_output_route_tables(
 2103   1893   
    input: crate::operation::describe_route_tables::DescribeRouteTablesOutput,
 2104   1894   
) -> ::std::option::Option<::std::vec::Vec<crate::types::RouteTable>> {
 2105         -
    let input = match input.route_tables {
 2106         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2107         -
        ::std::option::Option::Some(t) => t,
 2108         -
    };
        1895  +
    let input = input.route_tables?;
 2109   1896   
    ::std::option::Option::Some(input)
 2110   1897   
}
 2111   1898   
 2112   1899   
pub(crate) fn lens_describe_scheduled_instance_availability_output_output_scheduled_instance_availability_set(
 2113   1900   
    input: crate::operation::describe_scheduled_instance_availability::DescribeScheduledInstanceAvailabilityOutput,
 2114   1901   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstanceAvailability>> {
 2115         -
    let input = match input.scheduled_instance_availability_set {
 2116         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2117         -
        ::std::option::Option::Some(t) => t,
 2118         -
    };
        1902  +
    let input = input.scheduled_instance_availability_set?;
 2119   1903   
    ::std::option::Option::Some(input)
 2120   1904   
}
 2121   1905   
 2122   1906   
pub(crate) fn lens_describe_scheduled_instances_output_output_scheduled_instance_set(
 2123   1907   
    input: crate::operation::describe_scheduled_instances::DescribeScheduledInstancesOutput,
 2124   1908   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstance>> {
 2125         -
    let input = match input.scheduled_instance_set {
 2126         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2127         -
        ::std::option::Option::Some(t) => t,
 2128         -
    };
        1909  +
    let input = input.scheduled_instance_set?;
 2129   1910   
    ::std::option::Option::Some(input)
 2130   1911   
}
 2131   1912   
 2132   1913   
pub(crate) fn lens_describe_security_group_rules_output_output_security_group_rules(
 2133   1914   
    input: crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesOutput,
 2134   1915   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupRule>> {
 2135         -
    let input = match input.security_group_rules {
 2136         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2137         -
        ::std::option::Option::Some(t) => t,
 2138         -
    };
        1916  +
    let input = input.security_group_rules?;
 2139   1917   
    ::std::option::Option::Some(input)
 2140   1918   
}
 2141   1919   
 2142   1920   
pub(crate) fn lens_describe_security_groups_output_output_security_groups(
 2143   1921   
    input: crate::operation::describe_security_groups::DescribeSecurityGroupsOutput,
 2144   1922   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroup>> {
 2145         -
    let input = match input.security_groups {
 2146         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2147         -
        ::std::option::Option::Some(t) => t,
 2148         -
    };
        1923  +
    let input = input.security_groups?;
 2149   1924   
    ::std::option::Option::Some(input)
 2150   1925   
}
 2151   1926   
 2152   1927   
pub(crate) fn lens_describe_snapshot_tier_status_output_output_snapshot_tier_statuses(
 2153   1928   
    input: crate::operation::describe_snapshot_tier_status::DescribeSnapshotTierStatusOutput,
 2154   1929   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SnapshotTierStatus>> {
 2155         -
    let input = match input.snapshot_tier_statuses {
 2156         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2157         -
        ::std::option::Option::Some(t) => t,
 2158         -
    };
        1930  +
    let input = input.snapshot_tier_statuses?;
 2159   1931   
    ::std::option::Option::Some(input)
 2160   1932   
}
 2161   1933   
 2162   1934   
pub(crate) fn lens_describe_snapshots_output_output_snapshots(
 2163   1935   
    input: crate::operation::describe_snapshots::DescribeSnapshotsOutput,
 2164   1936   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Snapshot>> {
 2165         -
    let input = match input.snapshots {
 2166         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2167         -
        ::std::option::Option::Some(t) => t,
 2168         -
    };
        1937  +
    let input = input.snapshots?;
 2169   1938   
    ::std::option::Option::Some(input)
 2170   1939   
}
 2171   1940   
 2172   1941   
pub(crate) fn lens_describe_spot_fleet_requests_output_output_spot_fleet_request_configs(
 2173   1942   
    input: crate::operation::describe_spot_fleet_requests::DescribeSpotFleetRequestsOutput,
 2174   1943   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotFleetRequestConfig>> {
 2175         -
    let input = match input.spot_fleet_request_configs {
 2176         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2177         -
        ::std::option::Option::Some(t) => t,
 2178         -
    };
        1944  +
    let input = input.spot_fleet_request_configs?;
 2179   1945   
    ::std::option::Option::Some(input)
 2180   1946   
}
 2181   1947   
 2182   1948   
pub(crate) fn lens_describe_spot_instance_requests_output_output_spot_instance_requests(
 2183   1949   
    input: crate::operation::describe_spot_instance_requests::DescribeSpotInstanceRequestsOutput,
 2184   1950   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotInstanceRequest>> {
 2185         -
    let input = match input.spot_instance_requests {
 2186         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2187         -
        ::std::option::Option::Some(t) => t,
 2188         -
    };
        1951  +
    let input = input.spot_instance_requests?;
 2189   1952   
    ::std::option::Option::Some(input)
 2190   1953   
}
 2191   1954   
 2192   1955   
pub(crate) fn lens_describe_spot_price_history_output_output_spot_price_history(
 2193   1956   
    input: crate::operation::describe_spot_price_history::DescribeSpotPriceHistoryOutput,
 2194   1957   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotPrice>> {
 2195         -
    let input = match input.spot_price_history {
 2196         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2197         -
        ::std::option::Option::Some(t) => t,
 2198         -
    };
        1958  +
    let input = input.spot_price_history?;
 2199   1959   
    ::std::option::Option::Some(input)
 2200   1960   
}
 2201   1961   
 2202   1962   
pub(crate) fn lens_describe_stale_security_groups_output_output_stale_security_group_set(
 2203   1963   
    input: crate::operation::describe_stale_security_groups::DescribeStaleSecurityGroupsOutput,
 2204   1964   
) -> ::std::option::Option<::std::vec::Vec<crate::types::StaleSecurityGroup>> {
 2205         -
    let input = match input.stale_security_group_set {
 2206         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2207         -
        ::std::option::Option::Some(t) => t,
 2208         -
    };
        1965  +
    let input = input.stale_security_group_set?;
 2209   1966   
    ::std::option::Option::Some(input)
 2210   1967   
}
 2211   1968   
 2212   1969   
pub(crate) fn lens_describe_store_image_tasks_output_output_store_image_task_results(
 2213   1970   
    input: crate::operation::describe_store_image_tasks::DescribeStoreImageTasksOutput,
 2214   1971   
) -> ::std::option::Option<::std::vec::Vec<crate::types::StoreImageTaskResult>> {
 2215         -
    let input = match input.store_image_task_results {
 2216         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2217         -
        ::std::option::Option::Some(t) => t,
 2218         -
    };
        1972  +
    let input = input.store_image_task_results?;
 2219   1973   
    ::std::option::Option::Some(input)
 2220   1974   
}
 2221   1975   
 2222   1976   
pub(crate) fn lens_describe_subnets_output_output_subnets(
 2223   1977   
    input: crate::operation::describe_subnets::DescribeSubnetsOutput,
 2224   1978   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Subnet>> {
 2225         -
    let input = match input.subnets {
 2226         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2227         -
        ::std::option::Option::Some(t) => t,
 2228         -
    };
        1979  +
    let input = input.subnets?;
 2229   1980   
    ::std::option::Option::Some(input)
 2230   1981   
}
 2231   1982   
 2232   1983   
pub(crate) fn lens_describe_tags_output_output_tags(
 2233   1984   
    input: crate::operation::describe_tags::DescribeTagsOutput,
 2234   1985   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TagDescription>> {
 2235         -
    let input = match input.tags {
 2236         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2237         -
        ::std::option::Option::Some(t) => t,
 2238         -
    };
        1986  +
    let input = input.tags?;
 2239   1987   
    ::std::option::Option::Some(input)
 2240   1988   
}
 2241   1989   
 2242   1990   
pub(crate) fn lens_describe_traffic_mirror_filters_output_output_traffic_mirror_filters(
 2243   1991   
    input: crate::operation::describe_traffic_mirror_filters::DescribeTrafficMirrorFiltersOutput,
 2244   1992   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrafficMirrorFilter>> {
 2245         -
    let input = match input.traffic_mirror_filters {
 2246         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2247         -
        ::std::option::Option::Some(t) => t,
 2248         -
    };
        1993  +
    let input = input.traffic_mirror_filters?;
 2249   1994   
    ::std::option::Option::Some(input)
 2250   1995   
}
 2251   1996   
 2252   1997   
pub(crate) fn lens_describe_traffic_mirror_sessions_output_output_traffic_mirror_sessions(
 2253   1998   
    input: crate::operation::describe_traffic_mirror_sessions::DescribeTrafficMirrorSessionsOutput,
 2254   1999   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrafficMirrorSession>> {
 2255         -
    let input = match input.traffic_mirror_sessions {
 2256         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2257         -
        ::std::option::Option::Some(t) => t,
 2258         -
    };
        2000  +
    let input = input.traffic_mirror_sessions?;
 2259   2001   
    ::std::option::Option::Some(input)
 2260   2002   
}
 2261   2003   
 2262   2004   
pub(crate) fn lens_describe_traffic_mirror_targets_output_output_traffic_mirror_targets(
 2263   2005   
    input: crate::operation::describe_traffic_mirror_targets::DescribeTrafficMirrorTargetsOutput,
 2264   2006   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrafficMirrorTarget>> {
 2265         -
    let input = match input.traffic_mirror_targets {
 2266         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2267         -
        ::std::option::Option::Some(t) => t,
 2268         -
    };
        2007  +
    let input = input.traffic_mirror_targets?;
 2269   2008   
    ::std::option::Option::Some(input)
 2270   2009   
}
 2271   2010   
 2272   2011   
pub(crate) fn lens_describe_transit_gateway_attachments_output_output_transit_gateway_attachments(
 2273   2012   
    input: crate::operation::describe_transit_gateway_attachments::DescribeTransitGatewayAttachmentsOutput,
 2274   2013   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayAttachment>> {
 2275         -
    let input = match input.transit_gateway_attachments {
 2276         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2277         -
        ::std::option::Option::Some(t) => t,
 2278         -
    };
        2014  +
    let input = input.transit_gateway_attachments?;
 2279   2015   
    ::std::option::Option::Some(input)
 2280   2016   
}
 2281   2017   
 2282   2018   
pub(crate) fn lens_describe_transit_gateway_connect_peers_output_output_transit_gateway_connect_peers(
 2283   2019   
    input: crate::operation::describe_transit_gateway_connect_peers::DescribeTransitGatewayConnectPeersOutput,
 2284   2020   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayConnectPeer>> {
 2285         -
    let input = match input.transit_gateway_connect_peers {
 2286         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2287         -
        ::std::option::Option::Some(t) => t,
 2288         -
    };
        2021  +
    let input = input.transit_gateway_connect_peers?;
 2289   2022   
    ::std::option::Option::Some(input)
 2290   2023   
}
 2291   2024   
 2292   2025   
pub(crate) fn lens_describe_transit_gateway_connects_output_output_transit_gateway_connects(
 2293   2026   
    input: crate::operation::describe_transit_gateway_connects::DescribeTransitGatewayConnectsOutput,
 2294   2027   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayConnect>> {
 2295         -
    let input = match input.transit_gateway_connects {
 2296         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2297         -
        ::std::option::Option::Some(t) => t,
 2298         -
    };
        2028  +
    let input = input.transit_gateway_connects?;
 2299   2029   
    ::std::option::Option::Some(input)
 2300   2030   
}
 2301   2031   
 2302   2032   
pub(crate) fn lens_describe_transit_gateway_multicast_domains_output_output_transit_gateway_multicast_domains(
 2303   2033   
    input: crate::operation::describe_transit_gateway_multicast_domains::DescribeTransitGatewayMulticastDomainsOutput,
 2304   2034   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayMulticastDomain>> {
 2305         -
    let input = match input.transit_gateway_multicast_domains {
 2306         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2307         -
        ::std::option::Option::Some(t) => t,
 2308         -
    };
        2035  +
    let input = input.transit_gateway_multicast_domains?;
 2309   2036   
    ::std::option::Option::Some(input)
 2310   2037   
}
 2311   2038   
 2312   2039   
pub(crate) fn lens_describe_transit_gateway_peering_attachments_output_output_transit_gateway_peering_attachments(
 2313   2040   
    input: crate::operation::describe_transit_gateway_peering_attachments::DescribeTransitGatewayPeeringAttachmentsOutput,
 2314   2041   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPeeringAttachment>> {
 2315         -
    let input = match input.transit_gateway_peering_attachments {
 2316         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2317         -
        ::std::option::Option::Some(t) => t,
 2318         -
    };
        2042  +
    let input = input.transit_gateway_peering_attachments?;
 2319   2043   
    ::std::option::Option::Some(input)
 2320   2044   
}
 2321   2045   
 2322   2046   
pub(crate) fn lens_describe_transit_gateway_policy_tables_output_output_transit_gateway_policy_tables(
 2323   2047   
    input: crate::operation::describe_transit_gateway_policy_tables::DescribeTransitGatewayPolicyTablesOutput,
 2324   2048   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPolicyTable>> {
 2325         -
    let input = match input.transit_gateway_policy_tables {
 2326         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2327         -
        ::std::option::Option::Some(t) => t,
 2328         -
    };
        2049  +
    let input = input.transit_gateway_policy_tables?;
 2329   2050   
    ::std::option::Option::Some(input)
 2330   2051   
}
 2331   2052   
 2332   2053   
pub(crate) fn lens_describe_transit_gateway_route_table_announcements_output_output_transit_gateway_route_table_announcements(
 2333   2054   
    input: crate::operation::describe_transit_gateway_route_table_announcements::DescribeTransitGatewayRouteTableAnnouncementsOutput,
 2334   2055   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTableAnnouncement>> {
 2335         -
    let input = match input.transit_gateway_route_table_announcements {
 2336         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2337         -
        ::std::option::Option::Some(t) => t,
 2338         -
    };
        2056  +
    let input = input.transit_gateway_route_table_announcements?;
 2339   2057   
    ::std::option::Option::Some(input)
 2340   2058   
}
 2341   2059   
 2342   2060   
pub(crate) fn lens_describe_transit_gateway_route_tables_output_output_transit_gateway_route_tables(
 2343   2061   
    input: crate::operation::describe_transit_gateway_route_tables::DescribeTransitGatewayRouteTablesOutput,
 2344   2062   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTable>> {
 2345         -
    let input = match input.transit_gateway_route_tables {
 2346         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2347         -
        ::std::option::Option::Some(t) => t,
 2348         -
    };
        2063  +
    let input = input.transit_gateway_route_tables?;
 2349   2064   
    ::std::option::Option::Some(input)
 2350   2065   
}
 2351   2066   
 2352   2067   
pub(crate) fn lens_describe_transit_gateway_vpc_attachments_output_output_transit_gateway_vpc_attachments(
 2353   2068   
    input: crate::operation::describe_transit_gateway_vpc_attachments::DescribeTransitGatewayVpcAttachmentsOutput,
 2354   2069   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayVpcAttachment>> {
 2355         -
    let input = match input.transit_gateway_vpc_attachments {
 2356         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2357         -
        ::std::option::Option::Some(t) => t,
 2358         -
    };
        2070  +
    let input = input.transit_gateway_vpc_attachments?;
 2359   2071   
    ::std::option::Option::Some(input)
 2360   2072   
}
 2361   2073   
 2362   2074   
pub(crate) fn lens_describe_transit_gateways_output_output_transit_gateways(
 2363   2075   
    input: crate::operation::describe_transit_gateways::DescribeTransitGatewaysOutput,
 2364   2076   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGateway>> {
 2365         -
    let input = match input.transit_gateways {
 2366         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2367         -
        ::std::option::Option::Some(t) => t,
 2368         -
    };
        2077  +
    let input = input.transit_gateways?;
 2369   2078   
    ::std::option::Option::Some(input)
 2370   2079   
}
 2371   2080   
 2372   2081   
pub(crate) fn lens_describe_trunk_interface_associations_output_output_interface_associations(
 2373   2082   
    input: crate::operation::describe_trunk_interface_associations::DescribeTrunkInterfaceAssociationsOutput,
 2374   2083   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrunkInterfaceAssociation>> {
 2375         -
    let input = match input.interface_associations {
 2376         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2377         -
        ::std::option::Option::Some(t) => t,
 2378         -
    };
        2084  +
    let input = input.interface_associations?;
 2379   2085   
    ::std::option::Option::Some(input)
 2380   2086   
}
 2381   2087   
 2382   2088   
pub(crate) fn lens_describe_verified_access_endpoints_output_output_verified_access_endpoints(
 2383   2089   
    input: crate::operation::describe_verified_access_endpoints::DescribeVerifiedAccessEndpointsOutput,
 2384   2090   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessEndpoint>> {
 2385         -
    let input = match input.verified_access_endpoints {
 2386         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2387         -
        ::std::option::Option::Some(t) => t,
 2388         -
    };
        2091  +
    let input = input.verified_access_endpoints?;
 2389   2092   
    ::std::option::Option::Some(input)
 2390   2093   
}
 2391   2094   
 2392   2095   
pub(crate) fn lens_describe_verified_access_groups_output_output_verified_access_groups(
 2393   2096   
    input: crate::operation::describe_verified_access_groups::DescribeVerifiedAccessGroupsOutput,
 2394   2097   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessGroup>> {
 2395         -
    let input = match input.verified_access_groups {
 2396         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2397         -
        ::std::option::Option::Some(t) => t,
 2398         -
    };
        2098  +
    let input = input.verified_access_groups?;
 2399   2099   
    ::std::option::Option::Some(input)
 2400   2100   
}
 2401   2101   
 2402   2102   
pub(crate) fn lens_describe_verified_access_instance_logging_configurations_output_output_logging_configurations(
 2403   2103   
    input: crate::operation::describe_verified_access_instance_logging_configurations::DescribeVerifiedAccessInstanceLoggingConfigurationsOutput,
 2404   2104   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessInstanceLoggingConfiguration>> {
 2405         -
    let input = match input.logging_configurations {
 2406         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2407         -
        ::std::option::Option::Some(t) => t,
 2408         -
    };
        2105  +
    let input = input.logging_configurations?;
 2409   2106   
    ::std::option::Option::Some(input)
 2410   2107   
}
 2411   2108   
 2412   2109   
pub(crate) fn lens_describe_verified_access_instances_output_output_verified_access_instances(
 2413   2110   
    input: crate::operation::describe_verified_access_instances::DescribeVerifiedAccessInstancesOutput,
 2414   2111   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessInstance>> {
 2415         -
    let input = match input.verified_access_instances {
 2416         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2417         -
        ::std::option::Option::Some(t) => t,
 2418         -
    };
        2112  +
    let input = input.verified_access_instances?;
 2419   2113   
    ::std::option::Option::Some(input)
 2420   2114   
}
 2421   2115   
 2422   2116   
pub(crate) fn lens_describe_verified_access_trust_providers_output_output_verified_access_trust_providers(
 2423   2117   
    input: crate::operation::describe_verified_access_trust_providers::DescribeVerifiedAccessTrustProvidersOutput,
 2424   2118   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessTrustProvider>> {
 2425         -
    let input = match input.verified_access_trust_providers {
 2426         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2427         -
        ::std::option::Option::Some(t) => t,
 2428         -
    };
        2119  +
    let input = input.verified_access_trust_providers?;
 2429   2120   
    ::std::option::Option::Some(input)
 2430   2121   
}
 2431   2122   
 2432   2123   
pub(crate) fn lens_describe_volume_status_output_output_volume_statuses(
 2433   2124   
    input: crate::operation::describe_volume_status::DescribeVolumeStatusOutput,
 2434   2125   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VolumeStatusItem>> {
 2435         -
    let input = match input.volume_statuses {
 2436         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2437         -
        ::std::option::Option::Some(t) => t,
 2438         -
    };
        2126  +
    let input = input.volume_statuses?;
 2439   2127   
    ::std::option::Option::Some(input)
 2440   2128   
}
 2441   2129   
 2442   2130   
pub(crate) fn lens_describe_volumes_output_output_volumes(
 2443   2131   
    input: crate::operation::describe_volumes::DescribeVolumesOutput,
 2444   2132   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Volume>> {
 2445         -
    let input = match input.volumes {
 2446         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2447         -
        ::std::option::Option::Some(t) => t,
 2448         -
    };
        2133  +
    let input = input.volumes?;
 2449   2134   
    ::std::option::Option::Some(input)
 2450   2135   
}
 2451   2136   
 2452   2137   
pub(crate) fn lens_describe_volumes_modifications_output_output_volumes_modifications(
 2453   2138   
    input: crate::operation::describe_volumes_modifications::DescribeVolumesModificationsOutput,
 2454   2139   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VolumeModification>> {
 2455         -
    let input = match input.volumes_modifications {
 2456         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2457         -
        ::std::option::Option::Some(t) => t,
 2458         -
    };
        2140  +
    let input = input.volumes_modifications?;
 2459   2141   
    ::std::option::Option::Some(input)
 2460   2142   
}
 2461   2143   
 2462   2144   
pub(crate) fn lens_describe_vpc_classic_link_dns_support_output_output_vpcs(
 2463   2145   
    input: crate::operation::describe_vpc_classic_link_dns_support::DescribeVpcClassicLinkDnsSupportOutput,
 2464   2146   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClassicLinkDnsSupport>> {
 2465         -
    let input = match input.vpcs {
 2466         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2467         -
        ::std::option::Option::Some(t) => t,
 2468         -
    };
        2147  +
    let input = input.vpcs?;
 2469   2148   
    ::std::option::Option::Some(input)
 2470   2149   
}
 2471   2150   
 2472   2151   
pub(crate) fn lens_describe_vpc_endpoint_connection_notifications_output_output_connection_notification_set(
 2473   2152   
    input: crate::operation::describe_vpc_endpoint_connection_notifications::DescribeVpcEndpointConnectionNotificationsOutput,
 2474   2153   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConnectionNotification>> {
 2475         -
    let input = match input.connection_notification_set {
 2476         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2477         -
        ::std::option::Option::Some(t) => t,
 2478         -
    };
        2154  +
    let input = input.connection_notification_set?;
 2479   2155   
    ::std::option::Option::Some(input)
 2480   2156   
}
 2481   2157   
 2482   2158   
pub(crate) fn lens_describe_vpc_endpoint_connections_output_output_vpc_endpoint_connections(
 2483   2159   
    input: crate::operation::describe_vpc_endpoint_connections::DescribeVpcEndpointConnectionsOutput,
 2484   2160   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpcEndpointConnection>> {
 2485         -
    let input = match input.vpc_endpoint_connections {
 2486         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2487         -
        ::std::option::Option::Some(t) => t,
 2488         -
    };
        2161  +
    let input = input.vpc_endpoint_connections?;
 2489   2162   
    ::std::option::Option::Some(input)
 2490   2163   
}
 2491   2164   
 2492   2165   
pub(crate) fn lens_describe_vpc_endpoint_service_configurations_output_output_service_configurations(
 2493   2166   
    input: crate::operation::describe_vpc_endpoint_service_configurations::DescribeVpcEndpointServiceConfigurationsOutput,
 2494   2167   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ServiceConfiguration>> {
 2495         -
    let input = match input.service_configurations {
 2496         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2497         -
        ::std::option::Option::Some(t) => t,
 2498         -
    };
        2168  +
    let input = input.service_configurations?;
 2499   2169   
    ::std::option::Option::Some(input)
 2500   2170   
}
 2501   2171   
 2502   2172   
pub(crate) fn lens_describe_vpc_endpoint_service_permissions_output_output_allowed_principals(
 2503   2173   
    input: crate::operation::describe_vpc_endpoint_service_permissions::DescribeVpcEndpointServicePermissionsOutput,
 2504   2174   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AllowedPrincipal>> {
 2505         -
    let input = match input.allowed_principals {
 2506         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2507         -
        ::std::option::Option::Some(t) => t,
 2508         -
    };
        2175  +
    let input = input.allowed_principals?;
 2509   2176   
    ::std::option::Option::Some(input)
 2510   2177   
}
 2511   2178   
 2512   2179   
pub(crate) fn lens_describe_vpc_endpoints_output_output_vpc_endpoints(
 2513   2180   
    input: crate::operation::describe_vpc_endpoints::DescribeVpcEndpointsOutput,
 2514   2181   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpcEndpoint>> {
 2515         -
    let input = match input.vpc_endpoints {
 2516         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2517         -
        ::std::option::Option::Some(t) => t,
 2518         -
    };
        2182  +
    let input = input.vpc_endpoints?;
 2519   2183   
    ::std::option::Option::Some(input)
 2520   2184   
}
 2521   2185   
 2522   2186   
pub(crate) fn lens_describe_vpc_peering_connections_output_output_vpc_peering_connections(
 2523   2187   
    input: crate::operation::describe_vpc_peering_connections::DescribeVpcPeeringConnectionsOutput,
 2524   2188   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpcPeeringConnection>> {
 2525         -
    let input = match input.vpc_peering_connections {
 2526         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2527         -
        ::std::option::Option::Some(t) => t,
 2528         -
    };
        2189  +
    let input = input.vpc_peering_connections?;
 2529   2190   
    ::std::option::Option::Some(input)
 2530   2191   
}
 2531   2192   
 2532   2193   
pub(crate) fn lens_describe_vpcs_output_output_vpcs(
 2533   2194   
    input: crate::operation::describe_vpcs::DescribeVpcsOutput,
 2534   2195   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Vpc>> {
 2535         -
    let input = match input.vpcs {
 2536         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2537         -
        ::std::option::Option::Some(t) => t,
 2538         -
    };
        2196  +
    let input = input.vpcs?;
 2539   2197   
    ::std::option::Option::Some(input)
 2540   2198   
}
 2541   2199   
 2542   2200   
pub(crate) fn lens_get_associated_ipv6_pool_cidrs_output_output_ipv6_cidr_associations(
 2543   2201   
    input: crate::operation::get_associated_ipv6_pool_cidrs::GetAssociatedIpv6PoolCidrsOutput,
 2544   2202   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ipv6CidrAssociation>> {
 2545         -
    let input = match input.ipv6_cidr_associations {
 2546         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2547         -
        ::std::option::Option::Some(t) => t,
 2548         -
    };
        2203  +
    let input = input.ipv6_cidr_associations?;
 2549   2204   
    ::std::option::Option::Some(input)
 2550   2205   
}
 2551   2206   
 2552   2207   
pub(crate) fn lens_get_aws_network_performance_data_output_output_data_responses(
 2553   2208   
    input: crate::operation::get_aws_network_performance_data::GetAwsNetworkPerformanceDataOutput,
 2554   2209   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DataResponse>> {
 2555         -
    let input = match input.data_responses {
 2556         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2557         -
        ::std::option::Option::Some(t) => t,
 2558         -
    };
        2210  +
    let input = input.data_responses?;
 2559   2211   
    ::std::option::Option::Some(input)
 2560   2212   
}
 2561   2213   
 2562   2214   
pub(crate) fn lens_get_groups_for_capacity_reservation_output_output_capacity_reservation_groups(
 2563   2215   
    input: crate::operation::get_groups_for_capacity_reservation::GetGroupsForCapacityReservationOutput,
 2564   2216   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityReservationGroup>> {
 2565         -
    let input = match input.capacity_reservation_groups {
 2566         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2567         -
        ::std::option::Option::Some(t) => t,
 2568         -
    };
        2217  +
    let input = input.capacity_reservation_groups?;
 2569   2218   
    ::std::option::Option::Some(input)
 2570   2219   
}
 2571   2220   
 2572   2221   
pub(crate) fn lens_get_instance_types_from_instance_requirements_output_output_instance_types(
 2573   2222   
    input: crate::operation::get_instance_types_from_instance_requirements::GetInstanceTypesFromInstanceRequirementsOutput,
 2574   2223   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTypeInfoFromInstanceRequirements>> {
 2575         -
    let input = match input.instance_types {
 2576         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2577         -
        ::std::option::Option::Some(t) => t,
 2578         -
    };
        2224  +
    let input = input.instance_types?;
 2579   2225   
    ::std::option::Option::Some(input)
 2580   2226   
}
 2581   2227   
 2582   2228   
pub(crate) fn lens_get_ipam_address_history_output_output_history_records(
 2583   2229   
    input: crate::operation::get_ipam_address_history::GetIpamAddressHistoryOutput,
 2584   2230   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamAddressHistoryRecord>> {
 2585         -
    let input = match input.history_records {
 2586         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2587         -
        ::std::option::Option::Some(t) => t,
 2588         -
    };
        2231  +
    let input = input.history_records?;
 2589   2232   
    ::std::option::Option::Some(input)
 2590   2233   
}
 2591   2234   
 2592   2235   
pub(crate) fn lens_get_ipam_discovered_accounts_output_output_ipam_discovered_accounts(
 2593   2236   
    input: crate::operation::get_ipam_discovered_accounts::GetIpamDiscoveredAccountsOutput,
 2594   2237   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamDiscoveredAccount>> {
 2595         -
    let input = match input.ipam_discovered_accounts {
 2596         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2597         -
        ::std::option::Option::Some(t) => t,
 2598         -
    };
        2238  +
    let input = input.ipam_discovered_accounts?;
 2599   2239   
    ::std::option::Option::Some(input)
 2600   2240   
}
 2601   2241   
 2602   2242   
pub(crate) fn lens_get_ipam_discovered_resource_cidrs_output_output_ipam_discovered_resource_cidrs(
 2603   2243   
    input: crate::operation::get_ipam_discovered_resource_cidrs::GetIpamDiscoveredResourceCidrsOutput,
 2604   2244   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamDiscoveredResourceCidr>> {
 2605         -
    let input = match input.ipam_discovered_resource_cidrs {
 2606         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2607         -
        ::std::option::Option::Some(t) => t,
 2608         -
    };
        2245  +
    let input = input.ipam_discovered_resource_cidrs?;
 2609   2246   
    ::std::option::Option::Some(input)
 2610   2247   
}
 2611   2248   
 2612   2249   
pub(crate) fn lens_get_ipam_pool_allocations_output_output_ipam_pool_allocations(
 2613   2250   
    input: crate::operation::get_ipam_pool_allocations::GetIpamPoolAllocationsOutput,
 2614   2251   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamPoolAllocation>> {
 2615         -
    let input = match input.ipam_pool_allocations {
 2616         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2617         -
        ::std::option::Option::Some(t) => t,
 2618         -
    };
        2252  +
    let input = input.ipam_pool_allocations?;
 2619   2253   
    ::std::option::Option::Some(input)
 2620   2254   
}
 2621   2255   
 2622   2256   
pub(crate) fn lens_get_ipam_pool_cidrs_output_output_ipam_pool_cidrs(
 2623   2257   
    input: crate::operation::get_ipam_pool_cidrs::GetIpamPoolCidrsOutput,
 2624   2258   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamPoolCidr>> {
 2625         -
    let input = match input.ipam_pool_cidrs {
 2626         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2627         -
        ::std::option::Option::Some(t) => t,
 2628         -
    };
        2259  +
    let input = input.ipam_pool_cidrs?;
 2629   2260   
    ::std::option::Option::Some(input)
 2630   2261   
}
 2631   2262   
 2632   2263   
pub(crate) fn lens_get_ipam_resource_cidrs_output_output_ipam_resource_cidrs(
 2633   2264   
    input: crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
 2634   2265   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamResourceCidr>> {
 2635         -
    let input = match input.ipam_resource_cidrs {
 2636         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2637         -
        ::std::option::Option::Some(t) => t,
 2638         -
    };
        2266  +
    let input = input.ipam_resource_cidrs?;
 2639   2267   
    ::std::option::Option::Some(input)
 2640   2268   
}
 2641   2269   
 2642   2270   
pub(crate) fn lens_get_managed_prefix_list_associations_output_output_prefix_list_associations(
 2643   2271   
    input: crate::operation::get_managed_prefix_list_associations::GetManagedPrefixListAssociationsOutput,
 2644   2272   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrefixListAssociation>> {
 2645         -
    let input = match input.prefix_list_associations {
 2646         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2647         -
        ::std::option::Option::Some(t) => t,
 2648         -
    };
        2273  +
    let input = input.prefix_list_associations?;
 2649   2274   
    ::std::option::Option::Some(input)
 2650   2275   
}
 2651   2276   
 2652   2277   
pub(crate) fn lens_get_managed_prefix_list_entries_output_output_entries(
 2653   2278   
    input: crate::operation::get_managed_prefix_list_entries::GetManagedPrefixListEntriesOutput,
 2654   2279   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrefixListEntry>> {
 2655         -
    let input = match input.entries {
 2656         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2657         -
        ::std::option::Option::Some(t) => t,
 2658         -
    };
        2280  +
    let input = input.entries?;
 2659   2281   
    ::std::option::Option::Some(input)
 2660   2282   
}
 2661   2283   
 2662   2284   
pub(crate) fn lens_get_network_insights_access_scope_analysis_findings_output_output_analysis_findings(
 2663   2285   
    input: crate::operation::get_network_insights_access_scope_analysis_findings::GetNetworkInsightsAccessScopeAnalysisFindingsOutput,
 2664   2286   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AccessScopeAnalysisFinding>> {
 2665         -
    let input = match input.analysis_findings {
 2666         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2667         -
        ::std::option::Option::Some(t) => t,
 2668         -
    };
        2287  +
    let input = input.analysis_findings?;
 2669   2288   
    ::std::option::Option::Some(input)
 2670   2289   
}
 2671   2290   
 2672   2291   
pub(crate) fn lens_get_security_groups_for_vpc_output_output_security_group_for_vpcs(
 2673   2292   
    input: crate::operation::get_security_groups_for_vpc::GetSecurityGroupsForVpcOutput,
 2674   2293   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupForVpc>> {
 2675         -
    let input = match input.security_group_for_vpcs {
 2676         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2677         -
        ::std::option::Option::Some(t) => t,
 2678         -
    };
        2294  +
    let input = input.security_group_for_vpcs?;
 2679   2295   
    ::std::option::Option::Some(input)
 2680   2296   
}
 2681   2297   
 2682   2298   
pub(crate) fn lens_get_spot_placement_scores_output_output_spot_placement_scores(
 2683   2299   
    input: crate::operation::get_spot_placement_scores::GetSpotPlacementScoresOutput,
 2684   2300   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotPlacementScore>> {
 2685         -
    let input = match input.spot_placement_scores {
 2686         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2687         -
        ::std::option::Option::Some(t) => t,
 2688         -
    };
        2301  +
    let input = input.spot_placement_scores?;
 2689   2302   
    ::std::option::Option::Some(input)
 2690   2303   
}
 2691   2304   
 2692   2305   
pub(crate) fn lens_get_transit_gateway_attachment_propagations_output_output_transit_gateway_attachment_propagations(
 2693   2306   
    input: crate::operation::get_transit_gateway_attachment_propagations::GetTransitGatewayAttachmentPropagationsOutput,
 2694   2307   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayAttachmentPropagation>> {
 2695         -
    let input = match input.transit_gateway_attachment_propagations {
 2696         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2697         -
        ::std::option::Option::Some(t) => t,
 2698         -
    };
        2308  +
    let input = input.transit_gateway_attachment_propagations?;
 2699   2309   
    ::std::option::Option::Some(input)
 2700   2310   
}
 2701   2311   
 2702   2312   
pub(crate) fn lens_get_transit_gateway_multicast_domain_associations_output_output_multicast_domain_associations(
 2703   2313   
    input: crate::operation::get_transit_gateway_multicast_domain_associations::GetTransitGatewayMulticastDomainAssociationsOutput,
 2704   2314   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayMulticastDomainAssociation>> {
 2705         -
    let input = match input.multicast_domain_associations {
 2706         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2707         -
        ::std::option::Option::Some(t) => t,
 2708         -
    };
        2315  +
    let input = input.multicast_domain_associations?;
 2709   2316   
    ::std::option::Option::Some(input)
 2710   2317   
}
 2711   2318   
 2712   2319   
pub(crate) fn lens_get_transit_gateway_policy_table_associations_output_output_associations(
 2713   2320   
    input: crate::operation::get_transit_gateway_policy_table_associations::GetTransitGatewayPolicyTableAssociationsOutput,
 2714   2321   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPolicyTableAssociation>> {
 2715         -
    let input = match input.associations {
 2716         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2717         -
        ::std::option::Option::Some(t) => t,
 2718         -
    };
        2322  +
    let input = input.associations?;
 2719   2323   
    ::std::option::Option::Some(input)
 2720   2324   
}
 2721   2325   
 2722   2326   
pub(crate) fn lens_get_transit_gateway_prefix_list_references_output_output_transit_gateway_prefix_list_references(
 2723   2327   
    input: crate::operation::get_transit_gateway_prefix_list_references::GetTransitGatewayPrefixListReferencesOutput,
 2724   2328   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPrefixListReference>> {
 2725         -
    let input = match input.transit_gateway_prefix_list_references {
 2726         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2727         -
        ::std::option::Option::Some(t) => t,
 2728         -
    };
        2329  +
    let input = input.transit_gateway_prefix_list_references?;
 2729   2330   
    ::std::option::Option::Some(input)
 2730   2331   
}
 2731   2332   
 2732   2333   
pub(crate) fn lens_get_transit_gateway_route_table_associations_output_output_associations(
 2733   2334   
    input: crate::operation::get_transit_gateway_route_table_associations::GetTransitGatewayRouteTableAssociationsOutput,
 2734   2335   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTableAssociation>> {
 2735         -
    let input = match input.associations {
 2736         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2737         -
        ::std::option::Option::Some(t) => t,
 2738         -
    };
        2336  +
    let input = input.associations?;
 2739   2337   
    ::std::option::Option::Some(input)
 2740   2338   
}
 2741   2339   
 2742   2340   
pub(crate) fn lens_get_transit_gateway_route_table_propagations_output_output_transit_gateway_route_table_propagations(
 2743   2341   
    input: crate::operation::get_transit_gateway_route_table_propagations::GetTransitGatewayRouteTablePropagationsOutput,
 2744   2342   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTablePropagation>> {
 2745         -
    let input = match input.transit_gateway_route_table_propagations {
 2746         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2747         -
        ::std::option::Option::Some(t) => t,
 2748         -
    };
        2343  +
    let input = input.transit_gateway_route_table_propagations?;
 2749   2344   
    ::std::option::Option::Some(input)
 2750   2345   
}
 2751   2346   
 2752   2347   
pub(crate) fn lens_get_vpn_connection_device_types_output_output_vpn_connection_device_types(
 2753   2348   
    input: crate::operation::get_vpn_connection_device_types::GetVpnConnectionDeviceTypesOutput,
 2754   2349   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpnConnectionDeviceType>> {
 2755         -
    let input = match input.vpn_connection_device_types {
 2756         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2757         -
        ::std::option::Option::Some(t) => t,
 2758         -
    };
        2350  +
    let input = input.vpn_connection_device_types?;
 2759   2351   
    ::std::option::Option::Some(input)
 2760   2352   
}
 2761   2353   
 2762   2354   
pub(crate) fn lens_list_images_in_recycle_bin_output_output_images(
 2763   2355   
    input: crate::operation::list_images_in_recycle_bin::ListImagesInRecycleBinOutput,
 2764   2356   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ImageRecycleBinInfo>> {
 2765         -
    let input = match input.images {
 2766         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2767         -
        ::std::option::Option::Some(t) => t,
 2768         -
    };
        2357  +
    let input = input.images?;
 2769   2358   
    ::std::option::Option::Some(input)
 2770   2359   
}
 2771   2360   
 2772   2361   
pub(crate) fn lens_list_snapshots_in_recycle_bin_output_output_snapshots(
 2773   2362   
    input: crate::operation::list_snapshots_in_recycle_bin::ListSnapshotsInRecycleBinOutput,
 2774   2363   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SnapshotRecycleBinInfo>> {
 2775         -
    let input = match input.snapshots {
 2776         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2777         -
        ::std::option::Option::Some(t) => t,
 2778         -
    };
        2364  +
    let input = input.snapshots?;
 2779   2365   
    ::std::option::Option::Some(input)
 2780   2366   
}
 2781   2367   
 2782   2368   
pub(crate) fn lens_search_local_gateway_routes_output_output_routes(
 2783   2369   
    input: crate::operation::search_local_gateway_routes::SearchLocalGatewayRoutesOutput,
 2784   2370   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRoute>> {
 2785         -
    let input = match input.routes {
 2786         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2787         -
        ::std::option::Option::Some(t) => t,
 2788         -
    };
        2371  +
    let input = input.routes?;
 2789   2372   
    ::std::option::Option::Some(input)
 2790   2373   
}
 2791   2374   
 2792   2375   
pub(crate) fn lens_search_transit_gateway_multicast_groups_output_output_multicast_groups(
 2793   2376   
    input: crate::operation::search_transit_gateway_multicast_groups::SearchTransitGatewayMulticastGroupsOutput,
 2794   2377   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayMulticastGroup>> {
 2795         -
    let input = match input.multicast_groups {
 2796         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2797         -
        ::std::option::Option::Some(t) => t,
 2798         -
    };
        2378  +
    let input = input.multicast_groups?;
 2799   2379   
    ::std::option::Option::Some(input)
 2800   2380   
}

tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml

@@ -1,1 +89,89 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-ecs"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon EC2 Container Service"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23         -
version = "1.5.7"
          23  +
version = "1.5.8"
   24     24   
   25     25   
[dependencies.aws-smithy-async]
   26     26   
path = "../aws-smithy-async"
   27     27   
version = "1.2.5"
   28     28   
   29     29   
[dependencies.aws-smithy-http]
   30     30   
path = "../aws-smithy-http"
   31     31   
version = "0.62.1"
   32     32   
   33     33   
[dependencies.aws-smithy-json]
   34     34   
path = "../aws-smithy-json"
   35         -
version = "0.61.3"
          35  +
version = "0.61.4"
   36     36   
   37     37   
[dependencies.aws-smithy-runtime]
   38     38   
path = "../aws-smithy-runtime"
   39     39   
features = ["client"]
   40     40   
version = "1.8.3"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime-api]
   43     43   
path = "../aws-smithy-runtime-api"
   44     44   
features = ["client", "http-02x"]
   45         -
version = "1.8.0"
          45  +
version = "1.8.1"
   46     46   
   47     47   
[dependencies.aws-smithy-types]
   48     48   
path = "../aws-smithy-types"
   49         -
version = "1.3.1"
          49  +
version = "1.3.2"
   50     50   
   51     51   
[dependencies.aws-types]
   52     52   
path = "../aws-types"
   53     53   
version = "1.3.7"
   54     54   
   55     55   
[dependencies.bytes]
   56     56   
version = "1.4.0"
   57     57   
   58     58   
[dependencies.fastrand]
   59     59   
version = "2.0.0"
   60     60   
   61     61   
[dependencies.http]
   62     62   
version = "0.2.9"
   63     63   
   64     64   
[dependencies.regex-lite]
   65     65   
version = "0.1.5"
   66     66   
   67     67   
[dependencies.tracing]
   68     68   
version = "0.1"
   69     69   
[dev-dependencies.aws-config]
   70     70   
path = "../aws-config"
   71         -
version = "1.6.3"
          71  +
version = "1.6.4"
   72     72   
   73     73   
[dev-dependencies.aws-credential-types]
   74     74   
path = "../aws-credential-types"
   75     75   
features = ["test-util"]
   76     76   
version = "1.2.3"
   77     77   
   78     78   
[dev-dependencies.tokio]
   79     79   
version = "1.23.1"
   80     80   
features = ["macros", "test-util", "rt-multi-thread"]
   81     81   

tmp-codegen-diff/aws-sdk/sdk/ecs/src/config.rs

@@ -251,251 +345,346 @@
  271    271   
    /// let config = builder.build();
  272    272   
    /// # }
  273    273   
    /// # }
  274    274   
    /// ```
  275    275   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  276    276   
        self.runtime_components.set_http_client(http_client);
  277    277   
        self
  278    278   
    }
  279    279   
    /// Sets the endpoint resolver to use when making requests.
  280    280   
    ///
  281         -
         281  +
    ///
  282    282   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  283    283   
    /// rules for `aws_sdk_ecs`.
  284         -
         284  +
    ///
  285    285   
    ///
  286    286   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  287    287   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  288    288   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  289    289   
    ///
  290    290   
    /// # Examples
  291    291   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  292    292   
    /// ```no_run
  293    293   
    /// use aws_sdk_ecs::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  294    294   
    /// #[derive(Debug)]
  295    295   
    /// struct StageResolver { stage: String }
  296    296   
    /// impl ResolveEndpoint for StageResolver {
  297    297   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  298    298   
    ///         let stage = &self.stage;
  299    299   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  300    300   
    ///     }
  301    301   
    /// }
  302    302   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  303    303   
    /// let config = aws_sdk_ecs::Config::builder().endpoint_resolver(resolver).build();
  304    304   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  305    305   
    /// ```
  306    306   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  307    307   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  308    308   
        self
  309    309   
    }
  310    310   
  311    311   
    /// Sets the endpoint resolver to use when making requests.
  312    312   
    ///
  313         -
         313  +
    ///
  314    314   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  315    315   
    /// rules for `aws_sdk_ecs`.
         316  +
    ///
  316    317   
    pub fn set_endpoint_resolver(
  317    318   
        &mut self,
  318    319   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  319    320   
    ) -> &mut Self {
  320    321   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  321    322   
        self
  322    323   
    }
  323    324   
    /// Set the retry_config for the builder
  324    325   
    ///
  325    326   
    /// # Examples
@@ -491,492 +597,598 @@
  511    512   
    ///     .identity_cache(
  512    513   
    ///         IdentityCache::lazy()
  513    514   
    ///             // change the load timeout to 10 seconds
  514    515   
    ///             .load_timeout(Duration::from_secs(10))
  515    516   
    ///             .build()
  516    517   
    ///     )
  517    518   
    ///     // ...
  518    519   
    ///     .build();
  519    520   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  520    521   
    /// ```
  521         -
         522  +
    ///
  522    523   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  523    524   
        self.set_identity_cache(identity_cache);
  524    525   
        self
  525    526   
    }
  526    527   
  527    528   
    /// Set the identity cache for auth.
  528    529   
    ///
  529    530   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  530    531   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  531    532   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  532    533   
    /// the next request will result in refreshing the identity.
  533    534   
    ///
  534    535   
    /// This configuration allows you to disable or change the default caching mechanism.
  535    536   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  536    537   
    /// trait and pass that implementation into this function.
  537    538   
    ///
  538    539   
    /// # Examples
  539    540   
    ///
  540    541   
    /// Disabling identity caching:
  541    542   
    /// ```no_run
  542    543   
    /// use aws_sdk_ecs::config::IdentityCache;
  543    544   
    ///
  544    545   
    /// let config = aws_sdk_ecs::Config::builder()
  545    546   
    ///     .identity_cache(IdentityCache::no_cache())
  546    547   
    ///     // ...
  547    548   
    ///     .build();
  548    549   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  549    550   
    /// ```
  550    551   
    ///
  551    552   
    /// Customizing lazy caching:
  552    553   
    /// ```no_run
  553    554   
    /// use aws_sdk_ecs::config::IdentityCache;
  554    555   
    /// use std::time::Duration;
  555    556   
    ///
  556    557   
    /// let config = aws_sdk_ecs::Config::builder()
  557    558   
    ///     .identity_cache(
  558    559   
    ///         IdentityCache::lazy()
  559    560   
    ///             // change the load timeout to 10 seconds
  560    561   
    ///             .load_timeout(Duration::from_secs(10))
  561    562   
    ///             .build()
  562    563   
    ///     )
  563    564   
    ///     // ...
  564    565   
    ///     .build();
  565    566   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  566    567   
    /// ```
  567         -
         568  +
    ///
  568    569   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  569    570   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  570    571   
        self
  571    572   
    }
  572    573   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  573    574   
    ///
  574    575   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  575    576   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  576    577   
    /// will run after those default interceptors.
  577    578   
    ///
@@ -991,992 +1086,1087 @@
 1011   1012   
    /// Customizing behavior major version:
 1012   1013   
    /// ```no_run
 1013   1014   
    /// use aws_sdk_ecs::config::BehaviorVersion;
 1014   1015   
    ///
 1015   1016   
    /// let config = aws_sdk_ecs::Config::builder()
 1016   1017   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1017   1018   
    ///     // ...
 1018   1019   
    ///     .build();
 1019   1020   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
 1020   1021   
    /// ```
 1021         -
        1022  +
    ///
 1022   1023   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1023   1024   
        self.set_behavior_version(Some(behavior_version));
 1024   1025   
        self
 1025   1026   
    }
 1026   1027   
 1027   1028   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1028   1029   
    ///
 1029   1030   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1030   1031   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1031   1032   
    /// all operations might be the ideal behavior but could break existing applications.
 1032   1033   
    ///
 1033   1034   
    /// # Examples
 1034   1035   
    ///
 1035   1036   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1036   1037   
    /// ```no_run
 1037   1038   
    /// use aws_sdk_ecs::config::BehaviorVersion;
 1038   1039   
    ///
 1039   1040   
    /// let config = aws_sdk_ecs::Config::builder()
 1040   1041   
    ///     .behavior_version(BehaviorVersion::latest())
 1041   1042   
    ///     // ...
 1042   1043   
    ///     .build();
 1043   1044   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
 1044   1045   
    /// ```
 1045   1046   
    ///
 1046   1047   
    /// Customizing behavior major version:
 1047   1048   
    /// ```no_run
 1048   1049   
    /// use aws_sdk_ecs::config::BehaviorVersion;
 1049   1050   
    ///
 1050   1051   
    /// let config = aws_sdk_ecs::Config::builder()
 1051   1052   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1052   1053   
    ///     // ...
 1053   1054   
    ///     .build();
 1054   1055   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
 1055   1056   
    /// ```
 1056         -
        1057  +
    ///
 1057   1058   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1058   1059   
        self.behavior_version = behavior_version;
 1059   1060   
        self
 1060   1061   
    }
 1061   1062   
 1062   1063   
    /// Convenience method to set the latest behavior major version
 1063   1064   
    ///
 1064   1065   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1065   1066   
    pub fn behavior_version_latest(mut self) -> Self {
 1066   1067   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1149,1150 +1209,1210 @@
 1169   1170   
    }
 1170   1171   
 1171   1172   
    fn runtime_components(
 1172   1173   
        &self,
 1173   1174   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1174   1175   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1175   1176   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1176   1177   
    }
 1177   1178   
}
 1178   1179   
 1179         -
/// Cross-operation shared-state singletons
        1180  +
// Cross-operation shared-state singletons
 1180   1181   
 1181   1182   
/// A plugin that enables configuration for a single operation invocation
 1182   1183   
///
 1183   1184   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1184   1185   
/// In the case of default values requested, they will be obtained from `client_config`.
 1185   1186   
#[derive(Debug)]
 1186   1187   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1187   1188   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1188   1189   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1189   1190   
}

tmp-codegen-diff/aws-sdk/sdk/ecs/src/endpoint_lib/partition.rs

@@ -13,13 +73,73 @@
   33     33   
pub(crate) struct Partition<'a> {
   34     34   
    name: &'a str,
   35     35   
    dns_suffix: &'a str,
   36     36   
    dual_stack_dns_suffix: &'a str,
   37     37   
    supports_fips: bool,
   38     38   
    supports_dual_stack: bool,
   39     39   
    implicit_global_region: &'a str,
   40     40   
}
   41     41   
   42     42   
#[allow(unused)]
   43         -
impl<'a> Partition<'a> {
          43  +
impl Partition<'_> {
   44     44   
    pub(crate) fn name(&self) -> &str {
   45     45   
        self.name
   46     46   
    }
   47     47   
   48     48   
    pub(crate) fn dns_suffix(&self) -> &str {
   49     49   
        self.dns_suffix
   50     50   
    }
   51     51   
   52     52   
    pub(crate) fn supports_fips(&self) -> bool {
   53     53   
        self.supports_fips

tmp-codegen-diff/aws-sdk/sdk/ecs/src/lens.rs

@@ -65,65 +180,153 @@
   85     85   
    let input = match &input.next_token {
   86     86   
        ::std::option::Option::None => return ::std::option::Option::None,
   87     87   
        ::std::option::Option::Some(t) => t,
   88     88   
    };
   89     89   
    ::std::option::Option::Some(input)
   90     90   
}
   91     91   
   92     92   
pub(crate) fn lens_list_account_settings_output_output_settings(
   93     93   
    input: crate::operation::list_account_settings::ListAccountSettingsOutput,
   94     94   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Setting>> {
   95         -
    let input = match input.settings {
   96         -
        ::std::option::Option::None => return ::std::option::Option::None,
   97         -
        ::std::option::Option::Some(t) => t,
   98         -
    };
          95  +
    let input = input.settings?;
   99     96   
    ::std::option::Option::Some(input)
  100     97   
}
  101     98   
  102     99   
pub(crate) fn lens_list_attributes_output_output_attributes(
  103    100   
    input: crate::operation::list_attributes::ListAttributesOutput,
  104    101   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Attribute>> {
  105         -
    let input = match input.attributes {
  106         -
        ::std::option::Option::None => return ::std::option::Option::None,
  107         -
        ::std::option::Option::Some(t) => t,
  108         -
    };
         102  +
    let input = input.attributes?;
  109    103   
    ::std::option::Option::Some(input)
  110    104   
}
  111    105   
  112    106   
pub(crate) fn lens_list_clusters_output_output_cluster_arns(
  113    107   
    input: crate::operation::list_clusters::ListClustersOutput,
  114    108   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  115         -
    let input = match input.cluster_arns {
  116         -
        ::std::option::Option::None => return ::std::option::Option::None,
  117         -
        ::std::option::Option::Some(t) => t,
  118         -
    };
         109  +
    let input = input.cluster_arns?;
  119    110   
    ::std::option::Option::Some(input)
  120    111   
}
  121    112   
  122    113   
pub(crate) fn lens_list_container_instances_output_output_container_instance_arns(
  123    114   
    input: crate::operation::list_container_instances::ListContainerInstancesOutput,
  124    115   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  125         -
    let input = match input.container_instance_arns {
  126         -
        ::std::option::Option::None => return ::std::option::Option::None,
  127         -
        ::std::option::Option::Some(t) => t,
  128         -
    };
         116  +
    let input = input.container_instance_arns?;
  129    117   
    ::std::option::Option::Some(input)
  130    118   
}
  131    119   
  132    120   
pub(crate) fn lens_list_services_output_output_service_arns(
  133    121   
    input: crate::operation::list_services::ListServicesOutput,
  134    122   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  135         -
    let input = match input.service_arns {
  136         -
        ::std::option::Option::None => return ::std::option::Option::None,
  137         -
        ::std::option::Option::Some(t) => t,
  138         -
    };
         123  +
    let input = input.service_arns?;
  139    124   
    ::std::option::Option::Some(input)
  140    125   
}
  141    126   
  142    127   
pub(crate) fn lens_list_services_by_namespace_output_output_service_arns(
  143    128   
    input: crate::operation::list_services_by_namespace::ListServicesByNamespaceOutput,
  144    129   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  145         -
    let input = match input.service_arns {
  146         -
        ::std::option::Option::None => return ::std::option::Option::None,
  147         -
        ::std::option::Option::Some(t) => t,
  148         -
    };
         130  +
    let input = input.service_arns?;
  149    131   
    ::std::option::Option::Some(input)
  150    132   
}
  151    133   
  152    134   
pub(crate) fn lens_list_task_definition_families_output_output_families(
  153    135   
    input: crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesOutput,
  154    136   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  155         -
    let input = match input.families {
  156         -
        ::std::option::Option::None => return ::std::option::Option::None,
  157         -
        ::std::option::Option::Some(t) => t,
  158         -
    };
         137  +
    let input = input.families?;
  159    138   
    ::std::option::Option::Some(input)
  160    139   
}
  161    140   
  162    141   
pub(crate) fn lens_list_task_definitions_output_output_task_definition_arns(
  163    142   
    input: crate::operation::list_task_definitions::ListTaskDefinitionsOutput,
  164    143   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  165         -
    let input = match input.task_definition_arns {
  166         -
        ::std::option::Option::None => return ::std::option::Option::None,
  167         -
        ::std::option::Option::Some(t) => t,
  168         -
    };
         144  +
    let input = input.task_definition_arns?;
  169    145   
    ::std::option::Option::Some(input)
  170    146   
}
  171    147   
  172    148   
pub(crate) fn lens_list_tasks_output_output_task_arns(
  173    149   
    input: crate::operation::list_tasks::ListTasksOutput,
  174    150   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  175         -
    let input = match input.task_arns {
  176         -
        ::std::option::Option::None => return ::std::option::Option::None,
  177         -
        ::std::option::Option::Some(t) => t,
  178         -
    };
         151  +
    let input = input.task_arns?;
  179    152   
    ::std::option::Option::Some(input)
  180    153   
}

tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml

@@ -1,1 +154,154 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-glacier"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon Glacier"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23         -
version = "1.5.7"
          23  +
version = "1.5.8"
   24     24   
   25     25   
[dependencies.aws-sigv4]
   26     26   
path = "../aws-sigv4"
   27         -
version = "1.3.2"
          27  +
version = "1.3.3"
   28     28   
   29     29   
[dependencies.aws-smithy-async]
   30     30   
path = "../aws-smithy-async"
   31     31   
version = "1.2.5"
   32     32   
   33     33   
[dependencies.aws-smithy-http]
   34     34   
path = "../aws-smithy-http"
   35     35   
version = "0.62.1"
   36     36   
   37     37   
[dependencies.aws-smithy-json]
   38     38   
path = "../aws-smithy-json"
   39         -
version = "0.61.3"
          39  +
version = "0.61.4"
   40     40   
   41     41   
[dependencies.aws-smithy-runtime]
   42     42   
path = "../aws-smithy-runtime"
   43     43   
features = ["client"]
   44     44   
version = "1.8.3"
   45     45   
   46     46   
[dependencies.aws-smithy-runtime-api]
   47     47   
path = "../aws-smithy-runtime-api"
   48     48   
features = ["client", "http-02x"]
   49         -
version = "1.8.0"
          49  +
version = "1.8.1"
   50     50   
   51     51   
[dependencies.aws-smithy-types]
   52     52   
path = "../aws-smithy-types"
   53         -
version = "1.3.1"
          53  +
version = "1.3.2"
   54     54   
   55     55   
[dependencies.aws-types]
   56     56   
path = "../aws-types"
   57     57   
version = "1.3.7"
   58     58   
   59     59   
[dependencies.bytes]
   60     60   
version = "1.4.0"
   61     61   
   62     62   
[dependencies.fastrand]
   63     63   
version = "2.0.0"
   64     64   
   65     65   
[dependencies.hex]
   66     66   
version = "0.4.3"
   67     67   
   68     68   
[dependencies.http]
   69     69   
version = "0.2.9"
   70     70   
   71     71   
[dependencies.http-1x]
   72     72   
version = "1"
   73     73   
package = "http"
   74     74   
   75     75   
[dependencies.regex-lite]
   76     76   
version = "0.1.5"
   77     77   
   78     78   
[dependencies.ring]
   79     79   
version = "0.17.5"
   80     80   
   81     81   
[dependencies.tracing]
   82     82   
version = "0.1"
   83     83   
[dev-dependencies.aws-config]
   84     84   
path = "../aws-config"
   85         -
version = "1.6.3"
          85  +
version = "1.6.4"
   86     86   
   87     87   
[dev-dependencies.aws-credential-types]
   88     88   
path = "../aws-credential-types"
   89     89   
features = ["test-util"]
   90     90   
version = "1.2.3"
   91     91   
   92     92   
[dev-dependencies.aws-runtime]
   93     93   
path = "../aws-runtime"
   94     94   
features = ["test-util"]
   95         -
version = "1.5.7"
          95  +
version = "1.5.8"
   96     96   
   97     97   
[dev-dependencies.aws-smithy-async]
   98     98   
path = "../aws-smithy-async"
   99     99   
features = ["test-util"]
  100    100   
version = "1.2.5"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-http-client]
  103    103   
path = "../aws-smithy-http-client"
  104    104   
features = ["test-util", "wire-mock"]
  105         -
version = "1.0.3"
         105  +
version = "1.0.5"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-protocol-test]
  108    108   
path = "../aws-smithy-protocol-test"
  109         -
version = "0.63.2"
         109  +
version = "0.63.4"
  110    110   
  111    111   
[dev-dependencies.aws-smithy-runtime]
  112    112   
path = "../aws-smithy-runtime"
  113    113   
features = ["test-util"]
  114    114   
version = "1.8.3"
  115    115   
  116    116   
[dev-dependencies.aws-smithy-runtime-api]
  117    117   
path = "../aws-smithy-runtime-api"
  118    118   
features = ["test-util"]
  119         -
version = "1.8.0"
         119  +
version = "1.8.1"
  120    120   
  121    121   
[dev-dependencies.aws-smithy-types]
  122    122   
path = "../aws-smithy-types"
  123    123   
features = ["test-util"]
  124         -
version = "1.3.1"
         124  +
version = "1.3.2"
  125    125   
  126    126   
[dev-dependencies.futures-util]
  127    127   
version = "0.3.25"
  128    128   
features = ["alloc"]
  129    129   
default-features = false
  130    130   
  131    131   
[dev-dependencies.pretty_assertions]
  132    132   
version = "1.3.0"
  133    133   
  134    134   
[dev-dependencies.serde_json]

tmp-codegen-diff/aws-sdk/sdk/glacier/src/config.rs

@@ -235,235 +329,330 @@
  255    255   
    /// let config = builder.build();
  256    256   
    /// # }
  257    257   
    /// # }
  258    258   
    /// ```
  259    259   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  260    260   
        self.runtime_components.set_http_client(http_client);
  261    261   
        self
  262    262   
    }
  263    263   
    /// Sets the endpoint resolver to use when making requests.
  264    264   
    ///
  265         -
         265  +
    ///
  266    266   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  267    267   
    /// rules for `aws_sdk_glacier`.
  268         -
         268  +
    ///
  269    269   
    ///
  270    270   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  271    271   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  272    272   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  273    273   
    ///
  274    274   
    /// # Examples
  275    275   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  276    276   
    /// ```no_run
  277    277   
    /// use aws_sdk_glacier::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  278    278   
    /// #[derive(Debug)]
  279    279   
    /// struct StageResolver { stage: String }
  280    280   
    /// impl ResolveEndpoint for StageResolver {
  281    281   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  282    282   
    ///         let stage = &self.stage;
  283    283   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  284    284   
    ///     }
  285    285   
    /// }
  286    286   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  287    287   
    /// let config = aws_sdk_glacier::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
  289    289   
    /// ```
  290    290   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  291    291   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  292    292   
        self
  293    293   
    }
  294    294   
  295    295   
    /// Sets the endpoint resolver to use when making requests.
  296    296   
    ///
  297         -
         297  +
    ///
  298    298   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  299    299   
    /// rules for `aws_sdk_glacier`.
         300  +
    ///
  300    301   
    pub fn set_endpoint_resolver(
  301    302   
        &mut self,
  302    303   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  303    304   
    ) -> &mut Self {
  304    305   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  305    306   
        self
  306    307   
    }
  307    308   
    /// Set the retry_config for the builder
  308    309   
    ///
  309    310   
    /// # Examples
@@ -475,476 +581,582 @@
  495    496   
    ///     .identity_cache(
  496    497   
    ///         IdentityCache::lazy()
  497    498   
    ///             // change the load timeout to 10 seconds
  498    499   
    ///             .load_timeout(Duration::from_secs(10))
  499    500   
    ///             .build()
  500    501   
    ///     )
  501    502   
    ///     // ...
  502    503   
    ///     .build();
  503    504   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
  504    505   
    /// ```
  505         -
         506  +
    ///
  506    507   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  507    508   
        self.set_identity_cache(identity_cache);
  508    509   
        self
  509    510   
    }
  510    511   
  511    512   
    /// Set the identity cache for auth.
  512    513   
    ///
  513    514   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  514    515   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  515    516   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  516    517   
    /// the next request will result in refreshing the identity.
  517    518   
    ///
  518    519   
    /// This configuration allows you to disable or change the default caching mechanism.
  519    520   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  520    521   
    /// trait and pass that implementation into this function.
  521    522   
    ///
  522    523   
    /// # Examples
  523    524   
    ///
  524    525   
    /// Disabling identity caching:
  525    526   
    /// ```no_run
  526    527   
    /// use aws_sdk_glacier::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_glacier::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_glacier::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_glacier::Config::builder()
  541    542   
    ///     .identity_cache(
  542    543   
    ///         IdentityCache::lazy()
  543    544   
    ///             // change the load timeout to 10 seconds
  544    545   
    ///             .load_timeout(Duration::from_secs(10))
  545    546   
    ///             .build()
  546    547   
    ///     )
  547    548   
    ///     // ...
  548    549   
    ///     .build();
  549    550   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
  550    551   
    /// ```
  551         -
         552  +
    ///
  552    553   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  553    554   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  554    555   
        self
  555    556   
    }
  556    557   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  557    558   
    ///
  558    559   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  559    560   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  560    561   
    /// will run after those default interceptors.
  561    562   
    ///
@@ -975,976 +1070,1071 @@
  995    996   
    /// Customizing behavior major version:
  996    997   
    /// ```no_run
  997    998   
    /// use aws_sdk_glacier::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_glacier::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
 1004   1005   
    /// ```
 1005         -
        1006  +
    ///
 1006   1007   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1007   1008   
        self.set_behavior_version(Some(behavior_version));
 1008   1009   
        self
 1009   1010   
    }
 1010   1011   
 1011   1012   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1012   1013   
    ///
 1013   1014   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1014   1015   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1015   1016   
    /// all operations might be the ideal behavior but could break existing applications.
 1016   1017   
    ///
 1017   1018   
    /// # Examples
 1018   1019   
    ///
 1019   1020   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1020   1021   
    /// ```no_run
 1021   1022   
    /// use aws_sdk_glacier::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_glacier::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_glacier::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_glacier::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
 1039   1040   
    /// ```
 1040         -
        1041  +
    ///
 1041   1042   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1042   1043   
        self.behavior_version = behavior_version;
 1043   1044   
        self
 1044   1045   
    }
 1045   1046   
 1046   1047   
    /// Convenience method to set the latest behavior major version
 1047   1048   
    ///
 1048   1049   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1049   1050   
    pub fn behavior_version_latest(mut self) -> Self {
 1050   1051   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1132,1133 +1192,1193 @@
 1152   1153   
    }
 1153   1154   
 1154   1155   
    fn runtime_components(
 1155   1156   
        &self,
 1156   1157   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1157   1158   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1158   1159   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1159   1160   
    }
 1160   1161   
}
 1161   1162   
 1162         -
/// Cross-operation shared-state singletons
        1163  +
// Cross-operation shared-state singletons
 1163   1164   
 1164   1165   
/// A plugin that enables configuration for a single operation invocation
 1165   1166   
///
 1166   1167   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1167   1168   
/// In the case of default values requested, they will be obtained from `client_config`.
 1168   1169   
#[derive(Debug)]
 1169   1170   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1170   1171   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1171   1172   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1172   1173   
}

tmp-codegen-diff/aws-sdk/sdk/glacier/src/endpoint_lib/partition.rs

@@ -13,13 +73,73 @@
   33     33   
pub(crate) struct Partition<'a> {
   34     34   
    name: &'a str,
   35     35   
    dns_suffix: &'a str,
   36     36   
    dual_stack_dns_suffix: &'a str,
   37     37   
    supports_fips: bool,
   38     38   
    supports_dual_stack: bool,
   39     39   
    implicit_global_region: &'a str,
   40     40   
}
   41     41   
   42     42   
#[allow(unused)]
   43         -
impl<'a> Partition<'a> {
          43  +
impl Partition<'_> {
   44     44   
    pub(crate) fn name(&self) -> &str {
   45     45   
        self.name
   46     46   
    }
   47     47   
   48     48   
    pub(crate) fn dns_suffix(&self) -> &str {
   49     49   
        self.dns_suffix
   50     50   
    }
   51     51   
   52     52   
    pub(crate) fn supports_fips(&self) -> bool {
   53     53   
        self.supports_fips

tmp-codegen-diff/aws-sdk/sdk/glacier/src/lens.rs

@@ -15,15 +80,68 @@
   35     35   
    let input = match &input.marker {
   36     36   
        ::std::option::Option::None => return ::std::option::Option::None,
   37     37   
        ::std::option::Option::Some(t) => t,
   38     38   
    };
   39     39   
    ::std::option::Option::Some(input)
   40     40   
}
   41     41   
   42     42   
pub(crate) fn lens_list_jobs_output_output_job_list(
   43     43   
    input: crate::operation::list_jobs::ListJobsOutput,
   44     44   
) -> ::std::option::Option<::std::vec::Vec<crate::types::GlacierJobDescription>> {
   45         -
    let input = match input.job_list {
   46         -
        ::std::option::Option::None => return ::std::option::Option::None,
   47         -
        ::std::option::Option::Some(t) => t,
   48         -
    };
          45  +
    let input = input.job_list?;
   49     46   
    ::std::option::Option::Some(input)
   50     47   
}
   51     48   
   52     49   
pub(crate) fn lens_list_multipart_uploads_output_output_uploads_list(
   53     50   
    input: crate::operation::list_multipart_uploads::ListMultipartUploadsOutput,
   54     51   
) -> ::std::option::Option<::std::vec::Vec<crate::types::UploadListElement>> {
   55         -
    let input = match input.uploads_list {
   56         -
        ::std::option::Option::None => return ::std::option::Option::None,
   57         -
        ::std::option::Option::Some(t) => t,
   58         -
    };
          52  +
    let input = input.uploads_list?;
   59     53   
    ::std::option::Option::Some(input)
   60     54   
}
   61     55   
   62     56   
pub(crate) fn lens_list_parts_output_output_parts(
   63     57   
    input: crate::operation::list_parts::ListPartsOutput,
   64     58   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PartListElement>> {
   65         -
    let input = match input.parts {
   66         -
        ::std::option::Option::None => return ::std::option::Option::None,
   67         -
        ::std::option::Option::Some(t) => t,
   68         -
    };
          59  +
    let input = input.parts?;
   69     60   
    ::std::option::Option::Some(input)
   70     61   
}
   71     62   
   72     63   
pub(crate) fn lens_list_vaults_output_output_vault_list(
   73     64   
    input: crate::operation::list_vaults::ListVaultsOutput,
   74     65   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DescribeVaultOutput>> {
   75         -
    let input = match input.vault_list {
   76         -
        ::std::option::Option::None => return ::std::option::Option::None,
   77         -
        ::std::option::Option::Some(t) => t,
   78         -
    };
          66  +
    let input = input.vault_list?;
   79     67   
    ::std::option::Option::Some(input)
   80     68   
}

tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml

@@ -1,1 +144,144 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-iam"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for AWS Identity and Access Management"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23         -
version = "1.5.7"
          23  +
version = "1.5.8"
   24     24   
   25     25   
[dependencies.aws-smithy-async]
   26     26   
path = "../aws-smithy-async"
   27     27   
version = "1.2.5"
   28     28   
   29     29   
[dependencies.aws-smithy-http]
   30     30   
path = "../aws-smithy-http"
   31     31   
version = "0.62.1"
   32     32   
   33     33   
[dependencies.aws-smithy-json]
   34     34   
path = "../aws-smithy-json"
   35         -
version = "0.61.3"
          35  +
version = "0.61.4"
   36     36   
   37     37   
[dependencies.aws-smithy-query]
   38     38   
path = "../aws-smithy-query"
   39     39   
version = "0.60.7"
   40     40   
   41     41   
[dependencies.aws-smithy-runtime]
   42     42   
path = "../aws-smithy-runtime"
   43     43   
features = ["client"]
   44     44   
version = "1.8.3"
   45     45   
   46     46   
[dependencies.aws-smithy-runtime-api]
   47     47   
path = "../aws-smithy-runtime-api"
   48     48   
features = ["client", "http-02x"]
   49         -
version = "1.8.0"
          49  +
version = "1.8.1"
   50     50   
   51     51   
[dependencies.aws-smithy-types]
   52     52   
path = "../aws-smithy-types"
   53         -
version = "1.3.1"
          53  +
version = "1.3.2"
   54     54   
   55     55   
[dependencies.aws-smithy-xml]
   56     56   
path = "../aws-smithy-xml"
   57         -
version = "0.60.9"
          57  +
version = "0.60.10"
   58     58   
   59     59   
[dependencies.aws-types]
   60     60   
path = "../aws-types"
   61     61   
version = "1.3.7"
   62     62   
   63     63   
[dependencies.fastrand]
   64     64   
version = "2.0.0"
   65     65   
   66     66   
[dependencies.http]
   67     67   
version = "0.2.9"
   68     68   
   69     69   
[dependencies.regex-lite]
   70     70   
version = "0.1.5"
   71     71   
   72     72   
[dependencies.tracing]
   73     73   
version = "0.1"
   74     74   
[dev-dependencies.aws-config]
   75     75   
path = "../aws-config"
   76         -
version = "1.6.3"
          76  +
version = "1.6.4"
   77     77   
   78     78   
[dev-dependencies.aws-credential-types]
   79     79   
path = "../aws-credential-types"
   80     80   
features = ["test-util"]
   81     81   
version = "1.2.3"
   82     82   
   83     83   
[dev-dependencies.aws-runtime]
   84     84   
path = "../aws-runtime"
   85     85   
features = ["test-util"]
   86         -
version = "1.5.7"
          86  +
version = "1.5.8"
   87     87   
   88     88   
[dev-dependencies.aws-smithy-async]
   89     89   
path = "../aws-smithy-async"
   90     90   
features = ["test-util"]
   91     91   
version = "1.2.5"
   92     92   
   93     93   
[dev-dependencies.aws-smithy-http-client]
   94     94   
path = "../aws-smithy-http-client"
   95     95   
features = ["test-util", "wire-mock"]
   96         -
version = "1.0.3"
          96  +
version = "1.0.5"
   97     97   
   98     98   
[dev-dependencies.aws-smithy-protocol-test]
   99     99   
path = "../aws-smithy-protocol-test"
  100         -
version = "0.63.2"
         100  +
version = "0.63.4"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-runtime]
  103    103   
path = "../aws-smithy-runtime"
  104    104   
features = ["test-util"]
  105    105   
version = "1.8.3"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-runtime-api]
  108    108   
path = "../aws-smithy-runtime-api"
  109    109   
features = ["test-util"]
  110         -
version = "1.8.0"
         110  +
version = "1.8.1"
  111    111   
  112    112   
[dev-dependencies.aws-smithy-types]
  113    113   
path = "../aws-smithy-types"
  114    114   
features = ["test-util"]
  115         -
version = "1.3.1"
         115  +
version = "1.3.2"
  116    116   
  117    117   
[dev-dependencies.futures-util]
  118    118   
version = "0.3.25"
  119    119   
features = ["alloc"]
  120    120   
default-features = false
  121    121   
  122    122   
[dev-dependencies.http-1x]
  123    123   
version = "1"
  124    124   
package = "http"
  125    125   

tmp-codegen-diff/aws-sdk/sdk/iam/src/config.rs

@@ -235,235 +329,330 @@
  255    255   
    /// let config = builder.build();
  256    256   
    /// # }
  257    257   
    /// # }
  258    258   
    /// ```
  259    259   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  260    260   
        self.runtime_components.set_http_client(http_client);
  261    261   
        self
  262    262   
    }
  263    263   
    /// Sets the endpoint resolver to use when making requests.
  264    264   
    ///
  265         -
         265  +
    ///
  266    266   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  267    267   
    /// rules for `aws_sdk_iam`.
  268         -
         268  +
    ///
  269    269   
    ///
  270    270   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  271    271   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  272    272   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  273    273   
    ///
  274    274   
    /// # Examples
  275    275   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  276    276   
    /// ```no_run
  277    277   
    /// use aws_sdk_iam::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  278    278   
    /// #[derive(Debug)]
  279    279   
    /// struct StageResolver { stage: String }
  280    280   
    /// impl ResolveEndpoint for StageResolver {
  281    281   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  282    282   
    ///         let stage = &self.stage;
  283    283   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  284    284   
    ///     }
  285    285   
    /// }
  286    286   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  287    287   
    /// let config = aws_sdk_iam::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_iam::Client::from_conf(config);
  289    289   
    /// ```
  290    290   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  291    291   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  292    292   
        self
  293    293   
    }
  294    294   
  295    295   
    /// Sets the endpoint resolver to use when making requests.
  296    296   
    ///
  297         -
         297  +
    ///
  298    298   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  299    299   
    /// rules for `aws_sdk_iam`.
         300  +
    ///
  300    301   
    pub fn set_endpoint_resolver(
  301    302   
        &mut self,
  302    303   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  303    304   
    ) -> &mut Self {
  304    305   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  305    306   
        self
  306    307   
    }
  307    308   
    /// Set the retry_config for the builder
  308    309   
    ///
  309    310   
    /// # Examples
@@ -475,476 +581,582 @@
  495    496   
    ///     .identity_cache(
  496    497   
    ///         IdentityCache::lazy()
  497    498   
    ///             // change the load timeout to 10 seconds
  498    499   
    ///             .load_timeout(Duration::from_secs(10))
  499    500   
    ///             .build()
  500    501   
    ///     )
  501    502   
    ///     // ...
  502    503   
    ///     .build();
  503    504   
    /// let client = aws_sdk_iam::Client::from_conf(config);
  504    505   
    /// ```
  505         -
         506  +
    ///
  506    507   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  507    508   
        self.set_identity_cache(identity_cache);
  508    509   
        self
  509    510   
    }
  510    511   
  511    512   
    /// Set the identity cache for auth.
  512    513   
    ///
  513    514   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  514    515   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  515    516   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  516    517   
    /// the next request will result in refreshing the identity.
  517    518   
    ///
  518    519   
    /// This configuration allows you to disable or change the default caching mechanism.
  519    520   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  520    521   
    /// trait and pass that implementation into this function.
  521    522   
    ///
  522    523   
    /// # Examples
  523    524   
    ///
  524    525   
    /// Disabling identity caching:
  525    526   
    /// ```no_run
  526    527   
    /// use aws_sdk_iam::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_iam::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_iam::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_iam::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_iam::Config::builder()
  541    542   
    ///     .identity_cache(
  542    543   
    ///         IdentityCache::lazy()
  543    544   
    ///             // change the load timeout to 10 seconds
  544    545   
    ///             .load_timeout(Duration::from_secs(10))
  545    546   
    ///             .build()
  546    547   
    ///     )
  547    548   
    ///     // ...
  548    549   
    ///     .build();
  549    550   
    /// let client = aws_sdk_iam::Client::from_conf(config);
  550    551   
    /// ```
  551         -
         552  +
    ///
  552    553   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  553    554   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  554    555   
        self
  555    556   
    }
  556    557   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  557    558   
    ///
  558    559   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  559    560   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  560    561   
    /// will run after those default interceptors.
  561    562   
    ///
@@ -975,976 +1070,1071 @@
  995    996   
    /// Customizing behavior major version:
  996    997   
    /// ```no_run
  997    998   
    /// use aws_sdk_iam::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_iam::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_iam::Client::from_conf(config);
 1004   1005   
    /// ```
 1005         -
        1006  +
    ///
 1006   1007   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1007   1008   
        self.set_behavior_version(Some(behavior_version));
 1008   1009   
        self
 1009   1010   
    }
 1010   1011   
 1011   1012   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1012   1013   
    ///
 1013   1014   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1014   1015   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1015   1016   
    /// all operations might be the ideal behavior but could break existing applications.
 1016   1017   
    ///
 1017   1018   
    /// # Examples
 1018   1019   
    ///
 1019   1020   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1020   1021   
    /// ```no_run
 1021   1022   
    /// use aws_sdk_iam::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_iam::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_iam::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_iam::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_iam::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_iam::Client::from_conf(config);
 1039   1040   
    /// ```
 1040         -
        1041  +
    ///
 1041   1042   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1042   1043   
        self.behavior_version = behavior_version;
 1043   1044   
        self
 1044   1045   
    }
 1045   1046   
 1046   1047   
    /// Convenience method to set the latest behavior major version
 1047   1048   
    ///
 1048   1049   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1049   1050   
    pub fn behavior_version_latest(mut self) -> Self {
 1050   1051   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1131,1132 +1191,1192 @@
 1151   1152   
    }
 1152   1153   
 1153   1154   
    fn runtime_components(
 1154   1155   
        &self,
 1155   1156   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1156   1157   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1157   1158   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1158   1159   
    }
 1159   1160   
}
 1160   1161   
 1161         -
/// Cross-operation shared-state singletons
        1162  +
// Cross-operation shared-state singletons
 1162   1163   
 1163   1164   
/// A plugin that enables configuration for a single operation invocation
 1164   1165   
///
 1165   1166   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1166   1167   
/// In the case of default values requested, they will be obtained from `client_config`.
 1167   1168   
#[derive(Debug)]
 1168   1169   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1169   1170   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1170   1171   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1171   1172   
}

tmp-codegen-diff/aws-sdk/sdk/iam/src/endpoint_lib/partition.rs

@@ -13,13 +73,73 @@
   33     33   
pub(crate) struct Partition<'a> {
   34     34   
    name: &'a str,
   35     35   
    dns_suffix: &'a str,
   36     36   
    dual_stack_dns_suffix: &'a str,
   37     37   
    supports_fips: bool,
   38     38   
    supports_dual_stack: bool,
   39     39   
    implicit_global_region: &'a str,
   40     40   
}
   41     41   
   42     42   
#[allow(unused)]
   43         -
impl<'a> Partition<'a> {
          43  +
impl Partition<'_> {
   44     44   
    pub(crate) fn name(&self) -> &str {
   45     45   
        self.name
   46     46   
    }
   47     47   
   48     48   
    pub(crate) fn dns_suffix(&self) -> &str {
   49     49   
        self.dns_suffix
   50     50   
    }
   51     51   
   52     52   
    pub(crate) fn supports_fips(&self) -> bool {
   53     53   
        self.supports_fips

tmp-codegen-diff/aws-sdk/sdk/iam/src/lens.rs

@@ -336,336 +419,410 @@
  356    356   
pub(crate) fn lens_list_account_aliases_output_output_account_aliases(
  357    357   
    input: crate::operation::list_account_aliases::ListAccountAliasesOutput,
  358    358   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  359    359   
    let input = input.account_aliases;
  360    360   
    ::std::option::Option::Some(input)
  361    361   
}
  362    362   
  363    363   
pub(crate) fn lens_list_attached_group_policies_output_output_attached_policies(
  364    364   
    input: crate::operation::list_attached_group_policies::ListAttachedGroupPoliciesOutput,
  365    365   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AttachedPolicy>> {
  366         -
    let input = match input.attached_policies {
  367         -
        ::std::option::Option::None => return ::std::option::Option::None,
  368         -
        ::std::option::Option::Some(t) => t,
  369         -
    };
         366  +
    let input = input.attached_policies?;
  370    367   
    ::std::option::Option::Some(input)
  371    368   
}
  372    369   
  373    370   
pub(crate) fn lens_list_attached_role_policies_output_output_attached_policies(
  374    371   
    input: crate::operation::list_attached_role_policies::ListAttachedRolePoliciesOutput,
  375    372   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AttachedPolicy>> {
  376         -
    let input = match input.attached_policies {
  377         -
        ::std::option::Option::None => return ::std::option::Option::None,
  378         -
        ::std::option::Option::Some(t) => t,
  379         -
    };
         373  +
    let input = input.attached_policies?;
  380    374   
    ::std::option::Option::Some(input)
  381    375   
}
  382    376   
  383    377   
pub(crate) fn lens_list_attached_user_policies_output_output_attached_policies(
  384    378   
    input: crate::operation::list_attached_user_policies::ListAttachedUserPoliciesOutput,
  385    379   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AttachedPolicy>> {
  386         -
    let input = match input.attached_policies {
  387         -
        ::std::option::Option::None => return ::std::option::Option::None,
  388         -
        ::std::option::Option::Some(t) => t,
  389         -
    };
         380  +
    let input = input.attached_policies?;
  390    381   
    ::std::option::Option::Some(input)
  391    382   
}
  392    383   
  393    384   
pub(crate) fn lens_list_group_policies_output_output_policy_names(
  394    385   
    input: crate::operation::list_group_policies::ListGroupPoliciesOutput,
  395    386   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  396    387   
    let input = input.policy_names;
  397    388   
    ::std::option::Option::Some(input)
  398    389   
}
  399    390   
@@ -429,420 +588,564 @@
  449    440   
pub(crate) fn lens_list_open_id_connect_provider_tags_output_output_tags(
  450    441   
    input: crate::operation::list_open_id_connect_provider_tags::ListOpenIdConnectProviderTagsOutput,
  451    442   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  452    443   
    let input = input.tags;
  453    444   
    ::std::option::Option::Some(input)
  454    445   
}
  455    446   
  456    447   
pub(crate) fn lens_list_policies_output_output_policies(
  457    448   
    input: crate::operation::list_policies::ListPoliciesOutput,
  458    449   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Policy>> {
  459         -
    let input = match input.policies {
  460         -
        ::std::option::Option::None => return ::std::option::Option::None,
  461         -
        ::std::option::Option::Some(t) => t,
  462         -
    };
         450  +
    let input = input.policies?;
  463    451   
    ::std::option::Option::Some(input)
  464    452   
}
  465    453   
  466    454   
pub(crate) fn lens_list_policy_tags_output_output_tags(
  467    455   
    input: crate::operation::list_policy_tags::ListPolicyTagsOutput,
  468    456   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  469    457   
    let input = input.tags;
  470    458   
    ::std::option::Option::Some(input)
  471    459   
}
  472    460   
  473    461   
pub(crate) fn lens_list_policy_versions_output_output_versions(
  474    462   
    input: crate::operation::list_policy_versions::ListPolicyVersionsOutput,
  475    463   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PolicyVersion>> {
  476         -
    let input = match input.versions {
  477         -
        ::std::option::Option::None => return ::std::option::Option::None,
  478         -
        ::std::option::Option::Some(t) => t,
  479         -
    };
         464  +
    let input = input.versions?;
  480    465   
    ::std::option::Option::Some(input)
  481    466   
}
  482    467   
  483    468   
pub(crate) fn lens_list_role_policies_output_output_policy_names(
  484    469   
    input: crate::operation::list_role_policies::ListRolePoliciesOutput,
  485    470   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  486    471   
    let input = input.policy_names;
  487    472   
    ::std::option::Option::Some(input)
  488    473   
}
  489    474   
  490    475   
pub(crate) fn lens_list_role_tags_output_output_tags(
  491    476   
    input: crate::operation::list_role_tags::ListRoleTagsOutput,
  492    477   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  493    478   
    let input = input.tags;
  494    479   
    ::std::option::Option::Some(input)
  495    480   
}
  496    481   
  497    482   
pub(crate) fn lens_list_roles_output_output_roles(
  498    483   
    input: crate::operation::list_roles::ListRolesOutput,
  499    484   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Role>> {
  500    485   
    let input = input.roles;
  501    486   
    ::std::option::Option::Some(input)
  502    487   
}
  503    488   
  504    489   
pub(crate) fn lens_list_saml_provider_tags_output_output_tags(
  505    490   
    input: crate::operation::list_saml_provider_tags::ListSamlProviderTagsOutput,
  506    491   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  507    492   
    let input = input.tags;
  508    493   
    ::std::option::Option::Some(input)
  509    494   
}
  510    495   
  511    496   
pub(crate) fn lens_list_server_certificate_tags_output_output_tags(
  512    497   
    input: crate::operation::list_server_certificate_tags::ListServerCertificateTagsOutput,
  513    498   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  514    499   
    let input = input.tags;
  515    500   
    ::std::option::Option::Some(input)
  516    501   
}
  517    502   
  518    503   
pub(crate) fn lens_list_server_certificates_output_output_server_certificate_metadata_list(
  519    504   
    input: crate::operation::list_server_certificates::ListServerCertificatesOutput,
  520    505   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ServerCertificateMetadata>> {
  521    506   
    let input = input.server_certificate_metadata_list;
  522    507   
    ::std::option::Option::Some(input)
  523    508   
}
  524    509   
  525    510   
pub(crate) fn lens_list_signing_certificates_output_output_certificates(
  526    511   
    input: crate::operation::list_signing_certificates::ListSigningCertificatesOutput,
  527    512   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SigningCertificate>> {
  528    513   
    let input = input.certificates;
  529    514   
    ::std::option::Option::Some(input)
  530    515   
}
  531    516   
  532    517   
pub(crate) fn lens_list_ssh_public_keys_output_output_ssh_public_keys(
  533    518   
    input: crate::operation::list_ssh_public_keys::ListSshPublicKeysOutput,
  534    519   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SshPublicKeyMetadata>> {
  535         -
    let input = match input.ssh_public_keys {
  536         -
        ::std::option::Option::None => return ::std::option::Option::None,
  537         -
        ::std::option::Option::Some(t) => t,
  538         -
    };
         520  +
    let input = input.ssh_public_keys?;
  539    521   
    ::std::option::Option::Some(input)
  540    522   
}
  541    523   
  542    524   
pub(crate) fn lens_list_user_policies_output_output_policy_names(
  543    525   
    input: crate::operation::list_user_policies::ListUserPoliciesOutput,
  544    526   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  545    527   
    let input = input.policy_names;
  546    528   
    ::std::option::Option::Some(input)
  547    529   
}
  548    530   
  549    531   
pub(crate) fn lens_list_user_tags_output_output_tags(
  550    532   
    input: crate::operation::list_user_tags::ListUserTagsOutput,
  551    533   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  552    534   
    let input = input.tags;
  553    535   
    ::std::option::Option::Some(input)
  554    536   
}
  555    537   
  556    538   
pub(crate) fn lens_list_users_output_output_users(
  557    539   
    input: crate::operation::list_users::ListUsersOutput,
  558    540   
) -> ::std::option::Option<::std::vec::Vec<crate::types::User>> {
  559    541   
    let input = input.users;
  560    542   
    ::std::option::Option::Some(input)
  561    543   
}
  562    544   
  563    545   
pub(crate) fn lens_list_virtual_mfa_devices_output_output_virtual_mfa_devices(
  564    546   
    input: crate::operation::list_virtual_mfa_devices::ListVirtualMfaDevicesOutput,
  565    547   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VirtualMfaDevice>> {
  566    548   
    let input = input.virtual_mfa_devices;
  567    549   
    ::std::option::Option::Some(input)
  568    550   
}
  569    551   
  570    552   
pub(crate) fn lens_simulate_custom_policy_output_output_evaluation_results(
  571    553   
    input: crate::operation::simulate_custom_policy::SimulateCustomPolicyOutput,
  572    554   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EvaluationResult>> {
  573         -
    let input = match input.evaluation_results {
  574         -
        ::std::option::Option::None => return ::std::option::Option::None,
  575         -
        ::std::option::Option::Some(t) => t,
  576         -
    };
         555  +
    let input = input.evaluation_results?;
  577    556   
    ::std::option::Option::Some(input)
  578    557   
}
  579    558   
  580    559   
pub(crate) fn lens_simulate_principal_policy_output_output_evaluation_results(
  581    560   
    input: crate::operation::simulate_principal_policy::SimulatePrincipalPolicyOutput,
  582    561   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EvaluationResult>> {
  583         -
    let input = match input.evaluation_results {
  584         -
        ::std::option::Option::None => return ::std::option::Option::None,
  585         -
        ::std::option::Option::Some(t) => t,
  586         -
    };
         562  +
    let input = input.evaluation_results?;
  587    563   
    ::std::option::Option::Some(input)
  588    564   
}

tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml

@@ -1,1 +139,139 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-kms"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for AWS Key Management Service"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23         -
version = "1.5.7"
          23  +
version = "1.5.8"
   24     24   
   25     25   
[dependencies.aws-smithy-async]
   26     26   
path = "../aws-smithy-async"
   27     27   
version = "1.2.5"
   28     28   
   29     29   
[dependencies.aws-smithy-http]
   30     30   
path = "../aws-smithy-http"
   31     31   
version = "0.62.1"
   32     32   
   33     33   
[dependencies.aws-smithy-json]
   34     34   
path = "../aws-smithy-json"
   35         -
version = "0.61.3"
          35  +
version = "0.61.4"
   36     36   
   37     37   
[dependencies.aws-smithy-runtime]
   38     38   
path = "../aws-smithy-runtime"
   39     39   
features = ["client"]
   40     40   
version = "1.8.3"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime-api]
   43     43   
path = "../aws-smithy-runtime-api"
   44     44   
features = ["client", "http-02x"]
   45         -
version = "1.8.0"
          45  +
version = "1.8.1"
   46     46   
   47     47   
[dependencies.aws-smithy-types]
   48     48   
path = "../aws-smithy-types"
   49         -
version = "1.3.1"
          49  +
version = "1.3.2"
   50     50   
   51     51   
[dependencies.aws-types]
   52     52   
path = "../aws-types"
   53     53   
version = "1.3.7"
   54     54   
   55     55   
[dependencies.bytes]
   56     56   
version = "1.4.0"
   57     57   
   58     58   
[dependencies.fastrand]
   59     59   
version = "2.0.0"
   60     60   
   61     61   
[dependencies.http]
   62     62   
version = "0.2.9"
   63     63   
   64     64   
[dependencies.regex-lite]
   65     65   
version = "0.1.5"
   66     66   
   67     67   
[dependencies.tracing]
   68     68   
version = "0.1"
   69     69   
[dev-dependencies.aws-config]
   70     70   
path = "../aws-config"
   71         -
version = "1.6.3"
          71  +
version = "1.6.4"
   72     72   
   73     73   
[dev-dependencies.aws-credential-types]
   74     74   
path = "../aws-credential-types"
   75     75   
features = ["test-util"]
   76     76   
version = "1.2.3"
   77     77   
   78     78   
[dev-dependencies.aws-runtime]
   79     79   
path = "../aws-runtime"
   80     80   
features = ["test-util"]
   81         -
version = "1.5.7"
          81  +
version = "1.5.8"
   82     82   
   83     83   
[dev-dependencies.aws-smithy-async]
   84     84   
path = "../aws-smithy-async"
   85     85   
features = ["test-util"]
   86     86   
version = "1.2.5"
   87     87   
   88     88   
[dev-dependencies.aws-smithy-http-client]
   89     89   
path = "../aws-smithy-http-client"
   90     90   
features = ["test-util", "wire-mock"]
   91         -
version = "1.0.3"
          91  +
version = "1.0.5"
   92     92   
   93     93   
[dev-dependencies.aws-smithy-protocol-test]
   94     94   
path = "../aws-smithy-protocol-test"
   95         -
version = "0.63.2"
          95  +
version = "0.63.4"
   96     96   
   97     97   
[dev-dependencies.aws-smithy-runtime]
   98     98   
path = "../aws-smithy-runtime"
   99     99   
features = ["test-util"]
  100    100   
version = "1.8.3"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-runtime-api]
  103    103   
path = "../aws-smithy-runtime-api"
  104    104   
features = ["test-util"]
  105         -
version = "1.8.0"
         105  +
version = "1.8.1"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-types]
  108    108   
path = "../aws-smithy-types"
  109    109   
features = ["test-util"]
  110         -
version = "1.3.1"
         110  +
version = "1.3.2"
  111    111   
  112    112   
[dev-dependencies.futures-util]
  113    113   
version = "0.3.25"
  114    114   
features = ["alloc"]
  115    115   
default-features = false
  116    116   
  117    117   
[dev-dependencies.http-1x]
  118    118   
version = "1"
  119    119   
package = "http"
  120    120   

tmp-codegen-diff/aws-sdk/sdk/kms/src/config.rs

@@ -235,235 +329,330 @@
  255    255   
    /// let config = builder.build();
  256    256   
    /// # }
  257    257   
    /// # }
  258    258   
    /// ```
  259    259   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  260    260   
        self.runtime_components.set_http_client(http_client);
  261    261   
        self
  262    262   
    }
  263    263   
    /// Sets the endpoint resolver to use when making requests.
  264    264   
    ///
  265         -
         265  +
    ///
  266    266   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  267    267   
    /// rules for `aws_sdk_kms`.
  268         -
         268  +
    ///
  269    269   
    ///
  270    270   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  271    271   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  272    272   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  273    273   
    ///
  274    274   
    /// # Examples
  275    275   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  276    276   
    /// ```no_run
  277    277   
    /// use aws_sdk_kms::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  278    278   
    /// #[derive(Debug)]
  279    279   
    /// struct StageResolver { stage: String }
  280    280   
    /// impl ResolveEndpoint for StageResolver {
  281    281   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  282    282   
    ///         let stage = &self.stage;
  283    283   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  284    284   
    ///     }
  285    285   
    /// }
  286    286   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  287    287   
    /// let config = aws_sdk_kms::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_kms::Client::from_conf(config);
  289    289   
    /// ```
  290    290   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  291    291   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  292    292   
        self
  293    293   
    }
  294    294   
  295    295   
    /// Sets the endpoint resolver to use when making requests.
  296    296   
    ///
  297         -
         297  +
    ///
  298    298   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  299    299   
    /// rules for `aws_sdk_kms`.
         300  +
    ///
  300    301   
    pub fn set_endpoint_resolver(
  301    302   
        &mut self,
  302    303   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  303    304   
    ) -> &mut Self {
  304    305   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  305    306   
        self
  306    307   
    }
  307    308   
    /// Set the retry_config for the builder
  308    309   
    ///
  309    310   
    /// # Examples
@@ -475,476 +581,582 @@
  495    496   
    ///     .identity_cache(
  496    497   
    ///         IdentityCache::lazy()
  497    498   
    ///             // change the load timeout to 10 seconds
  498    499   
    ///             .load_timeout(Duration::from_secs(10))
  499    500   
    ///             .build()
  500    501   
    ///     )
  501    502   
    ///     // ...
  502    503   
    ///     .build();
  503    504   
    /// let client = aws_sdk_kms::Client::from_conf(config);
  504    505   
    /// ```
  505         -
         506  +
    ///
  506    507   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  507    508   
        self.set_identity_cache(identity_cache);
  508    509   
        self
  509    510   
    }
  510    511   
  511    512   
    /// Set the identity cache for auth.
  512    513   
    ///
  513    514   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  514    515   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  515    516   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  516    517   
    /// the next request will result in refreshing the identity.
  517    518   
    ///
  518    519   
    /// This configuration allows you to disable or change the default caching mechanism.
  519    520   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  520    521   
    /// trait and pass that implementation into this function.
  521    522   
    ///
  522    523   
    /// # Examples
  523    524   
    ///
  524    525   
    /// Disabling identity caching:
  525    526   
    /// ```no_run
  526    527   
    /// use aws_sdk_kms::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_kms::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_kms::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_kms::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_kms::Config::builder()
  541    542   
    ///     .identity_cache(
  542    543   
    ///         IdentityCache::lazy()
  543    544   
    ///             // change the load timeout to 10 seconds
  544    545   
    ///             .load_timeout(Duration::from_secs(10))
  545    546   
    ///             .build()
  546    547   
    ///     )
  547    548   
    ///     // ...
  548    549   
    ///     .build();
  549    550   
    /// let client = aws_sdk_kms::Client::from_conf(config);
  550    551   
    /// ```
  551         -
         552  +
    ///
  552    553   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  553    554   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  554    555   
        self
  555    556   
    }
  556    557   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  557    558   
    ///
  558    559   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  559    560   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  560    561   
    /// will run after those default interceptors.
  561    562   
    ///
@@ -975,976 +1070,1071 @@
  995    996   
    /// Customizing behavior major version:
  996    997   
    /// ```no_run
  997    998   
    /// use aws_sdk_kms::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_kms::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_kms::Client::from_conf(config);
 1004   1005   
    /// ```
 1005         -
        1006  +
    ///
 1006   1007   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1007   1008   
        self.set_behavior_version(Some(behavior_version));
 1008   1009   
        self
 1009   1010   
    }
 1010   1011   
 1011   1012   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1012   1013   
    ///
 1013   1014   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1014   1015   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1015   1016   
    /// all operations might be the ideal behavior but could break existing applications.
 1016   1017   
    ///
 1017   1018   
    /// # Examples
 1018   1019   
    ///
 1019   1020   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1020   1021   
    /// ```no_run
 1021   1022   
    /// use aws_sdk_kms::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_kms::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_kms::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_kms::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_kms::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_kms::Client::from_conf(config);
 1039   1040   
    /// ```
 1040         -
        1041  +
    ///
 1041   1042   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1042   1043   
        self.behavior_version = behavior_version;
 1043   1044   
        self
 1044   1045   
    }
 1045   1046   
 1046   1047   
    /// Convenience method to set the latest behavior major version
 1047   1048   
    ///
 1048   1049   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1049   1050   
    pub fn behavior_version_latest(mut self) -> Self {
 1050   1051   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1131,1132 +1191,1192 @@
 1151   1152   
    }
 1152   1153   
 1153   1154   
    fn runtime_components(
 1154   1155   
        &self,
 1155   1156   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1156   1157   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1157   1158   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1158   1159   
    }
 1159   1160   
}
 1160   1161   
 1161         -
/// Cross-operation shared-state singletons
        1162  +
// Cross-operation shared-state singletons
 1162   1163   
 1163   1164   
/// A plugin that enables configuration for a single operation invocation
 1164   1165   
///
 1165   1166   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1166   1167   
/// In the case of default values requested, they will be obtained from `client_config`.
 1167   1168   
#[derive(Debug)]
 1168   1169   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1169   1170   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1170   1171   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1171   1172   
}