appflow.d.ts 75.1 KB
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
import {Request} from '../lib/request';
import {Response} from '../lib/response';
import {AWSError} from '../lib/error';
import {Service} from '../lib/service';
import {ServiceConfigurationOptions} from '../lib/service';
import {ConfigBase as Config} from '../lib/config-base';
interface Blob {}
declare class Appflow extends Service {
  /**
   * Constructs a service object. This object has one method for each API operation.
   */
  constructor(options?: Appflow.Types.ClientConfiguration)
  config: Config & Appflow.Types.ClientConfiguration;
  /**
   *  Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. 
   */
  createConnectorProfile(params: Appflow.Types.CreateConnectorProfileRequest, callback?: (err: AWSError, data: Appflow.Types.CreateConnectorProfileResponse) => void): Request<Appflow.Types.CreateConnectorProfileResponse, AWSError>;
  /**
   *  Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. 
   */
  createConnectorProfile(callback?: (err: AWSError, data: Appflow.Types.CreateConnectorProfileResponse) => void): Request<Appflow.Types.CreateConnectorProfileResponse, AWSError>;
  /**
   *  Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once. 
   */
  createFlow(params: Appflow.Types.CreateFlowRequest, callback?: (err: AWSError, data: Appflow.Types.CreateFlowResponse) => void): Request<Appflow.Types.CreateFlowResponse, AWSError>;
  /**
   *  Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once. 
   */
  createFlow(callback?: (err: AWSError, data: Appflow.Types.CreateFlowResponse) => void): Request<Appflow.Types.CreateFlowResponse, AWSError>;
  /**
   *  Enables you to delete an existing connector profile. 
   */
  deleteConnectorProfile(params: Appflow.Types.DeleteConnectorProfileRequest, callback?: (err: AWSError, data: Appflow.Types.DeleteConnectorProfileResponse) => void): Request<Appflow.Types.DeleteConnectorProfileResponse, AWSError>;
  /**
   *  Enables you to delete an existing connector profile. 
   */
  deleteConnectorProfile(callback?: (err: AWSError, data: Appflow.Types.DeleteConnectorProfileResponse) => void): Request<Appflow.Types.DeleteConnectorProfileResponse, AWSError>;
  /**
   *  Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time. 
   */
  deleteFlow(params: Appflow.Types.DeleteFlowRequest, callback?: (err: AWSError, data: Appflow.Types.DeleteFlowResponse) => void): Request<Appflow.Types.DeleteFlowResponse, AWSError>;
  /**
   *  Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time. 
   */
  deleteFlow(callback?: (err: AWSError, data: Appflow.Types.DeleteFlowResponse) => void): Request<Appflow.Types.DeleteFlowResponse, AWSError>;
  /**
   *  Provides details regarding the entity used with the connector, with a description of the data model for each entity. 
   */
  describeConnectorEntity(params: Appflow.Types.DescribeConnectorEntityRequest, callback?: (err: AWSError, data: Appflow.Types.DescribeConnectorEntityResponse) => void): Request<Appflow.Types.DescribeConnectorEntityResponse, AWSError>;
  /**
   *  Provides details regarding the entity used with the connector, with a description of the data model for each entity. 
   */
  describeConnectorEntity(callback?: (err: AWSError, data: Appflow.Types.DescribeConnectorEntityResponse) => void): Request<Appflow.Types.DescribeConnectorEntityResponse, AWSError>;
  /**
   *  Returns a list of connector-profile details matching the provided connector-profile names and connector-types. Both input lists are optional, and you can use them to filter the result.  If no names or connector-types are provided, returns all connector profiles in a paginated form. If there is no match, this operation returns an empty list.
   */
  describeConnectorProfiles(params: Appflow.Types.DescribeConnectorProfilesRequest, callback?: (err: AWSError, data: Appflow.Types.DescribeConnectorProfilesResponse) => void): Request<Appflow.Types.DescribeConnectorProfilesResponse, AWSError>;
  /**
   *  Returns a list of connector-profile details matching the provided connector-profile names and connector-types. Both input lists are optional, and you can use them to filter the result.  If no names or connector-types are provided, returns all connector profiles in a paginated form. If there is no match, this operation returns an empty list.
   */
  describeConnectorProfiles(callback?: (err: AWSError, data: Appflow.Types.DescribeConnectorProfilesResponse) => void): Request<Appflow.Types.DescribeConnectorProfilesResponse, AWSError>;
  /**
   *  Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If there are more connectors than can be returned in one page, the response contains a nextToken object, which can be be passed in to the next call to the DescribeConnectors API operation to retrieve the next page. 
   */
  describeConnectors(params: Appflow.Types.DescribeConnectorsRequest, callback?: (err: AWSError, data: Appflow.Types.DescribeConnectorsResponse) => void): Request<Appflow.Types.DescribeConnectorsResponse, AWSError>;
  /**
   *  Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If there are more connectors than can be returned in one page, the response contains a nextToken object, which can be be passed in to the next call to the DescribeConnectors API operation to retrieve the next page. 
   */
  describeConnectors(callback?: (err: AWSError, data: Appflow.Types.DescribeConnectorsResponse) => void): Request<Appflow.Types.DescribeConnectorsResponse, AWSError>;
  /**
   *  Provides a description of the specified flow. 
   */
  describeFlow(params: Appflow.Types.DescribeFlowRequest, callback?: (err: AWSError, data: Appflow.Types.DescribeFlowResponse) => void): Request<Appflow.Types.DescribeFlowResponse, AWSError>;
  /**
   *  Provides a description of the specified flow. 
   */
  describeFlow(callback?: (err: AWSError, data: Appflow.Types.DescribeFlowResponse) => void): Request<Appflow.Types.DescribeFlowResponse, AWSError>;
  /**
   *  Fetches the execution history of the flow. 
   */
  describeFlowExecutionRecords(params: Appflow.Types.DescribeFlowExecutionRecordsRequest, callback?: (err: AWSError, data: Appflow.Types.DescribeFlowExecutionRecordsResponse) => void): Request<Appflow.Types.DescribeFlowExecutionRecordsResponse, AWSError>;
  /**
   *  Fetches the execution history of the flow. 
   */
  describeFlowExecutionRecords(callback?: (err: AWSError, data: Appflow.Types.DescribeFlowExecutionRecordsResponse) => void): Request<Appflow.Types.DescribeFlowExecutionRecordsResponse, AWSError>;
  /**
   *  Returns the list of available connector entities supported by Amazon AppFlow. For example, you can query Salesforce for Account and Opportunity entities, or query ServiceNow for the Incident entity. 
   */
  listConnectorEntities(params: Appflow.Types.ListConnectorEntitiesRequest, callback?: (err: AWSError, data: Appflow.Types.ListConnectorEntitiesResponse) => void): Request<Appflow.Types.ListConnectorEntitiesResponse, AWSError>;
  /**
   *  Returns the list of available connector entities supported by Amazon AppFlow. For example, you can query Salesforce for Account and Opportunity entities, or query ServiceNow for the Incident entity. 
   */
  listConnectorEntities(callback?: (err: AWSError, data: Appflow.Types.ListConnectorEntitiesResponse) => void): Request<Appflow.Types.ListConnectorEntitiesResponse, AWSError>;
  /**
   *  Lists all of the flows associated with your account. 
   */
  listFlows(params: Appflow.Types.ListFlowsRequest, callback?: (err: AWSError, data: Appflow.Types.ListFlowsResponse) => void): Request<Appflow.Types.ListFlowsResponse, AWSError>;
  /**
   *  Lists all of the flows associated with your account. 
   */
  listFlows(callback?: (err: AWSError, data: Appflow.Types.ListFlowsResponse) => void): Request<Appflow.Types.ListFlowsResponse, AWSError>;
  /**
   *  Retrieves the tags that are associated with a specified flow. 
   */
  listTagsForResource(params: Appflow.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: Appflow.Types.ListTagsForResourceResponse) => void): Request<Appflow.Types.ListTagsForResourceResponse, AWSError>;
  /**
   *  Retrieves the tags that are associated with a specified flow. 
   */
  listTagsForResource(callback?: (err: AWSError, data: Appflow.Types.ListTagsForResourceResponse) => void): Request<Appflow.Types.ListTagsForResourceResponse, AWSError>;
  /**
   *  Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow. 
   */
  startFlow(params: Appflow.Types.StartFlowRequest, callback?: (err: AWSError, data: Appflow.Types.StartFlowResponse) => void): Request<Appflow.Types.StartFlowResponse, AWSError>;
  /**
   *  Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow. 
   */
  startFlow(callback?: (err: AWSError, data: Appflow.Types.StartFlowResponse) => void): Request<Appflow.Types.StartFlowResponse, AWSError>;
  /**
   *  Deactivates the existing flow. For on-demand flows, this operation returns an unsupportedOperationException error message. For schedule and event-triggered flows, this operation deactivates the flow. 
   */
  stopFlow(params: Appflow.Types.StopFlowRequest, callback?: (err: AWSError, data: Appflow.Types.StopFlowResponse) => void): Request<Appflow.Types.StopFlowResponse, AWSError>;
  /**
   *  Deactivates the existing flow. For on-demand flows, this operation returns an unsupportedOperationException error message. For schedule and event-triggered flows, this operation deactivates the flow. 
   */
  stopFlow(callback?: (err: AWSError, data: Appflow.Types.StopFlowResponse) => void): Request<Appflow.Types.StopFlowResponse, AWSError>;
  /**
   *  Applies a tag to the specified flow. 
   */
  tagResource(params: Appflow.Types.TagResourceRequest, callback?: (err: AWSError, data: Appflow.Types.TagResourceResponse) => void): Request<Appflow.Types.TagResourceResponse, AWSError>;
  /**
   *  Applies a tag to the specified flow. 
   */
  tagResource(callback?: (err: AWSError, data: Appflow.Types.TagResourceResponse) => void): Request<Appflow.Types.TagResourceResponse, AWSError>;
  /**
   *  Removes a tag from the specified flow. 
   */
  untagResource(params: Appflow.Types.UntagResourceRequest, callback?: (err: AWSError, data: Appflow.Types.UntagResourceResponse) => void): Request<Appflow.Types.UntagResourceResponse, AWSError>;
  /**
   *  Removes a tag from the specified flow. 
   */
  untagResource(callback?: (err: AWSError, data: Appflow.Types.UntagResourceResponse) => void): Request<Appflow.Types.UntagResourceResponse, AWSError>;
  /**
   *  Updates a given connector profile associated with your account. 
   */
  updateConnectorProfile(params: Appflow.Types.UpdateConnectorProfileRequest, callback?: (err: AWSError, data: Appflow.Types.UpdateConnectorProfileResponse) => void): Request<Appflow.Types.UpdateConnectorProfileResponse, AWSError>;
  /**
   *  Updates a given connector profile associated with your account. 
   */
  updateConnectorProfile(callback?: (err: AWSError, data: Appflow.Types.UpdateConnectorProfileResponse) => void): Request<Appflow.Types.UpdateConnectorProfileResponse, AWSError>;
  /**
   *  Updates an existing flow. 
   */
  updateFlow(params: Appflow.Types.UpdateFlowRequest, callback?: (err: AWSError, data: Appflow.Types.UpdateFlowResponse) => void): Request<Appflow.Types.UpdateFlowResponse, AWSError>;
  /**
   *  Updates an existing flow. 
   */
  updateFlow(callback?: (err: AWSError, data: Appflow.Types.UpdateFlowResponse) => void): Request<Appflow.Types.UpdateFlowResponse, AWSError>;
}
declare namespace Appflow {
  export type ARN = string;
  export type AccessKeyId = string;
  export type AccessToken = string;
  export type AccountName = string;
  export interface AggregationConfig {
    /**
     *  Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated. 
     */
    aggregationType?: AggregationType;
  }
  export type AggregationType = "None"|"SingleFile"|string;
  export type AmplitudeConnectorOperator = "BETWEEN"|string;
  export interface AmplitudeConnectorProfileCredentials {
    /**
     *  A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. 
     */
    apiKey: ApiKey;
    /**
     *  The Secret Access Key portion of the credentials. 
     */
    secretKey: SecretKey;
  }
  export interface AmplitudeConnectorProfileProperties {
  }
  export interface AmplitudeMetadata {
  }
  export interface AmplitudeSourceProperties {
    /**
     *  The object specified in the Amplitude flow source. 
     */
    object: Object;
  }
  export type ApiKey = string;
  export type ApiSecretKey = string;
  export type ApiToken = string;
  export type ApplicationKey = string;
  export type AuthCode = string;
  export type Boolean = boolean;
  export type BucketName = string;
  export type BucketPrefix = string;
  export type ClientId = string;
  export type ClientSecret = string;
  export type ConnectionMode = "Public"|"Private"|string;
  export interface ConnectorConfiguration {
    /**
     *  Specifies whether the connector can be used as a source. 
     */
    canUseAsSource?: Boolean;
    /**
     *  Specifies whether the connector can be used as a destination. 
     */
    canUseAsDestination?: Boolean;
    /**
     *  Lists the connectors that are available for use as destinations. 
     */
    supportedDestinationConnectors?: ConnectorTypeList;
    /**
     *  Specifies the supported flow frequency for that connector. 
     */
    supportedSchedulingFrequencies?: SchedulingFrequencyTypeList;
    /**
     *  Specifies if PrivateLink is enabled for that connector. 
     */
    isPrivateLinkEnabled?: Boolean;
    /**
     *  Specifies if a PrivateLink endpoint URL is required. 
     */
    isPrivateLinkEndpointUrlRequired?: Boolean;
    /**
     *  Specifies the supported trigger types for the flow. 
     */
    supportedTriggerTypes?: TriggerTypeList;
    /**
     *  Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on. 
     */
    connectorMetadata?: ConnectorMetadata;
  }
  export type ConnectorConfigurationsMap = {[key: string]: ConnectorConfiguration};
  export interface ConnectorEntity {
    /**
     *  The name of the connector entity. 
     */
    name: Name;
    /**
     *  The label applied to the connector entity. 
     */
    label?: Label;
    /**
     *  Specifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = "the_current_entity_name_with_hasNestedEntities_true", then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion. 
     */
    hasNestedEntities?: Boolean;
  }
  export interface ConnectorEntityField {
    /**
     *  The unique identifier of the connector field. 
     */
    identifier: Identifier;
    /**
     *  The label applied to a connector entity field. 
     */
    label?: Label;
    /**
     *  Contains details regarding the supported FieldType, including the corresponding filterOperators and supportedValues. 
     */
    supportedFieldTypeDetails?: SupportedFieldTypeDetails;
    /**
     *  A description of the connector entity field. 
     */
    description?: Description;
    /**
     *  The properties that can be applied to a field when the connector is being used as a source. 
     */
    sourceProperties?: SourceFieldProperties;
    /**
     *  The properties applied to a field when the connector is being used as a destination. 
     */
    destinationProperties?: DestinationFieldProperties;
  }
  export type ConnectorEntityFieldList = ConnectorEntityField[];
  export type ConnectorEntityList = ConnectorEntity[];
  export type ConnectorEntityMap = {[key: string]: ConnectorEntityList};
  export interface ConnectorMetadata {
    /**
     *  The connector metadata specific to Amplitude. 
     */
    Amplitude?: AmplitudeMetadata;
    /**
     *  The connector metadata specific to Datadog. 
     */
    Datadog?: DatadogMetadata;
    /**
     *  The connector metadata specific to Dynatrace. 
     */
    Dynatrace?: DynatraceMetadata;
    /**
     *  The connector metadata specific to Google Analytics. 
     */
    GoogleAnalytics?: GoogleAnalyticsMetadata;
    /**
     *  The connector metadata specific to Infor Nexus. 
     */
    InforNexus?: InforNexusMetadata;
    /**
     *  The connector metadata specific to Marketo. 
     */
    Marketo?: MarketoMetadata;
    /**
     *  The connector metadata specific to Amazon Redshift. 
     */
    Redshift?: RedshiftMetadata;
    /**
     *  The connector metadata specific to Amazon S3. 
     */
    S3?: S3Metadata;
    /**
     *  The connector metadata specific to Salesforce. 
     */
    Salesforce?: SalesforceMetadata;
    /**
     *  The connector metadata specific to ServiceNow. 
     */
    ServiceNow?: ServiceNowMetadata;
    /**
     *  The connector metadata specific to Singular. 
     */
    Singular?: SingularMetadata;
    /**
     *  The connector metadata specific to Slack. 
     */
    Slack?: SlackMetadata;
    /**
     *  The connector metadata specific to Snowflake. 
     */
    Snowflake?: SnowflakeMetadata;
    /**
     *  The connector metadata specific to Trend Micro. 
     */
    Trendmicro?: TrendmicroMetadata;
    /**
     *  The connector metadata specific to Veeva. 
     */
    Veeva?: VeevaMetadata;
    /**
     *  The connector metadata specific to Zendesk. 
     */
    Zendesk?: ZendeskMetadata;
    /**
     *  The connector metadata specific to Amazon EventBridge. 
     */
    EventBridge?: EventBridgeMetadata;
  }
  export interface ConnectorOAuthRequest {
    /**
     *  The code provided by the connector when it has been authenticated via the connected app. 
     */
    authCode?: AuthCode;
    /**
     *  The URL to which the authentication server redirects the browser after authorization has been granted. 
     */
    redirectUri?: RedirectUri;
  }
  export interface ConnectorOperator {
    /**
     *  The operation to be performed on the provided Amplitude source fields. 
     */
    Amplitude?: AmplitudeConnectorOperator;
    /**
     *  The operation to be performed on the provided Datadog source fields. 
     */
    Datadog?: DatadogConnectorOperator;
    /**
     *  The operation to be performed on the provided Dynatrace source fields. 
     */
    Dynatrace?: DynatraceConnectorOperator;
    /**
     *  The operation to be performed on the provided Google Analytics source fields. 
     */
    GoogleAnalytics?: GoogleAnalyticsConnectorOperator;
    /**
     *  The operation to be performed on the provided Infor Nexus source fields. 
     */
    InforNexus?: InforNexusConnectorOperator;
    /**
     *  The operation to be performed on the provided Marketo source fields. 
     */
    Marketo?: MarketoConnectorOperator;
    /**
     *  The operation to be performed on the provided Amazon S3 source fields. 
     */
    S3?: S3ConnectorOperator;
    /**
     *  The operation to be performed on the provided Salesforce source fields. 
     */
    Salesforce?: SalesforceConnectorOperator;
    /**
     *  The operation to be performed on the provided ServiceNow source fields. 
     */
    ServiceNow?: ServiceNowConnectorOperator;
    /**
     *  The operation to be performed on the provided Singular source fields. 
     */
    Singular?: SingularConnectorOperator;
    /**
     *  The operation to be performed on the provided Slack source fields. 
     */
    Slack?: SlackConnectorOperator;
    /**
     *  The operation to be performed on the provided Trend Micro source fields. 
     */
    Trendmicro?: TrendmicroConnectorOperator;
    /**
     *  The operation to be performed on the provided Veeva source fields. 
     */
    Veeva?: VeevaConnectorOperator;
    /**
     *  The operation to be performed on the provided Zendesk source fields. 
     */
    Zendesk?: ZendeskConnectorOperator;
  }
  export interface ConnectorProfile {
    /**
     *  The Amazon Resource Name (ARN) of the connector profile. 
     */
    connectorProfileArn?: ConnectorProfileArn;
    /**
     *  The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. 
     */
    connectorProfileName?: ConnectorProfileName;
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorType?: ConnectorType;
    /**
     *  Indicates the connection mode and if it is public or private. 
     */
    connectionMode?: ConnectionMode;
    /**
     *  The Amazon Resource Name (ARN) of the connector profile credentials. 
     */
    credentialsArn?: ARN;
    /**
     *  The connector-specific properties of the profile configuration. 
     */
    connectorProfileProperties?: ConnectorProfileProperties;
    /**
     *  Specifies when the connector profile was created. 
     */
    createdAt?: _Date;
    /**
     *  Specifies when the connector profile was last updated. 
     */
    lastUpdatedAt?: _Date;
  }
  export type ConnectorProfileArn = string;
  export interface ConnectorProfileConfig {
    /**
     *  The connector-specific properties of the profile configuration. 
     */
    connectorProfileProperties: ConnectorProfileProperties;
    /**
     *  The connector-specific credentials required by each connector. 
     */
    connectorProfileCredentials: ConnectorProfileCredentials;
  }
  export interface ConnectorProfileCredentials {
    /**
     *  The connector-specific credentials required when using Amplitude. 
     */
    Amplitude?: AmplitudeConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Datadog. 
     */
    Datadog?: DatadogConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Dynatrace. 
     */
    Dynatrace?: DynatraceConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Google Analytics. 
     */
    GoogleAnalytics?: GoogleAnalyticsConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Infor Nexus. 
     */
    InforNexus?: InforNexusConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Marketo. 
     */
    Marketo?: MarketoConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Amazon Redshift. 
     */
    Redshift?: RedshiftConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Salesforce. 
     */
    Salesforce?: SalesforceConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using ServiceNow. 
     */
    ServiceNow?: ServiceNowConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Singular. 
     */
    Singular?: SingularConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Slack. 
     */
    Slack?: SlackConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Snowflake. 
     */
    Snowflake?: SnowflakeConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Trend Micro. 
     */
    Trendmicro?: TrendmicroConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Veeva. 
     */
    Veeva?: VeevaConnectorProfileCredentials;
    /**
     *  The connector-specific credentials required when using Zendesk. 
     */
    Zendesk?: ZendeskConnectorProfileCredentials;
  }
  export type ConnectorProfileDetailList = ConnectorProfile[];
  export type ConnectorProfileName = string;
  export type ConnectorProfileNameList = ConnectorProfileName[];
  export interface ConnectorProfileProperties {
    /**
     *  The connector-specific properties required by Amplitude. 
     */
    Amplitude?: AmplitudeConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Datadog. 
     */
    Datadog?: DatadogConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Dynatrace. 
     */
    Dynatrace?: DynatraceConnectorProfileProperties;
    /**
     *  The connector-specific properties required Google Analytics. 
     */
    GoogleAnalytics?: GoogleAnalyticsConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Infor Nexus. 
     */
    InforNexus?: InforNexusConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Marketo. 
     */
    Marketo?: MarketoConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Amazon Redshift. 
     */
    Redshift?: RedshiftConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Salesforce. 
     */
    Salesforce?: SalesforceConnectorProfileProperties;
    /**
     *  The connector-specific properties required by serviceNow. 
     */
    ServiceNow?: ServiceNowConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Singular. 
     */
    Singular?: SingularConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Slack. 
     */
    Slack?: SlackConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Snowflake. 
     */
    Snowflake?: SnowflakeConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Trend Micro. 
     */
    Trendmicro?: TrendmicroConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Veeva. 
     */
    Veeva?: VeevaConnectorProfileProperties;
    /**
     *  The connector-specific properties required by Zendesk. 
     */
    Zendesk?: ZendeskConnectorProfileProperties;
  }
  export type ConnectorType = "Salesforce"|"Singular"|"Slack"|"Redshift"|"S3"|"Marketo"|"Googleanalytics"|"Zendesk"|"Servicenow"|"Datadog"|"Trendmicro"|"Snowflake"|"Dynatrace"|"Infornexus"|"Amplitude"|"Veeva"|"EventBridge"|string;
  export type ConnectorTypeList = ConnectorType[];
  export interface CreateConnectorProfileRequest {
    /**
     *  The name of the connector profile. The name is unique for each ConnectorProfile in your AWS account. 
     */
    connectorProfileName: ConnectorProfileName;
    /**
     *  The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. 
     */
    kmsArn?: KMSArn;
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorType: ConnectorType;
    /**
     *  Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. 
     */
    connectionMode: ConnectionMode;
    /**
     *  Defines the connector-specific configuration and credentials. 
     */
    connectorProfileConfig: ConnectorProfileConfig;
  }
  export interface CreateConnectorProfileResponse {
    /**
     *  The Amazon Resource Name (ARN) of the connector profile. 
     */
    connectorProfileArn?: ConnectorProfileArn;
  }
  export interface CreateFlowRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
    /**
     *  A description of the flow you want to create. 
     */
    description?: FlowDescription;
    /**
     *  The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. 
     */
    kmsArn?: KMSArn;
    /**
     *  The trigger settings that determine how and when the flow runs. 
     */
    triggerConfig: TriggerConfig;
    /**
     *  The configuration that controls how Amazon AppFlow retrieves data from the source connector. 
     */
    sourceFlowConfig: SourceFlowConfig;
    /**
     *  The configuration that controls how Amazon AppFlow places data in the destination connector. 
     */
    destinationFlowConfigList: DestinationFlowConfigList;
    /**
     *  A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. 
     */
    tasks: Tasks;
    /**
     *  The tags used to organize, track, or control access for your flow. 
     */
    tags?: TagMap;
  }
  export interface CreateFlowResponse {
    /**
     *  The flow's Amazon Resource Name (ARN). 
     */
    flowArn?: FlowArn;
    /**
     *  Indicates the current status of the flow. 
     */
    flowStatus?: FlowStatus;
  }
  export type CreatedBy = string;
  export type DataPullMode = "Incremental"|"Complete"|string;
  export type DatabaseUrl = string;
  export type DatadogConnectorOperator = "PROJECTION"|"BETWEEN"|"EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface DatadogConnectorProfileCredentials {
    /**
     *  A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. 
     */
    apiKey: ApiKey;
    /**
     *  Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API. 
     */
    applicationKey: ApplicationKey;
  }
  export interface DatadogConnectorProfileProperties {
    /**
     *  The location of the Datadog resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface DatadogMetadata {
  }
  export interface DatadogSourceProperties {
    /**
     *  The object specified in the Datadog flow source. 
     */
    object: Object;
  }
  export type _Date = Date;
  export interface DeleteConnectorProfileRequest {
    /**
     *  The name of the connector profile. The name is unique for each ConnectorProfile in your account. 
     */
    connectorProfileName: ConnectorProfileName;
    /**
     *  Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows. 
     */
    forceDelete?: Boolean;
  }
  export interface DeleteConnectorProfileResponse {
  }
  export interface DeleteFlowRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
    /**
     *  Indicates whether Amazon AppFlow should delete the flow, even if it is currently in use. 
     */
    forceDelete?: Boolean;
  }
  export interface DeleteFlowResponse {
  }
  export interface DescribeConnectorEntityRequest {
    /**
     *  The entity name for that connector. 
     */
    connectorEntityName: Name;
    /**
     *  The type of connector application, such as Salesforce, Amplitude, and so on. 
     */
    connectorType?: ConnectorType;
    /**
     *  The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. 
     */
    connectorProfileName?: ConnectorProfileName;
  }
  export interface DescribeConnectorEntityResponse {
    /**
     *  Describes the fields for that connector entity. For example, for an account entity, the fields would be account name, account ID, and so on. 
     */
    connectorEntityFields: ConnectorEntityFieldList;
  }
  export interface DescribeConnectorProfilesRequest {
    /**
     *  The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account. 
     */
    connectorProfileNames?: ConnectorProfileNameList;
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorType?: ConnectorType;
    /**
     *  Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations). 
     */
    maxResults?: MaxResults;
    /**
     *  The pagination token for the next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface DescribeConnectorProfilesResponse {
    /**
     *  Returns information about the connector profiles associated with the flow. 
     */
    connectorProfileDetails?: ConnectorProfileDetailList;
    /**
     *  The pagination token for the next page of data. If nextToken=null, this means that all records have been fetched. 
     */
    nextToken?: NextToken;
  }
  export interface DescribeConnectorsRequest {
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorTypes?: ConnectorTypeList;
    /**
     *  The pagination token for the next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface DescribeConnectorsResponse {
    /**
     *  The configuration that is applied to the connectors used in the flow. 
     */
    connectorConfigurations?: ConnectorConfigurationsMap;
    /**
     *  The pagination token for the next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface DescribeFlowExecutionRecordsRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
    /**
     *  Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations). 
     */
    maxResults?: MaxResults;
    /**
     *  The pagination token for the next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface DescribeFlowExecutionRecordsResponse {
    /**
     *  Returns a list of all instances when this flow was run. 
     */
    flowExecutions?: FlowExecutionList;
    /**
     *  The pagination token for the next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface DescribeFlowRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
  }
  export interface DescribeFlowResponse {
    /**
     *  The flow's Amazon Resource Name (ARN). 
     */
    flowArn?: FlowArn;
    /**
     *  A description of the flow. 
     */
    description?: FlowDescription;
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName?: FlowName;
    /**
     *  The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. 
     */
    kmsArn?: KMSArn;
    /**
     *  Indicates the current status of the flow. 
     */
    flowStatus?: FlowStatus;
    /**
     *  Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. 
     */
    flowStatusMessage?: FlowStatusMessage;
    /**
     *  The configuration that controls how Amazon AppFlow retrieves data from the source connector. 
     */
    sourceFlowConfig?: SourceFlowConfig;
    /**
     *  The configuration that controls how Amazon AppFlow transfers data to the destination connector. 
     */
    destinationFlowConfigList?: DestinationFlowConfigList;
    /**
     *  Describes the details of the most recent flow run. 
     */
    lastRunExecutionDetails?: ExecutionDetails;
    /**
     *  The trigger settings that determine how and when the flow runs. 
     */
    triggerConfig?: TriggerConfig;
    /**
     *  A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. 
     */
    tasks?: Tasks;
    /**
     *  Specifies when the flow was created. 
     */
    createdAt?: _Date;
    /**
     *  Specifies when the flow was last updated. 
     */
    lastUpdatedAt?: _Date;
    /**
     *  The ARN of the user who created the flow. 
     */
    createdBy?: CreatedBy;
    /**
     *  Specifies the user name of the account that performed the most recent update. 
     */
    lastUpdatedBy?: UpdatedBy;
    /**
     *  The tags used to organize, track, or control access for your flow. 
     */
    tags?: TagMap;
  }
  export type Description = string;
  export interface DestinationConnectorProperties {
    /**
     *  The properties required to query Amazon Redshift. 
     */
    Redshift?: RedshiftDestinationProperties;
    /**
     *  The properties required to query Amazon S3. 
     */
    S3?: S3DestinationProperties;
    /**
     *  The properties required to query Salesforce. 
     */
    Salesforce?: SalesforceDestinationProperties;
    /**
     *  The properties required to query Snowflake. 
     */
    Snowflake?: SnowflakeDestinationProperties;
    /**
     *  The properties required to query Amazon EventBridge. 
     */
    EventBridge?: EventBridgeDestinationProperties;
  }
  export type DestinationField = string;
  export interface DestinationFieldProperties {
    /**
     *  Specifies if the destination field can be created by the current user. 
     */
    isCreatable?: Boolean;
    /**
     *  Specifies if the destination field can have a null value. 
     */
    isNullable?: Boolean;
    /**
     *  Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do. 
     */
    isUpsertable?: Boolean;
  }
  export interface DestinationFlowConfig {
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorType: ConnectorType;
    /**
     *  The name of the connector profile. This name must be unique for each connector profile in the AWS account. 
     */
    connectorProfileName?: ConnectorProfileName;
    /**
     *  This stores the information that is required to query a particular connector. 
     */
    destinationConnectorProperties: DestinationConnectorProperties;
  }
  export type DestinationFlowConfigList = DestinationFlowConfig[];
  export type DynatraceConnectorOperator = "PROJECTION"|"BETWEEN"|"EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface DynatraceConnectorProfileCredentials {
    /**
     *  The API tokens used by Dynatrace API to authenticate various API calls. 
     */
    apiToken: ApiToken;
  }
  export interface DynatraceConnectorProfileProperties {
    /**
     *  The location of the Dynatrace resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface DynatraceMetadata {
  }
  export interface DynatraceSourceProperties {
    /**
     *  The object specified in the Dynatrace flow source. 
     */
    object: Object;
  }
  export type EntitiesPath = string;
  export interface ErrorHandlingConfig {
    /**
     *  Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination. 
     */
    failOnFirstDestinationError?: Boolean;
    /**
     *  Specifies the Amazon S3 bucket prefix. 
     */
    bucketPrefix?: BucketPrefix;
    /**
     *  Specifies the name of the Amazon S3 bucket. 
     */
    bucketName?: BucketName;
  }
  export interface ErrorInfo {
    /**
     *  Specifies the failure count for the attempted flow. 
     */
    putFailuresCount?: Long;
    /**
     *  Specifies the error message that appears if a flow fails. 
     */
    executionMessage?: ExecutionMessage;
  }
  export interface EventBridgeDestinationProperties {
    /**
     *  The object specified in the Amazon EventBridge flow destination. 
     */
    object: Object;
    errorHandlingConfig?: ErrorHandlingConfig;
  }
  export interface EventBridgeMetadata {
  }
  export interface ExecutionDetails {
    /**
     *  Describes the details of the most recent flow run. 
     */
    mostRecentExecutionMessage?: MostRecentExecutionMessage;
    /**
     *  Specifies the time of the most recent flow run. 
     */
    mostRecentExecutionTime?: _Date;
    /**
     *  Specifies the status of the most recent flow run. 
     */
    mostRecentExecutionStatus?: ExecutionStatus;
  }
  export type ExecutionId = string;
  export type ExecutionMessage = string;
  export interface ExecutionRecord {
    /**
     *  Specifies the identifier of the given flow run. 
     */
    executionId?: ExecutionId;
    /**
     *  Specifies the flow run status and whether it is in progress, has completed successfully, or has failed. 
     */
    executionStatus?: ExecutionStatus;
    /**
     *  Describes the result of the given flow run. 
     */
    executionResult?: ExecutionResult;
    /**
     *  Specifies the start time of the flow run. 
     */
    startedAt?: _Date;
    /**
     *  Specifies the time of the most recent update. 
     */
    lastUpdatedAt?: _Date;
  }
  export interface ExecutionResult {
    /**
     *  Provides any error message information related to the flow run. 
     */
    errorInfo?: ErrorInfo;
    /**
     *  The total number of bytes processed by the flow run. 
     */
    bytesProcessed?: Long;
    /**
     *  The total number of bytes written as a result of the flow run. 
     */
    bytesWritten?: Long;
    /**
     *  The number of records processed in the flow run. 
     */
    recordsProcessed?: Long;
  }
  export type ExecutionStatus = "InProgress"|"Successful"|"Error"|string;
  export type FieldType = string;
  export interface FieldTypeDetails {
    /**
     *  The type of field, such as string, integer, date, and so on. 
     */
    fieldType: FieldType;
    /**
     *  The list of operators supported by a field. 
     */
    filterOperators: FilterOperatorList;
    /**
     *  The list of values that a field can contain. For example, a Boolean fieldType can have two values: "true" and "false". 
     */
    supportedValues?: SupportedValueList;
  }
  export type FileType = "CSV"|"JSON"|"PARQUET"|string;
  export type FilterOperatorList = Operator[];
  export type FlowArn = string;
  export interface FlowDefinition {
    /**
     *  The flow's Amazon Resource Name (ARN). 
     */
    flowArn?: FlowArn;
    /**
     *  A user-entered description of the flow. 
     */
    description?: FlowDescription;
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName?: FlowName;
    /**
     *  Indicates the current status of the flow. 
     */
    flowStatus?: FlowStatus;
    /**
     *  Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on. 
     */
    sourceConnectorType?: ConnectorType;
    /**
     *  Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on. 
     */
    destinationConnectorType?: ConnectorType;
    /**
     *  Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. 
     */
    triggerType?: TriggerType;
    /**
     *  Specifies when the flow was created. 
     */
    createdAt?: _Date;
    /**
     *  Specifies when the flow was last updated. 
     */
    lastUpdatedAt?: _Date;
    /**
     *  The ARN of the user who created the flow. 
     */
    createdBy?: CreatedBy;
    /**
     *  Specifies the account user name that most recently updated the flow. 
     */
    lastUpdatedBy?: UpdatedBy;
    /**
     *  The tags used to organize, track, or control access for your flow. 
     */
    tags?: TagMap;
    /**
     *  Describes the details of the most recent flow run. 
     */
    lastRunExecutionDetails?: ExecutionDetails;
  }
  export type FlowDescription = string;
  export type FlowExecutionList = ExecutionRecord[];
  export type FlowList = FlowDefinition[];
  export type FlowName = string;
  export type FlowStatus = "Active"|"Deprecated"|"Deleted"|"Draft"|"Errored"|"Suspended"|string;
  export type FlowStatusMessage = string;
  export type GoogleAnalyticsConnectorOperator = "PROJECTION"|"BETWEEN"|string;
  export interface GoogleAnalyticsConnectorProfileCredentials {
    /**
     *  The identifier for the desired client. 
     */
    clientId: ClientId;
    /**
     *  The client secret used by the oauth client to authenticate to the authorization server. 
     */
    clientSecret: ClientSecret;
    /**
     *  The credentials used to access protected Google Analytics resources. 
     */
    accessToken?: AccessToken;
    /**
     *  The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens. 
     */
    refreshToken?: RefreshToken;
    /**
     *  The oauth requirement needed to request security tokens from the connector endpoint. 
     */
    oAuthRequest?: ConnectorOAuthRequest;
  }
  export interface GoogleAnalyticsConnectorProfileProperties {
  }
  export interface GoogleAnalyticsMetadata {
    /**
     *  The desired authorization scope for the Google Analytics account. 
     */
    oAuthScopes?: OAuthScopeList;
  }
  export interface GoogleAnalyticsSourceProperties {
    /**
     *  The object specified in the Google Analytics flow source. 
     */
    object: Object;
  }
  export type Group = string;
  export type Identifier = string;
  export type InforNexusConnectorOperator = "PROJECTION"|"BETWEEN"|"EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface InforNexusConnectorProfileCredentials {
    /**
     *  The Access Key portion of the credentials. 
     */
    accessKeyId: AccessKeyId;
    /**
     *  The identifier for the user. 
     */
    userId: Username;
    /**
     *  The secret key used to sign requests. 
     */
    secretAccessKey: Key;
    /**
     *  The encryption keys used to encrypt data. 
     */
    datakey: Key;
  }
  export interface InforNexusConnectorProfileProperties {
    /**
     *  The location of the Infor Nexus resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface InforNexusMetadata {
  }
  export interface InforNexusSourceProperties {
    /**
     *  The object specified in the Infor Nexus flow source. 
     */
    object: Object;
  }
  export type InstanceUrl = string;
  export type KMSArn = string;
  export type Key = string;
  export type Label = string;
  export interface ListConnectorEntitiesRequest {
    /**
     *  The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account, and is used to query the downstream connector. 
     */
    connectorProfileName?: ConnectorProfileName;
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorType?: ConnectorType;
    /**
     *  This optional parameter is specific to connector implementation. Some connectors support multiple levels or categories of entities. You can find out the list of roots for such providers by sending a request without the entitiesPath parameter. If the connector supports entities at different roots, this initial request returns the list of roots. Otherwise, this request returns all entities supported by the provider. 
     */
    entitiesPath?: EntitiesPath;
  }
  export interface ListConnectorEntitiesResponse {
    /**
     *  The response of ListConnectorEntities lists entities grouped by category. This map's key represents the group name, and its value contains the list of entities belonging to that group. 
     */
    connectorEntityMap: ConnectorEntityMap;
  }
  export interface ListFlowsRequest {
    /**
     *  Specifies the maximum number of items that should be returned in the result set. 
     */
    maxResults?: MaxResults;
    /**
     *  The pagination token for next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface ListFlowsResponse {
    /**
     *  The list of flows associated with your account. 
     */
    flows?: FlowList;
    /**
     *  The pagination token for next page of data. 
     */
    nextToken?: NextToken;
  }
  export interface ListTagsForResourceRequest {
    /**
     *  The Amazon Resource Name (ARN) of the specified flow. 
     */
    resourceArn: ARN;
  }
  export interface ListTagsForResourceResponse {
    /**
     *  The tags used to organize, track, or control access for your flow. 
     */
    tags?: TagMap;
  }
  export type Long = number;
  export type MarketoConnectorOperator = "PROJECTION"|"LESS_THAN"|"GREATER_THAN"|"BETWEEN"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface MarketoConnectorProfileCredentials {
    /**
     *  The identifier for the desired client. 
     */
    clientId: ClientId;
    /**
     *  The client secret used by the oauth client to authenticate to the authorization server. 
     */
    clientSecret: ClientSecret;
    /**
     *  The credentials used to access protected Marketo resources. 
     */
    accessToken?: AccessToken;
    /**
     *  The oauth requirement needed to request security tokens from the connector endpoint. 
     */
    oAuthRequest?: ConnectorOAuthRequest;
  }
  export interface MarketoConnectorProfileProperties {
    /**
     *  The location of the Marketo resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface MarketoMetadata {
  }
  export interface MarketoSourceProperties {
    /**
     *  The object specified in the Marketo flow source. 
     */
    object: Object;
  }
  export type MaxResults = number;
  export type MostRecentExecutionMessage = string;
  export type Name = string;
  export type NextToken = string;
  export type OAuthScope = string;
  export type OAuthScopeList = OAuthScope[];
  export type Object = string;
  export type Operator = "PROJECTION"|"LESS_THAN"|"GREATER_THAN"|"CONTAINS"|"BETWEEN"|"LESS_THAN_OR_EQUAL_TO"|"GREATER_THAN_OR_EQUAL_TO"|"EQUAL_TO"|"NOT_EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export type OperatorPropertiesKeys = "VALUE"|"VALUES"|"DATA_TYPE"|"UPPER_BOUND"|"LOWER_BOUND"|"SOURCE_DATA_TYPE"|"DESTINATION_DATA_TYPE"|"VALIDATION_ACTION"|"MASK_VALUE"|"MASK_LENGTH"|"TRUNCATE_LENGTH"|"MATH_OPERATION_FIELDS_ORDER"|"CONCAT_FORMAT"|"SUBFIELD_CATEGORY_MAP"|string;
  export type Password = string;
  export interface PrefixConfig {
    /**
     *  Determines the level of granularity that's included in the prefix. 
     */
    prefixType?: PrefixType;
    /**
     *  Determines the format of the prefix, and whether it applies to the file name, file path, or both. 
     */
    prefixFormat?: PrefixFormat;
  }
  export type PrefixFormat = "YEAR"|"MONTH"|"DAY"|"HOUR"|"MINUTE"|string;
  export type PrefixType = "FILENAME"|"PATH"|"PATH_AND_FILENAME"|string;
  export type PrivateLinkServiceName = string;
  export type Property = string;
  export type RedirectUri = string;
  export interface RedshiftConnectorProfileCredentials {
    /**
     *  The name of the user. 
     */
    username: Username;
    /**
     *  The password that corresponds to the user name. 
     */
    password: Password;
  }
  export interface RedshiftConnectorProfileProperties {
    /**
     *  The JDBC URL of the Amazon Redshift cluster. 
     */
    databaseUrl: DatabaseUrl;
    /**
     *  A name for the associated Amazon S3 bucket. 
     */
    bucketName: BucketName;
    /**
     *  The object key for the destination bucket in which Amazon AppFlow places the files. 
     */
    bucketPrefix?: BucketPrefix;
    /**
     *  The Amazon Resource Name (ARN) of the IAM role. 
     */
    roleArn: RoleArn;
  }
  export interface RedshiftDestinationProperties {
    /**
     *  The object specified in the Amazon Redshift flow destination. 
     */
    object: Object;
    /**
     *  The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift. 
     */
    intermediateBucketName: BucketName;
    /**
     *  The object key for the bucket in which Amazon AppFlow places the destination files. 
     */
    bucketPrefix?: BucketPrefix;
    /**
     *  The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. 
     */
    errorHandlingConfig?: ErrorHandlingConfig;
  }
  export interface RedshiftMetadata {
  }
  export type RefreshToken = string;
  export type Region = string;
  export type RegionList = Region[];
  export type RoleArn = string;
  export type S3ConnectorOperator = "PROJECTION"|"LESS_THAN"|"GREATER_THAN"|"BETWEEN"|"LESS_THAN_OR_EQUAL_TO"|"GREATER_THAN_OR_EQUAL_TO"|"EQUAL_TO"|"NOT_EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface S3DestinationProperties {
    /**
     *  The Amazon S3 bucket name in which Amazon AppFlow places the transferred data. 
     */
    bucketName: BucketName;
    /**
     *  The object key for the destination bucket in which Amazon AppFlow places the files. 
     */
    bucketPrefix?: BucketPrefix;
    s3OutputFormatConfig?: S3OutputFormatConfig;
  }
  export interface S3Metadata {
  }
  export interface S3OutputFormatConfig {
    /**
     *  Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket. 
     */
    fileType?: FileType;
    /**
     *  Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. 
     */
    prefixConfig?: PrefixConfig;
    aggregationConfig?: AggregationConfig;
  }
  export interface S3SourceProperties {
    /**
     *  The Amazon S3 bucket name where the source files are stored. 
     */
    bucketName: BucketName;
    /**
     *  The object key for the Amazon S3 bucket in which the source files are stored. 
     */
    bucketPrefix?: BucketPrefix;
  }
  export type SalesforceConnectorOperator = "PROJECTION"|"LESS_THAN"|"CONTAINS"|"GREATER_THAN"|"BETWEEN"|"LESS_THAN_OR_EQUAL_TO"|"GREATER_THAN_OR_EQUAL_TO"|"EQUAL_TO"|"NOT_EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface SalesforceConnectorProfileCredentials {
    /**
     *  The credentials used to access protected Salesforce resources. 
     */
    accessToken?: AccessToken;
    /**
     *  The credentials used to acquire new access tokens. 
     */
    refreshToken?: RefreshToken;
    /**
     *  The oauth requirement needed to request security tokens from the connector endpoint. 
     */
    oAuthRequest?: ConnectorOAuthRequest;
  }
  export interface SalesforceConnectorProfileProperties {
    /**
     *  The location of the Salesforce resource. 
     */
    instanceUrl?: InstanceUrl;
    /**
     *  Indicates whether the connector profile applies to a sandbox or production environment. 
     */
    isSandboxEnvironment?: Boolean;
  }
  export interface SalesforceDestinationProperties {
    /**
     *  The object specified in the Salesforce flow destination. 
     */
    object: Object;
    /**
     *  The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. 
     */
    errorHandlingConfig?: ErrorHandlingConfig;
  }
  export interface SalesforceMetadata {
    /**
     *  The desired authorization scope for the Salesforce account. 
     */
    oAuthScopes?: OAuthScopeList;
  }
  export interface SalesforceSourceProperties {
    /**
     *  The object specified in the Salesforce flow source. 
     */
    object: Object;
    /**
     *  The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow. 
     */
    enableDynamicFieldUpdate?: Boolean;
    /**
     *  Indicates whether Amazon AppFlow includes deleted files in the flow run. 
     */
    includeDeletedRecords?: Boolean;
  }
  export type ScheduleExpression = string;
  export type ScheduleFrequencyType = "BYMINUTE"|"HOURLY"|"DAILY"|"WEEKLY"|"MONTHLY"|"ONCE"|string;
  export interface ScheduledTriggerProperties {
    /**
     *  The scheduling expression that determines when and how often the rule runs. 
     */
    scheduleExpression: ScheduleExpression;
    /**
     *  Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run. 
     */
    dataPullMode?: DataPullMode;
    /**
     *  Specifies the scheduled start time for a schedule-triggered flow. 
     */
    scheduleStartTime?: _Date;
    /**
     *  Specifies the scheduled end time for a schedule-triggered flow. 
     */
    scheduleEndTime?: _Date;
    /**
     *  Specifies the time zone used when referring to the date and time of a scheduled-triggered flow. 
     */
    timezone?: Timezone;
  }
  export type SchedulingFrequencyTypeList = ScheduleFrequencyType[];
  export type SecretKey = string;
  export type ServiceNowConnectorOperator = "PROJECTION"|"CONTAINS"|"LESS_THAN"|"GREATER_THAN"|"BETWEEN"|"LESS_THAN_OR_EQUAL_TO"|"GREATER_THAN_OR_EQUAL_TO"|"EQUAL_TO"|"NOT_EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface ServiceNowConnectorProfileCredentials {
    /**
     *  The name of the user. 
     */
    username: Username;
    /**
     *  The password that corresponds to the user name. 
     */
    password: Password;
  }
  export interface ServiceNowConnectorProfileProperties {
    /**
     *  The location of the ServiceNow resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface ServiceNowMetadata {
  }
  export interface ServiceNowSourceProperties {
    /**
     *  The object specified in the ServiceNow flow source. 
     */
    object: Object;
  }
  export type SingularConnectorOperator = "PROJECTION"|"EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface SingularConnectorProfileCredentials {
    /**
     *  A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. 
     */
    apiKey: ApiKey;
  }
  export interface SingularConnectorProfileProperties {
  }
  export interface SingularMetadata {
  }
  export interface SingularSourceProperties {
    /**
     *  The object specified in the Singular flow source. 
     */
    object: Object;
  }
  export type SlackConnectorOperator = "PROJECTION"|"LESS_THAN"|"GREATER_THAN"|"BETWEEN"|"LESS_THAN_OR_EQUAL_TO"|"GREATER_THAN_OR_EQUAL_TO"|"EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface SlackConnectorProfileCredentials {
    /**
     *  The identifier for the client. 
     */
    clientId: ClientId;
    /**
     *  The client secret used by the oauth client to authenticate to the authorization server. 
     */
    clientSecret: ClientSecret;
    /**
     *  The credentials used to access protected Slack resources. 
     */
    accessToken?: AccessToken;
    /**
     *  The oauth requirement needed to request security tokens from the connector endpoint. 
     */
    oAuthRequest?: ConnectorOAuthRequest;
  }
  export interface SlackConnectorProfileProperties {
    /**
     *  The location of the Slack resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface SlackMetadata {
    /**
     *  The desired authorization scope for the Slack account. 
     */
    oAuthScopes?: OAuthScopeList;
  }
  export interface SlackSourceProperties {
    /**
     *  The object specified in the Slack flow source. 
     */
    object: Object;
  }
  export interface SnowflakeConnectorProfileCredentials {
    /**
     *  The name of the user. 
     */
    username: Username;
    /**
     *  The password that corresponds to the user name. 
     */
    password: Password;
  }
  export interface SnowflakeConnectorProfileProperties {
    /**
     *  The name of the Snowflake warehouse. 
     */
    warehouse: Warehouse;
    /**
     *  The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: &lt; Database&gt;&lt; Schema&gt;&lt;Stage Name&gt;. 
     */
    stage: Stage;
    /**
     *  The name of the Amazon S3 bucket associated with Snowflake. 
     */
    bucketName: BucketName;
    /**
     *  The bucket path that refers to the Amazon S3 bucket associated with Snowflake. 
     */
    bucketPrefix?: BucketPrefix;
    /**
     *  The Snowflake Private Link service name to be used for private data transfers. 
     */
    privateLinkServiceName?: PrivateLinkServiceName;
    /**
     *  The name of the account. 
     */
    accountName?: AccountName;
    /**
     *  The AWS Region of the Snowflake account. 
     */
    region?: Region;
  }
  export interface SnowflakeDestinationProperties {
    /**
     *  The object specified in the Snowflake flow destination. 
     */
    object: Object;
    /**
     *  The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake. 
     */
    intermediateBucketName: BucketName;
    /**
     *  The object key for the destination bucket in which Amazon AppFlow places the files. 
     */
    bucketPrefix?: BucketPrefix;
    /**
     *  The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details. 
     */
    errorHandlingConfig?: ErrorHandlingConfig;
  }
  export interface SnowflakeMetadata {
    /**
     *  Specifies the supported AWS Regions when using Snowflake. 
     */
    supportedRegions?: RegionList;
  }
  export interface SourceConnectorProperties {
    /**
     *  Specifies the information that is required for querying Amplitude. 
     */
    Amplitude?: AmplitudeSourceProperties;
    /**
     *  Specifies the information that is required for querying Datadog. 
     */
    Datadog?: DatadogSourceProperties;
    /**
     *  Specifies the information that is required for querying Dynatrace. 
     */
    Dynatrace?: DynatraceSourceProperties;
    /**
     *  Specifies the information that is required for querying Google Analytics. 
     */
    GoogleAnalytics?: GoogleAnalyticsSourceProperties;
    /**
     *  Specifies the information that is required for querying Infor Nexus. 
     */
    InforNexus?: InforNexusSourceProperties;
    /**
     *  Specifies the information that is required for querying Marketo. 
     */
    Marketo?: MarketoSourceProperties;
    /**
     *  Specifies the information that is required for querying Amazon S3. 
     */
    S3?: S3SourceProperties;
    /**
     *  Specifies the information that is required for querying Salesforce. 
     */
    Salesforce?: SalesforceSourceProperties;
    /**
     *  Specifies the information that is required for querying ServiceNow. 
     */
    ServiceNow?: ServiceNowSourceProperties;
    /**
     *  Specifies the information that is required for querying Singular. 
     */
    Singular?: SingularSourceProperties;
    /**
     *  Specifies the information that is required for querying Slack. 
     */
    Slack?: SlackSourceProperties;
    /**
     *  Specifies the information that is required for querying Trend Micro. 
     */
    Trendmicro?: TrendmicroSourceProperties;
    /**
     *  Specifies the information that is required for querying Veeva. 
     */
    Veeva?: VeevaSourceProperties;
    /**
     *  Specifies the information that is required for querying Zendesk. 
     */
    Zendesk?: ZendeskSourceProperties;
  }
  export interface SourceFieldProperties {
    /**
     *  Indicates whether the field can be returned in a search result. 
     */
    isRetrievable?: Boolean;
    /**
     *  Indicates if the field can be queried. 
     */
    isQueryable?: Boolean;
  }
  export type SourceFields = String[];
  export interface SourceFlowConfig {
    /**
     *  The type of connector, such as Salesforce, Amplitude, and so on. 
     */
    connectorType: ConnectorType;
    /**
     *  The name of the connector profile. This name must be unique for each connector profile in the AWS account. 
     */
    connectorProfileName?: ConnectorProfileName;
    /**
     *  Specifies the information that is required to query a particular source connector. 
     */
    sourceConnectorProperties: SourceConnectorProperties;
  }
  export type Stage = string;
  export interface StartFlowRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
  }
  export interface StartFlowResponse {
    /**
     *  The flow's Amazon Resource Name (ARN). 
     */
    flowArn?: FlowArn;
    /**
     *  Indicates the current status of the flow. 
     */
    flowStatus?: FlowStatus;
  }
  export interface StopFlowRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
  }
  export interface StopFlowResponse {
    /**
     *  The flow's Amazon Resource Name (ARN). 
     */
    flowArn?: FlowArn;
    /**
     *  Indicates the current status of the flow. 
     */
    flowStatus?: FlowStatus;
  }
  export type String = string;
  export interface SupportedFieldTypeDetails {
    /**
     *  The initial supported version for fieldType. If this is later changed to a different version, v2 will be introduced. 
     */
    v1: FieldTypeDetails;
  }
  export type SupportedValueList = Value[];
  export type TagKey = string;
  export type TagKeyList = TagKey[];
  export type TagMap = {[key: string]: TagValue};
  export interface TagResourceRequest {
    /**
     *  The Amazon Resource Name (ARN) of the flow that you want to tag. 
     */
    resourceArn: ARN;
    /**
     *  The tags used to organize, track, or control access for your flow. 
     */
    tags: TagMap;
  }
  export interface TagResourceResponse {
  }
  export type TagValue = string;
  export interface Task {
    /**
     *  The source fields to which a particular task is applied. 
     */
    sourceFields: SourceFields;
    /**
     *  The operation to be performed on the provided source fields. 
     */
    connectorOperator?: ConnectorOperator;
    /**
     *  A field in a destination connector, or a field value against which Amazon AppFlow validates a source field. 
     */
    destinationField?: DestinationField;
    /**
     *  Specifies the particular task implementation that Amazon AppFlow performs. 
     */
    taskType: TaskType;
    /**
     *  A map used to store task-related information. The execution service looks for particular information based on the TaskType. 
     */
    taskProperties?: TaskPropertiesMap;
  }
  export type TaskPropertiesMap = {[key: string]: Property};
  export type TaskType = "Arithmetic"|"Filter"|"Map"|"Mask"|"Merge"|"Truncate"|"Validate"|string;
  export type Tasks = Task[];
  export type Timezone = string;
  export type TrendmicroConnectorOperator = "PROJECTION"|"EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface TrendmicroConnectorProfileCredentials {
    /**
     *  The Secret Access Key portion of the credentials. 
     */
    apiSecretKey: ApiSecretKey;
  }
  export interface TrendmicroConnectorProfileProperties {
  }
  export interface TrendmicroMetadata {
  }
  export interface TrendmicroSourceProperties {
    /**
     *  The object specified in the Trend Micro flow source. 
     */
    object: Object;
  }
  export interface TriggerConfig {
    /**
     *  Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event. 
     */
    triggerType: TriggerType;
    /**
     *  Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type. 
     */
    triggerProperties?: TriggerProperties;
  }
  export interface TriggerProperties {
    /**
     *  Specifies the configuration details of a schedule-triggered flow as defined by the user. 
     */
    Scheduled?: ScheduledTriggerProperties;
  }
  export type TriggerType = "Scheduled"|"Event"|"OnDemand"|string;
  export type TriggerTypeList = TriggerType[];
  export interface UntagResourceRequest {
    /**
     *  The Amazon Resource Name (ARN) of the flow that you want to untag. 
     */
    resourceArn: ARN;
    /**
     *  The tag keys associated with the tag that you want to remove from your flow. 
     */
    tagKeys: TagKeyList;
  }
  export interface UntagResourceResponse {
  }
  export interface UpdateConnectorProfileRequest {
    /**
     *  The name of the connector profile and is unique for each ConnectorProfile in the AWS Account. 
     */
    connectorProfileName: ConnectorProfileName;
    /**
     *  Indicates the connection mode and if it is public or private. 
     */
    connectionMode: ConnectionMode;
    /**
     *  Defines the connector-specific profile configuration and credentials. 
     */
    connectorProfileConfig: ConnectorProfileConfig;
  }
  export interface UpdateConnectorProfileResponse {
    /**
     *  The Amazon Resource Name (ARN) of the connector profile. 
     */
    connectorProfileArn?: ConnectorProfileArn;
  }
  export interface UpdateFlowRequest {
    /**
     *  The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. 
     */
    flowName: FlowName;
    /**
     *  A description of the flow. 
     */
    description?: FlowDescription;
    /**
     *  The trigger settings that determine how and when the flow runs. 
     */
    triggerConfig: TriggerConfig;
    sourceFlowConfig?: SourceFlowConfig;
    /**
     *  The configuration that controls how Amazon AppFlow transfers data to the destination connector. 
     */
    destinationFlowConfigList: DestinationFlowConfigList;
    /**
     *  A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. 
     */
    tasks: Tasks;
  }
  export interface UpdateFlowResponse {
    /**
     * Indicates the current status of the flow. 
     */
    flowStatus?: FlowStatus;
  }
  export type UpdatedBy = string;
  export type Username = string;
  export type Value = string;
  export type VeevaConnectorOperator = "PROJECTION"|"LESS_THAN"|"GREATER_THAN"|"CONTAINS"|"BETWEEN"|"LESS_THAN_OR_EQUAL_TO"|"GREATER_THAN_OR_EQUAL_TO"|"EQUAL_TO"|"NOT_EQUAL_TO"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface VeevaConnectorProfileCredentials {
    /**
     *  The name of the user. 
     */
    username: Username;
    /**
     *  The password that corresponds to the user name. 
     */
    password: Password;
  }
  export interface VeevaConnectorProfileProperties {
    /**
     *  The location of the Veeva resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface VeevaMetadata {
  }
  export interface VeevaSourceProperties {
    /**
     *  The object specified in the Veeva flow source. 
     */
    object: Object;
  }
  export type Warehouse = string;
  export type ZendeskConnectorOperator = "PROJECTION"|"GREATER_THAN"|"ADDITION"|"MULTIPLICATION"|"DIVISION"|"SUBTRACTION"|"MASK_ALL"|"MASK_FIRST_N"|"MASK_LAST_N"|"VALIDATE_NON_NULL"|"VALIDATE_NON_ZERO"|"VALIDATE_NON_NEGATIVE"|"VALIDATE_NUMERIC"|"NO_OP"|string;
  export interface ZendeskConnectorProfileCredentials {
    /**
     *  The identifier for the desired client. 
     */
    clientId: ClientId;
    /**
     *  The client secret used by the oauth client to authenticate to the authorization server. 
     */
    clientSecret: ClientSecret;
    /**
     *  The credentials used to access protected Zendesk resources. 
     */
    accessToken?: AccessToken;
    /**
     *  The oauth requirement needed to request security tokens from the connector endpoint. 
     */
    oAuthRequest?: ConnectorOAuthRequest;
  }
  export interface ZendeskConnectorProfileProperties {
    /**
     *  The location of the Zendesk resource. 
     */
    instanceUrl: InstanceUrl;
  }
  export interface ZendeskMetadata {
    /**
     *  The desired authorization scope for the Zendesk account. 
     */
    oAuthScopes?: OAuthScopeList;
  }
  export interface ZendeskSourceProperties {
    /**
     *  The object specified in the Zendesk flow source. 
     */
    object: Object;
  }
  /**
   * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   */
  export type apiVersion = "2020-08-23"|"latest"|string;
  export interface ClientApiVersions {
    /**
     * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
     */
    apiVersion?: apiVersion;
  }
  export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
  /**
   * Contains interfaces for use with the Appflow client.
   */
  export import Types = Appflow;
}
export = Appflow;