File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (2372 lines) | stat: -rw-r--r-- 100,265 bytes parent folder | download
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
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// Structure that contains the results of the account gate function which
// CloudFormation invokes, if present, before proceeding with a stack set operation
// in an account and Region. For each account and Region, CloudFormation lets you
// specify a Lambda function that encapsulates any requirements that must be met
// before CloudFormation can proceed with a stack set operation in that account and
// Region. CloudFormation invokes the function each time a stack set operation is
// requested for that account and Region; if the function returns FAILED ,
// CloudFormation cancels the operation in that account and Region, and sets the
// stack set operation result status for that account and Region to FAILED . For
// more information, see Configuring a target account gate (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html)
// .
type AccountGateResult struct {

	// The status of the account gate function.
	//   - SUCCEEDED : The account gate function has determined that the account and
	//   Region passes any requirements for a stack set operation to occur.
	//   CloudFormation proceeds with the stack operation in that account and Region.
	//   - FAILED : The account gate function has determined that the account and
	//   Region doesn't meet the requirements for a stack set operation to occur.
	//   CloudFormation cancels the stack set operation in that account and Region, and
	//   sets the stack set operation result status for that account and Region to
	//   FAILED .
	//   - SKIPPED : CloudFormation has skipped calling the account gate function for
	//   this account and Region, for one of the following reasons:
	//   - An account gate function hasn't been specified for the account and Region.
	//   CloudFormation proceeds with the stack set operation in this account and Region.
	//
	//   - The AWSCloudFormationStackSetExecutionRole of the stack set administration
	//   account lacks permissions to invoke the function. CloudFormation proceeds with
	//   the stack set operation in this account and Region.
	//   - Either no action is necessary, or no action is possible, on the stack.
	//   CloudFormation skips the stack set operation in this account and Region.
	Status AccountGateStatus

	// The reason for the account gate status assigned to this account and Region for
	// the stack set operation.
	StatusReason *string

	noSmithyDocumentSerde
}

// The AccountLimit data type. CloudFormation has the following limits per
// account:
//   - Number of concurrent resources
//   - Number of stacks
//   - Number of stack outputs
//
// For more information about these account limits, and other CloudFormation
// limits, see CloudFormation quotas (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html)
// in the CloudFormation User Guide.
type AccountLimit struct {

	// The name of the account limit. Values: ConcurrentResourcesLimit | StackLimit |
	// StackOutputsLimit
	Name *string

	// The value that's associated with the account limit name.
	Value *int32

	noSmithyDocumentSerde
}

// [Service-managed permissions] Describes whether StackSets automatically deploys
// to Organizations accounts that are added to a target organization or
// organizational unit (OU).
type AutoDeployment struct {

	// If set to true , StackSets automatically deploys additional stack instances to
	// Organizations accounts that are added to a target organization or organizational
	// unit (OU) in the specified Regions. If an account is removed from a target
	// organization or OU, StackSets deletes stack instances from the account in the
	// specified Regions.
	Enabled *bool

	// If set to true , stack resources are retained when an account is removed from a
	// target organization or OU. If set to false , stack resources are deleted.
	// Specify only if Enabled is set to True .
	RetainStacksOnAccountRemoval *bool

	noSmithyDocumentSerde
}

// Detailed information concerning an error generated during the setting of
// configuration data for a CloudFormation extension.
type BatchDescribeTypeConfigurationsError struct {

	// The error code.
	ErrorCode *string

	// The error message.
	ErrorMessage *string

	// Identifying information for the configuration of a CloudFormation extension.
	TypeConfigurationIdentifier *TypeConfigurationIdentifier

	noSmithyDocumentSerde
}

// The Change structure describes the changes CloudFormation will perform if you
// execute the change set.
type Change struct {

	// Is either null , if no hooks invoke for the resource, or contains the number of
	// hooks that will invoke for the resource.
	HookInvocationCount *int32

	// A ResourceChange structure that describes the resource and action that
	// CloudFormation will perform.
	ResourceChange *ResourceChange

	// The type of entity that CloudFormation changes. Currently, the only entity type
	// is Resource .
	Type ChangeType

	noSmithyDocumentSerde
}

// Specifies the resource, the hook, and the hook version to be invoked.
type ChangeSetHook struct {

	// Specify the hook failure mode for non-compliant resources in the followings
	// ways.
	//   - FAIL Stops provisioning resources.
	//   - WARN Allows provisioning to continue with a warning message.
	FailureMode HookFailureMode

	// Specifies the points in provisioning logic where a hook is invoked.
	InvocationPoint HookInvocationPoint

	// Specifies details about the target that the hook will run against.
	TargetDetails *ChangeSetHookTargetDetails

	// The version ID of the type configuration.
	TypeConfigurationVersionId *string

	// The unique name for your hook. Specifies a three-part namespace for your hook,
	// with a recommended pattern of Organization::Service::Hook . The following
	// organization namespaces are reserved and can't be used in your hook type names:
	//   - Alexa
	//   - AMZN
	//   - Amazon
	//   - ASK
	//   - AWS
	//   - Custom
	//   - Dev
	TypeName *string

	// The version ID of the type specified.
	TypeVersionId *string

	noSmithyDocumentSerde
}

// Specifies RESOURCE type target details for activated hooks.
type ChangeSetHookResourceTargetDetails struct {

	// The resource's logical ID, which is defined in the stack's template.
	LogicalResourceId *string

	// Specifies the action of the resource.
	ResourceAction ChangeAction

	// The type of CloudFormation resource, such as AWS::S3::Bucket .
	ResourceType *string

	noSmithyDocumentSerde
}

// Specifies target details for an activated hook.
type ChangeSetHookTargetDetails struct {

	// Required if TargetType is RESOURCE .
	ResourceTargetDetails *ChangeSetHookResourceTargetDetails

	// The name of the type.
	TargetType HookTargetType

	noSmithyDocumentSerde
}

// The ChangeSetSummary structure describes a change set, its status, and the
// stack with which it's associated.
type ChangeSetSummary struct {

	// The ID of the change set.
	ChangeSetId *string

	// The name of the change set.
	ChangeSetName *string

	// The start time when the change set was created, in UTC.
	CreationTime *time.Time

	// Descriptive information about the change set.
	Description *string

	// If the change set execution status is AVAILABLE , you can execute the change
	// set. If you can't execute the change set, the status indicates why. For example,
	// a change set might be in an UNAVAILABLE state because CloudFormation is still
	// creating it or in an OBSOLETE state because the stack was already updated.
	ExecutionStatus ExecutionStatus

	// Indicates if the change set imports resources that already exist.
	ImportExistingResources *bool

	// Specifies the current setting of IncludeNestedStacks for the change set.
	IncludeNestedStacks *bool

	// The parent change set ID.
	ParentChangeSetId *string

	// The root change set ID.
	RootChangeSetId *string

	// The ID of the stack with which the change set is associated.
	StackId *string

	// The name of the stack with which the change set is associated.
	StackName *string

	// The state of the change set, such as CREATE_IN_PROGRESS , CREATE_COMPLETE , or
	// FAILED .
	Status ChangeSetStatus

	// A description of the change set's status. For example, if your change set is in
	// the FAILED state, CloudFormation shows the error message.
	StatusReason *string

	noSmithyDocumentSerde
}

// [Service-managed permissions] The Organizations accounts to which StackSets
// deploys. StackSets doesn't deploy stack instances to the organization management
// account, even if the organization management account is in your organization or
// in an OU in your organization. For update operations, you can specify either
// Accounts or OrganizationalUnitIds . For create and delete operations, specify
// OrganizationalUnitIds .
type DeploymentTargets struct {

	// Limit deployment targets to individual accounts or include additional accounts
	// with provided OUs. The following is a list of possible values for the
	// AccountFilterType operation.
	//   - INTERSECTION : StackSets deploys to the accounts specified in Accounts
	//   parameter.
	//   - DIFFERENCE : StackSets excludes the accounts specified in Accounts
	//   parameter. This enables user to avoid certain accounts within an OU such as
	//   suspended accounts.
	//   - UNION : StackSets includes additional accounts deployment targets. This is
	//   the default value if AccountFilterType is not provided. This enables user to
	//   update an entire OU and individual accounts from a different OU in one request,
	//   which used to be two separate requests.
	//   - NONE : Deploys to all the accounts in specified organizational units (OU).
	AccountFilterType AccountFilterType

	// The names of one or more Amazon Web Services accounts for which you want to
	// deploy stack set updates.
	Accounts []string

	// Returns the value of the AccountsUrl property.
	AccountsUrl *string

	// The organization root ID or organizational unit (OU) IDs to which StackSets
	// deploys.
	OrganizationalUnitIds []string

	noSmithyDocumentSerde
}

// The Export structure describes the exported output values for a stack.
type Export struct {

	// The stack that contains the exported output name and value.
	ExportingStackId *string

	// The name of exported output value. Use this name and the Fn::ImportValue
	// function to import the associated value into other stacks. The name is defined
	// in the Export field in the associated stack's Outputs section.
	Name *string

	// The value of the exported output, such as a resource physical ID. This value is
	// defined in the Export field in the associated stack's Outputs section.
	Value *string

	noSmithyDocumentSerde
}

// Contains logging configuration information for an extension.
type LoggingConfig struct {

	// The Amazon CloudWatch Logs group to which CloudFormation sends error logging
	// information when invoking the extension's handlers.
	//
	// This member is required.
	LogGroupName *string

	// The Amazon Resource Name (ARN) of the role that CloudFormation should assume
	// when sending log entries to CloudWatch Logs.
	//
	// This member is required.
	LogRoleArn *string

	noSmithyDocumentSerde
}

// Describes whether StackSets performs non-conflicting operations concurrently
// and queues conflicting operations.
type ManagedExecution struct {

	// When true , StackSets performs non-conflicting operations concurrently and
	// queues conflicting operations. After conflicting operations finish, StackSets
	// starts queued operations in request order. If there are already running or
	// queued operations, StackSets queues all incoming operations even if they are
	// non-conflicting. You can't modify your stack set's execution configuration while
	// there are running or queued operations for that stack set. When false
	// (default), StackSets performs one operation at a time in request order.
	Active *bool

	noSmithyDocumentSerde
}

// Contains information about the module from which the resource was created, if
// the resource was created from a module included in the stack template. For more
// information about modules, see Using modules to encapsulate and reuse resource
// configurations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html)
// in the CloudFormation User Guide.
type ModuleInfo struct {

	// A concatenated list of the logical IDs of the module or modules containing the
	// resource. Modules are listed starting with the inner-most nested module, and
	// separated by / . In the following example, the resource was created from a
	// module, moduleA , that's nested inside a parent module, moduleB .
	// moduleA/moduleB For more information, see Referencing resources in a module (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html#module-ref-resources)
	// in the CloudFormation User Guide.
	LogicalIdHierarchy *string

	// A concatenated list of the module type or types containing the resource. Module
	// types are listed starting with the inner-most nested module, and separated by /
	// . In the following example, the resource was created from a module of type
	// AWS::First::Example::MODULE , that's nested inside a parent module of type
	// AWS::Second::Example::MODULE .
	// AWS::First::Example::MODULE/AWS::Second::Example::MODULE
	TypeHierarchy *string

	noSmithyDocumentSerde
}

// The status that operation results are filtered by.
type OperationResultFilter struct {

	// The type of filter to apply.
	Name OperationResultFilterName

	// The value to filter by.
	Values *string

	noSmithyDocumentSerde
}

// The Output data type.
type Output struct {

	// User defined description associated with the output.
	Description *string

	// The name of the export associated with the output.
	ExportName *string

	// The key associated with the output.
	OutputKey *string

	// The value associated with the output.
	OutputValue *string

	noSmithyDocumentSerde
}

// The Parameter data type.
type Parameter struct {

	// The key associated with the parameter. If you don't specify a key and value for
	// a particular parameter, CloudFormation uses the default value that's specified
	// in your template.
	ParameterKey *string

	// The input value associated with the parameter.
	ParameterValue *string

	// Read-only. The value that corresponds to a SSM parameter key. This field is
	// returned only for SSM (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types)
	// parameter types in the template.
	ResolvedValue *string

	// During a stack update, use the existing parameter value that the stack is using
	// for a given parameter key. If you specify true , do not specify a parameter
	// value.
	UsePreviousValue *bool

	noSmithyDocumentSerde
}

// A set of criteria that CloudFormation uses to validate parameter values.
// Although other constraints might be defined in the stack template,
// CloudFormation returns only the AllowedValues property.
type ParameterConstraints struct {

	// A list of values that are permitted for a parameter.
	AllowedValues []string

	noSmithyDocumentSerde
}

// The ParameterDeclaration data type.
type ParameterDeclaration struct {

	// The default value of the parameter.
	DefaultValue *string

	// The description that's associate with the parameter.
	Description *string

	// Flag that indicates whether the parameter value is shown as plain text in logs
	// and in the Amazon Web Services Management Console.
	NoEcho *bool

	// The criteria that CloudFormation uses to validate parameter values.
	ParameterConstraints *ParameterConstraints

	// The name that's associated with the parameter.
	ParameterKey *string

	// The type of parameter.
	ParameterType *string

	noSmithyDocumentSerde
}

// Context information that enables CloudFormation to uniquely identify a
// resource. CloudFormation uses context key-value pairs in cases where a
// resource's logical and physical IDs aren't enough to uniquely identify that
// resource. Each context key-value pair specifies a resource that contains the
// targeted resource.
type PhysicalResourceIdContextKeyValuePair struct {

	// The resource context key.
	//
	// This member is required.
	Key *string

	// The resource context value.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// Information about a resource property whose actual value differs from its
// expected value, as defined in the stack template and any values specified as
// template parameters. These will be present only for resources whose
// StackResourceDriftStatus is MODIFIED . For more information, see Detecting
// Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
// .
type PropertyDifference struct {

	// The actual property value of the resource property.
	//
	// This member is required.
	ActualValue *string

	// The type of property difference.
	//   - ADD : A value has been added to a resource property that's an array or list
	//   data type.
	//   - REMOVE : The property has been removed from the current resource
	//   configuration.
	//   - NOT_EQUAL : The current property value differs from its expected value (as
	//   defined in the stack template and any values specified as template parameters).
	//
	// This member is required.
	DifferenceType DifferenceType

	// The expected property value of the resource property, as defined in the stack
	// template and any values specified as template parameters.
	//
	// This member is required.
	ExpectedValue *string

	// The fully-qualified path to the resource property.
	//
	// This member is required.
	PropertyPath *string

	noSmithyDocumentSerde
}

// For extensions that are modules, a public third-party extension that must be
// activated in your account in order for the module itself to be activated. For
// more information, see Activating public modules for use in your account (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html#module-enabling)
// in the CloudFormation User Guide.
type RequiredActivatedType struct {

	// The type name of the public extension. If you specified a TypeNameAlias when
	// enabling the extension in this account and Region, CloudFormation treats that
	// alias as the extension's type name within the account and Region, not the type
	// name of the public extension. For more information, see Specifying aliases to
	// refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias)
	// in the CloudFormation User Guide.
	OriginalTypeName *string

	// The publisher ID of the extension publisher.
	PublisherId *string

	// A list of the major versions of the extension type that the macro supports.
	SupportedMajorVersions []int32

	// An alias assigned to the public extension, in this account and Region. If you
	// specify an alias for the extension, CloudFormation treats the alias as the
	// extension type name within this account and Region. You must use the alias to
	// refer to the extension in your templates, API calls, and CloudFormation console.
	TypeNameAlias *string

	noSmithyDocumentSerde
}

// The ResourceChange structure describes the resource and the action that
// CloudFormation will perform on it if you execute this change set.
type ResourceChange struct {

	// The action that CloudFormation takes on the resource, such as Add (adds a new
	// resource), Modify (changes a resource), Remove (deletes a resource), Import
	// (imports a resource), or Dynamic (exact action for the resource can't be
	// determined).
	Action ChangeAction

	// The change set ID of the nested change set.
	ChangeSetId *string

	// For the Modify action, a list of ResourceChangeDetail structures that describes
	// the changes that CloudFormation will make to the resource.
	Details []ResourceChangeDetail

	// The resource's logical ID, which is defined in the stack's template.
	LogicalResourceId *string

	// Contains information about the module from which the resource was created, if
	// the resource was created from a module included in the stack template.
	ModuleInfo *ModuleInfo

	// The resource's physical ID (resource name). Resources that you are adding don't
	// have physical IDs because they haven't been created.
	PhysicalResourceId *string

	// For the Modify action, indicates whether CloudFormation will replace the
	// resource by creating a new one and deleting the old one. This value depends on
	// the value of the RequiresRecreation property in the ResourceTargetDefinition
	// structure. For example, if the RequiresRecreation field is Always and the
	// Evaluation field is Static , Replacement is True . If the RequiresRecreation
	// field is Always and the Evaluation field is Dynamic , Replacement is
	// Conditionally . If you have multiple changes with different RequiresRecreation
	// values, the Replacement value depends on the change with the most impact. A
	// RequiresRecreation value of Always has the most impact, followed by
	// Conditionally , and then Never .
	Replacement Replacement

	// The type of CloudFormation resource, such as AWS::S3::Bucket .
	ResourceType *string

	// For the Modify action, indicates which resource attribute is triggering this
	// update, such as a change in the resource attribute's Metadata , Properties , or
	// Tags .
	Scope []ResourceAttribute

	noSmithyDocumentSerde
}

// For a resource with Modify as the action, the ResourceChange structure
// describes the changes CloudFormation will make to that resource.
type ResourceChangeDetail struct {

	// The identity of the entity that triggered this change. This entity is a member
	// of the group that's specified by the ChangeSource field. For example, if you
	// modified the value of the KeyPairName parameter, the CausingEntity is the name
	// of the parameter ( KeyPairName ). If the ChangeSource value is
	// DirectModification , no value is given for CausingEntity .
	CausingEntity *string

	// The group to which the CausingEntity value belongs. There are five entity
	// groups:
	//   - ResourceReference entities are Ref intrinsic functions that refer to
	//   resources in the template, such as { "Ref" : "MyEC2InstanceResource" } .
	//   - ParameterReference entities are Ref intrinsic functions that get template
	//   parameter values, such as { "Ref" : "MyPasswordParameter" } .
	//   - ResourceAttribute entities are Fn::GetAtt intrinsic functions that get
	//   resource attribute values, such as { "Fn::GetAtt" : [
	//   "MyEC2InstanceResource", "PublicDnsName" ] } .
	//   - DirectModification entities are changes that are made directly to the
	//   template.
	//   - Automatic entities are AWS::CloudFormation::Stack resource types, which are
	//   also known as nested stacks. If you made no changes to the
	//   AWS::CloudFormation::Stack resource, CloudFormation sets the ChangeSource to
	//   Automatic because the nested stack's template might have changed. Changes to a
	//   nested stack's template aren't visible to CloudFormation until you run an update
	//   on the parent stack.
	ChangeSource ChangeSource

	// Indicates whether CloudFormation can determine the target value, and whether
	// the target value will change before you execute a change set. For Static
	// evaluations, CloudFormation can determine that the target value will change, and
	// its value. For example, if you directly modify the InstanceType property of an
	// EC2 instance, CloudFormation knows that this property value will change, and its
	// value, so this is a Static evaluation. For Dynamic evaluations, can't determine
	// the target value because it depends on the result of an intrinsic function, such
	// as a Ref or Fn::GetAtt intrinsic function, when the stack is updated. For
	// example, if your template includes a reference to a resource that's
	// conditionally recreated, the value of the reference (the physical ID of the
	// resource) might change, depending on if the resource is recreated. If the
	// resource is recreated, it will have a new physical ID, so all references to that
	// resource will also be updated.
	Evaluation EvaluationType

	// A ResourceTargetDefinition structure that describes the field that
	// CloudFormation will change and whether the resource will be recreated.
	Target *ResourceTargetDefinition

	noSmithyDocumentSerde
}

// Describes the target resources of a specific type in your import template (for
// example, all AWS::S3::Bucket resources) and the properties you can provide
// during the import to identify resources of that type.
type ResourceIdentifierSummary struct {

	// The logical IDs of the target resources of the specified ResourceType , as
	// defined in the import template.
	LogicalResourceIds []string

	// The resource properties you can provide during the import to identify your
	// target resources. For example, BucketName is a possible identifier property for
	// AWS::S3::Bucket resources.
	ResourceIdentifiers []string

	// The template resource type of the target resources, such as AWS::S3::Bucket .
	ResourceType *string

	noSmithyDocumentSerde
}

// The field that CloudFormation will change, such as the name of a resource's
// property, and whether the resource will be recreated.
type ResourceTargetDefinition struct {

	// Indicates which resource attribute is triggering this update, such as a change
	// in the resource attribute's Metadata , Properties , or Tags .
	Attribute ResourceAttribute

	// If the Attribute value is Properties , the name of the property. For all other
	// attributes, the value is null.
	Name *string

	// If the Attribute value is Properties , indicates whether a change to this
	// property causes the resource to be recreated. The value can be Never , Always ,
	// or Conditionally . To determine the conditions for a Conditionally recreation,
	// see the update behavior for that property (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
	// in the CloudFormation User Guide.
	RequiresRecreation RequiresRecreation

	noSmithyDocumentSerde
}

// Describes the target resource of an import operation.
type ResourceToImport struct {

	// The logical ID of the target resource as specified in the template.
	//
	// This member is required.
	LogicalResourceId *string

	// A key-value pair that identifies the target resource. The key is an identifier
	// property (for example, BucketName for AWS::S3::Bucket resources) and the value
	// is the actual property value (for example, MyS3Bucket ).
	//
	// This member is required.
	ResourceIdentifier map[string]string

	// The type of resource to import into your stack, such as AWS::S3::Bucket . For a
	// list of supported resource types, see Resources that support import operations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html)
	// in the CloudFormation User Guide.
	//
	// This member is required.
	ResourceType *string

	noSmithyDocumentSerde
}

// Structure containing the rollback triggers for CloudFormation to monitor during
// stack creation and updating operations, and for the specified monitoring period
// afterwards. Rollback triggers enable you to have CloudFormation monitor the
// state of your application during stack creation and updating, and to roll back
// that operation if the application breaches the threshold of any of the alarms
// you've specified. For more information, see Monitor and Roll Back Stack
// Operations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-rollback-triggers.html)
// .
type RollbackConfiguration struct {

	// The amount of time, in minutes, during which CloudFormation should monitor all
	// the rollback triggers after the stack creation or update operation deploys all
	// necessary resources. The default is 0 minutes. If you specify a monitoring
	// period but don't specify any rollback triggers, CloudFormation still waits the
	// specified period of time before cleaning up old resources after update
	// operations. You can use this monitoring period to perform any manual stack
	// validation desired, and manually cancel the stack creation or update (using
	// CancelUpdateStack (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html)
	// , for example) as necessary. If you specify 0 for this parameter, CloudFormation
	// still monitors the specified rollback triggers during stack creation and update
	// operations. Then, for update operations, it begins disposing of old resources
	// immediately once the operation completes.
	MonitoringTimeInMinutes *int32

	// The triggers to monitor during stack creation or update actions. By default,
	// CloudFormation saves the rollback triggers specified for a stack and applies
	// them to any subsequent update operations for the stack, unless you specify
	// otherwise. If you do specify rollback triggers for this parameter, those
	// triggers replace any list of triggers previously specified for the stack. This
	// means:
	//   - To use the rollback triggers previously specified for this stack, if any,
	//   don't specify this parameter.
	//   - To specify new or updated rollback triggers, you must specify all the
	//   triggers that you want used for this stack, even triggers you've specified
	//   before (for example, when creating the stack or during a previous stack update).
	//   Any triggers that you don't include in the updated list of triggers are no
	//   longer applied to the stack.
	//   - To remove all currently specified triggers, specify an empty list for this
	//   parameter.
	// If a specified trigger is missing, the entire stack operation fails and is
	// rolled back.
	RollbackTriggers []RollbackTrigger

	noSmithyDocumentSerde
}

// A rollback trigger CloudFormation monitors during creation and updating of
// stacks. If any of the alarms you specify goes to ALARM state during the stack
// operation or within the specified monitoring period afterwards, CloudFormation
// rolls back the entire stack operation.
type RollbackTrigger struct {

	// The Amazon Resource Name (ARN) of the rollback trigger. If a specified trigger
	// is missing, the entire stack operation fails and is rolled back.
	//
	// This member is required.
	Arn *string

	// The resource type of the rollback trigger. Specify either AWS::CloudWatch::Alarm (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html)
	// or AWS::CloudWatch::CompositeAlarm (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)
	// resource types.
	//
	// This member is required.
	Type *string

	noSmithyDocumentSerde
}

// The Stack data type.
type Stack struct {

	// The time at which the stack was created.
	//
	// This member is required.
	CreationTime *time.Time

	// The name associated with the stack.
	//
	// This member is required.
	StackName *string

	// Current status of the stack.
	//
	// This member is required.
	StackStatus StackStatus

	// The capabilities allowed in the stack.
	Capabilities []Capability

	// The unique ID of the change set.
	ChangeSetId *string

	// The time the stack was deleted.
	DeletionTime *time.Time

	// A user-defined description associated with the stack.
	Description *string

	// Boolean to enable or disable rollback on stack creation failures:
	//   - true : disable rollback.
	//   - false : enable rollback.
	DisableRollback *bool

	// Information about whether a stack's actual configuration differs, or has
	// drifted, from its expected configuration, as defined in the stack template and
	// any values specified as template parameters. For more information, see
	// Detecting Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
	// .
	DriftInformation *StackDriftInformation

	// Whether termination protection is enabled for the stack. For nested stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
	// , termination protection is set on the root stack and can't be changed directly
	// on the nested stack. For more information, see Protecting a Stack From Being
	// Deleted (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)
	// in the CloudFormation User Guide.
	EnableTerminationProtection *bool

	// The time the stack was last updated. This field will only be returned if the
	// stack has been updated at least once.
	LastUpdatedTime *time.Time

	// Amazon SNS topic Amazon Resource Names (ARNs) to which stack related events are
	// published.
	NotificationARNs []string

	// A list of output structures.
	Outputs []Output

	// A list of Parameter structures.
	Parameters []Parameter

	// For nested stacks--stacks created as resources for another stack--the stack ID
	// of the direct parent of this stack. For the first level of nested stacks, the
	// root stack is also the parent stack. For more information, see Working with
	// Nested Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
	// in the CloudFormation User Guide.
	ParentId *string

	// When set to true , newly created resources are deleted when the operation rolls
	// back. This includes newly created resources marked with a deletion policy of
	// Retain . Default: false
	RetainExceptOnCreate *bool

	// The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role
	// that's associated with the stack. During a stack operation, CloudFormation uses
	// this role's credentials to make calls on your behalf.
	RoleARN *string

	// The rollback triggers for CloudFormation to monitor during stack creation and
	// updating operations, and for the specified monitoring period afterwards.
	RollbackConfiguration *RollbackConfiguration

	// For nested stacks--stacks created as resources for another stack--the stack ID
	// of the top-level stack to which the nested stack ultimately belongs. For more
	// information, see Working with Nested Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
	// in the CloudFormation User Guide.
	RootId *string

	// Unique identifier of the stack.
	StackId *string

	// Success/failure message associated with the stack status.
	StackStatusReason *string

	// A list of Tag s that specify information about the stack.
	Tags []Tag

	// The amount of time within which stack creation should complete.
	TimeoutInMinutes *int32

	noSmithyDocumentSerde
}

// Contains information about whether the stack's actual configuration differs, or
// has drifted, from its expected configuration, as defined in the stack template
// and any values specified as template parameters. A stack is considered to have
// drifted if one or more of its resources have drifted.
type StackDriftInformation struct {

	// Status of the stack's actual configuration compared to its expected template
	// configuration.
	//   - DRIFTED : The stack differs from its expected template configuration. A
	//   stack is considered to have drifted if one or more of its resources have
	//   drifted.
	//   - NOT_CHECKED : CloudFormation hasn't checked if the stack differs from its
	//   expected template configuration.
	//   - IN_SYNC : The stack's actual configuration matches its expected template
	//   configuration.
	//   - UNKNOWN : This value is reserved for future use.
	//
	// This member is required.
	StackDriftStatus StackDriftStatus

	// Most recent time when a drift detection operation was initiated on the stack,
	// or any of its individual resources that support drift detection.
	LastCheckTimestamp *time.Time

	noSmithyDocumentSerde
}

// Contains information about whether the stack's actual configuration differs, or
// has drifted, from its expected configuration, as defined in the stack template
// and any values specified as template parameters. A stack is considered to have
// drifted if one or more of its resources have drifted.
type StackDriftInformationSummary struct {

	// Status of the stack's actual configuration compared to its expected template
	// configuration.
	//   - DRIFTED : The stack differs from its expected template configuration. A
	//   stack is considered to have drifted if one or more of its resources have
	//   drifted.
	//   - NOT_CHECKED : CloudFormation hasn't checked if the stack differs from its
	//   expected template configuration.
	//   - IN_SYNC : The stack's actual configuration matches its expected template
	//   configuration.
	//   - UNKNOWN : This value is reserved for future use.
	//
	// This member is required.
	StackDriftStatus StackDriftStatus

	// Most recent time when a drift detection operation was initiated on the stack,
	// or any of its individual resources that support drift detection.
	LastCheckTimestamp *time.Time

	noSmithyDocumentSerde
}

// The StackEvent data type.
type StackEvent struct {

	// The unique ID of this event.
	//
	// This member is required.
	EventId *string

	// The unique ID name of the instance of the stack.
	//
	// This member is required.
	StackId *string

	// The name associated with a stack.
	//
	// This member is required.
	StackName *string

	// Time the status was updated.
	//
	// This member is required.
	Timestamp *time.Time

	// The token passed to the operation that generated this event. All events
	// triggered by a given stack operation are assigned the same client request token,
	// which you can use to track operations. For example, if you execute a CreateStack
	// operation with the token token1 , then all the StackEvents generated by that
	// operation will have ClientRequestToken set as token1 . In the console, stack
	// operations display the client request token on the Events tab. Stack operations
	// that are initiated from the console use the token format
	// Console-StackOperation-ID, which helps you easily identify the stack operation .
	// For example, if you create a stack using the console, each stack event would be
	// assigned the same token in the following format:
	// Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002 .
	ClientRequestToken *string

	// Specify the hook failure mode for non-compliant resources in the followings
	// ways.
	//   - FAIL Stops provisioning resources.
	//   - WARN Allows provisioning to continue with a warning message.
	HookFailureMode HookFailureMode

	// Invocation points are points in provisioning logic where hooks are initiated.
	HookInvocationPoint HookInvocationPoint

	// Provides the status of the change set hook.
	HookStatus HookStatus

	// Provides the reason for the hook status.
	HookStatusReason *string

	// The name of the hook.
	HookType *string

	// The logical name of the resource specified in the template.
	LogicalResourceId *string

	// The name or unique identifier associated with the physical instance of the
	// resource.
	PhysicalResourceId *string

	// BLOB of the properties used to create the resource.
	ResourceProperties *string

	// Current status of the resource.
	ResourceStatus ResourceStatus

	// Success/failure message associated with the resource.
	ResourceStatusReason *string

	// Type of resource. (For more information, go to Amazon Web Services Resource
	// Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
	// in the CloudFormation User Guide.)
	ResourceType *string

	noSmithyDocumentSerde
}

// An CloudFormation stack, in a specific account and Region, that's part of a
// stack set operation. A stack instance is a reference to an attempted or actual
// stack in a given account within a given Region. A stack instance can exist
// without a stack—for example, if the stack couldn't be created for some reason. A
// stack instance is associated with only one stack set. Each stack instance
// contains the ID of its associated stack set, in addition to the ID of the actual
// stack and the stack status.
type StackInstance struct {

	// [Self-managed permissions] The name of the Amazon Web Services account that the
	// stack instance is associated with.
	Account *string

	// Status of the stack instance's actual configuration compared to the expected
	// template and parameter configuration of the stack set to which it belongs.
	//   - DRIFTED : The stack differs from the expected template and parameter
	//   configuration of the stack set to which it belongs. A stack instance is
	//   considered to have drifted if one or more of the resources in the associated
	//   stack have drifted.
	//   - NOT_CHECKED : CloudFormation hasn't checked if the stack instance differs
	//   from its expected stack set configuration.
	//   - IN_SYNC : The stack instance's actual configuration matches its expected
	//   stack set configuration.
	//   - UNKNOWN : This value is reserved for future use.
	DriftStatus StackDriftStatus

	// Most recent time when CloudFormation performed a drift detection operation on
	// the stack instance. This value will be NULL for any stack instance on which
	// drift detection hasn't yet been performed.
	LastDriftCheckTimestamp *time.Time

	// The last unique ID of a StackSet operation performed on a stack instance.
	LastOperationId *string

	// [Service-managed permissions] The organization root ID or organizational unit
	// (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html)
	// .
	OrganizationalUnitId *string

	// A list of parameters from the stack set template whose values have been
	// overridden in this stack instance.
	ParameterOverrides []Parameter

	// The name of the Amazon Web Services Region that the stack instance is
	// associated with.
	Region *string

	// The ID of the stack instance.
	StackId *string

	// The detailed status of the stack instance.
	StackInstanceStatus *StackInstanceComprehensiveStatus

	// The name or unique ID of the stack set that the stack instance is associated
	// with.
	StackSetId *string

	// The status of the stack instance, in terms of its synchronization with its
	// associated stack set.
	//   - INOPERABLE : A DeleteStackInstances operation has failed and left the stack
	//   in an unstable state. Stacks in this state are excluded from further
	//   UpdateStackSet operations. You might need to perform a DeleteStackInstances
	//   operation, with RetainStacks set to true , to delete the stack instance, and
	//   then delete the stack manually.
	//   - OUTDATED : The stack isn't currently up to date with the stack set because:
	//   - The associated stack failed during a CreateStackSet or UpdateStackSet
	//   operation.
	//   - The stack was part of a CreateStackSet or UpdateStackSet operation that
	//   failed or was stopped before the stack was created or updated.
	//   - CURRENT : The stack is currently up to date with the stack set.
	Status StackInstanceStatus

	// The explanation for the specific status code that's assigned to this stack
	// instance.
	StatusReason *string

	noSmithyDocumentSerde
}

// The detailed status of the stack instance.
type StackInstanceComprehensiveStatus struct {

	//   - CANCELLED : The operation in the specified account and Region has been
	//   canceled. This is either because a user has stopped the stack set operation, or
	//   because the failure tolerance of the stack set operation has been exceeded.
	//   - FAILED : The operation in the specified account and Region failed. If the
	//   stack set operation fails in enough accounts within a Region, the failure
	//   tolerance for the stack set operation as a whole might be exceeded.
	//   - INOPERABLE : A DeleteStackInstances operation has failed and left the stack
	//   in an unstable state. Stacks in this state are excluded from further
	//   UpdateStackSet operations. You might need to perform a DeleteStackInstances
	//   operation, with RetainStacks set to true , to delete the stack instance, and
	//   then delete the stack manually.
	//   - PENDING : The operation in the specified account and Region has yet to
	//   start.
	//   - RUNNING : The operation in the specified account and Region is currently in
	//   progress.
	//   - SKIPPED_SUSPENDED_ACCOUNT : The operation in the specified account and
	//   Region has been skipped because the account was suspended at the time of the
	//   operation.
	//   - SUCCEEDED : The operation in the specified account and Region completed
	//   successfully.
	DetailedStatus StackInstanceDetailedStatus

	noSmithyDocumentSerde
}

// The filter to apply to stack instances
type StackInstanceFilter struct {

	// The type of filter to apply.
	Name StackInstanceFilterName

	// The status to filter by.
	Values *string

	noSmithyDocumentSerde
}

// The structure containing summary information about resource drifts for a stack
// instance.
type StackInstanceResourceDriftsSummary struct {

	// The logical name of the resource specified in the template.
	//
	// This member is required.
	LogicalResourceId *string

	// Type of resource. For more information, go to Amazon Web Services Resource
	// Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
	// in the CloudFormation User Guide.
	//
	// This member is required.
	ResourceType *string

	// The ID of the stack instance.
	//
	// This member is required.
	StackId *string

	// The drift status of the resource in a stack instance.
	//   - DELETED : The resource differs from its expected template configuration in
	//   that the resource has been deleted.
	//   - MODIFIED : One or more resource properties differ from their expected
	//   template values.
	//   - IN_SYNC : The resource's actual configuration matches its expected template
	//   configuration.
	//   - NOT_CHECKED : CloudFormation doesn't currently return this value.
	//
	// This member is required.
	StackResourceDriftStatus StackResourceDriftStatus

	// Time at which the stack instance drift detection operation was initiated.
	//
	// This member is required.
	Timestamp *time.Time

	// The name or unique identifier that corresponds to a physical instance ID of a
	// resource supported by CloudFormation.
	PhysicalResourceId *string

	// Context information that enables CloudFormation to uniquely identify a
	// resource. CloudFormation uses context key-value pairs in cases where a
	// resource's logical and physical IDs aren't enough to uniquely identify that
	// resource. Each context key-value pair specifies a unique resource that contains
	// the targeted resource.
	PhysicalResourceIdContext []PhysicalResourceIdContextKeyValuePair

	// Status of the actual configuration of the resource compared to its expected
	// configuration. These will be present only for resources whose
	// StackInstanceResourceDriftStatus is MODIFIED .
	PropertyDifferences []PropertyDifference

	noSmithyDocumentSerde
}

// The structure that contains summary information about a stack instance.
type StackInstanceSummary struct {

	// [Self-managed permissions] The name of the Amazon Web Services account that the
	// stack instance is associated with.
	Account *string

	// Status of the stack instance's actual configuration compared to the expected
	// template and parameter configuration of the stack set to which it belongs.
	//   - DRIFTED : The stack differs from the expected template and parameter
	//   configuration of the stack set to which it belongs. A stack instance is
	//   considered to have drifted if one or more of the resources in the associated
	//   stack have drifted.
	//   - NOT_CHECKED : CloudFormation hasn't checked if the stack instance differs
	//   from its expected stack set configuration.
	//   - IN_SYNC : The stack instance's actual configuration matches its expected
	//   stack set configuration.
	//   - UNKNOWN : This value is reserved for future use.
	DriftStatus StackDriftStatus

	// Most recent time when CloudFormation performed a drift detection operation on
	// the stack instance. This value will be NULL for any stack instance on which
	// drift detection hasn't yet been performed.
	LastDriftCheckTimestamp *time.Time

	// The last unique ID of a StackSet operation performed on a stack instance.
	LastOperationId *string

	// [Service-managed permissions] The organization root ID or organizational unit
	// (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html)
	// .
	OrganizationalUnitId *string

	// The name of the Amazon Web Services Region that the stack instance is
	// associated with.
	Region *string

	// The ID of the stack instance.
	StackId *string

	// The detailed status of the stack instance.
	StackInstanceStatus *StackInstanceComprehensiveStatus

	// The name or unique ID of the stack set that the stack instance is associated
	// with.
	StackSetId *string

	// The status of the stack instance, in terms of its synchronization with its
	// associated stack set.
	//   - INOPERABLE : A DeleteStackInstances operation has failed and left the stack
	//   in an unstable state. Stacks in this state are excluded from further
	//   UpdateStackSet operations. You might need to perform a DeleteStackInstances
	//   operation, with RetainStacks set to true , to delete the stack instance, and
	//   then delete the stack manually.
	//   - OUTDATED : The stack isn't currently up to date with the stack set because:
	//   - The associated stack failed during a CreateStackSet or UpdateStackSet
	//   operation.
	//   - The stack was part of a CreateStackSet or UpdateStackSet operation that
	//   failed or was stopped before the stack was created or updated.
	//   - CURRENT : The stack is currently up to date with the stack set.
	Status StackInstanceStatus

	// The explanation for the specific status code assigned to this stack instance.
	StatusReason *string

	noSmithyDocumentSerde
}

// The StackResource data type.
type StackResource struct {

	// The logical name of the resource specified in the template.
	//
	// This member is required.
	LogicalResourceId *string

	// Current status of the resource.
	//
	// This member is required.
	ResourceStatus ResourceStatus

	// Type of resource. For more information, go to Amazon Web Services Resource
	// Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
	// in the CloudFormation User Guide.
	//
	// This member is required.
	ResourceType *string

	// Time the status was updated.
	//
	// This member is required.
	Timestamp *time.Time

	// User defined description associated with the resource.
	Description *string

	// Information about whether the resource's actual configuration differs, or has
	// drifted, from its expected configuration, as defined in the stack template and
	// any values specified as template parameters. For more information, see
	// Detecting Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
	// .
	DriftInformation *StackResourceDriftInformation

	// Contains information about the module from which the resource was created, if
	// the resource was created from a module included in the stack template.
	ModuleInfo *ModuleInfo

	// The name or unique identifier that corresponds to a physical instance ID of a
	// resource supported by CloudFormation.
	PhysicalResourceId *string

	// Success/failure message associated with the resource.
	ResourceStatusReason *string

	// Unique identifier of the stack.
	StackId *string

	// The name associated with the stack.
	StackName *string

	noSmithyDocumentSerde
}

// Contains detailed information about the specified stack resource.
type StackResourceDetail struct {

	// Time the status was updated.
	//
	// This member is required.
	LastUpdatedTimestamp *time.Time

	// The logical name of the resource specified in the template.
	//
	// This member is required.
	LogicalResourceId *string

	// Current status of the resource.
	//
	// This member is required.
	ResourceStatus ResourceStatus

	// Type of resource. For more information, go to Amazon Web Services Resource
	// Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
	// in the CloudFormation User Guide.
	//
	// This member is required.
	ResourceType *string

	// User defined description associated with the resource.
	Description *string

	// Information about whether the resource's actual configuration differs, or has
	// drifted, from its expected configuration, as defined in the stack template and
	// any values specified as template parameters. For more information, see
	// Detecting Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
	// .
	DriftInformation *StackResourceDriftInformation

	// The content of the Metadata attribute declared for the resource. For more
	// information, see Metadata Attribute (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html)
	// in the CloudFormation User Guide.
	Metadata *string

	// Contains information about the module from which the resource was created, if
	// the resource was created from a module included in the stack template.
	ModuleInfo *ModuleInfo

	// The name or unique identifier that corresponds to a physical instance ID of a
	// resource supported by CloudFormation.
	PhysicalResourceId *string

	// Success/failure message associated with the resource.
	ResourceStatusReason *string

	// Unique identifier of the stack.
	StackId *string

	// The name associated with the stack.
	StackName *string

	noSmithyDocumentSerde
}

// Contains the drift information for a resource that has been checked for drift.
// This includes actual and expected property values for resources in which
// CloudFormation has detected drift. Only resource properties explicitly defined
// in the stack template are checked for drift. For more information, see
// Detecting Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
// . Resources that don't currently support drift detection can't be checked. For a
// list of resources that support drift detection, see Resources that Support
// Drift Detection (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html)
// . Use DetectStackResourceDrift to detect drift on individual resources, or
// DetectStackDrift to detect drift on all resources in a given stack that support
// drift detection.
type StackResourceDrift struct {

	// The logical name of the resource specified in the template.
	//
	// This member is required.
	LogicalResourceId *string

	// The type of the resource.
	//
	// This member is required.
	ResourceType *string

	// The ID of the stack.
	//
	// This member is required.
	StackId *string

	// Status of the resource's actual configuration compared to its expected
	// configuration.
	//   - DELETED : The resource differs from its expected template configuration
	//   because the resource has been deleted.
	//   - MODIFIED : One or more resource properties differ from their expected values
	//   (as defined in the stack template and any values specified as template
	//   parameters).
	//   - IN_SYNC : The resource's actual configuration matches its expected template
	//   configuration.
	//   - NOT_CHECKED : CloudFormation does not currently return this value.
	//
	// This member is required.
	StackResourceDriftStatus StackResourceDriftStatus

	// Time at which CloudFormation performed drift detection on the stack resource.
	//
	// This member is required.
	Timestamp *time.Time

	// A JSON structure containing the actual property values of the stack resource.
	// For resources whose StackResourceDriftStatus is DELETED , this structure will
	// not be present.
	ActualProperties *string

	// A JSON structure containing the expected property values of the stack resource,
	// as defined in the stack template and any values specified as template
	// parameters. For resources whose StackResourceDriftStatus is DELETED , this
	// structure will not be present.
	ExpectedProperties *string

	// Contains information about the module from which the resource was created, if
	// the resource was created from a module included in the stack template.
	ModuleInfo *ModuleInfo

	// The name or unique identifier that corresponds to a physical instance ID of a
	// resource supported by CloudFormation.
	PhysicalResourceId *string

	// Context information that enables CloudFormation to uniquely identify a
	// resource. CloudFormation uses context key-value pairs in cases where a
	// resource's logical and physical IDs aren't enough to uniquely identify that
	// resource. Each context key-value pair specifies a unique resource that contains
	// the targeted resource.
	PhysicalResourceIdContext []PhysicalResourceIdContextKeyValuePair

	// A collection of the resource properties whose actual values differ from their
	// expected values. These will be present only for resources whose
	// StackResourceDriftStatus is MODIFIED .
	PropertyDifferences []PropertyDifference

	noSmithyDocumentSerde
}

// Contains information about whether the resource's actual configuration differs,
// or has drifted, from its expected configuration.
type StackResourceDriftInformation struct {

	// Status of the resource's actual configuration compared to its expected
	// configuration
	//   - DELETED : The resource differs from its expected configuration in that it
	//   has been deleted.
	//   - MODIFIED : The resource differs from its expected configuration.
	//   - NOT_CHECKED : CloudFormation has not checked if the resource differs from
	//   its expected configuration. Any resources that do not currently support drift
	//   detection have a status of NOT_CHECKED . For more information, see Resources
	//   that Support Drift Detection (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html)
	//   .
	//   - IN_SYNC : The resource's actual configuration matches its expected
	//   configuration.
	//
	// This member is required.
	StackResourceDriftStatus StackResourceDriftStatus

	// When CloudFormation last checked if the resource had drifted from its expected
	// configuration.
	LastCheckTimestamp *time.Time

	noSmithyDocumentSerde
}

// Summarizes information about whether the resource's actual configuration
// differs, or has drifted, from its expected configuration.
type StackResourceDriftInformationSummary struct {

	// Status of the resource's actual configuration compared to its expected
	// configuration.
	//   - DELETED : The resource differs from its expected configuration in that it
	//   has been deleted.
	//   - MODIFIED : The resource differs from its expected configuration.
	//   - NOT_CHECKED : CloudFormation hasn't checked if the resource differs from its
	//   expected configuration. Any resources that don't currently support drift
	//   detection have a status of NOT_CHECKED . For more information, see Resources
	//   that Support Drift Detection (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html)
	//   . If you performed an ContinueUpdateRollback operation on a stack, any
	//   resources included in ResourcesToSkip will also have a status of NOT_CHECKED .
	//   For more information about skipping resources during rollback operations, see
	//   Continue Rolling Back an Update (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html)
	//   in the CloudFormation User Guide.
	//   - IN_SYNC : The resource's actual configuration matches its expected
	//   configuration.
	//
	// This member is required.
	StackResourceDriftStatus StackResourceDriftStatus

	// When CloudFormation last checked if the resource had drifted from its expected
	// configuration.
	LastCheckTimestamp *time.Time

	noSmithyDocumentSerde
}

// Contains high-level information about the specified stack resource.
type StackResourceSummary struct {

	// Time the status was updated.
	//
	// This member is required.
	LastUpdatedTimestamp *time.Time

	// The logical name of the resource specified in the template.
	//
	// This member is required.
	LogicalResourceId *string

	// Current status of the resource.
	//
	// This member is required.
	ResourceStatus ResourceStatus

	// Type of resource. (For more information, go to Amazon Web Services Resource
	// Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
	// in the CloudFormation User Guide.)
	//
	// This member is required.
	ResourceType *string

	// Information about whether the resource's actual configuration differs, or has
	// drifted, from its expected configuration, as defined in the stack template and
	// any values specified as template parameters. For more information, see
	// Detecting Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
	// .
	DriftInformation *StackResourceDriftInformationSummary

	// Contains information about the module from which the resource was created, if
	// the resource was created from a module included in the stack template.
	ModuleInfo *ModuleInfo

	// The name or unique identifier that corresponds to a physical instance ID of the
	// resource.
	PhysicalResourceId *string

	// Success/failure message associated with the resource.
	ResourceStatusReason *string

	noSmithyDocumentSerde
}

// A structure that contains information about a stack set. A stack set enables
// you to provision stacks into Amazon Web Services accounts and across Regions by
// using a single CloudFormation template. In the stack set, you specify the
// template to use, in addition to any parameters and capabilities that the
// template requires.
type StackSet struct {

	// The Amazon Resource Name (ARN) of the IAM role used to create or update the
	// stack set. Use customized administrator roles to control which users or groups
	// can manage specific stack sets within the same administrator account. For more
	// information, see Prerequisites: Granting Permissions for Stack Set Operations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
	// in the CloudFormation User Guide.
	AdministrationRoleARN *string

	// [Service-managed permissions] Describes whether StackSets automatically deploys
	// to Organizations accounts that are added to a target organization or
	// organizational unit (OU).
	AutoDeployment *AutoDeployment

	// The capabilities that are allowed in the stack set. Some stack set templates
	// might include resources that can affect permissions in your Amazon Web Services
	// account—for example, by creating new Identity and Access Management (IAM) users.
	// For more information, see Acknowledging IAM Resources in CloudFormation
	// Templates. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities)
	Capabilities []Capability

	// A description of the stack set that you specify when the stack set is created
	// or updated.
	Description *string

	// The name of the IAM execution role used to create or update the stack set. Use
	// customized execution roles to control which stack resources users and groups can
	// include in their stack sets.
	ExecutionRoleName *string

	// Describes whether StackSets performs non-conflicting operations concurrently
	// and queues conflicting operations.
	ManagedExecution *ManagedExecution

	// [Service-managed permissions] The organization root ID or organizational unit
	// (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html)
	// .
	OrganizationalUnitIds []string

	// A list of input parameters for a stack set.
	Parameters []Parameter

	// Describes how the IAM roles required for stack set operations are created.
	//   - With self-managed permissions, you must create the administrator and
	//   execution roles required to deploy to target accounts. For more information, see
	//   Grant Self-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html)
	//   .
	//   - With service-managed permissions, StackSets automatically creates the IAM
	//   roles required to deploy to accounts managed by Organizations. For more
	//   information, see Grant Service-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html)
	//   .
	PermissionModel PermissionModels

	// Returns a list of all Amazon Web Services Regions the given StackSet has stack
	// instances deployed in. The Amazon Web Services Regions list output is in no
	// particular order.
	Regions []string

	// The Amazon Resource Name (ARN) of the stack set.
	StackSetARN *string

	// Detailed information about the drift status of the stack set. For stack sets,
	// contains information about the last completed drift operation performed on the
	// stack set. Information about drift operations currently in progress isn't
	// included.
	StackSetDriftDetectionDetails *StackSetDriftDetectionDetails

	// The ID of the stack set.
	StackSetId *string

	// The name that's associated with the stack set.
	StackSetName *string

	// The status of the stack set.
	Status StackSetStatus

	// A list of tags that specify information about the stack set. A maximum number
	// of 50 tags can be specified.
	Tags []Tag

	// The structure that contains the body of the template that was used to create or
	// update the stack set.
	TemplateBody *string

	noSmithyDocumentSerde
}

// Detailed information about the drift status of the stack set. For stack sets,
// contains information about the last completed drift operation performed on the
// stack set. Information about drift operations in-progress isn't included. For
// stack set operations, includes information about drift operations currently
// being performed on the stack set. For more information, see Detecting unmanaged
// changes in stack sets (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html)
// in the CloudFormation User Guide.
type StackSetDriftDetectionDetails struct {

	// The status of the stack set drift detection operation.
	//   - COMPLETED : The drift detection operation completed without failing on any
	//   stack instances.
	//   - FAILED : The drift detection operation exceeded the specified failure
	//   tolerance.
	//   - PARTIAL_SUCCESS : The drift detection operation completed without exceeding
	//   the failure tolerance for the operation.
	//   - IN_PROGRESS : The drift detection operation is currently being performed.
	//   - STOPPED : The user has canceled the drift detection operation.
	DriftDetectionStatus StackSetDriftDetectionStatus

	// Status of the stack set's actual configuration compared to its expected
	// template and parameter configuration. A stack set is considered to have drifted
	// if one or more of its stack instances have drifted from their expected template
	// and parameter configuration.
	//   - DRIFTED : One or more of the stack instances belonging to the stack set
	//   stack differs from the expected template and parameter configuration. A stack
	//   instance is considered to have drifted if one or more of the resources in the
	//   associated stack have drifted.
	//   - NOT_CHECKED : CloudFormation hasn't checked the stack set for drift.
	//   - IN_SYNC : All of the stack instances belonging to the stack set stack match
	//   from the expected template and parameter configuration.
	DriftStatus StackSetDriftStatus

	// The number of stack instances that have drifted from the expected template and
	// parameter configuration of the stack set. A stack instance is considered to have
	// drifted if one or more of the resources in the associated stack don't match
	// their expected configuration.
	DriftedStackInstancesCount *int32

	// The number of stack instances for which the drift detection operation failed.
	FailedStackInstancesCount *int32

	// The number of stack instances that are currently being checked for drift.
	InProgressStackInstancesCount *int32

	// The number of stack instances which match the expected template and parameter
	// configuration of the stack set.
	InSyncStackInstancesCount *int32

	// Most recent time when CloudFormation performed a drift detection operation on
	// the stack set. This value will be NULL for any stack set on which drift
	// detection hasn't yet been performed.
	LastDriftCheckTimestamp *time.Time

	// The total number of stack instances belonging to this stack set. The total
	// number of stack instances is equal to the total of:
	//   - Stack instances that match the stack set configuration.
	//   - Stack instances that have drifted from the stack set configuration.
	//   - Stack instances where the drift detection operation has failed.
	//   - Stack instances currently being checked for drift.
	TotalStackInstancesCount *int32

	noSmithyDocumentSerde
}

// The structure that contains information about a stack set operation.
type StackSetOperation struct {

	// The type of stack set operation: CREATE , UPDATE , or DELETE . Create and delete
	// operations affect only the specified stack set instances that are associated
	// with the specified stack set. Update operations affect both the stack set
	// itself, in addition to all associated stack set instances.
	Action StackSetOperationAction

	// The Amazon Resource Name (ARN) of the IAM role used to perform this stack set
	// operation. Use customized administrator roles to control which users or groups
	// can manage specific stack sets within the same administrator account. For more
	// information, see Define Permissions for Multiple Administrators (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html)
	// in the CloudFormation User Guide.
	AdministrationRoleARN *string

	// The time at which the operation was initiated. Note that the creation times for
	// the stack set operation might differ from the creation time of the individual
	// stacks themselves. This is because CloudFormation needs to perform preparatory
	// work for the operation, such as dispatching the work to the requested Regions,
	// before actually creating the first stacks.
	CreationTimestamp *time.Time

	// [Service-managed permissions] The Organizations accounts affected by the stack
	// operation.
	DeploymentTargets *DeploymentTargets

	// The time at which the stack set operation ended, across all accounts and
	// Regions specified. Note that this doesn't necessarily mean that the stack set
	// operation was successful, or even attempted, in each account or Region.
	EndTimestamp *time.Time

	// The name of the IAM execution role used to create or update the stack set. Use
	// customized execution roles to control which stack resources users and groups can
	// include in their stack sets.
	ExecutionRoleName *string

	// The unique ID of a stack set operation.
	OperationId *string

	// The preferences for how CloudFormation performs this stack set operation.
	OperationPreferences *StackSetOperationPreferences

	// For stack set operations of action type DELETE , specifies whether to remove the
	// stack instances from the specified stack set, but doesn't delete the stacks. You
	// can't re-associate a retained stack, or add an existing, saved stack to a new
	// stack set.
	RetainStacks *bool

	// Detailed information about the drift status of the stack set. This includes
	// information about drift operations currently being performed on the stack set.
	// This information will only be present for stack set operations whose Action
	// type is DETECT_DRIFT . For more information, see Detecting Unmanaged Changes in
	// Stack Sets (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html)
	// in the CloudFormation User Guide.
	StackSetDriftDetectionDetails *StackSetDriftDetectionDetails

	// The ID of the stack set.
	StackSetId *string

	// The status of the operation.
	//   - FAILED : The operation exceeded the specified failure tolerance. The failure
	//   tolerance value that you've set for an operation is applied for each Region
	//   during stack create and update operations. If the number of failed stacks within
	//   a Region exceeds the failure tolerance, the status of the operation in the
	//   Region is set to FAILED . This in turn sets the status of the operation as a
	//   whole to FAILED , and CloudFormation cancels the operation in any remaining
	//   Regions.
	//   - QUEUED : [Service-managed permissions] For automatic deployments that
	//   require a sequence of operations, the operation is queued to be performed. For
	//   more information, see the stack set operation status codes (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes)
	//   in the CloudFormation User Guide.
	//   - RUNNING : The operation is currently being performed.
	//   - STOPPED : The user has canceled the operation.
	//   - STOPPING : The operation is in the process of stopping, at user request.
	//   - SUCCEEDED : The operation completed creating or updating all the specified
	//   stacks without exceeding the failure tolerance for the operation.
	Status StackSetOperationStatus

	// Detailed information about the StackSet operation.
	StatusDetails *StackSetOperationStatusDetails

	// The status of the operation in details.
	StatusReason *string

	noSmithyDocumentSerde
}

// The user-specified preferences for how CloudFormation performs a stack set
// operation. For more information about maximum concurrent accounts and failure
// tolerance, see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
// .
type StackSetOperationPreferences struct {

	// Specifies how the concurrency level behaves during the operation execution.
	//   - STRICT_FAILURE_TOLERANCE : This option dynamically lowers the concurrency
	//   level to ensure the number of failed accounts never exceeds the value of
	//   FailureToleranceCount +1. The initial actual concurrency is set to the lower
	//   of either the value of the MaxConcurrentCount , or the value of
	//   MaxConcurrentCount +1. The actual concurrency is then reduced proportionally
	//   by the number of failures. This is the default behavior. If failure tolerance or
	//   Maximum concurrent accounts are set to percentages, the behavior is similar.
	//   - SOFT_FAILURE_TOLERANCE : This option decouples FailureToleranceCount from
	//   the actual concurrency. This allows stack set operations to run at the
	//   concurrency level set by the MaxConcurrentCount value, or
	//   MaxConcurrentPercentage , regardless of the number of failures.
	ConcurrencyMode ConcurrencyMode

	// The number of accounts, per Region, for which this operation can fail before
	// CloudFormation stops the operation in that Region. If the operation is stopped
	// in a Region, CloudFormation doesn't attempt the operation in any subsequent
	// Regions. Conditional: You must specify either FailureToleranceCount or
	// FailureTolerancePercentage (but not both). By default, 0 is specified.
	FailureToleranceCount *int32

	// The percentage of accounts, per Region, for which this stack operation can fail
	// before CloudFormation stops the operation in that Region. If the operation is
	// stopped in a Region, CloudFormation doesn't attempt the operation in any
	// subsequent Regions. When calculating the number of accounts based on the
	// specified percentage, CloudFormation rounds down to the next whole number.
	// Conditional: You must specify either FailureToleranceCount or
	// FailureTolerancePercentage , but not both. By default, 0 is specified.
	FailureTolerancePercentage *int32

	// The maximum number of accounts in which to perform this operation at one time.
	// This can depend on the value of FailureToleranceCount depending on your
	// ConcurrencyMode . MaxConcurrentCount is at most one more than the
	// FailureToleranceCount if you're using STRICT_FAILURE_TOLERANCE . Note that this
	// setting lets you specify the maximum for operations. For large deployments,
	// under certain circumstances the actual number of accounts acted upon
	// concurrently may be lower due to service throttling. Conditional: You must
	// specify either MaxConcurrentCount or MaxConcurrentPercentage , but not both. By
	// default, 1 is specified.
	MaxConcurrentCount *int32

	// The maximum percentage of accounts in which to perform this operation at one
	// time. When calculating the number of accounts based on the specified percentage,
	// CloudFormation rounds down to the next whole number. This is true except in
	// cases where rounding down would result is zero. In this case, CloudFormation
	// sets the number as one instead. Note that this setting lets you specify the
	// maximum for operations. For large deployments, under certain circumstances the
	// actual number of accounts acted upon concurrently may be lower due to service
	// throttling. Conditional: You must specify either MaxConcurrentCount or
	// MaxConcurrentPercentage , but not both. By default, 1 is specified.
	MaxConcurrentPercentage *int32

	// The concurrency type of deploying StackSets operations in Regions, could be in
	// parallel or one Region at a time.
	RegionConcurrencyType RegionConcurrencyType

	// The order of the Regions where you want to perform the stack operation.
	RegionOrder []string

	noSmithyDocumentSerde
}

// The structure that contains information about a specified operation's results
// for a given account in a given Region.
type StackSetOperationResultSummary struct {

	// [Self-managed permissions] The name of the Amazon Web Services account for this
	// operation result.
	Account *string

	// The results of the account gate function CloudFormation invokes, if present,
	// before proceeding with stack set operations in an account.
	AccountGateResult *AccountGateResult

	// [Service-managed permissions] The organization root ID or organizational unit
	// (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html)
	// .
	OrganizationalUnitId *string

	// The name of the Amazon Web Services Region for this operation result.
	Region *string

	// The result status of the stack set operation for the given account in the given
	// Region.
	//   - CANCELLED : The operation in the specified account and Region has been
	//   canceled. This is either because a user has stopped the stack set operation, or
	//   because the failure tolerance of the stack set operation has been exceeded.
	//   - FAILED : The operation in the specified account and Region failed. If the
	//   stack set operation fails in enough accounts within a Region, the failure
	//   tolerance for the stack set operation as a whole might be exceeded.
	//   - RUNNING : The operation in the specified account and Region is currently in
	//   progress.
	//   - PENDING : The operation in the specified account and Region has yet to
	//   start.
	//   - SUCCEEDED : The operation in the specified account and Region completed
	//   successfully.
	Status StackSetOperationResultStatus

	// The reason for the assigned result status.
	StatusReason *string

	noSmithyDocumentSerde
}

// Detailed information about the StackSet operation.
type StackSetOperationStatusDetails struct {

	// The number of stack instances for which the StackSet operation failed.
	FailedStackInstancesCount *int32

	noSmithyDocumentSerde
}

// The structures that contain summary information about the specified operation.
type StackSetOperationSummary struct {

	// The type of operation: CREATE , UPDATE , or DELETE . Create and delete
	// operations affect only the specified stack instances that are associated with
	// the specified stack set. Update operations affect both the stack set itself and
	// all associated stack set instances.
	Action StackSetOperationAction

	// The time at which the operation was initiated. Note that the creation times for
	// the stack set operation might differ from the creation time of the individual
	// stacks themselves. This is because CloudFormation needs to perform preparatory
	// work for the operation, such as dispatching the work to the requested Regions,
	// before actually creating the first stacks.
	CreationTimestamp *time.Time

	// The time at which the stack set operation ended, across all accounts and
	// Regions specified. Note that this doesn't necessarily mean that the stack set
	// operation was successful, or even attempted, in each account or Region.
	EndTimestamp *time.Time

	// The unique ID of the stack set operation.
	OperationId *string

	// The user-specified preferences for how CloudFormation performs a stack set
	// operation. For more information about maximum concurrent accounts and failure
	// tolerance, see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options)
	// .
	OperationPreferences *StackSetOperationPreferences

	// The overall status of the operation.
	//   - FAILED : The operation exceeded the specified failure tolerance. The failure
	//   tolerance value that you've set for an operation is applied for each Region
	//   during stack create and update operations. If the number of failed stacks within
	//   a Region exceeds the failure tolerance, the status of the operation in the
	//   Region is set to FAILED . This in turn sets the status of the operation as a
	//   whole to FAILED , and CloudFormation cancels the operation in any remaining
	//   Regions.
	//   - QUEUED : [Service-managed permissions] For automatic deployments that
	//   require a sequence of operations, the operation is queued to be performed. For
	//   more information, see the stack set operation status codes (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes)
	//   in the CloudFormation User Guide.
	//   - RUNNING : The operation is currently being performed.
	//   - STOPPED : The user has canceled the operation.
	//   - STOPPING : The operation is in the process of stopping, at user request.
	//   - SUCCEEDED : The operation completed creating or updating all the specified
	//   stacks without exceeding the failure tolerance for the operation.
	Status StackSetOperationStatus

	// Detailed information about the stack set operation.
	StatusDetails *StackSetOperationStatusDetails

	// The status of the operation in details.
	StatusReason *string

	noSmithyDocumentSerde
}

// The structures that contain summary information about the specified stack set.
type StackSetSummary struct {

	// [Service-managed permissions] Describes whether StackSets automatically deploys
	// to Organizations accounts that are added to a target organizational unit (OU).
	AutoDeployment *AutoDeployment

	// A description of the stack set that you specify when the stack set is created
	// or updated.
	Description *string

	// Status of the stack set's actual configuration compared to its expected
	// template and parameter configuration. A stack set is considered to have drifted
	// if one or more of its stack instances have drifted from their expected template
	// and parameter configuration.
	//   - DRIFTED : One or more of the stack instances belonging to the stack set
	//   stack differs from the expected template and parameter configuration. A stack
	//   instance is considered to have drifted if one or more of the resources in the
	//   associated stack have drifted.
	//   - NOT_CHECKED : CloudFormation hasn't checked the stack set for drift.
	//   - IN_SYNC : All the stack instances belonging to the stack set stack match
	//   from the expected template and parameter configuration.
	//   - UNKNOWN : This value is reserved for future use.
	DriftStatus StackDriftStatus

	// Most recent time when CloudFormation performed a drift detection operation on
	// the stack set. This value will be NULL for any stack set on which drift
	// detection hasn't yet been performed.
	LastDriftCheckTimestamp *time.Time

	// Describes whether StackSets performs non-conflicting operations concurrently
	// and queues conflicting operations.
	ManagedExecution *ManagedExecution

	// Describes how the IAM roles required for stack set operations are created.
	//   - With self-managed permissions, you must create the administrator and
	//   execution roles required to deploy to target accounts. For more information, see
	//   Grant Self-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html)
	//   .
	//   - With service-managed permissions, StackSets automatically creates the IAM
	//   roles required to deploy to accounts managed by Organizations. For more
	//   information, see Grant Service-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html)
	//   .
	PermissionModel PermissionModels

	// The ID of the stack set.
	StackSetId *string

	// The name of the stack set.
	StackSetName *string

	// The status of the stack set.
	Status StackSetStatus

	noSmithyDocumentSerde
}

// The StackSummary Data Type
type StackSummary struct {

	// The time the stack was created.
	//
	// This member is required.
	CreationTime *time.Time

	// The name associated with the stack.
	//
	// This member is required.
	StackName *string

	// The current status of the stack.
	//
	// This member is required.
	StackStatus StackStatus

	// The time the stack was deleted.
	DeletionTime *time.Time

	// Summarizes information about whether a stack's actual configuration differs, or
	// has drifted, from its expected configuration, as defined in the stack template
	// and any values specified as template parameters. For more information, see
	// Detecting Unregulated Configuration Changes to Stacks and Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)
	// .
	DriftInformation *StackDriftInformationSummary

	// The time the stack was last updated. This field will only be returned if the
	// stack has been updated at least once.
	LastUpdatedTime *time.Time

	// For nested stacks--stacks created as resources for another stack--the stack ID
	// of the direct parent of this stack. For the first level of nested stacks, the
	// root stack is also the parent stack. For more information, see Working with
	// Nested Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
	// in the CloudFormation User Guide.
	ParentId *string

	// For nested stacks--stacks created as resources for another stack--the stack ID
	// of the top-level stack to which the nested stack ultimately belongs. For more
	// information, see Working with Nested Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html)
	// in the CloudFormation User Guide.
	RootId *string

	// Unique stack identifier.
	StackId *string

	// Success/Failure message associated with the stack status.
	StackStatusReason *string

	// The template description of the template used to create the stack.
	TemplateDescription *string

	noSmithyDocumentSerde
}

// The Tag type enables you to specify a key-value pair that can be used to store
// information about an CloudFormation stack.
type Tag struct {

	// Required. A string used to identify this tag. You can specify a maximum of 128
	// characters for a tag key. Tags owned by Amazon Web Services (Amazon Web
	// Services) have the reserved prefix: aws: .
	//
	// This member is required.
	Key *string

	// Required. A string containing the value for this tag. You can specify a maximum
	// of 256 characters for a tag value.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// The TemplateParameter data type.
type TemplateParameter struct {

	// The default value associated with the parameter.
	DefaultValue *string

	// User defined description associated with the parameter.
	Description *string

	// Flag indicating whether the parameter should be displayed as plain text in logs
	// and UIs.
	NoEcho *bool

	// The name associated with the parameter.
	ParameterKey *string

	noSmithyDocumentSerde
}

// Options for the GetTemplateSummary API action.
type TemplateSummaryConfig struct {

	// If set to True , any unrecognized resource types generate warnings and not an
	// error. Any unrecognized resource types are returned in the Warnings output
	// parameter.
	TreatUnrecognizedResourceTypesAsWarnings *bool

	noSmithyDocumentSerde
}

// Detailed information concerning the specification of a CloudFormation extension
// in a given account and Region. For more information, see Configuring extensions
// at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration)
// in the CloudFormation User Guide.
type TypeConfigurationDetails struct {

	// The alias specified for this configuration, if one was specified when the
	// configuration was set.
	Alias *string

	// The Amazon Resource Name (ARN) for the configuration data, in this account and
	// Region.
	Arn *string

	// A JSON string specifying the configuration data for the extension, in this
	// account and Region. If a configuration hasn't been set for a specified
	// extension, CloudFormation returns {} .
	Configuration *string

	// Whether this configuration data is the default configuration for the extension.
	IsDefaultConfiguration *bool

	// When the configuration data was last updated for this extension. If a
	// configuration hasn't been set for a specified extension, CloudFormation returns
	// null .
	LastUpdated *time.Time

	// The Amazon Resource Name (ARN) for the extension, in this account and Region.
	// For public extensions, this will be the ARN assigned when you activate the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html)
	// in this account and Region. For private extensions, this will be the ARN
	// assigned when you register the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html)
	// in this account and Region.
	TypeArn *string

	// The name of the extension.
	TypeName *string

	noSmithyDocumentSerde
}

// Identifying information for the configuration of a CloudFormation extension.
type TypeConfigurationIdentifier struct {

	// The type of extension.
	Type ThirdPartyType

	// The Amazon Resource Name (ARN) for the extension, in this account and Region.
	// For public extensions, this will be the ARN assigned when you activate the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html)
	// in this account and Region. For private extensions, this will be the ARN
	// assigned when you register the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html)
	// in this account and Region.
	TypeArn *string

	// The alias specified for this configuration, if one was specified when the
	// configuration was set.
	TypeConfigurationAlias *string

	// The Amazon Resource Name (ARN) for the configuration, in this account and
	// Region.
	TypeConfigurationArn *string

	// The name of the extension type to which this configuration applies.
	TypeName *string

	noSmithyDocumentSerde
}

// Filter criteria to use in determining which extensions to return.
type TypeFilters struct {

	// The category of extensions to return.
	//   - REGISTERED : Private extensions that have been registered for this account
	//   and Region.
	//   - ACTIVATED : Public extensions that have been activated for this account and
	//   Region.
	//   - THIRD_PARTY : Extensions available for use from publishers other than
	//   Amazon. This includes:
	//   - Private extensions registered in the account.
	//   - Public extensions from publishers other than Amazon, whether activated or
	//   not.
	//   - AWS_TYPES : Extensions available for use from Amazon.
	Category Category

	// The id of the publisher of the extension. Extensions published by Amazon aren't
	// assigned a publisher ID. Use the AWS_TYPES category to specify a list of types
	// published by Amazon.
	PublisherId *string

	// A prefix to use as a filter for results.
	TypeNamePrefix *string

	noSmithyDocumentSerde
}

// Contains summary information about the specified CloudFormation extension.
type TypeSummary struct {

	// The ID of the default version of the extension. The default version is used
	// when the extension version isn't specified. This applies only to private
	// extensions you have registered in your account. For public extensions, both
	// those provided by Amazon and published by third parties, CloudFormation returns
	// null . For more information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html)
	// . To set the default version of an extension, use SetTypeDefaultVersion .
	DefaultVersionId *string

	// The description of the extension.
	Description *string

	// Whether the extension is activated for this account and Region. This applies
	// only to third-party public extensions. Extensions published by Amazon are
	// activated by default.
	IsActivated *bool

	// When the specified extension version was registered. This applies only to:
	//   - Private extensions you have registered in your account. For more
	//   information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html)
	//   .
	//   - Public extensions you have activated in your account with auto-update
	//   specified. For more information, see ActivateType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html)
	//   .
	// For all other extension types, CloudFormation returns null .
	LastUpdated *time.Time

	// For public extensions that have been activated for this account and Region, the
	// latest version of the public extension that is available. For any extensions
	// other than activated third-arty extensions, CloudFormation returns null . How
	// you specified AutoUpdate when enabling the extension affects whether
	// CloudFormation automatically updates the extension in this account and Region
	// when a new version is released. For more information, see Setting
	// CloudFormation to automatically use new versions of extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto)
	// in the CloudFormation User Guide.
	LatestPublicVersion *string

	// For public extensions that have been activated for this account and Region, the
	// type name of the public extension. If you specified a TypeNameAlias when
	// enabling the extension in this account and Region, CloudFormation treats that
	// alias as the extension's type name within the account and Region, not the type
	// name of the public extension. For more information, see Specifying aliases to
	// refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias)
	// in the CloudFormation User Guide.
	OriginalTypeName *string

	// For public extensions that have been activated for this account and Region, the
	// version of the public extension to be used for CloudFormation operations in this
	// account and Region. How you specified AutoUpdate when enabling the extension
	// affects whether CloudFormation automatically updates the extension in this
	// account and Region when a new version is released. For more information, see
	// Setting CloudFormation to automatically use new versions of extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto)
	// in the CloudFormation User Guide.
	PublicVersionNumber *string

	// The ID of the extension publisher, if the extension is published by a third
	// party. Extensions published by Amazon don't return a publisher ID.
	PublisherId *string

	// The service used to verify the publisher identity. For more information, see
	// Registering your account to publish CloudFormation extensions (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html)
	// in the CFN-CLI User Guide for Extension Development.
	PublisherIdentity IdentityProvider

	// The publisher name, as defined in the public profile for that publisher in the
	// service used to verify the publisher identity.
	PublisherName *string

	// The kind of extension.
	Type RegistryType

	// The Amazon Resource Name (ARN) of the extension.
	TypeArn *string

	// The name of the extension. If you specified a TypeNameAlias when you activate
	// this extension (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html)
	// in your account and Region, CloudFormation considers that alias as the type
	// name.
	TypeName *string

	noSmithyDocumentSerde
}

// Contains summary information about a specific version of a CloudFormation
// extension.
type TypeVersionSummary struct {

	// The Amazon Resource Name (ARN) of the extension version.
	Arn *string

	// The description of the extension version.
	Description *string

	// Whether the specified extension version is set as the default version. This
	// applies only to private extensions you have registered in your account, and
	// extensions published by Amazon. For public third-party extensions,
	// CloudFormation returns null .
	IsDefaultVersion *bool

	// For public extensions that have been activated for this account and Region, the
	// version of the public extension to be used for CloudFormation operations in this
	// account and Region. For any extensions other than activated third-arty
	// extensions, CloudFormation returns null . How you specified AutoUpdate when
	// enabling the extension affects whether CloudFormation automatically updates the
	// extension in this account and Region when a new version is released. For more
	// information, see Setting CloudFormation to automatically use new versions of
	// extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto)
	// in the CloudFormation User Guide.
	PublicVersionNumber *string

	// When the version was registered.
	TimeCreated *time.Time

	// The kind of extension.
	Type RegistryType

	// The name of the extension.
	TypeName *string

	// The ID of a specific version of the extension. The version ID is the value at
	// the end of the Amazon Resource Name (ARN) assigned to the extension version when
	// it's registered.
	VersionId *string

	noSmithyDocumentSerde
}

// Contains any warnings returned by the GetTemplateSummary API action.
type Warnings struct {

	// A list of all of the unrecognized resource types. This is only returned if the
	// TemplateSummaryConfig parameter has the TreatUnrecognizedResourceTypesAsWarning
	// configuration set to True .
	UnrecognizedResourceTypes []string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde