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