1mod capacity;
4mod cvpn;
5mod dhcp;
6mod eip;
7mod endpoint;
8mod eni;
9mod fleet;
10mod ice;
11mod image;
12mod instance;
13mod ipam;
14mod ipam_discovery;
15mod ipam_policy;
16mod lgw;
17mod meta;
18mod nacl;
19mod ni;
20mod reserved;
21mod rest;
22mod routing;
23mod sg;
24mod snapshot;
25mod subnet;
26mod tags;
27mod tgw;
28mod tgw_mcast;
29mod tgw_peering;
30mod va;
31mod volume;
32mod vpc;
33mod vpn;
34
35use async_trait::async_trait;
36use http::StatusCode;
37use parking_lot::RwLock;
38use std::sync::Arc;
39
40use fakecloud_core::multi_account::MultiAccountState;
41use fakecloud_core::service::{AwsRequest, AwsResponse, AwsService, AwsServiceError};
42
43use crate::state::SharedEc2State;
44
45pub const SUPPORTED_ACTIONS: &[&str] = &[
50 "CreateTags",
52 "DeleteTags",
53 "DescribeTags",
54 "DescribeRegions",
56 "DescribeAvailabilityZones",
57 "DescribeAccountAttributes",
58 "CreateVpc",
60 "CreateDefaultVpc",
61 "DeleteVpc",
62 "DescribeVpcs",
63 "ModifyVpcAttribute",
64 "DescribeVpcAttribute",
65 "ModifyVpcTenancy",
66 "AssociateVpcCidrBlock",
67 "DisassociateVpcCidrBlock",
68 "CreateDhcpOptions",
70 "DeleteDhcpOptions",
71 "DescribeDhcpOptions",
72 "AssociateDhcpOptions",
73 "CreateSubnet",
75 "CreateDefaultSubnet",
76 "CreateSecondarySubnet",
77 "DeleteSubnet",
78 "DeleteSecondarySubnet",
79 "DescribeSubnets",
80 "DescribeSecondarySubnets",
81 "ModifySubnetAttribute",
82 "AssociateSubnetCidrBlock",
83 "DisassociateSubnetCidrBlock",
84 "CreateSubnetCidrReservation",
85 "DeleteSubnetCidrReservation",
86 "GetSubnetCidrReservations",
87 "CreateSecurityGroup",
89 "DeleteSecurityGroup",
90 "DescribeSecurityGroups",
91 "AuthorizeSecurityGroupIngress",
92 "AuthorizeSecurityGroupEgress",
93 "RevokeSecurityGroupIngress",
94 "RevokeSecurityGroupEgress",
95 "DescribeSecurityGroupRules",
96 "ModifySecurityGroupRules",
97 "UpdateSecurityGroupRuleDescriptionsIngress",
98 "UpdateSecurityGroupRuleDescriptionsEgress",
99 "AssociateSecurityGroupVpc",
100 "DisassociateSecurityGroupVpc",
101 "DescribeSecurityGroupVpcAssociations",
102 "GetSecurityGroupsForVpc",
103 "DescribeStaleSecurityGroups",
104 "DescribeSecurityGroupReferences",
105 "CreateRouteTable",
107 "DeleteRouteTable",
108 "DescribeRouteTables",
109 "CreateRoute",
110 "DeleteRoute",
111 "ReplaceRoute",
112 "AssociateRouteTable",
113 "DisassociateRouteTable",
114 "ReplaceRouteTableAssociation",
115 "CreateInternetGateway",
117 "DeleteInternetGateway",
118 "DescribeInternetGateways",
119 "AttachInternetGateway",
120 "DetachInternetGateway",
121 "CreateEgressOnlyInternetGateway",
123 "DeleteEgressOnlyInternetGateway",
124 "DescribeEgressOnlyInternetGateways",
125 "CreateNatGateway",
127 "DeleteNatGateway",
128 "DescribeNatGateways",
129 "AssignPrivateNatGatewayAddress",
130 "AssociateNatGatewayAddress",
131 "DisassociateNatGatewayAddress",
132 "UnassignPrivateNatGatewayAddress",
133 "AllocateAddress",
135 "ReleaseAddress",
136 "DescribeAddresses",
137 "AssociateAddress",
138 "DisassociateAddress",
139 "DescribeAddressesAttribute",
140 "ModifyAddressAttribute",
141 "ResetAddressAttribute",
142 "MoveAddressToVpc",
143 "RestoreAddressToClassic",
144 "AcceptAddressTransfer",
145 "EnableAddressTransfer",
146 "DisableAddressTransfer",
147 "DescribeAddressTransfers",
148 "DescribeMovingAddresses",
149 "CreateKeyPair",
151 "ImportKeyPair",
152 "DeleteKeyPair",
153 "DescribeKeyPairs",
154 "CreatePlacementGroup",
156 "DeletePlacementGroup",
157 "DescribePlacementGroups",
158 "GetGroupsForCapacityReservation",
159 "CreateNetworkInterface",
161 "DeleteNetworkInterface",
162 "DescribeNetworkInterfaces",
163 "AttachNetworkInterface",
164 "DetachNetworkInterface",
165 "ModifyNetworkInterfaceAttribute",
166 "ResetNetworkInterfaceAttribute",
167 "DescribeNetworkInterfaceAttribute",
168 "CreateNetworkInterfacePermission",
169 "DeleteNetworkInterfacePermission",
170 "DescribeNetworkInterfacePermissions",
171 "AssignPrivateIpAddresses",
172 "UnassignPrivateIpAddresses",
173 "AssignIpv6Addresses",
174 "UnassignIpv6Addresses",
175 "RunInstances",
177 "StartInstances",
178 "StopInstances",
179 "RebootInstances",
180 "TerminateInstances",
181 "MonitorInstances",
182 "UnmonitorInstances",
183 "DescribeInstances",
184 "DescribeInstanceStatus",
185 "DescribeInstanceTypes",
186 "GetInstanceTypesFromInstanceRequirements",
187 "DescribeInstanceAttribute",
188 "ModifyInstanceAttribute",
189 "ResetInstanceAttribute",
190 "ModifyInstancePlacement",
191 "ModifyInstanceMetadataOptions",
192 "ModifyInstanceMaintenanceOptions",
193 "ModifyInstanceCpuOptions",
194 "ModifyInstanceNetworkPerformanceOptions",
195 "ModifyInstanceEventStartTime",
196 "DescribeInstanceCreditSpecifications",
197 "ModifyInstanceCreditSpecification",
198 "GetInstanceMetadataDefaults",
199 "ModifyInstanceMetadataDefaults",
200 "RegisterInstanceEventNotificationAttributes",
201 "DeregisterInstanceEventNotificationAttributes",
202 "DescribeInstanceEventNotificationAttributes",
203 "ReportInstanceStatus",
204 "DescribeInstanceTopology",
205 "CreateVolume",
207 "DeleteVolume",
208 "DescribeVolumes",
209 "AttachVolume",
210 "DetachVolume",
211 "ModifyVolume",
212 "DescribeVolumesModifications",
213 "DescribeVolumeStatus",
214 "DescribeVolumeAttribute",
215 "ModifyVolumeAttribute",
216 "EnableVolumeIO",
217 "ListVolumesInRecycleBin",
218 "RestoreVolumeFromRecycleBin",
219 "GetEbsEncryptionByDefault",
221 "EnableEbsEncryptionByDefault",
222 "DisableEbsEncryptionByDefault",
223 "GetEbsDefaultKmsKeyId",
224 "ModifyEbsDefaultKmsKeyId",
225 "ResetEbsDefaultKmsKeyId",
226 "CreateSnapshot",
228 "CreateSnapshots",
229 "DeleteSnapshot",
230 "DescribeSnapshots",
231 "CopySnapshot",
232 "DescribeSnapshotAttribute",
233 "ModifySnapshotAttribute",
234 "ResetSnapshotAttribute",
235 "ModifySnapshotTier",
236 "DescribeSnapshotTierStatus",
237 "RestoreSnapshotTier",
238 "ListSnapshotsInRecycleBin",
239 "RestoreSnapshotFromRecycleBin",
240 "LockSnapshot",
241 "UnlockSnapshot",
242 "DescribeLockedSnapshots",
243 "GetSnapshotBlockPublicAccessState",
244 "EnableSnapshotBlockPublicAccess",
245 "DisableSnapshotBlockPublicAccess",
246 "EnableFastSnapshotRestores",
247 "DisableFastSnapshotRestores",
248 "DescribeFastSnapshotRestores",
249 "CreateImage",
251 "RegisterImage",
252 "DeregisterImage",
253 "DescribeImages",
254 "CopyImage",
255 "DescribeImageAttribute",
256 "ModifyImageAttribute",
257 "ResetImageAttribute",
258 "EnableImage",
259 "DisableImage",
260 "EnableImageDeprecation",
261 "DisableImageDeprecation",
262 "EnableImageDeregistrationProtection",
263 "DisableImageDeregistrationProtection",
264 "CancelImageLaunchPermission",
265 "RestoreImageFromRecycleBin",
266 "ListImagesInRecycleBin",
267 "EnableImageBlockPublicAccess",
268 "DisableImageBlockPublicAccess",
269 "GetImageBlockPublicAccessState",
270 "EnableAllowedImagesSettings",
271 "DisableAllowedImagesSettings",
272 "GetAllowedImagesSettings",
273 "ReplaceImageCriteriaInAllowedImagesSettings",
274 "CreateStoreImageTask",
275 "DescribeStoreImageTasks",
276 "CreateRestoreImageTask",
277 "DescribeFastLaunchImages",
278 "CreateNetworkAcl",
280 "DeleteNetworkAcl",
281 "DescribeNetworkAcls",
282 "CreateNetworkAclEntry",
283 "DeleteNetworkAclEntry",
284 "ReplaceNetworkAclEntry",
285 "ReplaceNetworkAclAssociation",
286 "CreateVpcPeeringConnection",
288 "DeleteVpcPeeringConnection",
289 "DescribeVpcPeeringConnections",
290 "AcceptVpcPeeringConnection",
291 "RejectVpcPeeringConnection",
292 "ModifyVpcPeeringConnectionOptions",
293 "CreateVpcEndpoint",
295 "DeleteVpcEndpoints",
296 "DescribeVpcEndpoints",
297 "ModifyVpcEndpoint",
298 "DescribeVpcEndpointServices",
299 "DescribeVpcEndpointConnections",
300 "AcceptVpcEndpointConnections",
301 "RejectVpcEndpointConnections",
302 "CreateVpcEndpointServiceConfiguration",
303 "DeleteVpcEndpointServiceConfigurations",
304 "DescribeVpcEndpointServiceConfigurations",
305 "ModifyVpcEndpointServiceConfiguration",
306 "DescribeVpcEndpointServicePermissions",
307 "ModifyVpcEndpointServicePermissions",
308 "ModifyVpcEndpointServicePayerResponsibility",
309 "StartVpcEndpointServicePrivateDnsVerification",
310 "CreateVpcEndpointConnectionNotification",
311 "DeleteVpcEndpointConnectionNotifications",
312 "DescribeVpcEndpointConnectionNotifications",
313 "ModifyVpcEndpointConnectionNotification",
314 "DescribeVpcEndpointAssociations",
315 "CreateFlowLogs",
317 "DeleteFlowLogs",
318 "DescribeFlowLogs",
319 "GetFlowLogsIntegrationTemplate",
320 "CreateLaunchTemplate",
322 "CreateLaunchTemplateVersion",
323 "DeleteLaunchTemplate",
324 "DeleteLaunchTemplateVersions",
325 "DescribeLaunchTemplates",
326 "DescribeLaunchTemplateVersions",
327 "GetLaunchTemplateData",
328 "ModifyLaunchTemplate",
329 "RequestSpotInstances",
331 "DescribeSpotInstanceRequests",
332 "CancelSpotInstanceRequests",
333 "RequestSpotFleet",
334 "DescribeSpotFleetRequests",
335 "CancelSpotFleetRequests",
336 "ModifySpotFleetRequest",
337 "DescribeSpotFleetInstances",
338 "DescribeSpotFleetRequestHistory",
339 "DescribeSpotPriceHistory",
340 "GetSpotPlacementScores",
341 "CreateSpotDatafeedSubscription",
342 "DeleteSpotDatafeedSubscription",
343 "DescribeSpotDatafeedSubscription",
344 "CreateFleet",
346 "DeleteFleets",
347 "DescribeFleets",
348 "ModifyFleet",
349 "DescribeFleetHistory",
350 "DescribeFleetInstances",
351 "CreateCapacityReservation",
353 "CancelCapacityReservation",
354 "DescribeCapacityReservations",
355 "ModifyCapacityReservation",
356 "GetCapacityReservationUsage",
357 "CreateCapacityReservationFleet",
358 "CancelCapacityReservationFleets",
359 "DescribeCapacityReservationFleets",
360 "ModifyCapacityReservationFleet",
361 "ModifyInstanceCapacityReservationAttributes",
362 "CreateCapacityReservationBySplitting",
363 "MoveCapacityReservationInstances",
364 "DescribeCapacityReservationBillingRequests",
365 "AssociateCapacityReservationBillingOwner",
366 "DisassociateCapacityReservationBillingOwner",
367 "AcceptCapacityReservationBillingOwnership",
368 "RejectCapacityReservationBillingOwnership",
369 "DescribeCapacityBlockOfferings",
370 "DescribeCapacityBlocks",
371 "PurchaseCapacityBlock",
372 "DescribeCapacityBlockStatus",
373 "DescribeCapacityBlockExtensionHistory",
374 "DescribeCapacityBlockExtensionOfferings",
375 "PurchaseCapacityBlockExtension",
376 "DescribeCapacityReservationTopology",
377 "CreateInterruptibleCapacityReservationAllocation",
378 "UpdateInterruptibleCapacityReservationAllocation",
379 "DescribeReservedInstances",
381 "DescribeReservedInstancesOfferings",
382 "PurchaseReservedInstancesOffering",
383 "DescribeReservedInstancesListings",
384 "CreateReservedInstancesListing",
385 "CancelReservedInstancesListing",
386 "DescribeReservedInstancesModifications",
387 "ModifyReservedInstances",
388 "GetReservedInstancesExchangeQuote",
389 "AcceptReservedInstancesExchangeQuote",
390 "DeleteQueuedReservedInstances",
391 "AllocateHosts",
393 "DescribeHosts",
394 "ModifyHosts",
395 "ReleaseHosts",
396 "DescribeMacHosts",
397 "CreateTransitGateway",
399 "DeleteTransitGateway",
400 "DescribeTransitGateways",
401 "ModifyTransitGateway",
402 "CreateTransitGatewayVpcAttachment",
403 "DeleteTransitGatewayVpcAttachment",
404 "DescribeTransitGatewayVpcAttachments",
405 "ModifyTransitGatewayVpcAttachment",
406 "AcceptTransitGatewayVpcAttachment",
407 "RejectTransitGatewayVpcAttachment",
408 "DescribeTransitGatewayAttachments",
409 "CreateTransitGatewayRouteTable",
410 "DeleteTransitGatewayRouteTable",
411 "DescribeTransitGatewayRouteTables",
412 "AssociateTransitGatewayRouteTable",
413 "DisassociateTransitGatewayRouteTable",
414 "EnableTransitGatewayRouteTablePropagation",
415 "DisableTransitGatewayRouteTablePropagation",
416 "CreateTransitGatewayRoute",
417 "DeleteTransitGatewayRoute",
418 "ReplaceTransitGatewayRoute",
419 "SearchTransitGatewayRoutes",
420 "ExportTransitGatewayRoutes",
421 "GetTransitGatewayRouteTableAssociations",
422 "GetTransitGatewayRouteTablePropagations",
423 "GetTransitGatewayAttachmentPropagations",
424 "CreateTransitGatewayPrefixListReference",
425 "DeleteTransitGatewayPrefixListReference",
426 "ModifyTransitGatewayPrefixListReference",
427 "GetTransitGatewayPrefixListReferences",
428 "CreateTransitGatewayPeeringAttachment",
430 "DeleteTransitGatewayPeeringAttachment",
431 "DescribeTransitGatewayPeeringAttachments",
432 "AcceptTransitGatewayPeeringAttachment",
433 "RejectTransitGatewayPeeringAttachment",
434 "CreateTransitGatewayConnect",
435 "DeleteTransitGatewayConnect",
436 "DescribeTransitGatewayConnects",
437 "CreateTransitGatewayConnectPeer",
438 "DeleteTransitGatewayConnectPeer",
439 "DescribeTransitGatewayConnectPeers",
440 "CreateTransitGatewayPolicyTable",
441 "DeleteTransitGatewayPolicyTable",
442 "DescribeTransitGatewayPolicyTables",
443 "AssociateTransitGatewayPolicyTable",
444 "DisassociateTransitGatewayPolicyTable",
445 "GetTransitGatewayPolicyTableAssociations",
446 "GetTransitGatewayPolicyTableEntries",
447 "CreateTransitGatewayRouteTableAnnouncement",
448 "DeleteTransitGatewayRouteTableAnnouncement",
449 "DescribeTransitGatewayRouteTableAnnouncements",
450 "CreateTransitGatewayMulticastDomain",
452 "DeleteTransitGatewayMulticastDomain",
453 "DescribeTransitGatewayMulticastDomains",
454 "AssociateTransitGatewayMulticastDomain",
455 "DisassociateTransitGatewayMulticastDomain",
456 "AcceptTransitGatewayMulticastDomainAssociations",
457 "RejectTransitGatewayMulticastDomainAssociations",
458 "GetTransitGatewayMulticastDomainAssociations",
459 "RegisterTransitGatewayMulticastGroupMembers",
460 "RegisterTransitGatewayMulticastGroupSources",
461 "DeregisterTransitGatewayMulticastGroupMembers",
462 "DeregisterTransitGatewayMulticastGroupSources",
463 "SearchTransitGatewayMulticastGroups",
464 "CreateTransitGatewayMeteringPolicy",
465 "DeleteTransitGatewayMeteringPolicy",
466 "DescribeTransitGatewayMeteringPolicies",
467 "ModifyTransitGatewayMeteringPolicy",
468 "CreateTransitGatewayMeteringPolicyEntry",
469 "DeleteTransitGatewayMeteringPolicyEntry",
470 "GetTransitGatewayMeteringPolicyEntries",
471 "AcceptTransitGatewayClientVpnAttachment",
472 "DeleteTransitGatewayClientVpnAttachment",
473 "RejectTransitGatewayClientVpnAttachment",
474 "CreateCustomerGateway",
476 "DeleteCustomerGateway",
477 "DescribeCustomerGateways",
478 "CreateVpnGateway",
479 "DeleteVpnGateway",
480 "DescribeVpnGateways",
481 "AttachVpnGateway",
482 "DetachVpnGateway",
483 "CreateVpnConnection",
484 "DeleteVpnConnection",
485 "DescribeVpnConnections",
486 "ModifyVpnConnection",
487 "ModifyVpnConnectionOptions",
488 "CreateVpnConnectionRoute",
489 "DeleteVpnConnectionRoute",
490 "ModifyVpnTunnelOptions",
491 "ModifyVpnTunnelCertificate",
492 "ReplaceVpnTunnel",
493 "GetActiveVpnTunnelStatus",
494 "GetVpnTunnelReplacementStatus",
495 "GetVpnConnectionDeviceTypes",
496 "GetVpnConnectionDeviceSampleConfiguration",
497 "CreateVpnConcentrator",
498 "DeleteVpnConcentrator",
499 "DescribeVpnConcentrators",
500 "CreateClientVpnEndpoint",
502 "DeleteClientVpnEndpoint",
503 "DescribeClientVpnEndpoints",
504 "ModifyClientVpnEndpoint",
505 "CreateClientVpnRoute",
506 "DeleteClientVpnRoute",
507 "DescribeClientVpnRoutes",
508 "AuthorizeClientVpnIngress",
509 "RevokeClientVpnIngress",
510 "DescribeClientVpnAuthorizationRules",
511 "AssociateClientVpnTargetNetwork",
512 "DisassociateClientVpnTargetNetwork",
513 "DescribeClientVpnTargetNetworks",
514 "ApplySecurityGroupsToClientVpnTargetNetwork",
515 "DescribeClientVpnConnections",
516 "TerminateClientVpnConnections",
517 "ExportClientVpnClientCertificateRevocationList",
518 "ExportClientVpnClientConfiguration",
519 "ImportClientVpnClientCertificateRevocationList",
520 "CreateIpam",
522 "DeleteIpam",
523 "DescribeIpams",
524 "ModifyIpam",
525 "CreateIpamScope",
526 "DeleteIpamScope",
527 "DescribeIpamScopes",
528 "ModifyIpamScope",
529 "CreateIpamPool",
530 "DeleteIpamPool",
531 "DescribeIpamPools",
532 "ModifyIpamPool",
533 "ProvisionIpamPoolCidr",
534 "DeprovisionIpamPoolCidr",
535 "GetIpamPoolCidrs",
536 "AllocateIpamPoolCidr",
537 "ReleaseIpamPoolAllocation",
538 "GetIpamPoolAllocations",
539 "GetIpamResourceCidrs",
540 "ModifyIpamResourceCidr",
541 "GetIpamAddressHistory",
542 "EnableIpamOrganizationAdminAccount",
543 "DisableIpamOrganizationAdminAccount",
544 "CreateIpamResourceDiscovery",
546 "DeleteIpamResourceDiscovery",
547 "DescribeIpamResourceDiscoveries",
548 "ModifyIpamResourceDiscovery",
549 "AssociateIpamResourceDiscovery",
550 "DisassociateIpamResourceDiscovery",
551 "DescribeIpamResourceDiscoveryAssociations",
552 "GetIpamDiscoveredAccounts",
553 "GetIpamDiscoveredPublicAddresses",
554 "GetIpamDiscoveredResourceCidrs",
555 "AssociateIpamByoasn",
556 "DisassociateIpamByoasn",
557 "ProvisionIpamByoasn",
558 "DeprovisionIpamByoasn",
559 "DescribeIpamByoasn",
560 "MoveByoipCidrToIpam",
561 "CreateIpamExternalResourceVerificationToken",
562 "DeleteIpamExternalResourceVerificationToken",
563 "DescribeIpamExternalResourceVerificationTokens",
564 "CreateIpamPolicy",
566 "DeleteIpamPolicy",
567 "DescribeIpamPolicies",
568 "EnableIpamPolicy",
569 "DisableIpamPolicy",
570 "GetEnabledIpamPolicy",
571 "GetIpamPolicyAllocationRules",
572 "ModifyIpamPolicyAllocationRules",
573 "GetIpamPolicyOrganizationTargets",
574 "CreateIpamPrefixListResolver",
575 "DeleteIpamPrefixListResolver",
576 "DescribeIpamPrefixListResolvers",
577 "ModifyIpamPrefixListResolver",
578 "CreateIpamPrefixListResolverTarget",
579 "DeleteIpamPrefixListResolverTarget",
580 "DescribeIpamPrefixListResolverTargets",
581 "ModifyIpamPrefixListResolverTarget",
582 "GetIpamPrefixListResolverRules",
583 "GetIpamPrefixListResolverVersions",
584 "GetIpamPrefixListResolverVersionEntries",
585 "CreateVerifiedAccessInstance",
587 "DeleteVerifiedAccessInstance",
588 "DescribeVerifiedAccessInstances",
589 "ModifyVerifiedAccessInstance",
590 "CreateVerifiedAccessTrustProvider",
591 "DeleteVerifiedAccessTrustProvider",
592 "DescribeVerifiedAccessTrustProviders",
593 "ModifyVerifiedAccessTrustProvider",
594 "AttachVerifiedAccessTrustProvider",
595 "DetachVerifiedAccessTrustProvider",
596 "CreateVerifiedAccessGroup",
597 "DeleteVerifiedAccessGroup",
598 "DescribeVerifiedAccessGroups",
599 "ModifyVerifiedAccessGroup",
600 "GetVerifiedAccessGroupPolicy",
601 "ModifyVerifiedAccessGroupPolicy",
602 "CreateVerifiedAccessEndpoint",
603 "DeleteVerifiedAccessEndpoint",
604 "DescribeVerifiedAccessEndpoints",
605 "ModifyVerifiedAccessEndpoint",
606 "GetVerifiedAccessEndpointPolicy",
607 "ModifyVerifiedAccessEndpointPolicy",
608 "GetVerifiedAccessEndpointTargets",
609 "DescribeVerifiedAccessInstanceLoggingConfigurations",
610 "ModifyVerifiedAccessInstanceLoggingConfiguration",
611 "ExportVerifiedAccessInstanceClientConfiguration",
612 "CreateNetworkInsightsPath",
614 "DeleteNetworkInsightsPath",
615 "DescribeNetworkInsightsPaths",
616 "StartNetworkInsightsAnalysis",
617 "DeleteNetworkInsightsAnalysis",
618 "DescribeNetworkInsightsAnalyses",
619 "CreateNetworkInsightsAccessScope",
620 "DeleteNetworkInsightsAccessScope",
621 "DescribeNetworkInsightsAccessScopes",
622 "GetNetworkInsightsAccessScopeContent",
623 "StartNetworkInsightsAccessScopeAnalysis",
624 "DeleteNetworkInsightsAccessScopeAnalysis",
625 "DescribeNetworkInsightsAccessScopeAnalyses",
626 "GetNetworkInsightsAccessScopeAnalysisFindings",
627 "CreateCarrierGateway",
629 "DeleteCarrierGateway",
630 "DescribeCarrierGateways",
631 "CreateCoipPool",
632 "DeleteCoipPool",
633 "DescribeCoipPools",
634 "CreateCoipCidr",
635 "DeleteCoipCidr",
636 "GetCoipPoolUsage",
637 "CreateLocalGatewayRouteTable",
638 "DeleteLocalGatewayRouteTable",
639 "DescribeLocalGatewayRouteTables",
640 "CreateLocalGatewayRoute",
641 "DeleteLocalGatewayRoute",
642 "ModifyLocalGatewayRoute",
643 "SearchLocalGatewayRoutes",
644 "CreateLocalGatewayRouteTableVpcAssociation",
645 "DeleteLocalGatewayRouteTableVpcAssociation",
646 "DescribeLocalGatewayRouteTableVpcAssociations",
647 "CreateLocalGatewayVirtualInterface",
648 "DeleteLocalGatewayVirtualInterface",
649 "DescribeLocalGatewayVirtualInterfaces",
650 "CreateLocalGatewayVirtualInterfaceGroup",
651 "DeleteLocalGatewayVirtualInterfaceGroup",
652 "DescribeLocalGatewayVirtualInterfaceGroups",
653 "CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation",
654 "DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation",
655 "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations",
656 "DescribeLocalGateways",
657 "CreateInstanceConnectEndpoint",
659 "DeleteInstanceConnectEndpoint",
660 "DescribeInstanceConnectEndpoints",
661 "ModifyInstanceConnectEndpoint",
662 "EnableFastLaunch",
663 "DisableFastLaunch",
664 "EnableSerialConsoleAccess",
665 "DisableSerialConsoleAccess",
666 "GetSerialConsoleAccessStatus",
667 "GetConsoleOutput",
668 "GetConsoleScreenshot",
669 "GetPasswordData",
670 "CreateCapacityReservationCancellationQuote",
672 "DescribeCapacityReservationCancellationQuotes",
673 "DescribeIpamPoolAllocations",
674 "ModifyIpamPoolAllocation",
675 "AdvertiseByoipCidr",
676 "AssociateEnclaveCertificateIamRole",
677 "AssociateIamInstanceProfile",
678 "AssociateInstanceEventWindow",
679 "AssociateRouteServer",
680 "AssociateTrunkInterface",
681 "AttachClassicLinkVpc",
682 "BundleInstance",
683 "CancelBundleTask",
684 "CancelConversionTask",
685 "CancelDeclarativePoliciesReport",
686 "CancelExportTask",
687 "CancelImportTask",
688 "ConfirmProductInstance",
689 "CopyFpgaImage",
690 "CopyVolumes",
691 "CreateCapacityManagerDataExport",
692 "CreateDelegateMacVolumeOwnershipTask",
693 "CreateFpgaImage",
694 "CreateImageUsageReport",
695 "CreateInstanceEventWindow",
696 "CreateInstanceExportTask",
697 "CreateMacSystemIntegrityProtectionModificationTask",
698 "CreateManagedPrefixList",
699 "CreatePublicIpv4Pool",
700 "CreateReplaceRootVolumeTask",
701 "CreateRouteServer",
702 "CreateRouteServerEndpoint",
703 "CreateRouteServerPeer",
704 "CreateSecondaryNetwork",
705 "CreateTrafficMirrorFilter",
706 "CreateTrafficMirrorFilterRule",
707 "CreateTrafficMirrorSession",
708 "CreateTrafficMirrorTarget",
709 "CreateVpcBlockPublicAccessExclusion",
710 "CreateVpcEncryptionControl",
711 "DeleteCapacityManagerDataExport",
712 "DeleteFpgaImage",
713 "DeleteImageUsageReport",
714 "DeleteInstanceEventWindow",
715 "DeleteManagedPrefixList",
716 "DeletePublicIpv4Pool",
717 "DeleteRouteServer",
718 "DeleteRouteServerEndpoint",
719 "DeleteRouteServerPeer",
720 "DeleteSecondaryNetwork",
721 "DeleteTrafficMirrorFilter",
722 "DeleteTrafficMirrorFilterRule",
723 "DeleteTrafficMirrorSession",
724 "DeleteTrafficMirrorTarget",
725 "DeleteVpcBlockPublicAccessExclusion",
726 "DeleteVpcEncryptionControl",
727 "DeprovisionByoipCidr",
728 "DeprovisionPublicIpv4PoolCidr",
729 "DescribeAggregateIdFormat",
730 "DescribeAwsNetworkPerformanceMetricSubscriptions",
731 "DescribeBundleTasks",
732 "DescribeByoipCidrs",
733 "DescribeCapacityManagerDataExports",
734 "DescribeClassicLinkInstances",
735 "DescribeConversionTasks",
736 "DescribeDeclarativePoliciesReports",
737 "DescribeElasticGpus",
738 "DescribeExportImageTasks",
739 "DescribeExportTasks",
740 "DescribeFpgaImageAttribute",
741 "DescribeFpgaImages",
742 "DescribeHostReservationOfferings",
743 "DescribeHostReservations",
744 "DescribeIamInstanceProfileAssociations",
745 "DescribeIdFormat",
746 "DescribeIdentityIdFormat",
747 "DescribeImageReferences",
748 "DescribeImageUsageReportEntries",
749 "DescribeImageUsageReports",
750 "DescribeImportImageTasks",
751 "DescribeImportSnapshotTasks",
752 "DescribeInstanceEventWindows",
753 "DescribeInstanceImageMetadata",
754 "DescribeInstanceSqlHaHistoryStates",
755 "DescribeInstanceSqlHaStates",
756 "DescribeInstanceTypeOfferings",
757 "DescribeIpv6Pools",
758 "DescribeMacModificationTasks",
759 "DescribeManagedPrefixLists",
760 "DescribeOutpostLags",
761 "DescribePrefixLists",
762 "DescribePrincipalIdFormat",
763 "DescribePublicIpv4Pools",
764 "DescribeReplaceRootVolumeTasks",
765 "DescribeRouteServerEndpoints",
766 "DescribeRouteServerPeers",
767 "DescribeRouteServers",
768 "DescribeScheduledInstanceAvailability",
769 "DescribeScheduledInstances",
770 "DescribeSecondaryInterfaces",
771 "DescribeSecondaryNetworks",
772 "DescribeServiceLinkVirtualInterfaces",
773 "DescribeTrafficMirrorFilterRules",
774 "DescribeTrafficMirrorFilters",
775 "DescribeTrafficMirrorSessions",
776 "DescribeTrafficMirrorTargets",
777 "DescribeTrunkInterfaceAssociations",
778 "DescribeVpcBlockPublicAccessExclusions",
779 "DescribeVpcBlockPublicAccessOptions",
780 "DescribeVpcClassicLink",
781 "DescribeVpcClassicLinkDnsSupport",
782 "DescribeVpcEncryptionControls",
783 "DetachClassicLinkVpc",
784 "DisableAwsNetworkPerformanceMetricSubscription",
785 "DisableCapacityManager",
786 "DisableInstanceSqlHaStandbyDetections",
787 "DisableRouteServerPropagation",
788 "DisableVgwRoutePropagation",
789 "DisableVpcClassicLink",
790 "DisableVpcClassicLinkDnsSupport",
791 "DisassociateEnclaveCertificateIamRole",
792 "DisassociateIamInstanceProfile",
793 "DisassociateInstanceEventWindow",
794 "DisassociateRouteServer",
795 "DisassociateTrunkInterface",
796 "EnableAwsNetworkPerformanceMetricSubscription",
797 "EnableCapacityManager",
798 "EnableInstanceSqlHaStandbyDetections",
799 "EnableReachabilityAnalyzerOrganizationSharing",
800 "EnableRouteServerPropagation",
801 "EnableVgwRoutePropagation",
802 "EnableVpcClassicLink",
803 "EnableVpcClassicLinkDnsSupport",
804 "ExportImage",
805 "GetAssociatedEnclaveCertificateIamRoles",
806 "GetAssociatedIpv6PoolCidrs",
807 "GetAwsNetworkPerformanceData",
808 "GetCapacityManagerAttributes",
809 "GetCapacityManagerMetricData",
810 "GetCapacityManagerMetricDimensions",
811 "GetCapacityManagerMonitoredTagKeys",
812 "GetDeclarativePoliciesReportSummary",
813 "GetDefaultCreditSpecification",
814 "GetHostReservationPurchasePreview",
815 "GetImageAncestry",
816 "GetInstanceTpmEkPub",
817 "GetInstanceUefiData",
818 "GetManagedPrefixListAssociations",
819 "GetManagedPrefixListEntries",
820 "GetManagedResourceVisibility",
821 "GetRouteServerAssociations",
822 "GetRouteServerPropagations",
823 "GetRouteServerRoutingDatabase",
824 "GetVpcResourcesBlockingEncryptionEnforcement",
825 "ImportImage",
826 "ImportInstance",
827 "ImportSnapshot",
828 "ImportVolume",
829 "ModifyAvailabilityZoneGroup",
830 "ModifyDefaultCreditSpecification",
831 "ModifyFpgaImageAttribute",
832 "ModifyIdFormat",
833 "ModifyIdentityIdFormat",
834 "ModifyInstanceEventWindow",
835 "ModifyManagedPrefixList",
836 "ModifyManagedResourceVisibility",
837 "ModifyPrivateDnsNameOptions",
838 "ModifyPublicIpDnsNameOptions",
839 "ModifyRouteServer",
840 "ModifyTrafficMirrorFilterNetworkServices",
841 "ModifyTrafficMirrorFilterRule",
842 "ModifyTrafficMirrorSession",
843 "ModifyVpcBlockPublicAccessExclusion",
844 "ModifyVpcBlockPublicAccessOptions",
845 "ModifyVpcEncryptionControl",
846 "ProvisionByoipCidr",
847 "ProvisionPublicIpv4PoolCidr",
848 "PurchaseHostReservation",
849 "PurchaseScheduledInstances",
850 "ReplaceIamInstanceProfileAssociation",
851 "ResetFpgaImageAttribute",
852 "RestoreManagedPrefixListVersion",
853 "RunScheduledInstances",
854 "SendDiagnosticInterrupt",
855 "StartDeclarativePoliciesReport",
856 "UpdateCapacityManagerMonitoredTagKeys",
857 "UpdateCapacityManagerOrganizationsAccess",
858 "WithdrawByoipCidr",
859];
860
861pub struct Ec2Service {
863 pub(crate) state: SharedEc2State,
864}
865
866impl Ec2Service {
867 pub fn new() -> Self {
869 Self {
870 state: Arc::new(RwLock::new(MultiAccountState::new(
871 "000000000000",
872 "us-east-1",
873 "",
874 ))),
875 }
876 }
877
878 pub fn with_state(state: SharedEc2State) -> Self {
881 Self { state }
882 }
883
884 pub fn shared_state(&self) -> SharedEc2State {
887 self.state.clone()
888 }
889}
890
891impl Default for Ec2Service {
892 fn default() -> Self {
893 Self::new()
894 }
895}
896
897#[async_trait]
898impl AwsService for Ec2Service {
899 fn service_name(&self) -> &str {
900 "ec2"
901 }
902
903 fn supported_actions(&self) -> &[&str] {
904 SUPPORTED_ACTIONS
905 }
906
907 async fn handle(&self, request: AwsRequest) -> Result<AwsResponse, AwsServiceError> {
908 match request.action.as_str() {
909 "CreateTags" => tags::create_tags(self, &request),
910 "DeleteTags" => tags::delete_tags(self, &request),
911 "DescribeTags" => tags::describe_tags(self, &request),
912 "DescribeRegions" => meta::describe_regions(self, &request),
913 "DescribeAvailabilityZones" => meta::describe_availability_zones(self, &request),
914 "DescribeAccountAttributes" => meta::describe_account_attributes(self, &request),
915 "CreateVpc" => vpc::create_vpc(self, &request),
916 "CreateDefaultVpc" => vpc::create_default_vpc(self, &request),
917 "DeleteVpc" => vpc::delete_vpc(self, &request),
918 "DescribeVpcs" => vpc::describe_vpcs(self, &request),
919 "ModifyVpcAttribute" => vpc::modify_vpc_attribute(self, &request),
920 "DescribeVpcAttribute" => vpc::describe_vpc_attribute(self, &request),
921 "ModifyVpcTenancy" => vpc::modify_vpc_tenancy(self, &request),
922 "AssociateVpcCidrBlock" => vpc::associate_vpc_cidr_block(self, &request),
923 "DisassociateVpcCidrBlock" => vpc::disassociate_vpc_cidr_block(self, &request),
924 "CreateDhcpOptions" => dhcp::create_dhcp_options(self, &request),
925 "DeleteDhcpOptions" => dhcp::delete_dhcp_options(self, &request),
926 "DescribeDhcpOptions" => dhcp::describe_dhcp_options(self, &request),
927 "AssociateDhcpOptions" => dhcp::associate_dhcp_options(self, &request),
928 "CreateSubnet" => subnet::create_subnet(self, &request),
929 "CreateDefaultSubnet" => subnet::create_default_subnet(self, &request),
930 "CreateSecondarySubnet" => subnet::create_secondary_subnet(self, &request),
931 "DeleteSubnet" => subnet::delete_subnet(self, &request),
932 "DeleteSecondarySubnet" => subnet::delete_secondary_subnet(self, &request),
933 "DescribeSubnets" => subnet::describe_subnets(self, &request),
934 "DescribeSecondarySubnets" => subnet::describe_secondary_subnets(self, &request),
935 "ModifySubnetAttribute" => subnet::modify_subnet_attribute(self, &request),
936 "AssociateSubnetCidrBlock" => subnet::associate_subnet_cidr_block(self, &request),
937 "DisassociateSubnetCidrBlock" => subnet::disassociate_subnet_cidr_block(self, &request),
938 "CreateSubnetCidrReservation" => subnet::create_subnet_cidr_reservation(self, &request),
939 "DeleteSubnetCidrReservation" => subnet::delete_subnet_cidr_reservation(self, &request),
940 "GetSubnetCidrReservations" => subnet::get_subnet_cidr_reservations(self, &request),
941 "CreateSecurityGroup" => sg::create_security_group(self, &request),
942 "DeleteSecurityGroup" => sg::delete_security_group(self, &request),
943 "DescribeSecurityGroups" => sg::describe_security_groups(self, &request),
944 "AuthorizeSecurityGroupIngress" => sg::authorize_security_group_ingress(self, &request),
945 "AuthorizeSecurityGroupEgress" => sg::authorize_security_group_egress(self, &request),
946 "RevokeSecurityGroupIngress" => sg::revoke_security_group_ingress(self, &request),
947 "RevokeSecurityGroupEgress" => sg::revoke_security_group_egress(self, &request),
948 "DescribeSecurityGroupRules" => sg::describe_security_group_rules(self, &request),
949 "ModifySecurityGroupRules" => sg::modify_security_group_rules(self, &request),
950 "UpdateSecurityGroupRuleDescriptionsIngress" => {
951 sg::update_rule_descriptions_ingress(self, &request)
952 }
953 "UpdateSecurityGroupRuleDescriptionsEgress" => {
954 sg::update_rule_descriptions_egress(self, &request)
955 }
956 "AssociateSecurityGroupVpc" => sg::associate_security_group_vpc(self, &request),
957 "DisassociateSecurityGroupVpc" => sg::disassociate_security_group_vpc(self, &request),
958 "DescribeSecurityGroupVpcAssociations" => {
959 sg::describe_security_group_vpc_associations(self, &request)
960 }
961 "GetSecurityGroupsForVpc" => sg::get_security_groups_for_vpc(self, &request),
962 "DescribeStaleSecurityGroups" => sg::describe_stale_security_groups(self, &request),
963 "DescribeSecurityGroupReferences" => {
964 sg::describe_security_group_references(self, &request)
965 }
966 "CreateRouteTable" => routing::create_route_table(self, &request),
967 "DeleteRouteTable" => routing::delete_route_table(self, &request),
968 "DescribeRouteTables" => routing::describe_route_tables(self, &request),
969 "CreateRoute" => routing::create_route(self, &request),
970 "DeleteRoute" => routing::delete_route(self, &request),
971 "ReplaceRoute" => routing::replace_route(self, &request),
972 "AssociateRouteTable" => routing::associate_route_table(self, &request),
973 "DisassociateRouteTable" => routing::disassociate_route_table(self, &request),
974 "ReplaceRouteTableAssociation" => {
975 routing::replace_route_table_association(self, &request)
976 }
977 "CreateInternetGateway" => routing::create_internet_gateway(self, &request),
978 "DeleteInternetGateway" => routing::delete_internet_gateway(self, &request),
979 "DescribeInternetGateways" => routing::describe_internet_gateways(self, &request),
980 "AttachInternetGateway" => routing::attach_internet_gateway(self, &request),
981 "DetachInternetGateway" => routing::detach_internet_gateway(self, &request),
982 "CreateEgressOnlyInternetGateway" => routing::create_egress_only_igw(self, &request),
983 "DeleteEgressOnlyInternetGateway" => routing::delete_egress_only_igw(self, &request),
984 "DescribeEgressOnlyInternetGateways" => {
985 routing::describe_egress_only_igws(self, &request)
986 }
987 "CreateNatGateway" => routing::create_nat_gateway(self, &request),
988 "DeleteNatGateway" => routing::delete_nat_gateway(self, &request),
989 "DescribeNatGateways" => routing::describe_nat_gateways(self, &request),
990 "AssignPrivateNatGatewayAddress" => {
991 routing::assign_private_nat_gateway_address(self, &request)
992 }
993 "AssociateNatGatewayAddress" => routing::associate_nat_gateway_address(self, &request),
994 "DisassociateNatGatewayAddress" => {
995 routing::disassociate_nat_gateway_address(self, &request)
996 }
997 "UnassignPrivateNatGatewayAddress" => {
998 routing::unassign_private_nat_gateway_address(self, &request)
999 }
1000 "AllocateAddress" => eip::allocate_address(self, &request),
1001 "ReleaseAddress" => eip::release_address(self, &request),
1002 "DescribeAddresses" => eip::describe_addresses(self, &request),
1003 "AssociateAddress" => eip::associate_address(self, &request),
1004 "DisassociateAddress" => eip::disassociate_address(self, &request),
1005 "DescribeAddressesAttribute" => eip::describe_addresses_attribute(self, &request),
1006 "ModifyAddressAttribute" => eip::modify_address_attribute(self, &request),
1007 "ResetAddressAttribute" => eip::reset_address_attribute(self, &request),
1008 "MoveAddressToVpc" => eip::move_address_to_vpc(self, &request),
1009 "RestoreAddressToClassic" => eip::restore_address_to_classic(self, &request),
1010 "AcceptAddressTransfer" => eip::accept_address_transfer(self, &request),
1011 "EnableAddressTransfer" => eip::enable_address_transfer(self, &request),
1012 "DisableAddressTransfer" => eip::disable_address_transfer(self, &request),
1013 "DescribeAddressTransfers" => eip::describe_address_transfers(self, &request),
1014 "DescribeMovingAddresses" => eip::describe_moving_addresses(self, &request),
1015 "CreateKeyPair" => eip::create_key_pair(self, &request),
1016 "ImportKeyPair" => eip::import_key_pair(self, &request),
1017 "DeleteKeyPair" => eip::delete_key_pair(self, &request),
1018 "DescribeKeyPairs" => eip::describe_key_pairs(self, &request),
1019 "CreatePlacementGroup" => eip::create_placement_group(self, &request),
1020 "DeletePlacementGroup" => eip::delete_placement_group(self, &request),
1021 "DescribePlacementGroups" => eip::describe_placement_groups(self, &request),
1022 "GetGroupsForCapacityReservation" => {
1023 eip::get_groups_for_capacity_reservation(self, &request)
1024 }
1025 "CreateNetworkInterface" => eni::create_network_interface(self, &request),
1026 "DeleteNetworkInterface" => eni::delete_network_interface(self, &request),
1027 "DescribeNetworkInterfaces" => eni::describe_network_interfaces(self, &request),
1028 "AttachNetworkInterface" => eni::attach_network_interface(self, &request),
1029 "DetachNetworkInterface" => eni::detach_network_interface(self, &request),
1030 "ModifyNetworkInterfaceAttribute" => {
1031 eni::modify_network_interface_attribute(self, &request)
1032 }
1033 "ResetNetworkInterfaceAttribute" => {
1034 eni::reset_network_interface_attribute(self, &request)
1035 }
1036 "DescribeNetworkInterfaceAttribute" => {
1037 eni::describe_network_interface_attribute(self, &request)
1038 }
1039 "CreateNetworkInterfacePermission" => {
1040 eni::create_network_interface_permission(self, &request)
1041 }
1042 "DeleteNetworkInterfacePermission" => {
1043 eni::delete_network_interface_permission(self, &request)
1044 }
1045 "DescribeNetworkInterfacePermissions" => {
1046 eni::describe_network_interface_permissions(self, &request)
1047 }
1048 "AssignPrivateIpAddresses" => eni::assign_private_ip_addresses(self, &request),
1049 "UnassignPrivateIpAddresses" => eni::unassign_private_ip_addresses(self, &request),
1050 "AssignIpv6Addresses" => eni::assign_ipv6_addresses(self, &request),
1051 "UnassignIpv6Addresses" => eni::unassign_ipv6_addresses(self, &request),
1052 "RunInstances" => instance::run_instances(self, &request),
1053 "StartInstances" => instance::start_instances(self, &request),
1054 "StopInstances" => instance::stop_instances(self, &request),
1055 "RebootInstances" => instance::reboot_instances(self, &request),
1056 "TerminateInstances" => instance::terminate_instances(self, &request),
1057 "MonitorInstances" => instance::monitor_instances(self, &request),
1058 "UnmonitorInstances" => instance::unmonitor_instances(self, &request),
1059 "DescribeInstances" => instance::describe_instances(self, &request),
1060 "DescribeInstanceStatus" => instance::describe_instance_status(self, &request),
1061 "DescribeInstanceTypes" => instance::describe_instance_types(self, &request),
1062 "GetInstanceTypesFromInstanceRequirements" => {
1063 instance::get_instance_types_from_requirements(self, &request)
1064 }
1065 "DescribeInstanceAttribute" => instance::describe_instance_attribute(self, &request),
1066 "ModifyInstanceAttribute" => instance::modify_instance_attribute(self, &request),
1067 "ResetInstanceAttribute" => instance::reset_instance_attribute(self, &request),
1068 "ModifyInstancePlacement" => instance::modify_instance_placement(self, &request),
1069 "ModifyInstanceMetadataOptions" => {
1070 instance::modify_instance_metadata_options(self, &request)
1071 }
1072 "ModifyInstanceMaintenanceOptions" => {
1073 instance::modify_instance_maintenance_options(self, &request)
1074 }
1075 "ModifyInstanceCpuOptions" => instance::modify_instance_cpu_options(self, &request),
1076 "ModifyInstanceNetworkPerformanceOptions" => {
1077 instance::modify_instance_network_performance_options(self, &request)
1078 }
1079 "ModifyInstanceEventStartTime" => {
1080 instance::modify_instance_event_start_time(self, &request)
1081 }
1082 "DescribeInstanceCreditSpecifications" => {
1083 instance::describe_instance_credit_specifications(self, &request)
1084 }
1085 "ModifyInstanceCreditSpecification" => {
1086 instance::modify_instance_credit_specification(self, &request)
1087 }
1088 "GetInstanceMetadataDefaults" => {
1089 instance::get_instance_metadata_defaults(self, &request)
1090 }
1091 "ModifyInstanceMetadataDefaults" => {
1092 instance::modify_instance_metadata_defaults(self, &request)
1093 }
1094 "RegisterInstanceEventNotificationAttributes" => {
1095 instance::register_event_notification_attributes(self, &request)
1096 }
1097 "DeregisterInstanceEventNotificationAttributes" => {
1098 instance::deregister_event_notification_attributes(self, &request)
1099 }
1100 "DescribeInstanceEventNotificationAttributes" => {
1101 instance::describe_event_notification_attributes(self, &request)
1102 }
1103 "ReportInstanceStatus" => instance::report_instance_status(self, &request),
1104 "DescribeInstanceTopology" => instance::describe_instance_topology(self, &request),
1105 "CreateVolume" => volume::create_volume(self, &request),
1106 "DeleteVolume" => volume::delete_volume(self, &request),
1107 "DescribeVolumes" => volume::describe_volumes(self, &request),
1108 "AttachVolume" => volume::attach_volume(self, &request),
1109 "DetachVolume" => volume::detach_volume(self, &request),
1110 "ModifyVolume" => volume::modify_volume(self, &request),
1111 "DescribeVolumesModifications" => {
1112 volume::describe_volumes_modifications(self, &request)
1113 }
1114 "DescribeVolumeStatus" => volume::describe_volume_status(self, &request),
1115 "DescribeVolumeAttribute" => volume::describe_volume_attribute(self, &request),
1116 "ModifyVolumeAttribute" => volume::modify_volume_attribute(self, &request),
1117 "EnableVolumeIO" => volume::enable_volume_io(self, &request),
1118 "ListVolumesInRecycleBin" => volume::list_volumes_in_recycle_bin(self, &request),
1119 "RestoreVolumeFromRecycleBin" => {
1120 volume::restore_volume_from_recycle_bin(self, &request)
1121 }
1122 "GetEbsEncryptionByDefault" => volume::get_ebs_encryption_by_default(self, &request),
1123 "EnableEbsEncryptionByDefault" => {
1124 volume::enable_ebs_encryption_by_default(self, &request)
1125 }
1126 "DisableEbsEncryptionByDefault" => {
1127 volume::disable_ebs_encryption_by_default(self, &request)
1128 }
1129 "GetEbsDefaultKmsKeyId" => volume::get_ebs_default_kms_key_id(self, &request),
1130 "ModifyEbsDefaultKmsKeyId" => volume::modify_ebs_default_kms_key_id(self, &request),
1131 "ResetEbsDefaultKmsKeyId" => volume::reset_ebs_default_kms_key_id(self, &request),
1132 "CreateSnapshot" => snapshot::create_snapshot(self, &request),
1133 "CreateSnapshots" => snapshot::create_snapshots(self, &request),
1134 "DeleteSnapshot" => snapshot::delete_snapshot(self, &request),
1135 "DescribeSnapshots" => snapshot::describe_snapshots(self, &request),
1136 "CopySnapshot" => snapshot::copy_snapshot(self, &request),
1137 "DescribeSnapshotAttribute" => snapshot::describe_snapshot_attribute(self, &request),
1138 "ModifySnapshotAttribute" => snapshot::modify_snapshot_attribute(self, &request),
1139 "ResetSnapshotAttribute" => snapshot::reset_snapshot_attribute(self, &request),
1140 "ModifySnapshotTier" => snapshot::modify_snapshot_tier(self, &request),
1141 "DescribeSnapshotTierStatus" => snapshot::describe_snapshot_tier_status(self, &request),
1142 "RestoreSnapshotTier" => snapshot::restore_snapshot_tier(self, &request),
1143 "ListSnapshotsInRecycleBin" => snapshot::list_snapshots_in_recycle_bin(self, &request),
1144 "RestoreSnapshotFromRecycleBin" => {
1145 snapshot::restore_snapshot_from_recycle_bin(self, &request)
1146 }
1147 "LockSnapshot" => snapshot::lock_snapshot(self, &request),
1148 "UnlockSnapshot" => snapshot::unlock_snapshot(self, &request),
1149 "DescribeLockedSnapshots" => snapshot::describe_locked_snapshots(self, &request),
1150 "GetSnapshotBlockPublicAccessState" => {
1151 snapshot::get_snapshot_block_public_access_state(self, &request)
1152 }
1153 "EnableSnapshotBlockPublicAccess" => {
1154 snapshot::enable_snapshot_block_public_access(self, &request)
1155 }
1156 "DisableSnapshotBlockPublicAccess" => {
1157 snapshot::disable_snapshot_block_public_access(self, &request)
1158 }
1159 "EnableFastSnapshotRestores" => snapshot::enable_fast_snapshot_restores(self, &request),
1160 "DisableFastSnapshotRestores" => {
1161 snapshot::disable_fast_snapshot_restores(self, &request)
1162 }
1163 "DescribeFastSnapshotRestores" => {
1164 snapshot::describe_fast_snapshot_restores(self, &request)
1165 }
1166 "CreateImage" => image::create_image(self, &request),
1167 "RegisterImage" => image::register_image(self, &request),
1168 "DeregisterImage" => image::deregister_image(self, &request),
1169 "DescribeImages" => image::describe_images(self, &request),
1170 "CopyImage" => image::copy_image(self, &request),
1171 "DescribeImageAttribute" => image::describe_image_attribute(self, &request),
1172 "ModifyImageAttribute" => image::modify_image_attribute(self, &request),
1173 "ResetImageAttribute" => image::reset_image_attribute(self, &request),
1174 "EnableImage" => image::enable_image(self, &request),
1175 "DisableImage" => image::disable_image(self, &request),
1176 "EnableImageDeprecation" => image::enable_image_deprecation(self, &request),
1177 "DisableImageDeprecation" => image::disable_image_deprecation(self, &request),
1178 "EnableImageDeregistrationProtection" => {
1179 image::enable_image_deregistration_protection(self, &request)
1180 }
1181 "DisableImageDeregistrationProtection" => {
1182 image::disable_image_deregistration_protection(self, &request)
1183 }
1184 "CancelImageLaunchPermission" => image::cancel_image_launch_permission(self, &request),
1185 "RestoreImageFromRecycleBin" => image::restore_image_from_recycle_bin(self, &request),
1186 "ListImagesInRecycleBin" => image::list_images_in_recycle_bin(self, &request),
1187 "EnableImageBlockPublicAccess" => {
1188 image::enable_image_block_public_access(self, &request)
1189 }
1190 "DisableImageBlockPublicAccess" => {
1191 image::disable_image_block_public_access(self, &request)
1192 }
1193 "GetImageBlockPublicAccessState" => {
1194 image::get_image_block_public_access_state(self, &request)
1195 }
1196 "EnableAllowedImagesSettings" => image::enable_allowed_images_settings(self, &request),
1197 "DisableAllowedImagesSettings" => {
1198 image::disable_allowed_images_settings(self, &request)
1199 }
1200 "GetAllowedImagesSettings" => image::get_allowed_images_settings(self, &request),
1201 "ReplaceImageCriteriaInAllowedImagesSettings" => {
1202 image::replace_image_criteria_in_allowed_images_settings(self, &request)
1203 }
1204 "CreateStoreImageTask" => image::create_store_image_task(self, &request),
1205 "DescribeStoreImageTasks" => image::describe_store_image_tasks(self, &request),
1206 "CreateRestoreImageTask" => image::create_restore_image_task(self, &request),
1207 "DescribeFastLaunchImages" => image::describe_fast_launch_images(self, &request),
1208 "CreateNetworkAcl" => nacl::create_network_acl(self, &request),
1209 "DeleteNetworkAcl" => nacl::delete_network_acl(self, &request),
1210 "DescribeNetworkAcls" => nacl::describe_network_acls(self, &request),
1211 "CreateNetworkAclEntry" => nacl::create_network_acl_entry(self, &request),
1212 "DeleteNetworkAclEntry" => nacl::delete_network_acl_entry(self, &request),
1213 "ReplaceNetworkAclEntry" => nacl::replace_network_acl_entry(self, &request),
1214 "ReplaceNetworkAclAssociation" => nacl::replace_network_acl_association(self, &request),
1215 "CreateVpcPeeringConnection" => nacl::create_vpc_peering_connection(self, &request),
1216 "DeleteVpcPeeringConnection" => nacl::delete_vpc_peering_connection(self, &request),
1217 "DescribeVpcPeeringConnections" => {
1218 nacl::describe_vpc_peering_connections(self, &request)
1219 }
1220 "AcceptVpcPeeringConnection" => nacl::accept_vpc_peering_connection(self, &request),
1221 "RejectVpcPeeringConnection" => nacl::reject_vpc_peering_connection(self, &request),
1222 "ModifyVpcPeeringConnectionOptions" => {
1223 nacl::modify_vpc_peering_connection_options(self, &request)
1224 }
1225 "CreateVpcEndpoint" => endpoint::create_vpc_endpoint(self, &request),
1226 "DeleteVpcEndpoints" => endpoint::delete_vpc_endpoints(self, &request),
1227 "DescribeVpcEndpoints" => endpoint::describe_vpc_endpoints(self, &request),
1228 "ModifyVpcEndpoint" => endpoint::modify_vpc_endpoint(self, &request),
1229 "DescribeVpcEndpointServices" => {
1230 endpoint::describe_vpc_endpoint_services(self, &request)
1231 }
1232 "DescribeVpcEndpointConnections" => {
1233 endpoint::describe_vpc_endpoint_connections(self, &request)
1234 }
1235 "AcceptVpcEndpointConnections" => {
1236 endpoint::accept_vpc_endpoint_connections(self, &request)
1237 }
1238 "RejectVpcEndpointConnections" => {
1239 endpoint::reject_vpc_endpoint_connections(self, &request)
1240 }
1241 "CreateVpcEndpointServiceConfiguration" => {
1242 endpoint::create_vpc_endpoint_service_configuration(self, &request)
1243 }
1244 "DeleteVpcEndpointServiceConfigurations" => {
1245 endpoint::delete_vpc_endpoint_service_configurations(self, &request)
1246 }
1247 "DescribeVpcEndpointServiceConfigurations" => {
1248 endpoint::describe_vpc_endpoint_service_configurations(self, &request)
1249 }
1250 "ModifyVpcEndpointServiceConfiguration" => {
1251 endpoint::modify_vpc_endpoint_service_configuration(self, &request)
1252 }
1253 "DescribeVpcEndpointServicePermissions" => {
1254 endpoint::describe_vpc_endpoint_service_permissions(self, &request)
1255 }
1256 "ModifyVpcEndpointServicePermissions" => {
1257 endpoint::modify_vpc_endpoint_service_permissions(self, &request)
1258 }
1259 "ModifyVpcEndpointServicePayerResponsibility" => {
1260 endpoint::modify_vpc_endpoint_service_payer_responsibility(self, &request)
1261 }
1262 "StartVpcEndpointServicePrivateDnsVerification" => {
1263 endpoint::start_vpc_endpoint_service_private_dns_verification(self, &request)
1264 }
1265 "CreateVpcEndpointConnectionNotification" => {
1266 endpoint::create_vpc_endpoint_connection_notification(self, &request)
1267 }
1268 "DeleteVpcEndpointConnectionNotifications" => {
1269 endpoint::delete_vpc_endpoint_connection_notifications(self, &request)
1270 }
1271 "DescribeVpcEndpointConnectionNotifications" => {
1272 endpoint::describe_vpc_endpoint_connection_notifications(self, &request)
1273 }
1274 "ModifyVpcEndpointConnectionNotification" => {
1275 endpoint::modify_vpc_endpoint_connection_notification(self, &request)
1276 }
1277 "DescribeVpcEndpointAssociations" => {
1278 endpoint::describe_vpc_endpoint_associations(self, &request)
1279 }
1280 "CreateFlowLogs" => endpoint::create_flow_logs(self, &request),
1281 "DeleteFlowLogs" => endpoint::delete_flow_logs(self, &request),
1282 "DescribeFlowLogs" => endpoint::describe_flow_logs(self, &request),
1283 "GetFlowLogsIntegrationTemplate" => {
1284 endpoint::get_flow_logs_integration_template(self, &request)
1285 }
1286 "CreateLaunchTemplate" => fleet::create_launch_template(self, &request),
1287 "CreateLaunchTemplateVersion" => fleet::create_launch_template_version(self, &request),
1288 "DeleteLaunchTemplate" => fleet::delete_launch_template(self, &request),
1289 "DeleteLaunchTemplateVersions" => {
1290 fleet::delete_launch_template_versions(self, &request)
1291 }
1292 "DescribeLaunchTemplates" => fleet::describe_launch_templates(self, &request),
1293 "DescribeLaunchTemplateVersions" => {
1294 fleet::describe_launch_template_versions(self, &request)
1295 }
1296 "GetLaunchTemplateData" => fleet::get_launch_template_data(self, &request),
1297 "ModifyLaunchTemplate" => fleet::modify_launch_template(self, &request),
1298 "RequestSpotInstances" => fleet::request_spot_instances(self, &request),
1299 "DescribeSpotInstanceRequests" => {
1300 fleet::describe_spot_instance_requests(self, &request)
1301 }
1302 "CancelSpotInstanceRequests" => fleet::cancel_spot_instance_requests(self, &request),
1303 "RequestSpotFleet" => fleet::request_spot_fleet(self, &request),
1304 "DescribeSpotFleetRequests" => fleet::describe_spot_fleet_requests(self, &request),
1305 "CancelSpotFleetRequests" => fleet::cancel_spot_fleet_requests(self, &request),
1306 "ModifySpotFleetRequest" => fleet::modify_spot_fleet_request(self, &request),
1307 "DescribeSpotFleetInstances" => fleet::describe_spot_fleet_instances(self, &request),
1308 "DescribeSpotFleetRequestHistory" => {
1309 fleet::describe_spot_fleet_request_history(self, &request)
1310 }
1311 "DescribeSpotPriceHistory" => fleet::describe_spot_price_history(self, &request),
1312 "GetSpotPlacementScores" => fleet::get_spot_placement_scores(self, &request),
1313 "CreateSpotDatafeedSubscription" => {
1314 fleet::create_spot_datafeed_subscription(self, &request)
1315 }
1316 "DeleteSpotDatafeedSubscription" => {
1317 fleet::delete_spot_datafeed_subscription(self, &request)
1318 }
1319 "DescribeSpotDatafeedSubscription" => {
1320 fleet::describe_spot_datafeed_subscription(self, &request)
1321 }
1322 "CreateFleet" => fleet::create_fleet(self, &request),
1323 "DeleteFleets" => fleet::delete_fleets(self, &request),
1324 "DescribeFleets" => fleet::describe_fleets(self, &request),
1325 "ModifyFleet" => fleet::modify_fleet(self, &request),
1326 "DescribeFleetHistory" => fleet::describe_fleet_history(self, &request),
1327 "DescribeFleetInstances" => fleet::describe_fleet_instances(self, &request),
1328 "CreateCapacityReservation" => capacity::create_capacity_reservation(self, &request),
1329 "CancelCapacityReservation" => capacity::cancel_capacity_reservation(self, &request),
1330 "DescribeCapacityReservations" => {
1331 capacity::describe_capacity_reservations(self, &request)
1332 }
1333 "ModifyCapacityReservation" => capacity::modify_capacity_reservation(self, &request),
1334 "GetCapacityReservationUsage" => {
1335 capacity::get_capacity_reservation_usage(self, &request)
1336 }
1337 "CreateCapacityReservationFleet" => {
1338 capacity::create_capacity_reservation_fleet(self, &request)
1339 }
1340 "CancelCapacityReservationFleets" => {
1341 capacity::cancel_capacity_reservation_fleets(self, &request)
1342 }
1343 "DescribeCapacityReservationFleets" => {
1344 capacity::describe_capacity_reservation_fleets(self, &request)
1345 }
1346 "ModifyCapacityReservationFleet" => {
1347 capacity::modify_capacity_reservation_fleet(self, &request)
1348 }
1349 "ModifyInstanceCapacityReservationAttributes" => {
1350 capacity::modify_instance_capacity_reservation_attributes(self, &request)
1351 }
1352 "CreateCapacityReservationBySplitting" => {
1353 capacity::create_capacity_reservation_by_splitting(self, &request)
1354 }
1355 "MoveCapacityReservationInstances" => {
1356 capacity::move_capacity_reservation_instances(self, &request)
1357 }
1358 "DescribeCapacityReservationBillingRequests" => {
1359 capacity::describe_capacity_reservation_billing_requests(self, &request)
1360 }
1361 "AssociateCapacityReservationBillingOwner" => {
1362 capacity::associate_capacity_reservation_billing_owner(self, &request)
1363 }
1364 "DisassociateCapacityReservationBillingOwner" => {
1365 capacity::disassociate_capacity_reservation_billing_owner(self, &request)
1366 }
1367 "AcceptCapacityReservationBillingOwnership" => {
1368 capacity::accept_capacity_reservation_billing_ownership(self, &request)
1369 }
1370 "RejectCapacityReservationBillingOwnership" => {
1371 capacity::reject_capacity_reservation_billing_ownership(self, &request)
1372 }
1373 "DescribeCapacityBlockOfferings" => {
1374 capacity::describe_capacity_block_offerings(self, &request)
1375 }
1376 "DescribeCapacityBlocks" => capacity::describe_capacity_blocks(self, &request),
1377 "PurchaseCapacityBlock" => capacity::purchase_capacity_block(self, &request),
1378 "DescribeCapacityBlockStatus" => {
1379 capacity::describe_capacity_block_status(self, &request)
1380 }
1381 "DescribeCapacityBlockExtensionHistory" => {
1382 capacity::describe_capacity_block_extension_history(self, &request)
1383 }
1384 "DescribeCapacityBlockExtensionOfferings" => {
1385 capacity::describe_capacity_block_extension_offerings(self, &request)
1386 }
1387 "PurchaseCapacityBlockExtension" => {
1388 capacity::purchase_capacity_block_extension(self, &request)
1389 }
1390 "DescribeCapacityReservationTopology" => {
1391 capacity::describe_capacity_reservation_topology(self, &request)
1392 }
1393 "CreateInterruptibleCapacityReservationAllocation" => {
1394 capacity::create_interruptible_capacity_reservation_allocation(self, &request)
1395 }
1396 "UpdateInterruptibleCapacityReservationAllocation" => {
1397 capacity::update_interruptible_capacity_reservation_allocation(self, &request)
1398 }
1399 "DescribeReservedInstances" => reserved::describe_reserved_instances(self, &request),
1400 "DescribeReservedInstancesOfferings" => {
1401 reserved::describe_reserved_instances_offerings(self, &request)
1402 }
1403 "PurchaseReservedInstancesOffering" => {
1404 reserved::purchase_reserved_instances_offering(self, &request)
1405 }
1406 "DescribeReservedInstancesListings" => {
1407 reserved::describe_reserved_instances_listings(self, &request)
1408 }
1409 "CreateReservedInstancesListing" => {
1410 reserved::create_reserved_instances_listing(self, &request)
1411 }
1412 "CancelReservedInstancesListing" => {
1413 reserved::cancel_reserved_instances_listing(self, &request)
1414 }
1415 "DescribeReservedInstancesModifications" => {
1416 reserved::describe_reserved_instances_modifications(self, &request)
1417 }
1418 "ModifyReservedInstances" => reserved::modify_reserved_instances(self, &request),
1419 "GetReservedInstancesExchangeQuote" => {
1420 reserved::get_reserved_instances_exchange_quote(self, &request)
1421 }
1422 "AcceptReservedInstancesExchangeQuote" => {
1423 reserved::accept_reserved_instances_exchange_quote(self, &request)
1424 }
1425 "DeleteQueuedReservedInstances" => {
1426 reserved::delete_queued_reserved_instances(self, &request)
1427 }
1428 "AllocateHosts" => reserved::allocate_hosts(self, &request),
1429 "DescribeHosts" => reserved::describe_hosts(self, &request),
1430 "ModifyHosts" => reserved::modify_hosts(self, &request),
1431 "ReleaseHosts" => reserved::release_hosts(self, &request),
1432 "DescribeMacHosts" => reserved::describe_mac_hosts(self, &request),
1433 "CreateTransitGateway" => tgw::create_transit_gateway(self, &request),
1434 "DeleteTransitGateway" => tgw::delete_transit_gateway(self, &request),
1435 "DescribeTransitGateways" => tgw::describe_transit_gateways(self, &request),
1436 "ModifyTransitGateway" => tgw::modify_transit_gateway(self, &request),
1437 "CreateTransitGatewayVpcAttachment" => {
1438 tgw::create_transit_gateway_vpc_attachment(self, &request)
1439 }
1440 "DeleteTransitGatewayVpcAttachment" => {
1441 tgw::delete_transit_gateway_vpc_attachment(self, &request)
1442 }
1443 "DescribeTransitGatewayVpcAttachments" => {
1444 tgw::describe_transit_gateway_vpc_attachments(self, &request)
1445 }
1446 "ModifyTransitGatewayVpcAttachment" => {
1447 tgw::modify_transit_gateway_vpc_attachment(self, &request)
1448 }
1449 "AcceptTransitGatewayVpcAttachment" => {
1450 tgw::accept_transit_gateway_vpc_attachment(self, &request)
1451 }
1452 "RejectTransitGatewayVpcAttachment" => {
1453 tgw::reject_transit_gateway_vpc_attachment(self, &request)
1454 }
1455 "DescribeTransitGatewayAttachments" => {
1456 tgw::describe_transit_gateway_attachments(self, &request)
1457 }
1458 "CreateTransitGatewayRouteTable" => {
1459 tgw::create_transit_gateway_route_table(self, &request)
1460 }
1461 "DeleteTransitGatewayRouteTable" => {
1462 tgw::delete_transit_gateway_route_table(self, &request)
1463 }
1464 "DescribeTransitGatewayRouteTables" => {
1465 tgw::describe_transit_gateway_route_tables(self, &request)
1466 }
1467 "AssociateTransitGatewayRouteTable" => {
1468 tgw::associate_transit_gateway_route_table(self, &request)
1469 }
1470 "DisassociateTransitGatewayRouteTable" => {
1471 tgw::disassociate_transit_gateway_route_table(self, &request)
1472 }
1473 "EnableTransitGatewayRouteTablePropagation" => {
1474 tgw::enable_transit_gateway_route_table_propagation(self, &request)
1475 }
1476 "DisableTransitGatewayRouteTablePropagation" => {
1477 tgw::disable_transit_gateway_route_table_propagation(self, &request)
1478 }
1479 "CreateTransitGatewayRoute" => tgw::create_transit_gateway_route(self, &request),
1480 "DeleteTransitGatewayRoute" => tgw::delete_transit_gateway_route(self, &request),
1481 "ReplaceTransitGatewayRoute" => tgw::replace_transit_gateway_route(self, &request),
1482 "SearchTransitGatewayRoutes" => tgw::search_transit_gateway_routes(self, &request),
1483 "ExportTransitGatewayRoutes" => tgw::export_transit_gateway_routes(self, &request),
1484 "GetTransitGatewayRouteTableAssociations" => {
1485 tgw::get_transit_gateway_route_table_associations(self, &request)
1486 }
1487 "GetTransitGatewayRouteTablePropagations" => {
1488 tgw::get_transit_gateway_route_table_propagations(self, &request)
1489 }
1490 "GetTransitGatewayAttachmentPropagations" => {
1491 tgw::get_transit_gateway_attachment_propagations(self, &request)
1492 }
1493 "CreateTransitGatewayPrefixListReference" => {
1494 tgw::create_transit_gateway_prefix_list_reference(self, &request)
1495 }
1496 "DeleteTransitGatewayPrefixListReference" => {
1497 tgw::delete_transit_gateway_prefix_list_reference(self, &request)
1498 }
1499 "ModifyTransitGatewayPrefixListReference" => {
1500 tgw::modify_transit_gateway_prefix_list_reference(self, &request)
1501 }
1502 "GetTransitGatewayPrefixListReferences" => {
1503 tgw::get_transit_gateway_prefix_list_references(self, &request)
1504 }
1505 "CreateTransitGatewayPeeringAttachment" => {
1506 tgw_peering::create_transit_gateway_peering_attachment(self, &request)
1507 }
1508 "DeleteTransitGatewayPeeringAttachment" => {
1509 tgw_peering::delete_transit_gateway_peering_attachment(self, &request)
1510 }
1511 "DescribeTransitGatewayPeeringAttachments" => {
1512 tgw_peering::describe_transit_gateway_peering_attachments(self, &request)
1513 }
1514 "AcceptTransitGatewayPeeringAttachment" => {
1515 tgw_peering::accept_transit_gateway_peering_attachment(self, &request)
1516 }
1517 "RejectTransitGatewayPeeringAttachment" => {
1518 tgw_peering::reject_transit_gateway_peering_attachment(self, &request)
1519 }
1520 "CreateTransitGatewayConnect" => {
1521 tgw_peering::create_transit_gateway_connect(self, &request)
1522 }
1523 "DeleteTransitGatewayConnect" => {
1524 tgw_peering::delete_transit_gateway_connect(self, &request)
1525 }
1526 "DescribeTransitGatewayConnects" => {
1527 tgw_peering::describe_transit_gateway_connects(self, &request)
1528 }
1529 "CreateTransitGatewayConnectPeer" => {
1530 tgw_peering::create_transit_gateway_connect_peer(self, &request)
1531 }
1532 "DeleteTransitGatewayConnectPeer" => {
1533 tgw_peering::delete_transit_gateway_connect_peer(self, &request)
1534 }
1535 "DescribeTransitGatewayConnectPeers" => {
1536 tgw_peering::describe_transit_gateway_connect_peers(self, &request)
1537 }
1538 "CreateTransitGatewayPolicyTable" => {
1539 tgw_peering::create_transit_gateway_policy_table(self, &request)
1540 }
1541 "DeleteTransitGatewayPolicyTable" => {
1542 tgw_peering::delete_transit_gateway_policy_table(self, &request)
1543 }
1544 "DescribeTransitGatewayPolicyTables" => {
1545 tgw_peering::describe_transit_gateway_policy_tables(self, &request)
1546 }
1547 "AssociateTransitGatewayPolicyTable" => {
1548 tgw_peering::associate_transit_gateway_policy_table(self, &request)
1549 }
1550 "DisassociateTransitGatewayPolicyTable" => {
1551 tgw_peering::disassociate_transit_gateway_policy_table(self, &request)
1552 }
1553 "GetTransitGatewayPolicyTableAssociations" => {
1554 tgw_peering::get_transit_gateway_policy_table_associations(self, &request)
1555 }
1556 "GetTransitGatewayPolicyTableEntries" => {
1557 tgw_peering::get_transit_gateway_policy_table_entries(self, &request)
1558 }
1559 "CreateTransitGatewayRouteTableAnnouncement" => {
1560 tgw_peering::create_transit_gateway_route_table_announcement(self, &request)
1561 }
1562 "DeleteTransitGatewayRouteTableAnnouncement" => {
1563 tgw_peering::delete_transit_gateway_route_table_announcement(self, &request)
1564 }
1565 "DescribeTransitGatewayRouteTableAnnouncements" => {
1566 tgw_peering::describe_transit_gateway_route_table_announcements(self, &request)
1567 }
1568 "CreateTransitGatewayMulticastDomain" => {
1569 tgw_mcast::create_transit_gateway_multicast_domain(self, &request)
1570 }
1571 "DeleteTransitGatewayMulticastDomain" => {
1572 tgw_mcast::delete_transit_gateway_multicast_domain(self, &request)
1573 }
1574 "DescribeTransitGatewayMulticastDomains" => {
1575 tgw_mcast::describe_transit_gateway_multicast_domains(self, &request)
1576 }
1577 "AssociateTransitGatewayMulticastDomain" => {
1578 tgw_mcast::associate_transit_gateway_multicast_domain(self, &request)
1579 }
1580 "DisassociateTransitGatewayMulticastDomain" => {
1581 tgw_mcast::disassociate_transit_gateway_multicast_domain(self, &request)
1582 }
1583 "AcceptTransitGatewayMulticastDomainAssociations" => {
1584 tgw_mcast::accept_transit_gateway_multicast_domain_associations(self, &request)
1585 }
1586 "RejectTransitGatewayMulticastDomainAssociations" => {
1587 tgw_mcast::reject_transit_gateway_multicast_domain_associations(self, &request)
1588 }
1589 "GetTransitGatewayMulticastDomainAssociations" => {
1590 tgw_mcast::get_transit_gateway_multicast_domain_associations(self, &request)
1591 }
1592 "RegisterTransitGatewayMulticastGroupMembers" => {
1593 tgw_mcast::register_transit_gateway_multicast_group_members(self, &request)
1594 }
1595 "RegisterTransitGatewayMulticastGroupSources" => {
1596 tgw_mcast::register_transit_gateway_multicast_group_sources(self, &request)
1597 }
1598 "DeregisterTransitGatewayMulticastGroupMembers" => {
1599 tgw_mcast::deregister_transit_gateway_multicast_group_members(self, &request)
1600 }
1601 "DeregisterTransitGatewayMulticastGroupSources" => {
1602 tgw_mcast::deregister_transit_gateway_multicast_group_sources(self, &request)
1603 }
1604 "SearchTransitGatewayMulticastGroups" => {
1605 tgw_mcast::search_transit_gateway_multicast_groups(self, &request)
1606 }
1607 "CreateTransitGatewayMeteringPolicy" => {
1608 tgw_mcast::create_transit_gateway_metering_policy(self, &request)
1609 }
1610 "DeleteTransitGatewayMeteringPolicy" => {
1611 tgw_mcast::delete_transit_gateway_metering_policy(self, &request)
1612 }
1613 "DescribeTransitGatewayMeteringPolicies" => {
1614 tgw_mcast::describe_transit_gateway_metering_policies(self, &request)
1615 }
1616 "ModifyTransitGatewayMeteringPolicy" => {
1617 tgw_mcast::modify_transit_gateway_metering_policy(self, &request)
1618 }
1619 "CreateTransitGatewayMeteringPolicyEntry" => {
1620 tgw_mcast::create_transit_gateway_metering_policy_entry(self, &request)
1621 }
1622 "DeleteTransitGatewayMeteringPolicyEntry" => {
1623 tgw_mcast::delete_transit_gateway_metering_policy_entry(self, &request)
1624 }
1625 "GetTransitGatewayMeteringPolicyEntries" => {
1626 tgw_mcast::get_transit_gateway_metering_policy_entries(self, &request)
1627 }
1628 "AcceptTransitGatewayClientVpnAttachment" => {
1629 tgw_mcast::accept_transit_gateway_client_vpn_attachment(self, &request)
1630 }
1631 "DeleteTransitGatewayClientVpnAttachment" => {
1632 tgw_mcast::delete_transit_gateway_client_vpn_attachment(self, &request)
1633 }
1634 "RejectTransitGatewayClientVpnAttachment" => {
1635 tgw_mcast::reject_transit_gateway_client_vpn_attachment(self, &request)
1636 }
1637 "CreateCustomerGateway" => vpn::create_customer_gateway(self, &request),
1638 "DeleteCustomerGateway" => vpn::delete_customer_gateway(self, &request),
1639 "DescribeCustomerGateways" => vpn::describe_customer_gateways(self, &request),
1640 "CreateVpnGateway" => vpn::create_vpn_gateway(self, &request),
1641 "DeleteVpnGateway" => vpn::delete_vpn_gateway(self, &request),
1642 "DescribeVpnGateways" => vpn::describe_vpn_gateways(self, &request),
1643 "AttachVpnGateway" => vpn::attach_vpn_gateway(self, &request),
1644 "DetachVpnGateway" => vpn::detach_vpn_gateway(self, &request),
1645 "CreateVpnConnection" => vpn::create_vpn_connection(self, &request),
1646 "DeleteVpnConnection" => vpn::delete_vpn_connection(self, &request),
1647 "DescribeVpnConnections" => vpn::describe_vpn_connections(self, &request),
1648 "ModifyVpnConnection" => vpn::modify_vpn_connection(self, &request),
1649 "ModifyVpnConnectionOptions" => vpn::modify_vpn_connection_options(self, &request),
1650 "CreateVpnConnectionRoute" => vpn::create_vpn_connection_route(self, &request),
1651 "DeleteVpnConnectionRoute" => vpn::delete_vpn_connection_route(self, &request),
1652 "ModifyVpnTunnelOptions" => vpn::modify_vpn_tunnel_options(self, &request),
1653 "ModifyVpnTunnelCertificate" => vpn::modify_vpn_tunnel_certificate(self, &request),
1654 "ReplaceVpnTunnel" => vpn::replace_vpn_tunnel(self, &request),
1655 "GetActiveVpnTunnelStatus" => vpn::get_active_vpn_tunnel_status(self, &request),
1656 "GetVpnTunnelReplacementStatus" => {
1657 vpn::get_vpn_tunnel_replacement_status(self, &request)
1658 }
1659 "GetVpnConnectionDeviceTypes" => vpn::get_vpn_connection_device_types(self, &request),
1660 "GetVpnConnectionDeviceSampleConfiguration" => {
1661 vpn::get_vpn_connection_device_sample_configuration(self, &request)
1662 }
1663 "CreateVpnConcentrator" => vpn::create_vpn_concentrator(self, &request),
1664 "DeleteVpnConcentrator" => vpn::delete_vpn_concentrator(self, &request),
1665 "DescribeVpnConcentrators" => vpn::describe_vpn_concentrators(self, &request),
1666 "CreateClientVpnEndpoint" => cvpn::create_client_vpn_endpoint(self, &request),
1667 "DeleteClientVpnEndpoint" => cvpn::delete_client_vpn_endpoint(self, &request),
1668 "DescribeClientVpnEndpoints" => cvpn::describe_client_vpn_endpoints(self, &request),
1669 "ModifyClientVpnEndpoint" => cvpn::modify_client_vpn_endpoint(self, &request),
1670 "CreateClientVpnRoute" => cvpn::create_client_vpn_route(self, &request),
1671 "DeleteClientVpnRoute" => cvpn::delete_client_vpn_route(self, &request),
1672 "DescribeClientVpnRoutes" => cvpn::describe_client_vpn_routes(self, &request),
1673 "AuthorizeClientVpnIngress" => cvpn::authorize_client_vpn_ingress(self, &request),
1674 "RevokeClientVpnIngress" => cvpn::revoke_client_vpn_ingress(self, &request),
1675 "DescribeClientVpnAuthorizationRules" => {
1676 cvpn::describe_client_vpn_authorization_rules(self, &request)
1677 }
1678 "AssociateClientVpnTargetNetwork" => {
1679 cvpn::associate_client_vpn_target_network(self, &request)
1680 }
1681 "DisassociateClientVpnTargetNetwork" => {
1682 cvpn::disassociate_client_vpn_target_network(self, &request)
1683 }
1684 "DescribeClientVpnTargetNetworks" => {
1685 cvpn::describe_client_vpn_target_networks(self, &request)
1686 }
1687 "ApplySecurityGroupsToClientVpnTargetNetwork" => {
1688 cvpn::apply_security_groups_to_client_vpn_target_network(self, &request)
1689 }
1690 "DescribeClientVpnConnections" => cvpn::describe_client_vpn_connections(self, &request),
1691 "TerminateClientVpnConnections" => {
1692 cvpn::terminate_client_vpn_connections(self, &request)
1693 }
1694 "ExportClientVpnClientCertificateRevocationList" => {
1695 cvpn::export_client_vpn_client_certificate_revocation_list(self, &request)
1696 }
1697 "ExportClientVpnClientConfiguration" => {
1698 cvpn::export_client_vpn_client_configuration(self, &request)
1699 }
1700 "ImportClientVpnClientCertificateRevocationList" => {
1701 cvpn::import_client_vpn_client_certificate_revocation_list(self, &request)
1702 }
1703 "CreateIpam" => ipam::create_ipam(self, &request),
1704 "DeleteIpam" => ipam::delete_ipam(self, &request),
1705 "DescribeIpams" => ipam::describe_ipams(self, &request),
1706 "ModifyIpam" => ipam::modify_ipam(self, &request),
1707 "CreateIpamScope" => ipam::create_ipam_scope(self, &request),
1708 "DeleteIpamScope" => ipam::delete_ipam_scope(self, &request),
1709 "DescribeIpamScopes" => ipam::describe_ipam_scopes(self, &request),
1710 "ModifyIpamScope" => ipam::modify_ipam_scope(self, &request),
1711 "CreateIpamPool" => ipam::create_ipam_pool(self, &request),
1712 "DeleteIpamPool" => ipam::delete_ipam_pool(self, &request),
1713 "DescribeIpamPools" => ipam::describe_ipam_pools(self, &request),
1714 "ModifyIpamPool" => ipam::modify_ipam_pool(self, &request),
1715 "ProvisionIpamPoolCidr" => ipam::provision_ipam_pool_cidr(self, &request),
1716 "DeprovisionIpamPoolCidr" => ipam::deprovision_ipam_pool_cidr(self, &request),
1717 "GetIpamPoolCidrs" => ipam::get_ipam_pool_cidrs(self, &request),
1718 "AllocateIpamPoolCidr" => ipam::allocate_ipam_pool_cidr(self, &request),
1719 "ReleaseIpamPoolAllocation" => ipam::release_ipam_pool_allocation(self, &request),
1720 "GetIpamPoolAllocations" => ipam::get_ipam_pool_allocations(self, &request),
1721 "GetIpamResourceCidrs" => ipam::get_ipam_resource_cidrs(self, &request),
1722 "ModifyIpamResourceCidr" => ipam::modify_ipam_resource_cidr(self, &request),
1723 "GetIpamAddressHistory" => ipam::get_ipam_address_history(self, &request),
1724 "EnableIpamOrganizationAdminAccount" => {
1725 ipam::enable_ipam_organization_admin_account(self, &request)
1726 }
1727 "DisableIpamOrganizationAdminAccount" => {
1728 ipam::disable_ipam_organization_admin_account(self, &request)
1729 }
1730 "CreateIpamResourceDiscovery" => {
1731 ipam_discovery::create_ipam_resource_discovery(self, &request)
1732 }
1733 "DeleteIpamResourceDiscovery" => {
1734 ipam_discovery::delete_ipam_resource_discovery(self, &request)
1735 }
1736 "DescribeIpamResourceDiscoveries" => {
1737 ipam_discovery::describe_ipam_resource_discoveries(self, &request)
1738 }
1739 "ModifyIpamResourceDiscovery" => {
1740 ipam_discovery::modify_ipam_resource_discovery(self, &request)
1741 }
1742 "AssociateIpamResourceDiscovery" => {
1743 ipam_discovery::associate_ipam_resource_discovery(self, &request)
1744 }
1745 "DisassociateIpamResourceDiscovery" => {
1746 ipam_discovery::disassociate_ipam_resource_discovery(self, &request)
1747 }
1748 "DescribeIpamResourceDiscoveryAssociations" => {
1749 ipam_discovery::describe_ipam_resource_discovery_associations(self, &request)
1750 }
1751 "GetIpamDiscoveredAccounts" => {
1752 ipam_discovery::get_ipam_discovered_accounts(self, &request)
1753 }
1754 "GetIpamDiscoveredPublicAddresses" => {
1755 ipam_discovery::get_ipam_discovered_public_addresses(self, &request)
1756 }
1757 "GetIpamDiscoveredResourceCidrs" => {
1758 ipam_discovery::get_ipam_discovered_resource_cidrs(self, &request)
1759 }
1760 "AssociateIpamByoasn" => ipam_discovery::associate_ipam_byoasn(self, &request),
1761 "DisassociateIpamByoasn" => ipam_discovery::disassociate_ipam_byoasn(self, &request),
1762 "ProvisionIpamByoasn" => ipam_discovery::provision_ipam_byoasn(self, &request),
1763 "DeprovisionIpamByoasn" => ipam_discovery::deprovision_ipam_byoasn(self, &request),
1764 "DescribeIpamByoasn" => ipam_discovery::describe_ipam_byoasn(self, &request),
1765 "MoveByoipCidrToIpam" => ipam_discovery::move_byoip_cidr_to_ipam(self, &request),
1766 "CreateIpamExternalResourceVerificationToken" => {
1767 ipam_discovery::create_ipam_external_resource_verification_token(self, &request)
1768 }
1769 "DeleteIpamExternalResourceVerificationToken" => {
1770 ipam_discovery::delete_ipam_external_resource_verification_token(self, &request)
1771 }
1772 "DescribeIpamExternalResourceVerificationTokens" => {
1773 ipam_discovery::describe_ipam_external_resource_verification_tokens(self, &request)
1774 }
1775 "CreateIpamPolicy" => ipam_policy::create_ipam_policy(self, &request),
1776 "DeleteIpamPolicy" => ipam_policy::delete_ipam_policy(self, &request),
1777 "DescribeIpamPolicies" => ipam_policy::describe_ipam_policies(self, &request),
1778 "EnableIpamPolicy" => ipam_policy::enable_ipam_policy(self, &request),
1779 "DisableIpamPolicy" => ipam_policy::disable_ipam_policy(self, &request),
1780 "GetEnabledIpamPolicy" => ipam_policy::get_enabled_ipam_policy(self, &request),
1781 "GetIpamPolicyAllocationRules" => {
1782 ipam_policy::get_ipam_policy_allocation_rules(self, &request)
1783 }
1784 "ModifyIpamPolicyAllocationRules" => {
1785 ipam_policy::modify_ipam_policy_allocation_rules(self, &request)
1786 }
1787 "GetIpamPolicyOrganizationTargets" => {
1788 ipam_policy::get_ipam_policy_organization_targets(self, &request)
1789 }
1790 "CreateIpamPrefixListResolver" => {
1791 ipam_policy::create_ipam_prefix_list_resolver(self, &request)
1792 }
1793 "DeleteIpamPrefixListResolver" => {
1794 ipam_policy::delete_ipam_prefix_list_resolver(self, &request)
1795 }
1796 "DescribeIpamPrefixListResolvers" => {
1797 ipam_policy::describe_ipam_prefix_list_resolvers(self, &request)
1798 }
1799 "ModifyIpamPrefixListResolver" => {
1800 ipam_policy::modify_ipam_prefix_list_resolver(self, &request)
1801 }
1802 "CreateIpamPrefixListResolverTarget" => {
1803 ipam_policy::create_ipam_prefix_list_resolver_target(self, &request)
1804 }
1805 "DeleteIpamPrefixListResolverTarget" => {
1806 ipam_policy::delete_ipam_prefix_list_resolver_target(self, &request)
1807 }
1808 "DescribeIpamPrefixListResolverTargets" => {
1809 ipam_policy::describe_ipam_prefix_list_resolver_targets(self, &request)
1810 }
1811 "ModifyIpamPrefixListResolverTarget" => {
1812 ipam_policy::modify_ipam_prefix_list_resolver_target(self, &request)
1813 }
1814 "GetIpamPrefixListResolverRules" => {
1815 ipam_policy::get_ipam_prefix_list_resolver_rules(self, &request)
1816 }
1817 "GetIpamPrefixListResolverVersions" => {
1818 ipam_policy::get_ipam_prefix_list_resolver_versions(self, &request)
1819 }
1820 "GetIpamPrefixListResolverVersionEntries" => {
1821 ipam_policy::get_ipam_prefix_list_resolver_version_entries(self, &request)
1822 }
1823 "CreateVerifiedAccessInstance" => va::create_verified_access_instance(self, &request),
1824 "DeleteVerifiedAccessInstance" => va::delete_verified_access_instance(self, &request),
1825 "DescribeVerifiedAccessInstances" => {
1826 va::describe_verified_access_instances(self, &request)
1827 }
1828 "ModifyVerifiedAccessInstance" => va::modify_verified_access_instance(self, &request),
1829 "CreateVerifiedAccessTrustProvider" => {
1830 va::create_verified_access_trust_provider(self, &request)
1831 }
1832 "DeleteVerifiedAccessTrustProvider" => {
1833 va::delete_verified_access_trust_provider(self, &request)
1834 }
1835 "DescribeVerifiedAccessTrustProviders" => {
1836 va::describe_verified_access_trust_providers(self, &request)
1837 }
1838 "ModifyVerifiedAccessTrustProvider" => {
1839 va::modify_verified_access_trust_provider(self, &request)
1840 }
1841 "AttachVerifiedAccessTrustProvider" => {
1842 va::attach_verified_access_trust_provider(self, &request)
1843 }
1844 "DetachVerifiedAccessTrustProvider" => {
1845 va::detach_verified_access_trust_provider(self, &request)
1846 }
1847 "CreateVerifiedAccessGroup" => va::create_verified_access_group(self, &request),
1848 "DeleteVerifiedAccessGroup" => va::delete_verified_access_group(self, &request),
1849 "DescribeVerifiedAccessGroups" => va::describe_verified_access_groups(self, &request),
1850 "ModifyVerifiedAccessGroup" => va::modify_verified_access_group(self, &request),
1851 "GetVerifiedAccessGroupPolicy" => va::get_verified_access_group_policy(self, &request),
1852 "ModifyVerifiedAccessGroupPolicy" => {
1853 va::modify_verified_access_group_policy(self, &request)
1854 }
1855 "CreateVerifiedAccessEndpoint" => va::create_verified_access_endpoint(self, &request),
1856 "DeleteVerifiedAccessEndpoint" => va::delete_verified_access_endpoint(self, &request),
1857 "DescribeVerifiedAccessEndpoints" => {
1858 va::describe_verified_access_endpoints(self, &request)
1859 }
1860 "ModifyVerifiedAccessEndpoint" => va::modify_verified_access_endpoint(self, &request),
1861 "GetVerifiedAccessEndpointPolicy" => {
1862 va::get_verified_access_endpoint_policy(self, &request)
1863 }
1864 "ModifyVerifiedAccessEndpointPolicy" => {
1865 va::modify_verified_access_endpoint_policy(self, &request)
1866 }
1867 "GetVerifiedAccessEndpointTargets" => {
1868 va::get_verified_access_endpoint_targets(self, &request)
1869 }
1870 "DescribeVerifiedAccessInstanceLoggingConfigurations" => {
1871 va::describe_verified_access_instance_logging_configurations(self, &request)
1872 }
1873 "ModifyVerifiedAccessInstanceLoggingConfiguration" => {
1874 va::modify_verified_access_instance_logging_configuration(self, &request)
1875 }
1876 "ExportVerifiedAccessInstanceClientConfiguration" => {
1877 va::export_verified_access_instance_client_configuration(self, &request)
1878 }
1879 "CreateNetworkInsightsPath" => ni::create_network_insights_path(self, &request),
1880 "DeleteNetworkInsightsPath" => ni::delete_network_insights_path(self, &request),
1881 "DescribeNetworkInsightsPaths" => ni::describe_network_insights_paths(self, &request),
1882 "StartNetworkInsightsAnalysis" => ni::start_network_insights_analysis(self, &request),
1883 "DeleteNetworkInsightsAnalysis" => ni::delete_network_insights_analysis(self, &request),
1884 "DescribeNetworkInsightsAnalyses" => {
1885 ni::describe_network_insights_analyses(self, &request)
1886 }
1887 "CreateNetworkInsightsAccessScope" => {
1888 ni::create_network_insights_access_scope(self, &request)
1889 }
1890 "DeleteNetworkInsightsAccessScope" => {
1891 ni::delete_network_insights_access_scope(self, &request)
1892 }
1893 "DescribeNetworkInsightsAccessScopes" => {
1894 ni::describe_network_insights_access_scopes(self, &request)
1895 }
1896 "GetNetworkInsightsAccessScopeContent" => {
1897 ni::get_network_insights_access_scope_content(self, &request)
1898 }
1899 "StartNetworkInsightsAccessScopeAnalysis" => {
1900 ni::start_network_insights_access_scope_analysis(self, &request)
1901 }
1902 "DeleteNetworkInsightsAccessScopeAnalysis" => {
1903 ni::delete_network_insights_access_scope_analysis(self, &request)
1904 }
1905 "DescribeNetworkInsightsAccessScopeAnalyses" => {
1906 ni::describe_network_insights_access_scope_analyses(self, &request)
1907 }
1908 "GetNetworkInsightsAccessScopeAnalysisFindings" => {
1909 ni::get_network_insights_access_scope_analysis_findings(self, &request)
1910 }
1911 "CreateCarrierGateway" => lgw::create_carrier_gateway(self, &request),
1912 "DeleteCarrierGateway" => lgw::delete_carrier_gateway(self, &request),
1913 "DescribeCarrierGateways" => lgw::describe_carrier_gateways(self, &request),
1914 "CreateCoipPool" => lgw::create_coip_pool(self, &request),
1915 "DeleteCoipPool" => lgw::delete_coip_pool(self, &request),
1916 "DescribeCoipPools" => lgw::describe_coip_pools(self, &request),
1917 "CreateCoipCidr" => lgw::create_coip_cidr(self, &request),
1918 "DeleteCoipCidr" => lgw::delete_coip_cidr(self, &request),
1919 "GetCoipPoolUsage" => lgw::get_coip_pool_usage(self, &request),
1920 "CreateLocalGatewayRouteTable" => lgw::create_local_gateway_route_table(self, &request),
1921 "DeleteLocalGatewayRouteTable" => lgw::delete_local_gateway_route_table(self, &request),
1922 "DescribeLocalGatewayRouteTables" => {
1923 lgw::describe_local_gateway_route_tables(self, &request)
1924 }
1925 "CreateLocalGatewayRoute" => lgw::create_local_gateway_route(self, &request),
1926 "DeleteLocalGatewayRoute" => lgw::delete_local_gateway_route(self, &request),
1927 "ModifyLocalGatewayRoute" => lgw::modify_local_gateway_route(self, &request),
1928 "SearchLocalGatewayRoutes" => lgw::search_local_gateway_routes(self, &request),
1929 "CreateLocalGatewayRouteTableVpcAssociation" => {
1930 lgw::create_local_gateway_route_table_vpc_association(self, &request)
1931 }
1932 "DeleteLocalGatewayRouteTableVpcAssociation" => {
1933 lgw::delete_local_gateway_route_table_vpc_association(self, &request)
1934 }
1935 "DescribeLocalGatewayRouteTableVpcAssociations" => {
1936 lgw::describe_local_gateway_route_table_vpc_associations(self, &request)
1937 }
1938 "CreateLocalGatewayVirtualInterface" => {
1939 lgw::create_local_gateway_virtual_interface(self, &request)
1940 }
1941 "DeleteLocalGatewayVirtualInterface" => {
1942 lgw::delete_local_gateway_virtual_interface(self, &request)
1943 }
1944 "DescribeLocalGatewayVirtualInterfaces" => {
1945 lgw::describe_local_gateway_virtual_interfaces(self, &request)
1946 }
1947 "CreateLocalGatewayVirtualInterfaceGroup" => {
1948 lgw::create_local_gateway_virtual_interface_group(self, &request)
1949 }
1950 "DeleteLocalGatewayVirtualInterfaceGroup" => {
1951 lgw::delete_local_gateway_virtual_interface_group(self, &request)
1952 }
1953 "DescribeLocalGatewayVirtualInterfaceGroups" => {
1954 lgw::describe_local_gateway_virtual_interface_groups(self, &request)
1955 }
1956 "CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation" => {
1957 lgw::create_local_gateway_route_table_virtual_interface_group_association(
1958 self, &request,
1959 )
1960 }
1961 "DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation" => {
1962 lgw::delete_local_gateway_route_table_virtual_interface_group_association(
1963 self, &request,
1964 )
1965 }
1966 "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations" => {
1967 lgw::describe_local_gateway_route_table_virtual_interface_group_associations(
1968 self, &request,
1969 )
1970 }
1971 "DescribeLocalGateways" => lgw::describe_local_gateways(self, &request),
1972 "CreateInstanceConnectEndpoint" => {
1973 ice::create_instance_connect_endpoint(self, &request)
1974 }
1975 "DeleteInstanceConnectEndpoint" => {
1976 ice::delete_instance_connect_endpoint(self, &request)
1977 }
1978 "DescribeInstanceConnectEndpoints" => {
1979 ice::describe_instance_connect_endpoints(self, &request)
1980 }
1981 "ModifyInstanceConnectEndpoint" => {
1982 ice::modify_instance_connect_endpoint(self, &request)
1983 }
1984 "EnableFastLaunch" => ice::enable_fast_launch(self, &request),
1985 "DisableFastLaunch" => ice::disable_fast_launch(self, &request),
1986 "EnableSerialConsoleAccess" => ice::enable_serial_console_access(self, &request),
1987 "DisableSerialConsoleAccess" => ice::disable_serial_console_access(self, &request),
1988 "GetSerialConsoleAccessStatus" => ice::get_serial_console_access_status(self, &request),
1989 "GetConsoleOutput" => ice::get_console_output(self, &request),
1990 "GetConsoleScreenshot" => ice::get_console_screenshot(self, &request),
1991 "GetPasswordData" => ice::get_password_data(self, &request),
1992 "AdvertiseByoipCidr" => rest::advertise_byoip_cidr(self, &request),
1993 "AssociateEnclaveCertificateIamRole" => {
1994 rest::associate_enclave_certificate_iam_role(self, &request)
1995 }
1996 "AssociateIamInstanceProfile" => rest::associate_iam_instance_profile(self, &request),
1997 "AssociateInstanceEventWindow" => rest::associate_instance_event_window(self, &request),
1998 "AssociateRouteServer" => rest::associate_route_server(self, &request),
1999 "AssociateTrunkInterface" => rest::associate_trunk_interface(self, &request),
2000 "AttachClassicLinkVpc" => rest::attach_classic_link_vpc(self, &request),
2001 "BundleInstance" => rest::bundle_instance(self, &request),
2002 "CancelBundleTask" => rest::cancel_bundle_task(self, &request),
2003 "CancelConversionTask" => rest::cancel_conversion_task(self, &request),
2004 "CancelDeclarativePoliciesReport" => {
2005 rest::cancel_declarative_policies_report(self, &request)
2006 }
2007 "CancelExportTask" => rest::cancel_export_task(self, &request),
2008 "CancelImportTask" => rest::cancel_import_task(self, &request),
2009 "ConfirmProductInstance" => rest::confirm_product_instance(self, &request),
2010 "CopyFpgaImage" => rest::copy_fpga_image(self, &request),
2011 "CopyVolumes" => rest::copy_volumes(self, &request),
2012 "CreateCapacityManagerDataExport" => {
2013 rest::create_capacity_manager_data_export(self, &request)
2014 }
2015 "CreateDelegateMacVolumeOwnershipTask" => {
2016 rest::create_delegate_mac_volume_ownership_task(self, &request)
2017 }
2018 "CreateFpgaImage" => rest::create_fpga_image(self, &request),
2019 "CreateImageUsageReport" => rest::create_image_usage_report(self, &request),
2020 "CreateInstanceEventWindow" => rest::create_instance_event_window(self, &request),
2021 "CreateInstanceExportTask" => rest::create_instance_export_task(self, &request),
2022 "CreateMacSystemIntegrityProtectionModificationTask" => {
2023 rest::create_mac_system_integrity_protection_modification_task(self, &request)
2024 }
2025 "CreateManagedPrefixList" => rest::create_managed_prefix_list(self, &request),
2026 "CreatePublicIpv4Pool" => rest::create_public_ipv4_pool(self, &request),
2027 "CreateReplaceRootVolumeTask" => rest::create_replace_root_volume_task(self, &request),
2028 "CreateRouteServer" => rest::create_route_server(self, &request),
2029 "CreateRouteServerEndpoint" => rest::create_route_server_endpoint(self, &request),
2030 "CreateRouteServerPeer" => rest::create_route_server_peer(self, &request),
2031 "CreateSecondaryNetwork" => rest::create_secondary_network(self, &request),
2032 "CreateTrafficMirrorFilter" => rest::create_traffic_mirror_filter(self, &request),
2033 "CreateTrafficMirrorFilterRule" => {
2034 rest::create_traffic_mirror_filter_rule(self, &request)
2035 }
2036 "CreateTrafficMirrorSession" => rest::create_traffic_mirror_session(self, &request),
2037 "CreateTrafficMirrorTarget" => rest::create_traffic_mirror_target(self, &request),
2038 "CreateVpcBlockPublicAccessExclusion" => {
2039 rest::create_vpc_block_public_access_exclusion(self, &request)
2040 }
2041 "CreateVpcEncryptionControl" => rest::create_vpc_encryption_control(self, &request),
2042 "DeleteCapacityManagerDataExport" => {
2043 rest::delete_capacity_manager_data_export(self, &request)
2044 }
2045 "DeleteFpgaImage" => rest::delete_fpga_image(self, &request),
2046 "DeleteImageUsageReport" => rest::delete_image_usage_report(self, &request),
2047 "DeleteInstanceEventWindow" => rest::delete_instance_event_window(self, &request),
2048 "DeleteManagedPrefixList" => rest::delete_managed_prefix_list(self, &request),
2049 "DeletePublicIpv4Pool" => rest::delete_public_ipv4_pool(self, &request),
2050 "DeleteRouteServer" => rest::delete_route_server(self, &request),
2051 "DeleteRouteServerEndpoint" => rest::delete_route_server_endpoint(self, &request),
2052 "DeleteRouteServerPeer" => rest::delete_route_server_peer(self, &request),
2053 "DeleteSecondaryNetwork" => rest::delete_secondary_network(self, &request),
2054 "DeleteTrafficMirrorFilter" => rest::delete_traffic_mirror_filter(self, &request),
2055 "DeleteTrafficMirrorFilterRule" => {
2056 rest::delete_traffic_mirror_filter_rule(self, &request)
2057 }
2058 "DeleteTrafficMirrorSession" => rest::delete_traffic_mirror_session(self, &request),
2059 "DeleteTrafficMirrorTarget" => rest::delete_traffic_mirror_target(self, &request),
2060 "DeleteVpcBlockPublicAccessExclusion" => {
2061 rest::delete_vpc_block_public_access_exclusion(self, &request)
2062 }
2063 "DeleteVpcEncryptionControl" => rest::delete_vpc_encryption_control(self, &request),
2064 "DeprovisionByoipCidr" => rest::deprovision_byoip_cidr(self, &request),
2065 "DeprovisionPublicIpv4PoolCidr" => {
2066 rest::deprovision_public_ipv4_pool_cidr(self, &request)
2067 }
2068 "DescribeAggregateIdFormat" => rest::describe_aggregate_id_format(self, &request),
2069 "DescribeAwsNetworkPerformanceMetricSubscriptions" => {
2070 rest::describe_aws_network_performance_metric_subscriptions(self, &request)
2071 }
2072 "DescribeBundleTasks" => rest::describe_bundle_tasks(self, &request),
2073 "DescribeByoipCidrs" => rest::describe_byoip_cidrs(self, &request),
2074 "DescribeCapacityManagerDataExports" => {
2075 rest::describe_capacity_manager_data_exports(self, &request)
2076 }
2077 "DescribeClassicLinkInstances" => rest::describe_classic_link_instances(self, &request),
2078 "DescribeConversionTasks" => rest::describe_conversion_tasks(self, &request),
2079 "DescribeDeclarativePoliciesReports" => {
2080 rest::describe_declarative_policies_reports(self, &request)
2081 }
2082 "DescribeElasticGpus" => rest::describe_elastic_gpus(self, &request),
2083 "DescribeExportImageTasks" => rest::describe_export_image_tasks(self, &request),
2084 "DescribeExportTasks" => rest::describe_export_tasks(self, &request),
2085 "DescribeFpgaImageAttribute" => rest::describe_fpga_image_attribute(self, &request),
2086 "DescribeFpgaImages" => rest::describe_fpga_images(self, &request),
2087 "DescribeHostReservationOfferings" => {
2088 rest::describe_host_reservation_offerings(self, &request)
2089 }
2090 "DescribeHostReservations" => rest::describe_host_reservations(self, &request),
2091 "DescribeIamInstanceProfileAssociations" => {
2092 rest::describe_iam_instance_profile_associations(self, &request)
2093 }
2094 "DescribeIdFormat" => rest::describe_id_format(self, &request),
2095 "DescribeIdentityIdFormat" => rest::describe_identity_id_format(self, &request),
2096 "DescribeImageReferences" => rest::describe_image_references(self, &request),
2097 "DescribeImageUsageReportEntries" => {
2098 rest::describe_image_usage_report_entries(self, &request)
2099 }
2100 "DescribeImageUsageReports" => rest::describe_image_usage_reports(self, &request),
2101 "DescribeImportImageTasks" => rest::describe_import_image_tasks(self, &request),
2102 "DescribeImportSnapshotTasks" => rest::describe_import_snapshot_tasks(self, &request),
2103 "DescribeInstanceEventWindows" => rest::describe_instance_event_windows(self, &request),
2104 "DescribeInstanceImageMetadata" => {
2105 rest::describe_instance_image_metadata(self, &request)
2106 }
2107 "DescribeInstanceSqlHaHistoryStates" => {
2108 rest::describe_instance_sql_ha_history_states(self, &request)
2109 }
2110 "DescribeInstanceSqlHaStates" => rest::describe_instance_sql_ha_states(self, &request),
2111 "DescribeInstanceTypeOfferings" => {
2112 rest::describe_instance_type_offerings(self, &request)
2113 }
2114 "DescribeIpv6Pools" => rest::describe_ipv6_pools(self, &request),
2115 "DescribeMacModificationTasks" => rest::describe_mac_modification_tasks(self, &request),
2116 "DescribeManagedPrefixLists" => rest::describe_managed_prefix_lists(self, &request),
2117 "DescribeOutpostLags" => rest::describe_outpost_lags(self, &request),
2118 "DescribePrefixLists" => rest::describe_prefix_lists(self, &request),
2119 "DescribePrincipalIdFormat" => rest::describe_principal_id_format(self, &request),
2120 "DescribePublicIpv4Pools" => rest::describe_public_ipv4_pools(self, &request),
2121 "DescribeReplaceRootVolumeTasks" => {
2122 rest::describe_replace_root_volume_tasks(self, &request)
2123 }
2124 "DescribeRouteServerEndpoints" => rest::describe_route_server_endpoints(self, &request),
2125 "DescribeRouteServerPeers" => rest::describe_route_server_peers(self, &request),
2126 "DescribeRouteServers" => rest::describe_route_servers(self, &request),
2127 "DescribeScheduledInstanceAvailability" => {
2128 rest::describe_scheduled_instance_availability(self, &request)
2129 }
2130 "DescribeScheduledInstances" => rest::describe_scheduled_instances(self, &request),
2131 "DescribeSecondaryInterfaces" => rest::describe_secondary_interfaces(self, &request),
2132 "DescribeSecondaryNetworks" => rest::describe_secondary_networks(self, &request),
2133 "DescribeServiceLinkVirtualInterfaces" => {
2134 rest::describe_service_link_virtual_interfaces(self, &request)
2135 }
2136 "DescribeTrafficMirrorFilterRules" => {
2137 rest::describe_traffic_mirror_filter_rules(self, &request)
2138 }
2139 "DescribeTrafficMirrorFilters" => rest::describe_traffic_mirror_filters(self, &request),
2140 "DescribeTrafficMirrorSessions" => {
2141 rest::describe_traffic_mirror_sessions(self, &request)
2142 }
2143 "DescribeTrafficMirrorTargets" => rest::describe_traffic_mirror_targets(self, &request),
2144 "DescribeTrunkInterfaceAssociations" => {
2145 rest::describe_trunk_interface_associations(self, &request)
2146 }
2147 "DescribeVpcBlockPublicAccessExclusions" => {
2148 rest::describe_vpc_block_public_access_exclusions(self, &request)
2149 }
2150 "DescribeVpcBlockPublicAccessOptions" => {
2151 rest::describe_vpc_block_public_access_options(self, &request)
2152 }
2153 "DescribeVpcClassicLink" => rest::describe_vpc_classic_link(self, &request),
2154 "DescribeVpcClassicLinkDnsSupport" => {
2155 rest::describe_vpc_classic_link_dns_support(self, &request)
2156 }
2157 "DescribeVpcEncryptionControls" => {
2158 rest::describe_vpc_encryption_controls(self, &request)
2159 }
2160 "DetachClassicLinkVpc" => rest::detach_classic_link_vpc(self, &request),
2161 "DisableAwsNetworkPerformanceMetricSubscription" => {
2162 rest::disable_aws_network_performance_metric_subscription(self, &request)
2163 }
2164 "DisableCapacityManager" => rest::disable_capacity_manager(self, &request),
2165 "DisableInstanceSqlHaStandbyDetections" => {
2166 rest::disable_instance_sql_ha_standby_detections(self, &request)
2167 }
2168 "DisableRouteServerPropagation" => {
2169 rest::disable_route_server_propagation(self, &request)
2170 }
2171 "DisableVgwRoutePropagation" => rest::disable_vgw_route_propagation(self, &request),
2172 "DisableVpcClassicLink" => rest::disable_vpc_classic_link(self, &request),
2173 "DisableVpcClassicLinkDnsSupport" => {
2174 rest::disable_vpc_classic_link_dns_support(self, &request)
2175 }
2176 "DisassociateEnclaveCertificateIamRole" => {
2177 rest::disassociate_enclave_certificate_iam_role(self, &request)
2178 }
2179 "DisassociateIamInstanceProfile" => {
2180 rest::disassociate_iam_instance_profile(self, &request)
2181 }
2182 "DisassociateInstanceEventWindow" => {
2183 rest::disassociate_instance_event_window(self, &request)
2184 }
2185 "DisassociateRouteServer" => rest::disassociate_route_server(self, &request),
2186 "DisassociateTrunkInterface" => rest::disassociate_trunk_interface(self, &request),
2187 "EnableAwsNetworkPerformanceMetricSubscription" => {
2188 rest::enable_aws_network_performance_metric_subscription(self, &request)
2189 }
2190 "EnableCapacityManager" => rest::enable_capacity_manager(self, &request),
2191 "EnableInstanceSqlHaStandbyDetections" => {
2192 rest::enable_instance_sql_ha_standby_detections(self, &request)
2193 }
2194 "EnableReachabilityAnalyzerOrganizationSharing" => {
2195 rest::enable_reachability_analyzer_organization_sharing(self, &request)
2196 }
2197 "EnableRouteServerPropagation" => rest::enable_route_server_propagation(self, &request),
2198 "EnableVgwRoutePropagation" => rest::enable_vgw_route_propagation(self, &request),
2199 "EnableVpcClassicLink" => rest::enable_vpc_classic_link(self, &request),
2200 "EnableVpcClassicLinkDnsSupport" => {
2201 rest::enable_vpc_classic_link_dns_support(self, &request)
2202 }
2203 "ExportImage" => rest::export_image(self, &request),
2204 "GetAssociatedEnclaveCertificateIamRoles" => {
2205 rest::get_associated_enclave_certificate_iam_roles(self, &request)
2206 }
2207 "GetAssociatedIpv6PoolCidrs" => rest::get_associated_ipv6_pool_cidrs(self, &request),
2208 "GetAwsNetworkPerformanceData" => {
2209 rest::get_aws_network_performance_data(self, &request)
2210 }
2211 "GetCapacityManagerAttributes" => rest::get_capacity_manager_attributes(self, &request),
2212 "GetCapacityManagerMetricData" => {
2213 rest::get_capacity_manager_metric_data(self, &request)
2214 }
2215 "GetCapacityManagerMetricDimensions" => {
2216 rest::get_capacity_manager_metric_dimensions(self, &request)
2217 }
2218 "GetCapacityManagerMonitoredTagKeys" => {
2219 rest::get_capacity_manager_monitored_tag_keys(self, &request)
2220 }
2221 "GetDeclarativePoliciesReportSummary" => {
2222 rest::get_declarative_policies_report_summary(self, &request)
2223 }
2224 "GetDefaultCreditSpecification" => {
2225 rest::get_default_credit_specification(self, &request)
2226 }
2227 "GetHostReservationPurchasePreview" => {
2228 rest::get_host_reservation_purchase_preview(self, &request)
2229 }
2230 "GetImageAncestry" => rest::get_image_ancestry(self, &request),
2231 "GetInstanceTpmEkPub" => rest::get_instance_tpm_ek_pub(self, &request),
2232 "GetInstanceUefiData" => rest::get_instance_uefi_data(self, &request),
2233 "GetManagedPrefixListAssociations" => {
2234 rest::get_managed_prefix_list_associations(self, &request)
2235 }
2236 "GetManagedPrefixListEntries" => rest::get_managed_prefix_list_entries(self, &request),
2237 "GetManagedResourceVisibility" => rest::get_managed_resource_visibility(self, &request),
2238 "GetRouteServerAssociations" => rest::get_route_server_associations(self, &request),
2239 "GetRouteServerPropagations" => rest::get_route_server_propagations(self, &request),
2240 "GetRouteServerRoutingDatabase" => {
2241 rest::get_route_server_routing_database(self, &request)
2242 }
2243 "GetVpcResourcesBlockingEncryptionEnforcement" => {
2244 rest::get_vpc_resources_blocking_encryption_enforcement(self, &request)
2245 }
2246 "ImportImage" => rest::import_image(self, &request),
2247 "ImportInstance" => rest::import_instance(self, &request),
2248 "ImportSnapshot" => rest::import_snapshot(self, &request),
2249 "ImportVolume" => rest::import_volume(self, &request),
2250 "ModifyAvailabilityZoneGroup" => rest::modify_availability_zone_group(self, &request),
2251 "ModifyDefaultCreditSpecification" => {
2252 rest::modify_default_credit_specification(self, &request)
2253 }
2254 "ModifyFpgaImageAttribute" => rest::modify_fpga_image_attribute(self, &request),
2255 "ModifyIdFormat" => rest::modify_id_format(self, &request),
2256 "ModifyIdentityIdFormat" => rest::modify_identity_id_format(self, &request),
2257 "ModifyInstanceEventWindow" => rest::modify_instance_event_window(self, &request),
2258 "ModifyManagedPrefixList" => rest::modify_managed_prefix_list(self, &request),
2259 "ModifyManagedResourceVisibility" => {
2260 rest::modify_managed_resource_visibility(self, &request)
2261 }
2262 "ModifyPrivateDnsNameOptions" => rest::modify_private_dns_name_options(self, &request),
2263 "ModifyPublicIpDnsNameOptions" => {
2264 rest::modify_public_ip_dns_name_options(self, &request)
2265 }
2266 "ModifyRouteServer" => rest::modify_route_server(self, &request),
2267 "ModifyTrafficMirrorFilterNetworkServices" => {
2268 rest::modify_traffic_mirror_filter_network_services(self, &request)
2269 }
2270 "ModifyTrafficMirrorFilterRule" => {
2271 rest::modify_traffic_mirror_filter_rule(self, &request)
2272 }
2273 "ModifyTrafficMirrorSession" => rest::modify_traffic_mirror_session(self, &request),
2274 "ModifyVpcBlockPublicAccessExclusion" => {
2275 rest::modify_vpc_block_public_access_exclusion(self, &request)
2276 }
2277 "ModifyVpcBlockPublicAccessOptions" => {
2278 rest::modify_vpc_block_public_access_options(self, &request)
2279 }
2280 "ModifyVpcEncryptionControl" => rest::modify_vpc_encryption_control(self, &request),
2281 "ProvisionByoipCidr" => rest::provision_byoip_cidr(self, &request),
2282 "ProvisionPublicIpv4PoolCidr" => rest::provision_public_ipv4_pool_cidr(self, &request),
2283 "PurchaseHostReservation" => rest::purchase_host_reservation(self, &request),
2284 "PurchaseScheduledInstances" => rest::purchase_scheduled_instances(self, &request),
2285 "ReplaceIamInstanceProfileAssociation" => {
2286 rest::replace_iam_instance_profile_association(self, &request)
2287 }
2288 "ResetFpgaImageAttribute" => rest::reset_fpga_image_attribute(self, &request),
2289 "RestoreManagedPrefixListVersion" => {
2290 rest::restore_managed_prefix_list_version(self, &request)
2291 }
2292 "RunScheduledInstances" => rest::run_scheduled_instances(self, &request),
2293 "SendDiagnosticInterrupt" => rest::send_diagnostic_interrupt(self, &request),
2294 "StartDeclarativePoliciesReport" => {
2295 rest::start_declarative_policies_report(self, &request)
2296 }
2297 "UpdateCapacityManagerMonitoredTagKeys" => {
2298 rest::update_capacity_manager_monitored_tag_keys(self, &request)
2299 }
2300 "UpdateCapacityManagerOrganizationsAccess" => {
2301 rest::update_capacity_manager_organizations_access(self, &request)
2302 }
2303 "WithdrawByoipCidr" => rest::withdraw_byoip_cidr(self, &request),
2304 "CreateCapacityReservationCancellationQuote" => {
2306 rest::create_capacity_reservation_cancellation_quote(self, &request)
2307 }
2308 "DescribeCapacityReservationCancellationQuotes" => {
2309 rest::describe_capacity_reservation_cancellation_quotes(self, &request)
2310 }
2311 "DescribeIpamPoolAllocations" => rest::describe_ipam_pool_allocations(self, &request),
2312 "ModifyIpamPoolAllocation" => rest::modify_ipam_pool_allocation(self, &request),
2313 other => Err(AwsServiceError::aws_error(
2314 StatusCode::BAD_REQUEST,
2315 "InvalidAction",
2316 format!("The action {other} is not valid for this web service."),
2317 )),
2318 }
2319 }
2320}
2321
2322impl Ec2Service {
2323 pub(crate) fn respond(action: &str, request_id: &str, body: &str) -> AwsResponse {
2325 AwsResponse::xml(
2326 StatusCode::OK,
2327 fakecloud_aws::ec2query::ec2_response(action, request_id, body),
2328 )
2329 }
2330}