

There are more AWS SDK examples available in the [AWS Doc SDK Examples](https://github.com/awsdocs/aws-doc-sdk-examples) GitHub repo.

# Actions for Amazon EC2 using AWS SDKs
<a name="ec2_code_examples_actions"></a>

The following code examples demonstrate how to perform individual Amazon EC2 actions with AWS SDKs. Each example includes a link to GitHub, where you can find instructions for setting up and running the code. 

These excerpts call the Amazon EC2 API and are code excerpts from larger programs that must be run in context. You can see actions in context in [Scenarios for Amazon EC2 using AWS SDKs](ec2_code_examples_scenarios.md). 

 The following examples include only the most commonly used actions. For a complete list, see the [Amazon Elastic Compute Cloud API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html). 

**Topics**
+ [`AcceptVpcPeeringConnection`](ec2_example_ec2_AcceptVpcPeeringConnection_section.md)
+ [`AllocateAddress`](ec2_example_ec2_AllocateAddress_section.md)
+ [`AllocateHosts`](ec2_example_ec2_AllocateHosts_section.md)
+ [`AssignPrivateIpAddresses`](ec2_example_ec2_AssignPrivateIpAddresses_section.md)
+ [`AssociateAddress`](ec2_example_ec2_AssociateAddress_section.md)
+ [`AssociateDhcpOptions`](ec2_example_ec2_AssociateDhcpOptions_section.md)
+ [`AssociateRouteTable`](ec2_example_ec2_AssociateRouteTable_section.md)
+ [`AttachInternetGateway`](ec2_example_ec2_AttachInternetGateway_section.md)
+ [`AttachNetworkInterface`](ec2_example_ec2_AttachNetworkInterface_section.md)
+ [`AttachVolume`](ec2_example_ec2_AttachVolume_section.md)
+ [`AttachVpnGateway`](ec2_example_ec2_AttachVpnGateway_section.md)
+ [`AuthorizeSecurityGroupEgress`](ec2_example_ec2_AuthorizeSecurityGroupEgress_section.md)
+ [`AuthorizeSecurityGroupIngress`](ec2_example_ec2_AuthorizeSecurityGroupIngress_section.md)
+ [`CancelCapacityReservation`](ec2_example_ec2_CancelCapacityReservation_section.md)
+ [`CancelImportTask`](ec2_example_ec2_CancelImportTask_section.md)
+ [`CancelSpotFleetRequests`](ec2_example_ec2_CancelSpotFleetRequests_section.md)
+ [`CancelSpotInstanceRequests`](ec2_example_ec2_CancelSpotInstanceRequests_section.md)
+ [`ConfirmProductInstance`](ec2_example_ec2_ConfirmProductInstance_section.md)
+ [`CopyImage`](ec2_example_ec2_CopyImage_section.md)
+ [`CopySnapshot`](ec2_example_ec2_CopySnapshot_section.md)
+ [`CreateCapacityReservation`](ec2_example_ec2_CreateCapacityReservation_section.md)
+ [`CreateCustomerGateway`](ec2_example_ec2_CreateCustomerGateway_section.md)
+ [`CreateDhcpOptions`](ec2_example_ec2_CreateDhcpOptions_section.md)
+ [`CreateFlowLogs`](ec2_example_ec2_CreateFlowLogs_section.md)
+ [`CreateImage`](ec2_example_ec2_CreateImage_section.md)
+ [`CreateInstanceExportTask`](ec2_example_ec2_CreateInstanceExportTask_section.md)
+ [`CreateInternetGateway`](ec2_example_ec2_CreateInternetGateway_section.md)
+ [`CreateKeyPair`](ec2_example_ec2_CreateKeyPair_section.md)
+ [`CreateLaunchTemplate`](ec2_example_ec2_CreateLaunchTemplate_section.md)
+ [`CreateNetworkAcl`](ec2_example_ec2_CreateNetworkAcl_section.md)
+ [`CreateNetworkAclEntry`](ec2_example_ec2_CreateNetworkAclEntry_section.md)
+ [`CreateNetworkInterface`](ec2_example_ec2_CreateNetworkInterface_section.md)
+ [`CreatePlacementGroup`](ec2_example_ec2_CreatePlacementGroup_section.md)
+ [`CreateRoute`](ec2_example_ec2_CreateRoute_section.md)
+ [`CreateRouteTable`](ec2_example_ec2_CreateRouteTable_section.md)
+ [`CreateSecurityGroup`](ec2_example_ec2_CreateSecurityGroup_section.md)
+ [`CreateSnapshot`](ec2_example_ec2_CreateSnapshot_section.md)
+ [`CreateSpotDatafeedSubscription`](ec2_example_ec2_CreateSpotDatafeedSubscription_section.md)
+ [`CreateSubnet`](ec2_example_ec2_CreateSubnet_section.md)
+ [`CreateTags`](ec2_example_ec2_CreateTags_section.md)
+ [`CreateVolume`](ec2_example_ec2_CreateVolume_section.md)
+ [`CreateVpc`](ec2_example_ec2_CreateVpc_section.md)
+ [`CreateVpcEndpoint`](ec2_example_ec2_CreateVpcEndpoint_section.md)
+ [`CreateVpnConnection`](ec2_example_ec2_CreateVpnConnection_section.md)
+ [`CreateVpnConnectionRoute`](ec2_example_ec2_CreateVpnConnectionRoute_section.md)
+ [`CreateVpnGateway`](ec2_example_ec2_CreateVpnGateway_section.md)
+ [`DeleteCustomerGateway`](ec2_example_ec2_DeleteCustomerGateway_section.md)
+ [`DeleteDhcpOptions`](ec2_example_ec2_DeleteDhcpOptions_section.md)
+ [`DeleteFlowLogs`](ec2_example_ec2_DeleteFlowLogs_section.md)
+ [`DeleteInternetGateway`](ec2_example_ec2_DeleteInternetGateway_section.md)
+ [`DeleteKeyPair`](ec2_example_ec2_DeleteKeyPair_section.md)
+ [`DeleteLaunchTemplate`](ec2_example_ec2_DeleteLaunchTemplate_section.md)
+ [`DeleteNetworkAcl`](ec2_example_ec2_DeleteNetworkAcl_section.md)
+ [`DeleteNetworkAclEntry`](ec2_example_ec2_DeleteNetworkAclEntry_section.md)
+ [`DeleteNetworkInterface`](ec2_example_ec2_DeleteNetworkInterface_section.md)
+ [`DeletePlacementGroup`](ec2_example_ec2_DeletePlacementGroup_section.md)
+ [`DeleteRoute`](ec2_example_ec2_DeleteRoute_section.md)
+ [`DeleteRouteTable`](ec2_example_ec2_DeleteRouteTable_section.md)
+ [`DeleteSecurityGroup`](ec2_example_ec2_DeleteSecurityGroup_section.md)
+ [`DeleteSnapshot`](ec2_example_ec2_DeleteSnapshot_section.md)
+ [`DeleteSpotDatafeedSubscription`](ec2_example_ec2_DeleteSpotDatafeedSubscription_section.md)
+ [`DeleteSubnet`](ec2_example_ec2_DeleteSubnet_section.md)
+ [`DeleteTags`](ec2_example_ec2_DeleteTags_section.md)
+ [`DeleteVolume`](ec2_example_ec2_DeleteVolume_section.md)
+ [`DeleteVpc`](ec2_example_ec2_DeleteVpc_section.md)
+ [`DeleteVpcEndpoints`](ec2_example_ec2_DeleteVpcEndpoints_section.md)
+ [`DeleteVpnConnection`](ec2_example_ec2_DeleteVpnConnection_section.md)
+ [`DeleteVpnConnectionRoute`](ec2_example_ec2_DeleteVpnConnectionRoute_section.md)
+ [`DeleteVpnGateway`](ec2_example_ec2_DeleteVpnGateway_section.md)
+ [`DeregisterImage`](ec2_example_ec2_DeregisterImage_section.md)
+ [`DescribeAccountAttributes`](ec2_example_ec2_DescribeAccountAttributes_section.md)
+ [`DescribeAddresses`](ec2_example_ec2_DescribeAddresses_section.md)
+ [`DescribeAvailabilityZones`](ec2_example_ec2_DescribeAvailabilityZones_section.md)
+ [`DescribeBundleTasks`](ec2_example_ec2_DescribeBundleTasks_section.md)
+ [`DescribeCapacityReservations`](ec2_example_ec2_DescribeCapacityReservations_section.md)
+ [`DescribeCustomerGateways`](ec2_example_ec2_DescribeCustomerGateways_section.md)
+ [`DescribeDhcpOptions`](ec2_example_ec2_DescribeDhcpOptions_section.md)
+ [`DescribeFlowLogs`](ec2_example_ec2_DescribeFlowLogs_section.md)
+ [`DescribeHostReservationOfferings`](ec2_example_ec2_DescribeHostReservationOfferings_section.md)
+ [`DescribeHosts`](ec2_example_ec2_DescribeHosts_section.md)
+ [`DescribeIamInstanceProfileAssociations`](ec2_example_ec2_DescribeIamInstanceProfileAssociations_section.md)
+ [`DescribeIdFormat`](ec2_example_ec2_DescribeIdFormat_section.md)
+ [`DescribeIdentityIdFormat`](ec2_example_ec2_DescribeIdentityIdFormat_section.md)
+ [`DescribeImageAttribute`](ec2_example_ec2_DescribeImageAttribute_section.md)
+ [`DescribeImages`](ec2_example_ec2_DescribeImages_section.md)
+ [`DescribeImportImageTasks`](ec2_example_ec2_DescribeImportImageTasks_section.md)
+ [`DescribeImportSnapshotTasks`](ec2_example_ec2_DescribeImportSnapshotTasks_section.md)
+ [`DescribeInstanceAttribute`](ec2_example_ec2_DescribeInstanceAttribute_section.md)
+ [`DescribeInstanceStatus`](ec2_example_ec2_DescribeInstanceStatus_section.md)
+ [`DescribeInstanceTypes`](ec2_example_ec2_DescribeInstanceTypes_section.md)
+ [`DescribeInstances`](ec2_example_ec2_DescribeInstances_section.md)
+ [`DescribeInternetGateways`](ec2_example_ec2_DescribeInternetGateways_section.md)
+ [`DescribeKeyPairs`](ec2_example_ec2_DescribeKeyPairs_section.md)
+ [`DescribeNetworkAcls`](ec2_example_ec2_DescribeNetworkAcls_section.md)
+ [`DescribeNetworkInterfaceAttribute`](ec2_example_ec2_DescribeNetworkInterfaceAttribute_section.md)
+ [`DescribeNetworkInterfaces`](ec2_example_ec2_DescribeNetworkInterfaces_section.md)
+ [`DescribePlacementGroups`](ec2_example_ec2_DescribePlacementGroups_section.md)
+ [`DescribePrefixLists`](ec2_example_ec2_DescribePrefixLists_section.md)
+ [`DescribeRegions`](ec2_example_ec2_DescribeRegions_section.md)
+ [`DescribeRouteTables`](ec2_example_ec2_DescribeRouteTables_section.md)
+ [`DescribeScheduledInstanceAvailability`](ec2_example_ec2_DescribeScheduledInstanceAvailability_section.md)
+ [`DescribeScheduledInstances`](ec2_example_ec2_DescribeScheduledInstances_section.md)
+ [`DescribeSecurityGroups`](ec2_example_ec2_DescribeSecurityGroups_section.md)
+ [`DescribeSnapshotAttribute`](ec2_example_ec2_DescribeSnapshotAttribute_section.md)
+ [`DescribeSnapshots`](ec2_example_ec2_DescribeSnapshots_section.md)
+ [`DescribeSpotDatafeedSubscription`](ec2_example_ec2_DescribeSpotDatafeedSubscription_section.md)
+ [`DescribeSpotFleetInstances`](ec2_example_ec2_DescribeSpotFleetInstances_section.md)
+ [`DescribeSpotFleetRequestHistory`](ec2_example_ec2_DescribeSpotFleetRequestHistory_section.md)
+ [`DescribeSpotFleetRequests`](ec2_example_ec2_DescribeSpotFleetRequests_section.md)
+ [`DescribeSpotInstanceRequests`](ec2_example_ec2_DescribeSpotInstanceRequests_section.md)
+ [`DescribeSpotPriceHistory`](ec2_example_ec2_DescribeSpotPriceHistory_section.md)
+ [`DescribeSubnets`](ec2_example_ec2_DescribeSubnets_section.md)
+ [`DescribeTags`](ec2_example_ec2_DescribeTags_section.md)
+ [`DescribeVolumeAttribute`](ec2_example_ec2_DescribeVolumeAttribute_section.md)
+ [`DescribeVolumeStatus`](ec2_example_ec2_DescribeVolumeStatus_section.md)
+ [`DescribeVolumes`](ec2_example_ec2_DescribeVolumes_section.md)
+ [`DescribeVpcAttribute`](ec2_example_ec2_DescribeVpcAttribute_section.md)
+ [`DescribeVpcClassicLink`](ec2_example_ec2_DescribeVpcClassicLink_section.md)
+ [`DescribeVpcClassicLinkDnsSupport`](ec2_example_ec2_DescribeVpcClassicLinkDnsSupport_section.md)
+ [`DescribeVpcEndpointServices`](ec2_example_ec2_DescribeVpcEndpointServices_section.md)
+ [`DescribeVpcEndpoints`](ec2_example_ec2_DescribeVpcEndpoints_section.md)
+ [`DescribeVpcs`](ec2_example_ec2_DescribeVpcs_section.md)
+ [`DescribeVpnConnections`](ec2_example_ec2_DescribeVpnConnections_section.md)
+ [`DescribeVpnGateways`](ec2_example_ec2_DescribeVpnGateways_section.md)
+ [`DetachInternetGateway`](ec2_example_ec2_DetachInternetGateway_section.md)
+ [`DetachNetworkInterface`](ec2_example_ec2_DetachNetworkInterface_section.md)
+ [`DetachVolume`](ec2_example_ec2_DetachVolume_section.md)
+ [`DetachVpnGateway`](ec2_example_ec2_DetachVpnGateway_section.md)
+ [`DisableVgwRoutePropagation`](ec2_example_ec2_DisableVgwRoutePropagation_section.md)
+ [`DisableVpcClassicLink`](ec2_example_ec2_DisableVpcClassicLink_section.md)
+ [`DisableVpcClassicLinkDnsSupport`](ec2_example_ec2_DisableVpcClassicLinkDnsSupport_section.md)
+ [`DisassociateAddress`](ec2_example_ec2_DisassociateAddress_section.md)
+ [`DisassociateRouteTable`](ec2_example_ec2_DisassociateRouteTable_section.md)
+ [`EnableVgwRoutePropagation`](ec2_example_ec2_EnableVgwRoutePropagation_section.md)
+ [`EnableVolumeIo`](ec2_example_ec2_EnableVolumeIo_section.md)
+ [`EnableVpcClassicLink`](ec2_example_ec2_EnableVpcClassicLink_section.md)
+ [`EnableVpcClassicLinkDnsSupport`](ec2_example_ec2_EnableVpcClassicLinkDnsSupport_section.md)
+ [`GetConsoleOutput`](ec2_example_ec2_GetConsoleOutput_section.md)
+ [`GetHostReservationPurchasePreview`](ec2_example_ec2_GetHostReservationPurchasePreview_section.md)
+ [`GetPasswordData`](ec2_example_ec2_GetPasswordData_section.md)
+ [`ImportImage`](ec2_example_ec2_ImportImage_section.md)
+ [`ImportKeyPair`](ec2_example_ec2_ImportKeyPair_section.md)
+ [`ImportSnapshot`](ec2_example_ec2_ImportSnapshot_section.md)
+ [`ModifyCapacityReservation`](ec2_example_ec2_ModifyCapacityReservation_section.md)
+ [`ModifyHosts`](ec2_example_ec2_ModifyHosts_section.md)
+ [`ModifyIdFormat`](ec2_example_ec2_ModifyIdFormat_section.md)
+ [`ModifyImageAttribute`](ec2_example_ec2_ModifyImageAttribute_section.md)
+ [`ModifyInstanceAttribute`](ec2_example_ec2_ModifyInstanceAttribute_section.md)
+ [`ModifyInstanceCreditSpecification`](ec2_example_ec2_ModifyInstanceCreditSpecification_section.md)
+ [`ModifyNetworkInterfaceAttribute`](ec2_example_ec2_ModifyNetworkInterfaceAttribute_section.md)
+ [`ModifyReservedInstances`](ec2_example_ec2_ModifyReservedInstances_section.md)
+ [`ModifySnapshotAttribute`](ec2_example_ec2_ModifySnapshotAttribute_section.md)
+ [`ModifySpotFleetRequest`](ec2_example_ec2_ModifySpotFleetRequest_section.md)
+ [`ModifySubnetAttribute`](ec2_example_ec2_ModifySubnetAttribute_section.md)
+ [`ModifyVolumeAttribute`](ec2_example_ec2_ModifyVolumeAttribute_section.md)
+ [`ModifyVpcAttribute`](ec2_example_ec2_ModifyVpcAttribute_section.md)
+ [`MonitorInstances`](ec2_example_ec2_MonitorInstances_section.md)
+ [`MoveAddressToVpc`](ec2_example_ec2_MoveAddressToVpc_section.md)
+ [`PurchaseHostReservation`](ec2_example_ec2_PurchaseHostReservation_section.md)
+ [`PurchaseScheduledInstances`](ec2_example_ec2_PurchaseScheduledInstances_section.md)
+ [`RebootInstances`](ec2_example_ec2_RebootInstances_section.md)
+ [`RegisterImage`](ec2_example_ec2_RegisterImage_section.md)
+ [`RejectVpcPeeringConnection`](ec2_example_ec2_RejectVpcPeeringConnection_section.md)
+ [`ReleaseAddress`](ec2_example_ec2_ReleaseAddress_section.md)
+ [`ReleaseHosts`](ec2_example_ec2_ReleaseHosts_section.md)
+ [`ReplaceIamInstanceProfileAssociation`](ec2_example_ec2_ReplaceIamInstanceProfileAssociation_section.md)
+ [`ReplaceNetworkAclAssociation`](ec2_example_ec2_ReplaceNetworkAclAssociation_section.md)
+ [`ReplaceNetworkAclEntry`](ec2_example_ec2_ReplaceNetworkAclEntry_section.md)
+ [`ReplaceRoute`](ec2_example_ec2_ReplaceRoute_section.md)
+ [`ReplaceRouteTableAssociation`](ec2_example_ec2_ReplaceRouteTableAssociation_section.md)
+ [`ReportInstanceStatus`](ec2_example_ec2_ReportInstanceStatus_section.md)
+ [`RequestSpotFleet`](ec2_example_ec2_RequestSpotFleet_section.md)
+ [`RequestSpotInstances`](ec2_example_ec2_RequestSpotInstances_section.md)
+ [`ResetImageAttribute`](ec2_example_ec2_ResetImageAttribute_section.md)
+ [`ResetInstanceAttribute`](ec2_example_ec2_ResetInstanceAttribute_section.md)
+ [`ResetNetworkInterfaceAttribute`](ec2_example_ec2_ResetNetworkInterfaceAttribute_section.md)
+ [`ResetSnapshotAttribute`](ec2_example_ec2_ResetSnapshotAttribute_section.md)
+ [`RevokeSecurityGroupEgress`](ec2_example_ec2_RevokeSecurityGroupEgress_section.md)
+ [`RevokeSecurityGroupIngress`](ec2_example_ec2_RevokeSecurityGroupIngress_section.md)
+ [`RunInstances`](ec2_example_ec2_RunInstances_section.md)
+ [`RunScheduledInstances`](ec2_example_ec2_RunScheduledInstances_section.md)
+ [`StartInstances`](ec2_example_ec2_StartInstances_section.md)
+ [`StopInstances`](ec2_example_ec2_StopInstances_section.md)
+ [`TerminateInstances`](ec2_example_ec2_TerminateInstances_section.md)
+ [`UnassignPrivateIpAddresses`](ec2_example_ec2_UnassignPrivateIpAddresses_section.md)
+ [`UnmonitorInstances`](ec2_example_ec2_UnmonitorInstances_section.md)
+ [`UpdateSecurityGroupRuleDescriptionsIngress`](ec2_example_ec2_UpdateSecurityGroupRuleDescriptionsIngress_section.md)