1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// The container for abort incomplete multipart upload
type AbortIncompleteMultipartUpload struct {
// Specifies the number of days after which Amazon S3 aborts an incomplete
// multipart upload to the Outposts bucket.
DaysAfterInitiation int32
noSmithyDocumentSerde
}
// A container for information about access control for replicas. This is not
// supported by Amazon S3 on Outposts buckets.
type AccessControlTranslation struct {
// Specifies the replica ownership.
//
// This member is required.
Owner OwnerOverride
noSmithyDocumentSerde
}
// The configuration options of the S3 Access Grants location. It contains the
// S3SubPrefix field. The grant scope, the data to which you are granting access,
// is the result of appending the Subprefix field to the scope of the registered
// location.
type AccessGrantsLocationConfiguration struct {
// The S3SubPrefix is appended to the location scope creating the grant scope. Use
// this field to narrow the scope of the grant to a subset of the location scope.
// This field is required if the location scope is the default location s3://
// because you cannot create a grant for all of your S3 data in the Region and must
// narrow the scope. For example, if the location scope is the default location
// s3:// , the S3SubPrefx can be a /*, so the full grant scope path would be
// s3:///* . Or the S3SubPrefx can be /* , so the full grant scope path would be or
// s3:///* . If the S3SubPrefix includes a prefix, append the wildcard character *
// after the prefix to indicate that you want to include all object key names in
// the bucket that start with that prefix.
S3SubPrefix *string
noSmithyDocumentSerde
}
// An access point used to access a bucket.
type AccessPoint struct {
// The name of the bucket associated with this access point.
//
// This member is required.
Bucket *string
// The name of this access point.
//
// This member is required.
Name *string
// Indicates whether this access point allows access from the public internet. If
// VpcConfiguration is specified for this access point, then NetworkOrigin is VPC ,
// and the access point doesn't allow access from the public internet. Otherwise,
// NetworkOrigin is Internet , and the access point allows access from the public
// internet, subject to the access point and bucket access policies.
//
// This member is required.
NetworkOrigin NetworkOrigin
// The ARN for the access point.
AccessPointArn *string
// The name or alias of the access point.
Alias *string
// The Amazon Web Services account ID associated with the S3 bucket associated
// with this access point.
BucketAccountId *string
// The virtual private cloud (VPC) configuration for this access point, if one
// exists. This element is empty if this access point is an Amazon S3 on Outposts
// access point that is used by other Amazon Web Services.
VpcConfiguration *VpcConfiguration
noSmithyDocumentSerde
}
// A container element for the account-level Amazon S3 Storage Lens configuration.
// For more information about S3 Storage Lens, see Assessing your storage activity
// and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)
// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see
// S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html)
// in the Amazon S3 User Guide.
type AccountLevel struct {
// A container element for the S3 Storage Lens bucket-level configuration.
//
// This member is required.
BucketLevel *BucketLevel
// A container element for S3 Storage Lens activity metrics.
ActivityMetrics *ActivityMetrics
// A container element for S3 Storage Lens advanced cost-optimization metrics.
AdvancedCostOptimizationMetrics *AdvancedCostOptimizationMetrics
// A container element for S3 Storage Lens advanced data-protection metrics.
AdvancedDataProtectionMetrics *AdvancedDataProtectionMetrics
// A container element for detailed status code metrics.
DetailedStatusCodesMetrics *DetailedStatusCodesMetrics
// A container element for S3 Storage Lens groups metrics.
StorageLensGroupLevel *StorageLensGroupLevel
noSmithyDocumentSerde
}
// The container element for Amazon S3 Storage Lens activity metrics. Activity
// metrics show details about how your storage is requested, such as requests (for
// example, All requests, Get requests, Put requests), bytes uploaded or
// downloaded, and errors. For more information about S3 Storage Lens, see
// Assessing your storage activity and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)
// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see
// S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html)
// in the Amazon S3 User Guide.
type ActivityMetrics struct {
// A container that indicates whether activity metrics are enabled.
IsEnabled bool
noSmithyDocumentSerde
}
// The container element for Amazon S3 Storage Lens advanced cost-optimization
// metrics. Advanced cost-optimization metrics provide insights that you can use to
// manage and optimize your storage costs, for example, lifecycle rule counts for
// transitions, expirations, and incomplete multipart uploads. For more information
// about S3 Storage Lens, see Assessing your storage activity and usage with S3
// Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)
// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see
// S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html)
// in the Amazon S3 User Guide.
type AdvancedCostOptimizationMetrics struct {
// A container that indicates whether advanced cost-optimization metrics are
// enabled.
IsEnabled bool
noSmithyDocumentSerde
}
// The container element for Amazon S3 Storage Lens advanced data-protection
// metrics. Advanced data-protection metrics provide insights that you can use to
// perform audits and protect your data, for example replication rule counts within
// and across Regions. For more information about S3 Storage Lens, see Assessing
// your storage activity and usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)
// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see
// S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html)
// in the Amazon S3 User Guide.
type AdvancedDataProtectionMetrics struct {
// A container that indicates whether advanced data-protection metrics are enabled.
IsEnabled bool
noSmithyDocumentSerde
}
// Error details for the failed asynchronous operation.
type AsyncErrorDetails struct {
// A string that uniquely identifies the error condition.
Code *string
// A generic description of the error condition in English.
Message *string
// The ID of the request associated with the error.
RequestId *string
// The identifier of the resource associated with the error.
Resource *string
noSmithyDocumentSerde
}
// A container for the information about an asynchronous operation.
type AsyncOperation struct {
// The time that the request was sent to the service.
CreationTime *time.Time
// The specific operation for the asynchronous request.
Operation AsyncOperationName
// The parameters associated with the request.
RequestParameters *AsyncRequestParameters
// The current status of the request.
RequestStatus *string
// The request token associated with the request.
RequestTokenARN *string
// The details of the response.
ResponseDetails *AsyncResponseDetails
noSmithyDocumentSerde
}
// A container for the request parameters associated with an asynchronous request.
type AsyncRequestParameters struct {
// A container of the parameters for a CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html)
// request.
CreateMultiRegionAccessPointRequest *CreateMultiRegionAccessPointInput
// A container of the parameters for a DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html)
// request.
DeleteMultiRegionAccessPointRequest *DeleteMultiRegionAccessPointInput
// A container of the parameters for a PutMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html)
// request.
PutMultiRegionAccessPointPolicyRequest *PutMultiRegionAccessPointPolicyInput
noSmithyDocumentSerde
}
// A container for the response details that are returned when querying about an
// asynchronous request.
type AsyncResponseDetails struct {
// Error details for an asynchronous request.
ErrorDetails *AsyncErrorDetails
// The details for the Multi-Region Access Point.
MultiRegionAccessPointDetails *MultiRegionAccessPointsAsyncResponse
noSmithyDocumentSerde
}
// Lambda function used to transform objects through an Object Lambda Access Point.
type AwsLambdaTransformation struct {
// The Amazon Resource Name (ARN) of the Lambda function.
//
// This member is required.
FunctionArn *string
// Additional JSON that provides supplemental data to the Lambda function used to
// transform objects.
FunctionPayload *string
noSmithyDocumentSerde
}
// A container for the bucket-level configuration for Amazon S3 Storage Lens. For
// more information about S3 Storage Lens, see Assessing your storage activity and
// usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)
// in the Amazon S3 User Guide.
type BucketLevel struct {
// A container for the bucket-level activity metrics for S3 Storage Lens.
ActivityMetrics *ActivityMetrics
// A container for bucket-level advanced cost-optimization metrics for S3 Storage
// Lens.
AdvancedCostOptimizationMetrics *AdvancedCostOptimizationMetrics
// A container for bucket-level advanced data-protection metrics for S3 Storage
// Lens.
AdvancedDataProtectionMetrics *AdvancedDataProtectionMetrics
// A container for bucket-level detailed status code metrics for S3 Storage Lens.
DetailedStatusCodesMetrics *DetailedStatusCodesMetrics
// A container for the prefix-level metrics for S3 Storage Lens.
PrefixLevel *PrefixLevel
noSmithyDocumentSerde
}
// A container for enabling Amazon CloudWatch publishing for S3 Storage Lens
// metrics. For more information about publishing S3 Storage Lens metrics to
// CloudWatch, see Monitor S3 Storage Lens metrics in CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_view_metrics_cloudwatch.html)
// in the Amazon S3 User Guide.
type CloudWatchMetrics struct {
// A container that indicates whether CloudWatch publishing for S3 Storage Lens
// metrics is enabled. A value of true indicates that CloudWatch publishing for S3
// Storage Lens metrics is enabled.
//
// This member is required.
IsEnabled bool
noSmithyDocumentSerde
}
// The container for the bucket configuration. This is not supported by Amazon S3
// on Outposts buckets.
type CreateBucketConfiguration struct {
// Specifies the Region where the bucket will be created. If you are creating a
// bucket on the US East (N. Virginia) Region (us-east-1), you do not need to
// specify the location. This is not supported by Amazon S3 on Outposts buckets.
LocationConstraint BucketLocationConstraint
noSmithyDocumentSerde
}
// A container for the information associated with a CreateMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html)
// request.
type CreateMultiRegionAccessPointInput struct {
// The name of the Multi-Region Access Point associated with this request.
//
// This member is required.
Name *string
// The buckets in different Regions that are associated with the Multi-Region
// Access Point.
//
// This member is required.
Regions []Region
// The PublicAccessBlock configuration that you want to apply to this Amazon S3
// account. You can enable the configuration options in any combination. For more
// information about when Amazon S3 considers a bucket or object public, see The
// Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// in the Amazon S3 User Guide. This data type is not supported for Amazon S3 on
// Outposts.
PublicAccessBlock *PublicAccessBlockConfiguration
noSmithyDocumentSerde
}
// The Amazon Web Services Security Token Service temporary credential that S3
// Access Grants vends to grantees and client applications.
type Credentials struct {
// The unique access key ID of the Amazon Web Services STS temporary credential
// that S3 Access Grants vends to grantees and client applications.
AccessKeyId *string
// The expiration date and time of the temporary credential that S3 Access Grants
// vends to grantees and client applications.
Expiration *time.Time
// The secret access key of the Amazon Web Services STS temporary credential that
// S3 Access Grants vends to grantees and client applications.
SecretAccessKey *string
// The Amazon Web Services STS temporary credential that S3 Access Grants vends to
// grantees and client applications.
SessionToken *string
noSmithyDocumentSerde
}
// Specifies whether S3 on Outposts replicates delete markers. If you specify a
// Filter element in your replication configuration, you must also include a
// DeleteMarkerReplication element. If your Filter includes a Tag element, the
// DeleteMarkerReplication element's Status child element must be set to Disabled ,
// because S3 on Outposts does not support replicating delete markers for tag-based
// rules. For more information about delete marker replication, see How delete
// operations affect replication (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html#outposts-replication-what-is-replicated)
// in the Amazon S3 User Guide.
type DeleteMarkerReplication struct {
// Indicates whether to replicate delete markers.
//
// This member is required.
Status DeleteMarkerReplicationStatus
noSmithyDocumentSerde
}
// A container for the information associated with a DeleteMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html)
// request.
type DeleteMultiRegionAccessPointInput struct {
// The name of the Multi-Region Access Point associated with this request.
//
// This member is required.
Name *string
noSmithyDocumentSerde
}
// Specifies information about the replication destination bucket and its settings
// for an S3 on Outposts replication configuration.
type Destination struct {
// The Amazon Resource Name (ARN) of the access point for the destination bucket
// where you want S3 on Outposts to store the replication results.
//
// This member is required.
Bucket *string
// Specify this property only in a cross-account scenario (where the source and
// destination bucket owners are not the same), and you want to change replica
// ownership to the Amazon Web Services account that owns the destination bucket.
// If this property is not specified in the replication configuration, the replicas
// are owned by same Amazon Web Services account that owns the source object. This
// is not supported by Amazon S3 on Outposts buckets.
AccessControlTranslation *AccessControlTranslation
// The destination bucket owner's account ID.
Account *string
// A container that provides information about encryption. If
// SourceSelectionCriteria is specified, you must specify this element. This is not
// supported by Amazon S3 on Outposts buckets.
EncryptionConfiguration *EncryptionConfiguration
// A container that specifies replication metrics-related settings.
Metrics *Metrics
// A container that specifies S3 Replication Time Control (S3 RTC) settings,
// including whether S3 RTC is enabled and the time when all objects and operations
// on objects must be replicated. Must be specified together with a Metrics block.
// This is not supported by Amazon S3 on Outposts buckets.
ReplicationTime *ReplicationTime
// The storage class to use when replicating objects. All objects stored on S3 on
// Outposts are stored in the OUTPOSTS storage class. S3 on Outposts uses the
// OUTPOSTS storage class to create the object replicas. Values other than OUTPOSTS
// aren't supported by Amazon S3 on Outposts.
StorageClass ReplicationStorageClass
noSmithyDocumentSerde
}
// The container element for Amazon S3 Storage Lens detailed status code metrics.
// Detailed status code metrics generate metrics for HTTP status codes, such as
// 200 OK , 403 Forbidden , 503 Service Unavailable and others. For more
// information about S3 Storage Lens, see Assessing your storage activity and
// usage with S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html)
// in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see
// S3 Storage Lens metrics glossary (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html)
// in the Amazon S3 User Guide.
type DetailedStatusCodesMetrics struct {
// A container that indicates whether detailed status code metrics are enabled.
IsEnabled bool
noSmithyDocumentSerde
}
// Specifies encryption-related information for an Amazon S3 bucket that is a
// destination for replicated objects. This is not supported by Amazon S3 on
// Outposts buckets.
type EncryptionConfiguration struct {
// Specifies the ID of the customer managed KMS key that's stored in Key
// Management Service (KMS) for the destination bucket. This ID is either the
// Amazon Resource Name (ARN) for the KMS key or the alias ARN for the KMS key.
// Amazon S3 uses this KMS key to encrypt replica objects. Amazon S3 supports only
// symmetric encryption KMS keys. For more information, see Symmetric encryption
// KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks)
// in the Amazon Web Services Key Management Service Developer Guide.
ReplicaKmsKeyID *string
noSmithyDocumentSerde
}
// The last established access control policy for a Multi-Region Access Point.
// When you update the policy, the update is first listed as the proposed policy.
// After the update is finished and all Regions have been updated, the proposed
// policy is listed as the established policy. If both policies have the same
// version number, the proposed policy is the established policy.
type EstablishedMultiRegionAccessPointPolicy struct {
// The details of the last established policy.
Policy *string
noSmithyDocumentSerde
}
// A container for what Amazon S3 Storage Lens will exclude.
type Exclude struct {
// A container for the S3 Storage Lens bucket excludes.
Buckets []string
// A container for the S3 Storage Lens Region excludes.
Regions []string
noSmithyDocumentSerde
}
// An optional configuration to replicate existing source bucket objects. This is
// not supported by Amazon S3 on Outposts buckets.
type ExistingObjectReplication struct {
// Specifies whether Amazon S3 replicates existing source bucket objects.
//
// This member is required.
Status ExistingObjectReplicationStatus
noSmithyDocumentSerde
}
// The encryption configuration to use when storing the generated manifest.
type GeneratedManifestEncryption struct {
// Configuration details on how SSE-KMS is used to encrypt generated manifest
// objects.
SSEKMS *SSEKMSEncryption
// Specifies the use of SSE-S3 to encrypt generated manifest objects.
SSES3 *SSES3Encryption
noSmithyDocumentSerde
}
// The user, group, or role to which you are granting access. You can grant access
// to an IAM user or role. If you have added your corporate directory to Amazon Web
// Services IAM Identity Center and associated your Identity Center instance with
// your S3 Access Grants instance, the grantee can also be a corporate directory
// user or group.
type Grantee struct {
// The unique identifier of the Grantee . If the grantee type is IAM , the
// identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the
// grantee type is a directory user or group, the identifier is 128-bit universally
// unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 .
// You can obtain this UUID from your Amazon Web Services IAM Identity Center
// instance.
GranteeIdentifier *string
// The type of the grantee to which access has been granted. It can be one of the
// following values:
// - IAM - An IAM user or role.
// - DIRECTORY_USER - Your corporate directory user. You can use this option if
// you have added your corporate identity directory to IAM Identity Center and
// associated the IAM Identity Center instance with your S3 Access Grants instance.
//
// - DIRECTORY_GROUP - Your corporate directory group. You can use this option if
// you have added your corporate identity directory to IAM Identity Center and
// associated the IAM Identity Center instance with your S3 Access Grants instance.
GranteeType GranteeType
noSmithyDocumentSerde
}
// A container for what Amazon S3 Storage Lens configuration includes.
type Include struct {
// A container for the S3 Storage Lens bucket includes.
Buckets []string
// A container for the S3 Storage Lens Region includes.
Regions []string
noSmithyDocumentSerde
}
// A container element for the job configuration and status information returned
// by a Describe Job request.
type JobDescriptor struct {
// Indicates whether confirmation is required before Amazon S3 begins running the
// specified job. Confirmation is required only for jobs created through the Amazon
// S3 console.
ConfirmationRequired *bool
// A timestamp indicating when this job was created.
CreationTime *time.Time
// The description for this job, if one was provided in this job's Create Job
// request.
Description *string
// If the specified job failed, this field contains information describing the
// failure.
FailureReasons []JobFailure
// The attribute of the JobDescriptor containing details about the job's generated
// manifest.
GeneratedManifestDescriptor *S3GeneratedManifestDescriptor
// The Amazon Resource Name (ARN) for this job.
JobArn *string
// The ID for the specified job.
JobId *string
// The configuration information for the specified job's manifest object.
Manifest *JobManifest
// The manifest generator that was used to generate a job manifest for this job.
ManifestGenerator JobManifestGenerator
// The operation that the specified job is configured to run on the objects listed
// in the manifest.
Operation *JobOperation
// The priority of the specified job.
Priority int32
// Describes the total number of tasks that the specified job has run, the number
// of tasks that succeeded, and the number of tasks that failed.
ProgressSummary *JobProgressSummary
// Contains the configuration information for the job-completion report if you
// requested one in the Create Job request.
Report *JobReport
// The Amazon Resource Name (ARN) for the Identity and Access Management (IAM)
// role assigned to run the tasks for this job.
RoleArn *string
// The current status of the specified job.
Status JobStatus
// The reason for updating the job.
StatusUpdateReason *string
// The reason why the specified job was suspended. A job is only suspended if you
// create it through the Amazon S3 console. When you create the job, it enters the
// Suspended state to await confirmation before running. After you confirm the job,
// it automatically exits the Suspended state.
SuspendedCause *string
// The timestamp when this job was suspended, if it has been suspended.
SuspendedDate *time.Time
// A timestamp indicating when this job terminated. A job's termination date is
// the date and time when it succeeded, failed, or was canceled.
TerminationDate *time.Time
noSmithyDocumentSerde
}
// If this job failed, this element indicates why the job failed.
type JobFailure struct {
// The failure code, if any, for the specified job.
FailureCode *string
// The failure reason, if any, for the specified job.
FailureReason *string
noSmithyDocumentSerde
}
// Contains the configuration and status information for a single job retrieved as
// part of a job list.
type JobListDescriptor struct {
// A timestamp indicating when the specified job was created.
CreationTime *time.Time
// The user-specified description that was included in the specified job's Create
// Job request.
Description *string
// The ID for the specified job.
JobId *string
// The operation that the specified job is configured to run on every object
// listed in the manifest.
Operation OperationName
// The current priority for the specified job.
Priority int32
// Describes the total number of tasks that the specified job has run, the number
// of tasks that succeeded, and the number of tasks that failed.
ProgressSummary *JobProgressSummary
// The specified job's current status.
Status JobStatus
// A timestamp indicating when the specified job terminated. A job's termination
// date is the date and time when it succeeded, failed, or was canceled.
TerminationDate *time.Time
noSmithyDocumentSerde
}
// Contains the configuration information for a job's manifest.
type JobManifest struct {
// Contains the information required to locate the specified job's manifest.
// Manifests can't be imported from directory buckets. For more information, see
// Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
// .
//
// This member is required.
Location *JobManifestLocation
// Describes the format of the specified job's manifest. If the manifest is in CSV
// format, also describes the columns contained within the manifest.
//
// This member is required.
Spec *JobManifestSpec
noSmithyDocumentSerde
}
// Configures the type of the job's ManifestGenerator.
//
// The following types satisfy this interface:
//
// JobManifestGeneratorMemberS3JobManifestGenerator
type JobManifestGenerator interface {
isJobManifestGenerator()
}
// The S3 job ManifestGenerator's configuration details.
type JobManifestGeneratorMemberS3JobManifestGenerator struct {
Value S3JobManifestGenerator
noSmithyDocumentSerde
}
func (*JobManifestGeneratorMemberS3JobManifestGenerator) isJobManifestGenerator() {}
// The filter used to describe a set of objects for the job's manifest.
type JobManifestGeneratorFilter struct {
// If provided, the generated manifest includes only source bucket objects that
// were created after this time.
CreatedAfter *time.Time
// If provided, the generated manifest includes only source bucket objects that
// were created before this time.
CreatedBefore *time.Time
// Include objects in the generated manifest only if they are eligible for
// replication according to the Replication configuration on the source bucket.
EligibleForReplication *bool
// If provided, the generated manifest includes only source bucket objects whose
// object keys match the string constraints specified for MatchAnyPrefix ,
// MatchAnySuffix , and MatchAnySubstring .
KeyNameConstraint *KeyNameConstraint
// If provided, the generated manifest includes only source bucket objects that
// are stored with the specified storage class.
MatchAnyStorageClass []S3StorageClass
// If provided, the generated manifest includes only source bucket objects that
// have one of the specified Replication statuses.
ObjectReplicationStatuses []ReplicationStatus
// If provided, the generated manifest includes only source bucket objects whose
// file size is greater than the specified number of bytes.
ObjectSizeGreaterThanBytes *int64
// If provided, the generated manifest includes only source bucket objects whose
// file size is less than the specified number of bytes.
ObjectSizeLessThanBytes *int64
noSmithyDocumentSerde
}
// Contains the information required to locate a manifest object. Manifests can't
// be imported from directory buckets. For more information, see Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
// .
type JobManifestLocation struct {
// The ETag for the specified manifest object.
//
// This member is required.
ETag *string
// The Amazon Resource Name (ARN) for a manifest object. When you're using XML
// requests, you must replace special characters (such as carriage returns) in
// object keys with their equivalent XML entity codes. For more information, see
// XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints)
// in the Amazon S3 User Guide.
//
// This member is required.
ObjectArn *string
// The optional version ID to identify a specific version of the manifest object.
ObjectVersionId *string
noSmithyDocumentSerde
}
// Describes the format of a manifest. If the manifest is in CSV format, also
// describes the columns contained within the manifest.
type JobManifestSpec struct {
// Indicates which of the available formats the specified manifest uses.
//
// This member is required.
Format JobManifestFormat
// If the specified manifest object is in the S3BatchOperations_CSV_20180820
// format, this element describes which columns contain the required data.
Fields []JobManifestFieldName
noSmithyDocumentSerde
}
// The operation that you want this job to perform on every object listed in the
// manifest. For more information about the available operations, see Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html)
// in the Amazon S3 User Guide.
type JobOperation struct {
// Directs the specified job to invoke an Lambda function on every object in the
// manifest.
LambdaInvoke *LambdaInvokeOperation
// Directs the specified job to execute a DELETE Object tagging call on every
// object in the manifest. This functionality is not supported by directory
// buckets.
S3DeleteObjectTagging *S3DeleteObjectTaggingOperation
// Directs the specified job to initiate restore requests for every archived
// object in the manifest. This functionality is not supported by directory
// buckets.
S3InitiateRestoreObject *S3InitiateRestoreObjectOperation
// Directs the specified job to run a PutObjectAcl call on every object in the
// manifest. This functionality is not supported by directory buckets.
S3PutObjectAcl *S3SetObjectAclOperation
// Directs the specified job to run a PUT Copy object call on every object in the
// manifest.
S3PutObjectCopy *S3CopyObjectOperation
// Contains the configuration for an S3 Object Lock legal hold operation that an
// S3 Batch Operations job passes to every object to the underlying
// PutObjectLegalHold API operation. For more information, see Using S3 Object
// Lock legal hold with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html)
// in the Amazon S3 User Guide. This functionality is not supported by directory
// buckets.
S3PutObjectLegalHold *S3SetObjectLegalHoldOperation
// Contains the configuration parameters for the Object Lock retention action for
// an S3 Batch Operations job. Batch Operations passes every object to the
// underlying PutObjectRetention API operation. For more information, see Using S3
// Object Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html)
// in the Amazon S3 User Guide. This functionality is not supported by directory
// buckets.
S3PutObjectRetention *S3SetObjectRetentionOperation
// Directs the specified job to run a PUT Object tagging call on every object in
// the manifest. This functionality is not supported by directory buckets.
S3PutObjectTagging *S3SetObjectTaggingOperation
// Directs the specified job to invoke ReplicateObject on every object in the
// job's manifest. This functionality is not supported by directory buckets.
S3ReplicateObject *S3ReplicateObjectOperation
noSmithyDocumentSerde
}
// Describes the total number of tasks that the specified job has started, the
// number of tasks that succeeded, and the number of tasks that failed.
type JobProgressSummary struct {
//
NumberOfTasksFailed *int64
//
NumberOfTasksSucceeded *int64
// The JobTimers attribute of a job's progress summary.
Timers *JobTimers
//
TotalNumberOfTasks *int64
noSmithyDocumentSerde
}
// Contains the configuration parameters for a job-completion report.
type JobReport struct {
// Indicates whether the specified job will generate a job-completion report.
//
// This member is required.
Enabled bool
// The Amazon Resource Name (ARN) for the bucket where specified job-completion
// report will be stored. Directory buckets - Directory buckets aren't supported as
// a location for Batch Operations to store job completion reports.
Bucket *string
// The format of the specified job-completion report.
Format JobReportFormat
// An optional prefix to describe where in the specified bucket the job-completion
// report will be stored. Amazon S3 stores the job-completion report at
// /job-/report.json .
Prefix *string
// Indicates whether the job-completion report will include details of all tasks
// or only failed tasks.
ReportScope JobReportScope
noSmithyDocumentSerde
}
// Provides timing details for the job.
type JobTimers struct {
// Indicates the elapsed time in seconds the job has been in the Active job state.
ElapsedTimeInActiveSeconds *int64
noSmithyDocumentSerde
}
// If provided, the generated manifest includes only source bucket objects whose
// object keys match the string constraints specified for MatchAnyPrefix ,
// MatchAnySuffix , and MatchAnySubstring .
type KeyNameConstraint struct {
// If provided, the generated manifest includes objects where the specified string
// appears at the start of the object key string.
MatchAnyPrefix []string
// If provided, the generated manifest includes objects where the specified string
// appears anywhere within the object key string.
MatchAnySubstring []string
// If provided, the generated manifest includes objects where the specified string
// appears at the end of the object key string.
MatchAnySuffix []string
noSmithyDocumentSerde
}
// Contains the configuration parameters for a Lambda Invoke operation.
type LambdaInvokeOperation struct {
// The Amazon Resource Name (ARN) for the Lambda function that the specified job
// will invoke on every object in the manifest.
FunctionArn *string
// Specifies the schema version for the payload that Batch Operations sends when
// invoking an Lambda function. Version 1.0 is the default. Version 2.0 is
// required when you use Batch Operations to invoke Lambda functions that act on
// directory buckets, or if you need to specify UserArguments . For more
// information, see Using Lambda with Amazon S3 Batch Operations and Amazon S3
// Express One Zone (https://aws.amazon.com/blogs/storage/using-lambda-with-s3-batch-operations-and-s3-express-one-zone/)
// in the Amazon Web Services Storage Blog. Ensure that your Lambda function code
// expects InvocationSchemaVersion 2.0 and uses bucket name rather than bucket
// ARN. If the InvocationSchemaVersion does not match what your Lambda function
// expects, your function might not work as expected. Directory buckets - To
// initiate Amazon Web Services Lambda function to perform custom actions on
// objects in directory buckets, you must specify 2.0 .
InvocationSchemaVersion *string
// Key-value pairs that are passed in the payload that Batch Operations sends when
// invoking an Lambda function. You must specify InvocationSchemaVersion 2.0 for
// LambdaInvoke operations that include UserArguments . For more information, see
// Using Lambda with Amazon S3 Batch Operations and Amazon S3 Express One Zone (https://aws.amazon.com/blogs/storage/using-lambda-with-s3-batch-operations-and-s3-express-one-zone/)
// in the Amazon Web Services Storage Blog.
UserArguments map[string]string
noSmithyDocumentSerde
}
// The container for the Outposts bucket lifecycle configuration.
type LifecycleConfiguration struct {
// A lifecycle rule for individual objects in an Outposts bucket.
Rules []LifecycleRule
noSmithyDocumentSerde
}
// The container of the Outposts bucket lifecycle expiration.
type LifecycleExpiration struct {
// Indicates at what date the object is to be deleted. Should be in GMT ISO 8601
// format.
Date *time.Time
// Indicates the lifetime, in days, of the objects that are subject to the rule.
// The value must be a non-zero positive integer.
Days int32
// Indicates whether Amazon S3 will remove a delete marker with no noncurrent
// versions. If set to true, the delete marker will be expired. If set to false,
// the policy takes no action. This cannot be specified with Days or Date in a
// Lifecycle Expiration Policy.
ExpiredObjectDeleteMarker bool
noSmithyDocumentSerde
}
// The container for the Outposts bucket lifecycle rule.
type LifecycleRule struct {
// If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is
// not currently being applied.
//
// This member is required.
Status ExpirationStatus
// Specifies the days since the initiation of an incomplete multipart upload that
// Amazon S3 waits before permanently removing all parts of the upload. For more
// information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle
// Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
// in the Amazon S3 User Guide.
AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload
// Specifies the expiration for the lifecycle of the object in the form of date,
// days and, whether the object has a delete marker.
Expiration *LifecycleExpiration
// The container for the filter of lifecycle rule.
Filter *LifecycleRuleFilter
// Unique identifier for the rule. The value cannot be longer than 255 characters.
ID *string
// The noncurrent version expiration of the lifecycle rule.
NoncurrentVersionExpiration *NoncurrentVersionExpiration
// Specifies the transition rule for the lifecycle rule that describes when
// noncurrent objects transition to a specific storage class. If your bucket is
// versioning-enabled (or versioning is suspended), you can set this action to
// request that Amazon S3 transition noncurrent object versions to a specific
// storage class at a set period in the object's lifetime. This is not supported by
// Amazon S3 on Outposts buckets.
NoncurrentVersionTransitions []NoncurrentVersionTransition
// Specifies when an Amazon S3 object transitions to a specified storage class.
// This is not supported by Amazon S3 on Outposts buckets.
Transitions []Transition
noSmithyDocumentSerde
}
// The container for the Outposts bucket lifecycle rule and operator.
type LifecycleRuleAndOperator struct {
// Minimum object size to which the rule applies.
ObjectSizeGreaterThan *int64
// Maximum object size to which the rule applies.
ObjectSizeLessThan *int64
// Prefix identifying one or more objects to which the rule applies.
Prefix *string
// All of these tags must exist in the object's tag set in order for the rule to
// apply.
Tags []S3Tag
noSmithyDocumentSerde
}
// The container for the filter of the lifecycle rule.
type LifecycleRuleFilter struct {
// The container for the AND condition for the lifecycle rule.
And *LifecycleRuleAndOperator
// Minimum object size to which the rule applies.
ObjectSizeGreaterThan *int64
// Maximum object size to which the rule applies.
ObjectSizeLessThan *int64
// Prefix identifying one or more objects to which the rule applies. When you're
// using XML requests, you must replace special characters (such as carriage
// returns) in object keys with their equivalent XML entity codes. For more
// information, see XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints)
// in the Amazon S3 User Guide.
Prefix *string
// A container for a key-value name pair.
Tag *S3Tag
noSmithyDocumentSerde
}
// Information about the access grant.
type ListAccessGrantEntry struct {
// The Amazon Resource Name (ARN) of the access grant.
AccessGrantArn *string
// The ID of the access grant. S3 Access Grants auto-generates this ID when you
// create the access grant.
AccessGrantId *string
// The configuration options of the grant location. The grant location is the S3
// path to the data to which you are granting access.
AccessGrantsLocationConfiguration *AccessGrantsLocationConfiguration
// The ID of the registered location to which you are granting access. S3 Access
// Grants assigns this ID when you register the location. S3 Access Grants assigns
// the ID default to the default location s3:// and assigns an auto-generated ID
// to other locations that you register.
AccessGrantsLocationId *string
// The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center
// application associated with your Identity Center instance. If the grant includes
// an application ARN, the grantee can only access the S3 data through this
// application.
ApplicationArn *string
// The date and time when you created the S3 Access Grants instance.
CreatedAt *time.Time
// The S3 path of the data to which you are granting access. It is the result of
// appending the Subprefix to the location scope.
GrantScope *string
// The user, group, or role to which you are granting access. You can grant access
// to an IAM user or role. If you have added your corporate directory to Amazon Web
// Services IAM Identity Center and associated your Identity Center instance with
// your S3 Access Grants instance, the grantee can also be a corporate directory
// user or group.
Grantee *Grantee
// The type of access granted to your S3 data, which can be set to one of the
// following values:
// - READ – Grant read-only access to the S3 data.
// - WRITE – Grant write-only access to the S3 data.
// - READWRITE – Grant both read and write access to the S3 data.
Permission Permission
noSmithyDocumentSerde
}
// Information about the S3 Access Grants instance.
type ListAccessGrantsInstanceEntry struct {
// The Amazon Resource Name (ARN) of the S3 Access Grants instance.
AccessGrantsInstanceArn *string
// The ID of the S3 Access Grants instance. The ID is default . You can have one S3
// Access Grants instance per Region per account.
AccessGrantsInstanceId *string
// The date and time when you created the S3 Access Grants instance.
CreatedAt *time.Time
// If you associated your S3 Access Grants instance with an Amazon Web Services
// IAM Identity Center instance, this field returns the Amazon Resource Name (ARN)
// of the IAM Identity Center instance application; a subresource of the original
// Identity Center instance. S3 Access Grants creates this Identity Center
// application for the specific S3 Access Grants instance.
IdentityCenterArn *string
noSmithyDocumentSerde
}
// A container for information about the registered location.
type ListAccessGrantsLocationsEntry struct {
// The Amazon Resource Name (ARN) of the registered location.
AccessGrantsLocationArn *string
// The ID of the registered location to which you are granting access. S3 Access
// Grants assigns this ID when you register the location. S3 Access Grants assigns
// the ID default to the default location s3:// and assigns an auto-generated ID
// to other locations that you register.
AccessGrantsLocationId *string
// The date and time when you registered the location.
CreatedAt *time.Time
// The Amazon Resource Name (ARN) of the IAM role for the registered location. S3
// Access Grants assumes this role to manage access to the registered location.
IAMRoleArn *string
// The S3 path to the location that you are registering. The location scope can be
// the default S3 location s3:// , the S3 path to a bucket s3:// , or the S3 path
// to a bucket and prefix s3:/// . A prefix in S3 is a string of characters at the
// beginning of an object key name used to organize the objects that you store in
// your S3 buckets. For example, object key names that start with the engineering/
// prefix or object key names that start with the marketing/campaigns/ prefix.
LocationScope *string
noSmithyDocumentSerde
}
// Part of ListStorageLensConfigurationResult . Each entry includes the description
// of the S3 Storage Lens configuration, its home Region, whether it is enabled,
// its Amazon Resource Name (ARN), and config ID.
type ListStorageLensConfigurationEntry struct {
// A container for the S3 Storage Lens home Region. Your metrics data is stored
// and retained in your designated S3 Storage Lens home Region.
//
// This member is required.
HomeRegion *string
// A container for the S3 Storage Lens configuration ID.
//
// This member is required.
Id *string
// The ARN of the S3 Storage Lens configuration. This property is read-only.
//
// This member is required.
StorageLensArn *string
// A container for whether the S3 Storage Lens configuration is enabled. This
// property is required.
IsEnabled bool
noSmithyDocumentSerde
}
// Each entry contains a Storage Lens group that exists in the specified home
// Region.
type ListStorageLensGroupEntry struct {
// Contains the Amazon Web Services Region where the Storage Lens group was
// created.
//
// This member is required.
HomeRegion *string
// Contains the name of the Storage Lens group that exists in the specified home
// Region.
//
// This member is required.
Name *string
// Contains the Amazon Resource Name (ARN) of the Storage Lens group. This
// property is read-only.
//
// This member is required.
StorageLensGroupArn *string
noSmithyDocumentSerde
}
// A filter condition that specifies the object age range of included objects in
// days. Only integers are supported.
type MatchObjectAge struct {
// Specifies the maximum object age in days. Must be a positive whole number,
// greater than the minimum object age and less than or equal to 2,147,483,647.
DaysGreaterThan int32
// Specifies the minimum object age in days. The value must be a positive whole
// number, greater than 0 and less than or equal to 2,147,483,647.
DaysLessThan int32
noSmithyDocumentSerde
}
// A filter condition that specifies the object size range of included objects in
// bytes. Only integers are supported.
type MatchObjectSize struct {
// Specifies the minimum object size in Bytes. The value must be a positive
// number, greater than 0 and less than 5 TB.
BytesGreaterThan int64
// Specifies the maximum object size in Bytes. The value must be a positive
// number, greater than the minimum object size and less than 5 TB.
BytesLessThan int64
noSmithyDocumentSerde
}
// A container that specifies replication metrics-related settings.
type Metrics struct {
// Specifies whether replication metrics are enabled.
//
// This member is required.
Status MetricsStatus
// A container that specifies the time threshold for emitting the
// s3:Replication:OperationMissedThreshold event. This is not supported by Amazon
// S3 on Outposts buckets.
EventThreshold *ReplicationTimeValue
noSmithyDocumentSerde
}
// The Multi-Region Access Point access control policy. When you update the
// policy, the update is first listed as the proposed policy. After the update is
// finished and all Regions have been updated, the proposed policy is listed as the
// established policy. If both policies have the same version number, the proposed
// policy is the established policy.
type MultiRegionAccessPointPolicyDocument struct {
// The last established policy for the Multi-Region Access Point.
Established *EstablishedMultiRegionAccessPointPolicy
// The proposed policy for the Multi-Region Access Point.
Proposed *ProposedMultiRegionAccessPointPolicy
noSmithyDocumentSerde
}
// Status information for a single Multi-Region Access Point Region.
type MultiRegionAccessPointRegionalResponse struct {
// The name of the Region in the Multi-Region Access Point.
Name *string
// The current status of the Multi-Region Access Point in this Region.
RequestStatus *string
noSmithyDocumentSerde
}
// A collection of statuses for a Multi-Region Access Point in the various Regions
// it supports.
type MultiRegionAccessPointReport struct {
// The alias for the Multi-Region Access Point. For more information about the
// distinction between the name and the alias of an Multi-Region Access Point, see
// Managing Multi-Region Access Points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming)
// .
Alias *string
// When the Multi-Region Access Point create request was received.
CreatedAt *time.Time
// The name of the Multi-Region Access Point.
Name *string
// The PublicAccessBlock configuration that you want to apply to this Amazon S3
// account. You can enable the configuration options in any combination. For more
// information about when Amazon S3 considers a bucket or object public, see The
// Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// in the Amazon S3 User Guide. This data type is not supported for Amazon S3 on
// Outposts.
PublicAccessBlock *PublicAccessBlockConfiguration
// A collection of the Regions and buckets associated with the Multi-Region Access
// Point.
Regions []RegionReport
// The current status of the Multi-Region Access Point. CREATING and DELETING are
// temporary states that exist while the request is propagating and being
// completed. If a Multi-Region Access Point has a status of PARTIALLY_CREATED ,
// you can retry creation or send a request to delete the Multi-Region Access
// Point. If a Multi-Region Access Point has a status of PARTIALLY_DELETED , you
// can retry a delete request to finish the deletion of the Multi-Region Access
// Point.
Status MultiRegionAccessPointStatus
noSmithyDocumentSerde
}
// A structure for a Multi-Region Access Point that indicates where Amazon S3
// traffic can be routed. Routes can be either active or passive. Active routes can
// process Amazon S3 requests through the Multi-Region Access Point, but passive
// routes are not eligible to process Amazon S3 requests. Each route contains the
// Amazon S3 bucket name and the Amazon Web Services Region that the bucket is
// located in. The route also includes the TrafficDialPercentage value, which
// shows whether the bucket and Region are active (indicated by a value of 100 ) or
// passive (indicated by a value of 0 ).
type MultiRegionAccessPointRoute struct {
// The traffic state for the specified bucket or Amazon Web Services Region. A
// value of 0 indicates a passive state, which means that no new traffic will be
// routed to the Region. A value of 100 indicates an active state, which means
// that traffic will be routed to the specified Region. When the routing
// configuration for a Region is changed from active to passive, any in-progress
// operations (uploads, copies, deletes, and so on) to the formerly active Region
// will continue to run to until a final success or failure status is reached. If
// all Regions in the routing configuration are designated as passive, you'll
// receive an InvalidRequest error.
//
// This member is required.
TrafficDialPercentage *int32
// The name of the Amazon S3 bucket for which you'll submit a routing
// configuration change. Either the Bucket or the Region value must be provided.
// If both are provided, the bucket must be in the specified Region.
Bucket *string
// The Amazon Web Services Region to which you'll be submitting a routing
// configuration change. Either the Bucket or the Region value must be provided.
// If both are provided, the bucket must be in the specified Region.
Region *string
noSmithyDocumentSerde
}
// The Multi-Region Access Point details that are returned when querying about an
// asynchronous request.
type MultiRegionAccessPointsAsyncResponse struct {
// A collection of status information for the different Regions that a
// Multi-Region Access Point supports.
Regions []MultiRegionAccessPointRegionalResponse
noSmithyDocumentSerde
}
// The container of the noncurrent version expiration.
type NoncurrentVersionExpiration struct {
// Specifies how many noncurrent versions S3 on Outposts will retain. If there are
// this many more recent noncurrent versions, S3 on Outposts will take the
// associated action. For more information about noncurrent versions, see
// Lifecycle configuration elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
// in the Amazon S3 User Guide.
NewerNoncurrentVersions *int32
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. For information about the noncurrent days
// calculations, see How Amazon S3 Calculates When an Object Became Noncurrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
// in the Amazon S3 User Guide.
NoncurrentDays int32
noSmithyDocumentSerde
}
// The container for the noncurrent version transition.
type NoncurrentVersionTransition struct {
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. For information about the noncurrent days
// calculations, see How Amazon S3 Calculates How Long an Object Has Been
// Noncurrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
// in the Amazon S3 User Guide.
NoncurrentDays int32
// The class of storage used to store the object.
StorageClass TransitionStorageClass
noSmithyDocumentSerde
}
// An access point with an attached Lambda function used to access transformed
// data from an Amazon S3 bucket.
type ObjectLambdaAccessPoint struct {
// The name of the Object Lambda Access Point.
//
// This member is required.
Name *string
// The alias of the Object Lambda Access Point.
Alias *ObjectLambdaAccessPointAlias
// Specifies the ARN for the Object Lambda Access Point.
ObjectLambdaAccessPointArn *string
noSmithyDocumentSerde
}
// The alias of an Object Lambda Access Point. For more information, see How to
// use a bucket-style alias for your S3 bucket Object Lambda Access Point (https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-use.html#ol-access-points-alias)
// .
type ObjectLambdaAccessPointAlias struct {
// The status of the Object Lambda Access Point alias. If the status is
// PROVISIONING , the Object Lambda Access Point is provisioning the alias and the
// alias is not ready for use yet. If the status is READY , the Object Lambda
// Access Point alias is successfully provisioned and ready for use.
Status ObjectLambdaAccessPointAliasStatus
// The alias value of the Object Lambda Access Point.
Value *string
noSmithyDocumentSerde
}
// A configuration used when creating an Object Lambda Access Point.
type ObjectLambdaConfiguration struct {
// Standard access point associated with the Object Lambda Access Point.
//
// This member is required.
SupportingAccessPoint *string
// A container for transformation configurations for an Object Lambda Access Point.
//
// This member is required.
TransformationConfigurations []ObjectLambdaTransformationConfiguration
// A container for allowed features. Valid inputs are GetObject-Range ,
// GetObject-PartNumber , HeadObject-Range , and HeadObject-PartNumber .
AllowedFeatures []ObjectLambdaAllowedFeature
// A container for whether the CloudWatch metrics configuration is enabled.
CloudWatchMetricsEnabled bool
noSmithyDocumentSerde
}
// A container for AwsLambdaTransformation.
//
// The following types satisfy this interface:
//
// ObjectLambdaContentTransformationMemberAwsLambda
type ObjectLambdaContentTransformation interface {
isObjectLambdaContentTransformation()
}
// A container for an Lambda function.
type ObjectLambdaContentTransformationMemberAwsLambda struct {
Value AwsLambdaTransformation
noSmithyDocumentSerde
}
func (*ObjectLambdaContentTransformationMemberAwsLambda) isObjectLambdaContentTransformation() {}
// A configuration used when creating an Object Lambda Access Point transformation.
type ObjectLambdaTransformationConfiguration struct {
// A container for the action of an Object Lambda Access Point configuration.
// Valid inputs are GetObject , ListObjects , HeadObject , and ListObjectsV2 .
//
// This member is required.
Actions []ObjectLambdaTransformationConfigurationAction
// A container for the content transformation of an Object Lambda Access Point
// configuration.
//
// This member is required.
ContentTransformation ObjectLambdaContentTransformation
noSmithyDocumentSerde
}
// Indicates whether this access point policy is public. For more information
// about how Amazon S3 evaluates policies to determine whether they are public, see
// The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// in the Amazon S3 User Guide.
type PolicyStatus struct {
//
IsPublic bool
noSmithyDocumentSerde
}
// A container for the prefix-level configuration.
type PrefixLevel struct {
// A container for the prefix-level storage metrics for S3 Storage Lens.
//
// This member is required.
StorageMetrics *PrefixLevelStorageMetrics
noSmithyDocumentSerde
}
// A container for the prefix-level storage metrics for S3 Storage Lens.
type PrefixLevelStorageMetrics struct {
// A container for whether prefix-level storage metrics are enabled.
IsEnabled bool
//
SelectionCriteria *SelectionCriteria
noSmithyDocumentSerde
}
// The proposed access control policy for the Multi-Region Access Point. When you
// update the policy, the update is first listed as the proposed policy. After the
// update is finished and all Regions have been updated, the proposed policy is
// listed as the established policy. If both policies have the same version number,
// the proposed policy is the established policy.
type ProposedMultiRegionAccessPointPolicy struct {
// The details of the proposed policy.
Policy *string
noSmithyDocumentSerde
}
// The PublicAccessBlock configuration that you want to apply to this Amazon S3
// account. You can enable the configuration options in any combination. For more
// information about when Amazon S3 considers a bucket or object public, see The
// Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// in the Amazon S3 User Guide. This data type is not supported for Amazon S3 on
// Outposts.
type PublicAccessBlockConfiguration struct {
// Specifies whether Amazon S3 should block public access control lists (ACLs) for
// buckets in this account. Setting this element to TRUE causes the following
// behavior:
// - PutBucketAcl and PutObjectAcl calls fail if the specified ACL is public.
// - PUT Object calls fail if the request includes a public ACL.
// - PUT Bucket calls fail if the request includes a public ACL.
// Enabling this setting doesn't affect existing policies or ACLs. This property
// is not supported for Amazon S3 on Outposts.
BlockPublicAcls *bool
// Specifies whether Amazon S3 should block public bucket policies for buckets in
// this account. Setting this element to TRUE causes Amazon S3 to reject calls to
// PUT Bucket policy if the specified bucket policy allows public access. Enabling
// this setting doesn't affect existing bucket policies. This property is not
// supported for Amazon S3 on Outposts.
BlockPublicPolicy *bool
// Specifies whether Amazon S3 should ignore public ACLs for buckets in this
// account. Setting this element to TRUE causes Amazon S3 to ignore all public
// ACLs on buckets in this account and any objects that they contain. Enabling this
// setting doesn't affect the persistence of any existing ACLs and doesn't prevent
// new public ACLs from being set. This property is not supported for Amazon S3 on
// Outposts.
IgnorePublicAcls *bool
// Specifies whether Amazon S3 should restrict public bucket policies for buckets
// in this account. Setting this element to TRUE restricts access to buckets with
// public policies to only Amazon Web Service principals and authorized users
// within this account. Enabling this setting doesn't affect previously stored
// bucket policies, except that public and cross-account access within any public
// bucket policy, including non-public delegation to specific accounts, is blocked.
// This property is not supported for Amazon S3 on Outposts.
RestrictPublicBuckets *bool
noSmithyDocumentSerde
}
// A container for the information associated with a PutMultiRegionAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPoint.html)
// request.
type PutMultiRegionAccessPointPolicyInput struct {
// The name of the Multi-Region Access Point associated with the request.
//
// This member is required.
Name *string
// The policy details for the PutMultiRegionAccessPoint request.
//
// This member is required.
Policy *string
noSmithyDocumentSerde
}
// A Region that supports a Multi-Region Access Point as well as the associated
// bucket for the Region.
type Region struct {
// The name of the associated bucket for the Region.
//
// This member is required.
Bucket *string
// The Amazon Web Services account ID that owns the Amazon S3 bucket that's
// associated with this Multi-Region Access Point.
BucketAccountId *string
noSmithyDocumentSerde
}
// The container for the regional bucket.
type RegionalBucket struct {
//
//
// This member is required.
Bucket *string
// The creation date of the regional bucket
//
// This member is required.
CreationDate *time.Time
//
//
// This member is required.
PublicAccessBlockEnabled bool
// The Amazon Resource Name (ARN) for the regional bucket.
BucketArn *string
// The Outposts ID of the regional bucket.
OutpostId *string
noSmithyDocumentSerde
}
// A combination of a bucket and Region that's part of a Multi-Region Access Point.
type RegionReport struct {
// The name of the bucket.
Bucket *string
// The Amazon Web Services account ID that owns the Amazon S3 bucket that's
// associated with this Multi-Region Access Point.
BucketAccountId *string
// The name of the Region.
Region *string
noSmithyDocumentSerde
}
// A filter that you can use to specify whether replica modification sync is
// enabled. S3 on Outposts replica modification sync can help you keep object
// metadata synchronized between replicas and source objects. By default, S3 on
// Outposts replicates metadata from the source objects to the replicas only. When
// replica modification sync is enabled, S3 on Outposts replicates metadata changes
// made to the replica copies back to the source object, making the replication
// bidirectional. To replicate object metadata modifications on replicas, you can
// specify this element and set the Status of this element to Enabled . You must
// enable replica modification sync on the source and destination buckets to
// replicate replica metadata changes between the source and the replicas.
type ReplicaModifications struct {
// Specifies whether S3 on Outposts replicates modifications to object metadata on
// replicas.
//
// This member is required.
Status ReplicaModificationsStatus
noSmithyDocumentSerde
}
// A container for one or more replication rules. A replication configuration must
// have at least one rule and you can add up to 100 rules. The maximum size of a
// replication configuration is 128 KB.
type ReplicationConfiguration struct {
// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role
// that S3 on Outposts assumes when replicating objects. For information about S3
// replication on Outposts configuration, see Setting up replication (https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-replication-how-setup.html)
// in the Amazon S3 User Guide.
//
// This member is required.
Role *string
// A container for one or more replication rules. A replication configuration must
// have at least one rule and can contain an array of 100 rules at the most.
//
// This member is required.
Rules []ReplicationRule
noSmithyDocumentSerde
}
// Specifies which S3 on Outposts objects to replicate and where to store the
// replicas.
type ReplicationRule struct {
// The Amazon Resource Name (ARN) of the access point for the source Outposts
// bucket that you want S3 on Outposts to replicate the objects from.
//
// This member is required.
Bucket *string
// A container for information about the replication destination and its
// configurations.
//
// This member is required.
Destination *Destination
// Specifies whether the rule is enabled.
//
// This member is required.
Status ReplicationRuleStatus
// Specifies whether S3 on Outposts replicates delete markers. If you specify a
// Filter element in your replication configuration, you must also include a
// DeleteMarkerReplication element. If your Filter includes a Tag element, the
// DeleteMarkerReplication element's Status child element must be set to Disabled ,
// because S3 on Outposts doesn't support replicating delete markers for tag-based
// rules. For more information about delete marker replication, see How delete
// operations affect replication (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsReplication.html#outposts-replication-what-is-replicated)
// in the Amazon S3 User Guide.
DeleteMarkerReplication *DeleteMarkerReplication
// An optional configuration to replicate existing source bucket objects. This is
// not supported by Amazon S3 on Outposts buckets.
ExistingObjectReplication *ExistingObjectReplication
// A filter that identifies the subset of objects to which the replication rule
// applies. A Filter element must specify exactly one Prefix , Tag , or And child
// element.
Filter *ReplicationRuleFilter
// A unique identifier for the rule. The maximum value is 255 characters.
ID *string
// An object key name prefix that identifies the object or objects to which the
// rule applies. The maximum prefix length is 1,024 characters. To include all
// objects in an Outposts bucket, specify an empty string. When you're using XML
// requests, you must replace special characters (such as carriage returns) in
// object keys with their equivalent XML entity codes. For more information, see
// XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints)
// in the Amazon S3 User Guide.
//
// Deprecated: Prefix has been deprecated
Prefix *string
// The priority indicates which rule has precedence whenever two or more
// replication rules conflict. S3 on Outposts attempts to replicate objects
// according to all replication rules. However, if there are two or more rules with
// the same destination Outposts bucket, then objects will be replicated according
// to the rule with the highest priority. The higher the number, the higher the
// priority. For more information, see Creating replication rules on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-between-outposts.html)
// in the Amazon S3 User Guide.
Priority *int32
// A container that describes additional filters for identifying the source
// Outposts objects that you want to replicate. You can choose to enable or disable
// the replication of these objects.
SourceSelectionCriteria *SourceSelectionCriteria
noSmithyDocumentSerde
}
// A container for specifying rule filters. The filters determine the subset of
// objects to which the rule applies. This element is required only if you specify
// more than one filter. For example:
// - If you specify both a Prefix and a Tag filter, wrap these filters in an And
// element.
// - If you specify a filter based on multiple tags, wrap the Tag elements in an
// And element.
type ReplicationRuleAndOperator struct {
// An object key name prefix that identifies the subset of objects that the rule
// applies to.
Prefix *string
// An array of tags that contain key and value pairs.
Tags []S3Tag
noSmithyDocumentSerde
}
// A filter that identifies the subset of objects to which the replication rule
// applies. A Filter element must specify exactly one Prefix , Tag , or And child
// element.
type ReplicationRuleFilter struct {
// A container for specifying rule filters. The filters determine the subset of
// objects that the rule applies to. This element is required only if you specify
// more than one filter. For example:
// - If you specify both a Prefix and a Tag filter, wrap these filters in an And
// element.
// - If you specify a filter based on multiple tags, wrap the Tag elements in an
// And element.
And *ReplicationRuleAndOperator
// An object key name prefix that identifies the subset of objects that the rule
// applies to. When you're using XML requests, you must replace special characters
// (such as carriage returns) in object keys with their equivalent XML entity
// codes. For more information, see XML-related object key constraints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints)
// in the Amazon S3 User Guide.
Prefix *string
// A container for a key-value name pair.
Tag *S3Tag
noSmithyDocumentSerde
}
// A container that specifies S3 Replication Time Control (S3 RTC) related
// information, including whether S3 RTC is enabled and the time when all objects
// and operations on objects must be replicated. This is not supported by Amazon S3
// on Outposts buckets.
type ReplicationTime struct {
// Specifies whether S3 Replication Time Control (S3 RTC) is enabled.
//
// This member is required.
Status ReplicationTimeStatus
// A container that specifies the time by which replication should be complete for
// all objects and operations on objects.
//
// This member is required.
Time *ReplicationTimeValue
noSmithyDocumentSerde
}
// A container that specifies the time value for S3 Replication Time Control (S3
// RTC). This value is also used for the replication metrics EventThreshold
// element. This is not supported by Amazon S3 on Outposts buckets.
type ReplicationTimeValue struct {
// Contains an integer that specifies the time period in minutes. Valid value: 15
Minutes *int32
noSmithyDocumentSerde
}
type S3AccessControlList struct {
//
//
// This member is required.
Owner *S3ObjectOwner
//
Grants []S3Grant
noSmithyDocumentSerde
}
type S3AccessControlPolicy struct {
//
AccessControlList *S3AccessControlList
//
CannedAccessControlList S3CannedAccessControlList
noSmithyDocumentSerde
}
// A container for the bucket where the Amazon S3 Storage Lens metrics export
// files are located.
type S3BucketDestination struct {
// The account ID of the owner of the S3 Storage Lens metrics export bucket.
//
// This member is required.
AccountId *string
// The Amazon Resource Name (ARN) of the bucket. This property is read-only and
// follows the following format:
// arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name
//
// This member is required.
Arn *string
//
//
// This member is required.
Format Format
// The schema version of the export file.
//
// This member is required.
OutputSchemaVersion OutputSchemaVersion
// The container for the type encryption of the metrics exports in this bucket.
Encryption *StorageLensDataExportEncryption
// The prefix of the destination bucket where the metrics export will be delivered.
Prefix *string
noSmithyDocumentSerde
}
// Contains the configuration parameters for a PUT Copy object operation. S3 Batch
// Operations passes every object to the underlying CopyObject API operation. For
// more information about the parameters for this operation, see CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html)
// .
type S3CopyObjectOperation struct {
// This functionality is not supported by directory buckets.
AccessControlGrants []S3Grant
// Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
// with server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting
// this header to true causes Amazon S3 to use an S3 Bucket Key for object
// encryption with SSE-KMS. Specifying this header with an object action doesn’t
// affect bucket-level settings for S3 Bucket Key. This functionality is not
// supported by directory buckets.
BucketKeyEnabled bool
// This functionality is not supported by directory buckets.
CannedAccessControlList S3CannedAccessControlList
// Indicates the algorithm that you want Amazon S3 to use to create the checksum.
// For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumAlgorithm S3ChecksumAlgorithm
//
MetadataDirective S3MetadataDirective
//
ModifiedSinceConstraint *time.Time
// If you don't provide this parameter, Amazon S3 copies all the metadata from the
// original objects. If you specify an empty set, the new objects will have no
// tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects.
NewObjectMetadata *S3ObjectMetadata
// Specifies a list of tags to add to the destination objects after they are
// copied. If NewObjectTagging is not specified, the tags of the source objects
// are copied to destination objects by default. Directory buckets - Tags aren't
// supported by directory buckets. If your source objects have tags and your
// destination bucket is a directory bucket, specify an empty tag set in the
// NewObjectTagging field to prevent copying the source object tags to the
// directory bucket.
NewObjectTagging []S3Tag
// The legal hold status to be applied to all objects in the Batch Operations job.
// This functionality is not supported by directory buckets.
ObjectLockLegalHoldStatus S3ObjectLockLegalHoldStatus
// The retention mode to be applied to all objects in the Batch Operations job.
// This functionality is not supported by directory buckets.
ObjectLockMode S3ObjectLockMode
// The date when the applied object retention configuration expires on all objects
// in the Batch Operations job. This functionality is not supported by directory
// buckets.
ObjectLockRetainUntilDate *time.Time
// If the destination bucket is configured as a website, specifies an optional
// metadata property for website redirects, x-amz-website-redirect-location .
// Allows webpage redirects if the object copy is accessed through a website
// endpoint. This functionality is not supported by directory buckets.
RedirectLocation *string
// This functionality is not supported by directory buckets.
RequesterPays bool
// This functionality is not supported by directory buckets.
SSEAwsKmsKeyId *string
// Specify the storage class for the destination objects in a Copy operation.
// Directory buckets - This functionality is not supported by directory buckets.
StorageClass S3StorageClass
// Specifies the folder prefix that you want the objects to be copied into. For
// example, to copy objects into a folder named Folder1 in the destination bucket,
// set the TargetKeyPrefix property to Folder1 .
TargetKeyPrefix *string
// Specifies the destination bucket Amazon Resource Name (ARN) for the batch copy
// operation.
// - General purpose buckets - For example, to copy objects to a general purpose
// bucket named destinationBucket , set the TargetResource property to
// arn:aws:s3:::destinationBucket .
// - Directory buckets - For example, to copy objects to a directory bucket
// named destinationBucket in the Availability Zone; identified by the AZ ID
// usw2-az2 , set the TargetResource property to
// arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az2--x-s3
// .
TargetResource *string
//
UnModifiedSinceConstraint *time.Time
noSmithyDocumentSerde
}
// Contains no configuration parameters because the DELETE Object tagging (
// DeleteObjectTagging ) API operation accepts only the bucket name and key name as
// parameters, which are defined in the job's manifest.
type S3DeleteObjectTaggingOperation struct {
noSmithyDocumentSerde
}
// Describes the specified job's generated manifest. Batch Operations jobs created
// with a ManifestGenerator populate details of this descriptor after execution of
// the ManifestGenerator.
type S3GeneratedManifestDescriptor struct {
// The format of the generated manifest.
Format GeneratedManifestFormat
// Contains the information required to locate a manifest object. Manifests can't
// be imported from directory buckets. For more information, see Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
// .
Location *JobManifestLocation
noSmithyDocumentSerde
}
type S3Grant struct {
//
Grantee *S3Grantee
//
Permission S3Permission
noSmithyDocumentSerde
}
type S3Grantee struct {
//
DisplayName *string
//
Identifier *string
//
TypeIdentifier S3GranteeTypeIdentifier
noSmithyDocumentSerde
}
// Contains the configuration parameters for a POST Object restore job. S3 Batch
// Operations passes every object to the underlying RestoreObject API operation.
// For more information about the parameters for this operation, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request)
// .
type S3InitiateRestoreObjectOperation struct {
// This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive
// object remains available in Amazon S3. S3 Initiate Restore Object jobs that
// target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays
// set to 1 or greater. Conversely, do not set ExpirationInDays when creating S3
// Initiate Restore Object jobs that target S3 Intelligent-Tiering Archive Access
// and Deep Archive Access tier objects. Objects in S3 Intelligent-Tiering archive
// access tiers are not subject to restore expiry, so specifying ExpirationInDays
// results in restore request failure. S3 Batch Operations jobs can operate either
// on S3 Glacier and S3 Glacier Deep Archive storage class objects or on S3
// Intelligent-Tiering Archive Access and Deep Archive Access storage tier objects,
// but not both types in the same job. If you need to restore objects of both types
// you must create separate Batch Operations jobs.
ExpirationInDays *int32
// S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the
// EXPEDITED retrieval tier.
GlacierJobTier S3GlacierJobTier
noSmithyDocumentSerde
}
// The container for the service that will create the S3 manifest.
type S3JobManifestGenerator struct {
// Determines whether or not to write the job's generated manifest to a bucket.
//
// This member is required.
EnableManifestOutput bool
// The source bucket used by the ManifestGenerator. Directory buckets - Directory
// buckets aren't supported as the source buckets used by S3JobManifestGenerator
// to generate the job manifest.
//
// This member is required.
SourceBucket *string
// The Amazon Web Services account ID that owns the bucket the generated manifest
// is written to. If provided the generated manifest bucket's owner Amazon Web
// Services account ID must match this value, else the job fails.
ExpectedBucketOwner *string
// Specifies rules the S3JobManifestGenerator should use to decide whether an
// object in the source bucket should or should not be included in the generated
// job manifest.
Filter *JobManifestGeneratorFilter
// Specifies the location the generated manifest will be written to. Manifests
// can't be written to directory buckets. For more information, see Directory
// buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
// .
ManifestOutputLocation *S3ManifestOutputLocation
noSmithyDocumentSerde
}
// Location details for where the generated manifest should be written.
type S3ManifestOutputLocation struct {
// The bucket ARN the generated manifest should be written to. Directory buckets -
// Directory buckets aren't supported as the buckets to store the generated
// manifest.
//
// This member is required.
Bucket *string
// The format of the generated manifest.
//
// This member is required.
ManifestFormat GeneratedManifestFormat
// The Account ID that owns the bucket the generated manifest is written to.
ExpectedManifestBucketOwner *string
// Specifies what encryption should be used when the generated manifest objects
// are written.
ManifestEncryption *GeneratedManifestEncryption
// Prefix identifying one or more objects to which the manifest applies.
ManifestPrefix *string
noSmithyDocumentSerde
}
// Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch
// Operations job.
type S3ObjectLockLegalHold struct {
// The Object Lock legal hold status to be applied to all objects in the Batch
// Operations job.
//
// This member is required.
Status S3ObjectLockLegalHoldStatus
noSmithyDocumentSerde
}
type S3ObjectMetadata struct {
//
CacheControl *string
//
ContentDisposition *string
//
ContentEncoding *string
//
ContentLanguage *string
// This member has been deprecated.
ContentLength *int64
// This member has been deprecated.
ContentMD5 *string
//
ContentType *string
//
HttpExpiresDate *time.Time
// This member has been deprecated.
RequesterCharged bool
// For directory buckets, only the server-side encryption with Amazon S3 managed
// keys (SSE-S3) ( AES256 ) is supported.
SSEAlgorithm S3SSEAlgorithm
//
UserMetadata map[string]string
noSmithyDocumentSerde
}
type S3ObjectOwner struct {
//
DisplayName *string
//
ID *string
noSmithyDocumentSerde
}
// Directs the specified job to invoke ReplicateObject on every object in the
// job's manifest.
type S3ReplicateObjectOperation struct {
noSmithyDocumentSerde
}
// Contains the S3 Object Lock retention mode to be applied to all objects in the
// S3 Batch Operations job. If you don't provide Mode and RetainUntilDate data
// types in your operation, you will remove the retention from your objects. For
// more information, see Using S3 Object Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html)
// in the Amazon S3 User Guide.
type S3Retention struct {
// The Object Lock retention mode to be applied to all objects in the Batch
// Operations job.
Mode S3ObjectLockRetentionMode
// The date when the applied Object Lock retention will expire on all objects set
// by the Batch Operations job.
RetainUntilDate *time.Time
noSmithyDocumentSerde
}
// Contains the configuration parameters for a PUT Object ACL operation. S3 Batch
// Operations passes every object to the underlying PutObjectAcl API operation.
// For more information about the parameters for this operation, see PutObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html)
// .
type S3SetObjectAclOperation struct {
//
AccessControlPolicy *S3AccessControlPolicy
noSmithyDocumentSerde
}
// Contains the configuration for an S3 Object Lock legal hold operation that an
// S3 Batch Operations job passes to every object to the underlying
// PutObjectLegalHold API operation. For more information, see Using S3 Object
// Lock legal hold with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html)
// in the Amazon S3 User Guide. This functionality is not supported by directory
// buckets.
type S3SetObjectLegalHoldOperation struct {
// Contains the Object Lock legal hold status to be applied to all objects in the
// Batch Operations job.
//
// This member is required.
LegalHold *S3ObjectLockLegalHold
noSmithyDocumentSerde
}
// Contains the configuration parameters for the Object Lock retention action for
// an S3 Batch Operations job. Batch Operations passes every object to the
// underlying PutObjectRetention API operation. For more information, see Using S3
// Object Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html)
// in the Amazon S3 User Guide. This functionality is not supported by directory
// buckets.
type S3SetObjectRetentionOperation struct {
// Contains the Object Lock retention mode to be applied to all objects in the
// Batch Operations job. For more information, see Using S3 Object Lock retention
// with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html)
// in the Amazon S3 User Guide.
//
// This member is required.
Retention *S3Retention
// Indicates if the action should be applied to objects in the Batch Operations
// job even if they have Object Lock GOVERNANCE type in place.
BypassGovernanceRetention *bool
noSmithyDocumentSerde
}
// Contains the configuration parameters for a PUT Object Tagging operation. S3
// Batch Operations passes every object to the underlying PutObjectTagging API
// operation. For more information about the parameters for this operation, see
// PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html)
// .
type S3SetObjectTaggingOperation struct {
//
TagSet []S3Tag
noSmithyDocumentSerde
}
// A container for a key-value name pair.
type S3Tag struct {
// Key of the tag
//
// This member is required.
Key *string
// Value of the tag
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
type SelectionCriteria struct {
// A container for the delimiter of the selection criteria being used.
Delimiter *string
// The max depth of the selection criteria
MaxDepth *int32
// The minimum number of storage bytes percentage whose metrics will be selected.
// You must choose a value greater than or equal to 1.0 .
MinStorageBytesPercentage *float64
noSmithyDocumentSerde
}
// A container that describes additional filters for identifying the source
// objects that you want to replicate. You can choose to enable or disable the
// replication of these objects.
type SourceSelectionCriteria struct {
// A filter that you can use to specify whether replica modification sync is
// enabled. S3 on Outposts replica modification sync can help you keep object
// metadata synchronized between replicas and source objects. By default, S3 on
// Outposts replicates metadata from the source objects to the replicas only. When
// replica modification sync is enabled, S3 on Outposts replicates metadata changes
// made to the replica copies back to the source object, making the replication
// bidirectional. To replicate object metadata modifications on replicas, you can
// specify this element and set the Status of this element to Enabled . You must
// enable replica modification sync on the source and destination buckets to
// replicate replica metadata changes between the source and the replicas.
ReplicaModifications *ReplicaModifications
// A filter that you can use to select Amazon S3 objects that are encrypted with
// server-side encryption by using Key Management Service (KMS) keys. If you
// include SourceSelectionCriteria in the replication configuration, this element
// is required. This is not supported by Amazon S3 on Outposts buckets.
SseKmsEncryptedObjects *SseKmsEncryptedObjects
noSmithyDocumentSerde
}
type SSEKMS struct {
// A container for the ARN of the SSE-KMS encryption. This property is read-only
// and follows the following format:
// arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e
//
// This member is required.
KeyId *string
noSmithyDocumentSerde
}
// A container for filter information that you can use to select S3 objects that
// are encrypted with Key Management Service (KMS). This is not supported by Amazon
// S3 on Outposts buckets.
type SseKmsEncryptedObjects struct {
// Specifies whether Amazon S3 replicates objects that are created with
// server-side encryption by using an KMS key stored in Key Management Service.
//
// This member is required.
Status SseKmsEncryptedObjectsStatus
noSmithyDocumentSerde
}
// Configuration for the use of SSE-KMS to encrypt generated manifest objects.
type SSEKMSEncryption struct {
// Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web
// Services KMS) symmetric encryption customer managed key to use for encrypting
// generated manifest objects.
//
// This member is required.
KeyId *string
noSmithyDocumentSerde
}
type SSES3 struct {
noSmithyDocumentSerde
}
// Configuration for the use of SSE-S3 to encrypt generated manifest objects.
type SSES3Encryption struct {
noSmithyDocumentSerde
}
// The Amazon Web Services organization for your S3 Storage Lens.
type StorageLensAwsOrg struct {
// A container for the Amazon Resource Name (ARN) of the Amazon Web Services
// organization. This property is read-only and follows the following format:
// arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck
//
// This member is required.
Arn *string
noSmithyDocumentSerde
}
// A container for the Amazon S3 Storage Lens configuration.
type StorageLensConfiguration struct {
// A container for all the account-level configurations of your S3 Storage Lens
// configuration.
//
// This member is required.
AccountLevel *AccountLevel
// A container for the Amazon S3 Storage Lens configuration ID.
//
// This member is required.
Id *string
// A container for whether the S3 Storage Lens configuration is enabled.
//
// This member is required.
IsEnabled bool
// A container for the Amazon Web Services organization for this S3 Storage Lens
// configuration.
AwsOrg *StorageLensAwsOrg
// A container to specify the properties of your S3 Storage Lens metrics export
// including, the destination, schema and format.
DataExport *StorageLensDataExport
// A container for what is excluded in this configuration. This container can only
// be valid if there is no Include container submitted, and it's not empty.
Exclude *Exclude
// A container for what is included in this configuration. This container can only
// be valid if there is no Exclude container submitted, and it's not empty.
Include *Include
// The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This
// property is read-only and follows the following format:
// arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name
StorageLensArn *string
noSmithyDocumentSerde
}
// A container to specify the properties of your S3 Storage Lens metrics export,
// including the destination, schema, and format.
type StorageLensDataExport struct {
// A container for enabling Amazon CloudWatch publishing for S3 Storage Lens
// metrics.
CloudWatchMetrics *CloudWatchMetrics
// A container for the bucket where the S3 Storage Lens metrics export will be
// located. This bucket must be located in the same Region as the storage lens
// configuration.
S3BucketDestination *S3BucketDestination
noSmithyDocumentSerde
}
// A container for the encryption of the S3 Storage Lens metrics exports.
type StorageLensDataExportEncryption struct {
//
SSEKMS *SSEKMS
//
SSES3 *SSES3
noSmithyDocumentSerde
}
// A custom grouping of objects that include filters for prefixes, suffixes,
// object tags, object size, or object age. You can create an S3 Storage Lens group
// that includes a single filter or multiple filter conditions. To specify multiple
// filter conditions, you use AND or OR logical operators.
type StorageLensGroup struct {
// Sets the criteria for the Storage Lens group data that is displayed. For
// multiple filter conditions, the AND or OR logical operator is used.
//
// This member is required.
Filter *StorageLensGroupFilter
// Contains the name of the Storage Lens group.
//
// This member is required.
Name *string
// Contains the Amazon Resource Name (ARN) of the Storage Lens group. This
// property is read-only.
StorageLensGroupArn *string
noSmithyDocumentSerde
}
// A logical operator that allows multiple filter conditions to be joined for more
// complex comparisons of Storage Lens group data.
type StorageLensGroupAndOperator struct {
// Contains a list of prefixes. At least one prefix must be specified. Up to 10
// prefixes are allowed.
MatchAnyPrefix []string
// Contains a list of suffixes. At least one suffix must be specified. Up to 10
// suffixes are allowed.
MatchAnySuffix []string
// Contains the list of object tags. At least one object tag must be specified. Up
// to 10 object tags are allowed.
MatchAnyTag []S3Tag
// Contains DaysGreaterThan and DaysLessThan to define the object age range
// (minimum and maximum number of days).
MatchObjectAge *MatchObjectAge
// Contains BytesGreaterThan and BytesLessThan to define the object size range
// (minimum and maximum number of Bytes).
MatchObjectSize *MatchObjectSize
noSmithyDocumentSerde
}
// The filter element sets the criteria for the Storage Lens group data that is
// displayed. For multiple filter conditions, the AND or OR logical operator is
// used.
type StorageLensGroupFilter struct {
// A logical operator that allows multiple filter conditions to be joined for more
// complex comparisons of Storage Lens group data. Objects must match all of the
// listed filter conditions that are joined by the And logical operator. Only one
// of each filter condition is allowed.
And *StorageLensGroupAndOperator
// Contains a list of prefixes. At least one prefix must be specified. Up to 10
// prefixes are allowed.
MatchAnyPrefix []string
// Contains a list of suffixes. At least one suffix must be specified. Up to 10
// suffixes are allowed.
MatchAnySuffix []string
// Contains the list of S3 object tags. At least one object tag must be specified.
// Up to 10 object tags are allowed.
MatchAnyTag []S3Tag
// Contains DaysGreaterThan and DaysLessThan to define the object age range
// (minimum and maximum number of days).
MatchObjectAge *MatchObjectAge
// Contains BytesGreaterThan and BytesLessThan to define the object size range
// (minimum and maximum number of Bytes).
MatchObjectSize *MatchObjectSize
// A single logical operator that allows multiple filter conditions to be joined.
// Objects can match any of the listed filter conditions, which are joined by the
// Or logical operator. Only one of each filter condition is allowed.
Or *StorageLensGroupOrOperator
noSmithyDocumentSerde
}
// Specifies the Storage Lens groups to include in the Storage Lens group
// aggregation.
type StorageLensGroupLevel struct {
// Indicates which Storage Lens group ARNs to include or exclude in the Storage
// Lens group aggregation. If this value is left null, then all Storage Lens groups
// are selected.
SelectionCriteria *StorageLensGroupLevelSelectionCriteria
noSmithyDocumentSerde
}
// Indicates which Storage Lens group ARNs to include or exclude in the Storage
// Lens group aggregation. You can only attach Storage Lens groups to your Storage
// Lens dashboard if they're included in your Storage Lens group aggregation. If
// this value is left null, then all Storage Lens groups are selected.
type StorageLensGroupLevelSelectionCriteria struct {
// Indicates which Storage Lens group ARNs to exclude from the Storage Lens group
// aggregation.
Exclude []string
// Indicates which Storage Lens group ARNs to include in the Storage Lens group
// aggregation.
Include []string
noSmithyDocumentSerde
}
// A container element for specifying Or rule conditions. The rule conditions
// determine the subset of objects to which the Or rule applies. Objects can match
// any of the listed filter conditions, which are joined by the Or logical
// operator. Only one of each filter condition is allowed.
type StorageLensGroupOrOperator struct {
// Filters objects that match any of the specified prefixes.
MatchAnyPrefix []string
// Filters objects that match any of the specified suffixes.
MatchAnySuffix []string
// Filters objects that match any of the specified S3 object tags.
MatchAnyTag []S3Tag
// Filters objects that match the specified object age range.
MatchObjectAge *MatchObjectAge
// Filters objects that match the specified object size range.
MatchObjectSize *MatchObjectSize
noSmithyDocumentSerde
}
type StorageLensTag struct {
//
//
// This member is required.
Key *string
//
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
// An Amazon Web Services resource tag that's associated with your S3 resource.
// You can add tags to new objects when you upload them, or you can add object tags
// to existing objects. This operation is only supported for S3 Storage Lens groups (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-groups.html)
// and for S3 Access Grants (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-tagging.html)
// . The tagged resource can be an S3 Storage Lens group or S3 Access Grants
// instance, registered location, or grant.
type Tag struct {
// The key of the key-value pair of a tag added to your Amazon Web Services
// resource. A tag key can be up to 128 Unicode characters in length and is
// case-sensitive. System created tags that begin with aws: aren’t supported.
//
// This member is required.
Key *string
// The value of the key-value pair of a tag added to your Amazon Web Services
// resource. A tag value can be up to 256 Unicode characters in length and is
// case-sensitive.
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
type Tagging struct {
// A collection for a set of tags.
//
// This member is required.
TagSet []S3Tag
noSmithyDocumentSerde
}
// Specifies when an object transitions to a specified storage class. For more
// information about Amazon S3 Lifecycle configuration rules, see Transitioning
// objects using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html)
// in the Amazon S3 User Guide.
type Transition struct {
// Indicates when objects are transitioned to the specified storage class. The
// date value must be in ISO 8601 format. The time is always midnight UTC.
Date *time.Time
// Indicates the number of days after creation when objects are transitioned to
// the specified storage class. The value must be a positive integer.
Days int32
// The storage class to which you want the object to transition.
StorageClass TransitionStorageClass
noSmithyDocumentSerde
}
// Describes the versioning state of an Amazon S3 on Outposts bucket. For more
// information, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketVersioning.html)
// .
type VersioningConfiguration struct {
// Specifies whether MFA delete is enabled or disabled in the bucket versioning
// configuration for the S3 on Outposts bucket.
MFADelete MFADelete
// Sets the versioning state of the S3 on Outposts bucket.
Status BucketVersioningStatus
noSmithyDocumentSerde
}
// The virtual private cloud (VPC) configuration for an access point.
type VpcConfiguration struct {
// If this field is specified, this access point will only allow connections from
// the specified VPC ID.
//
// This member is required.
VpcId *string
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde
// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
Tag string
Value []byte
noSmithyDocumentSerde
}
func (*UnknownUnionMember) isJobManifestGenerator() {}
func (*UnknownUnionMember) isObjectLambdaContentTransformation() {}
|