# EC2 Service API Requests use [`CloudEnvAction`](../../../models.py): `service`, `operation`, and `payload` (boto3 parameters for the operation). Operations are enforced by IAM as `ec2:` (see adapter). ## Operations ### RunInstances _Boto3 client method: `run_instances`_ **Other boto3 parameters (optional):** `AdditionalInfo, BlockDeviceMappings, CapacityReservationSpecification, ClientToken, CpuOptions, CreditSpecification, DisableApiStop, DisableApiTermination, DryRun, EbsOptimized, ElasticGpuSpecification, ElasticInferenceAccelerators, EnablePrimaryIpv6, EnclaveOptions, HibernationOptions, IamInstanceProfile, ImageId, InstanceInitiatedShutdownBehavior, InstanceMarketOptions, InstanceType, Ipv6AddressCount, Ipv6Addresses, KernelId, KeyName, LaunchTemplate` (+17 more) ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "RunInstances", "payload": { "MaxCount": 0, "MinCount": 0 } } ``` --- ### DescribeInstances _Boto3 client method: `describe_instances`_ **Other boto3 parameters (optional):** `DryRun, Filters, InstanceIds, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeInstances", "payload": {} } ``` --- ### TerminateInstances _Boto3 client method: `terminate_instances`_ **Other boto3 parameters (optional):** `DryRun, Force, SkipOsShutdown` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "TerminateInstances", "payload": { "InstanceIds": [ "example-instanceid" ] } } ``` --- ### StopInstances _Boto3 client method: `stop_instances`_ **Other boto3 parameters (optional):** `DryRun, Force, Hibernate, SkipOsShutdown` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "StopInstances", "payload": { "InstanceIds": [ "example-instanceid" ] } } ``` --- ### StartInstances _Boto3 client method: `start_instances`_ **Other boto3 parameters (optional):** `AdditionalInfo, DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "StartInstances", "payload": { "InstanceIds": [ "example-instanceid" ] } } ``` --- ### RebootInstances _Boto3 client method: `reboot_instances`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "RebootInstances", "payload": { "InstanceIds": [ "example-instanceid" ] } } ``` --- ### DescribeImages _Boto3 client method: `describe_images`_ **Other boto3 parameters (optional):** `DryRun, ExecutableUsers, Filters, ImageIds, IncludeDeprecated, IncludeDisabled, MaxResults, NextToken, Owners` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeImages", "payload": {} } ``` --- ### CreateSecurityGroup _Boto3 client method: `create_security_group`_ **Other boto3 parameters (optional):** `DryRun, TagSpecifications, VpcId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateSecurityGroup", "payload": { "Description": "example-string", "GroupName": "example-string" } } ``` --- ### DeleteSecurityGroup _Boto3 client method: `delete_security_group`_ **Other boto3 parameters (optional):** `DryRun, GroupId, GroupName` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteSecurityGroup", "payload": {} } ``` --- ### DescribeSecurityGroups _Boto3 client method: `describe_security_groups`_ **Other boto3 parameters (optional):** `DryRun, Filters, GroupIds, GroupNames, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeSecurityGroups", "payload": {} } ``` --- ### AuthorizeSecurityGroupIngress _Boto3 client method: `authorize_security_group_ingress`_ **Other boto3 parameters (optional):** `CidrIp, DryRun, FromPort, GroupId, GroupName, IpPermissions, IpProtocol, SourceSecurityGroupName, SourceSecurityGroupOwnerId, TagSpecifications, ToPort` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AuthorizeSecurityGroupIngress", "payload": {} } ``` --- ### RevokeSecurityGroupIngress _Boto3 client method: `revoke_security_group_ingress`_ **Other boto3 parameters (optional):** `CidrIp, DryRun, FromPort, GroupId, GroupName, IpPermissions, IpProtocol, SecurityGroupRuleIds, SourceSecurityGroupName, SourceSecurityGroupOwnerId, ToPort` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "RevokeSecurityGroupIngress", "payload": {} } ``` --- ### AuthorizeSecurityGroupEgress _Boto3 client method: `authorize_security_group_egress`_ **Other boto3 parameters (optional):** `CidrIp, DryRun, FromPort, IpPermissions, IpProtocol, SourceSecurityGroupName, SourceSecurityGroupOwnerId, TagSpecifications, ToPort` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AuthorizeSecurityGroupEgress", "payload": { "GroupId": "example-securitygroupid" } } ``` --- ### RevokeSecurityGroupEgress _Boto3 client method: `revoke_security_group_egress`_ **Other boto3 parameters (optional):** `CidrIp, DryRun, FromPort, IpPermissions, IpProtocol, SecurityGroupRuleIds, SourceSecurityGroupName, SourceSecurityGroupOwnerId, ToPort` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "RevokeSecurityGroupEgress", "payload": { "GroupId": "example-securitygroupid" } } ``` --- ### CreateKeyPair _Boto3 client method: `create_key_pair`_ **Other boto3 parameters (optional):** `DryRun, KeyFormat, KeyType, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateKeyPair", "payload": { "KeyName": "example-string" } } ``` --- ### DeleteKeyPair _Boto3 client method: `delete_key_pair`_ **Other boto3 parameters (optional):** `DryRun, KeyName, KeyPairId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteKeyPair", "payload": {} } ``` --- ### DescribeKeyPairs _Boto3 client method: `describe_key_pairs`_ **Other boto3 parameters (optional):** `DryRun, Filters, IncludePublicKey, KeyNames, KeyPairIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeKeyPairs", "payload": {} } ``` --- ### ImportKeyPair _Boto3 client method: `import_key_pair`_ **Other boto3 parameters (optional):** `DryRun, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ImportKeyPair", "payload": { "KeyName": "example-string", "PublicKeyMaterial": "base64-encoded-bytes" } } ``` --- ### CreateVpc _Boto3 client method: `create_vpc`_ **Other boto3 parameters (optional):** `AmazonProvidedIpv6CidrBlock, CidrBlock, DryRun, InstanceTenancy, Ipv4IpamPoolId, Ipv4NetmaskLength, Ipv6CidrBlock, Ipv6CidrBlockNetworkBorderGroup, Ipv6IpamPoolId, Ipv6NetmaskLength, Ipv6Pool, TagSpecifications, VpcEncryptionControl` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateVpc", "payload": {} } ``` --- ### DeleteVpc _Boto3 client method: `delete_vpc`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteVpc", "payload": { "VpcId": "example-vpcid" } } ``` --- ### DescribeVpcs _Boto3 client method: `describe_vpcs`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, VpcIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVpcs", "payload": {} } ``` --- ### ModifyVpcAttribute _Boto3 client method: `modify_vpc_attribute`_ **Other boto3 parameters (optional):** `EnableDnsHostnames, EnableDnsSupport, EnableNetworkAddressUsageMetrics` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ModifyVpcAttribute", "payload": { "VpcId": "example-vpcid" } } ``` --- ### CreateSubnet _Boto3 client method: `create_subnet`_ **Other boto3 parameters (optional):** `AvailabilityZone, AvailabilityZoneId, CidrBlock, DryRun, Ipv4IpamPoolId, Ipv4NetmaskLength, Ipv6CidrBlock, Ipv6IpamPoolId, Ipv6Native, Ipv6NetmaskLength, OutpostArn, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateSubnet", "payload": { "VpcId": "example-vpcid" } } ``` --- ### DeleteSubnet _Boto3 client method: `delete_subnet`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteSubnet", "payload": { "SubnetId": "example-subnetid" } } ``` --- ### DescribeSubnets _Boto3 client method: `describe_subnets`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, SubnetIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeSubnets", "payload": {} } ``` --- ### ModifySubnetAttribute _Boto3 client method: `modify_subnet_attribute`_ **Other boto3 parameters (optional):** `AssignIpv6AddressOnCreation, CustomerOwnedIpv4Pool, DisableLniAtDeviceIndex, EnableDns64, EnableLniAtDeviceIndex, EnableResourceNameDnsAAAARecordOnLaunch, EnableResourceNameDnsARecordOnLaunch, MapCustomerOwnedIpOnLaunch, MapPublicIpOnLaunch, PrivateDnsHostnameTypeOnLaunch` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ModifySubnetAttribute", "payload": { "SubnetId": "example-subnetid" } } ``` --- ### CreateInternetGateway _Boto3 client method: `create_internet_gateway`_ **Other boto3 parameters (optional):** `DryRun, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateInternetGateway", "payload": {} } ``` --- ### DeleteInternetGateway _Boto3 client method: `delete_internet_gateway`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteInternetGateway", "payload": { "InternetGatewayId": "example-internetgatewayid" } } ``` --- ### DescribeInternetGateways _Boto3 client method: `describe_internet_gateways`_ **Other boto3 parameters (optional):** `DryRun, Filters, InternetGatewayIds, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeInternetGateways", "payload": {} } ``` --- ### AttachInternetGateway _Boto3 client method: `attach_internet_gateway`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AttachInternetGateway", "payload": { "InternetGatewayId": "example-internetgatewayid", "VpcId": "example-vpcid" } } ``` --- ### DetachInternetGateway _Boto3 client method: `detach_internet_gateway`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DetachInternetGateway", "payload": { "InternetGatewayId": "example-internetgatewayid", "VpcId": "example-vpcid" } } ``` --- ### CreateRouteTable _Boto3 client method: `create_route_table`_ **Other boto3 parameters (optional):** `ClientToken, DryRun, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateRouteTable", "payload": { "VpcId": "example-vpcid" } } ``` --- ### DeleteRouteTable _Boto3 client method: `delete_route_table`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteRouteTable", "payload": { "RouteTableId": "example-routetableid" } } ``` --- ### DescribeRouteTables _Boto3 client method: `describe_route_tables`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, RouteTableIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeRouteTables", "payload": {} } ``` --- ### AssociateRouteTable _Boto3 client method: `associate_route_table`_ **Other boto3 parameters (optional):** `DryRun, GatewayId, PublicIpv4Pool, SubnetId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AssociateRouteTable", "payload": { "RouteTableId": "example-routetableid" } } ``` --- ### DisassociateRouteTable _Boto3 client method: `disassociate_route_table`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DisassociateRouteTable", "payload": { "AssociationId": "example-routetableassociationid" } } ``` --- ### CreateRoute _Boto3 client method: `create_route`_ **Other boto3 parameters (optional):** `CarrierGatewayId, CoreNetworkArn, DestinationCidrBlock, DestinationIpv6CidrBlock, DestinationPrefixListId, DryRun, EgressOnlyInternetGatewayId, GatewayId, InstanceId, LocalGatewayId, NatGatewayId, NetworkInterfaceId, OdbNetworkArn, TransitGatewayId, VpcEndpointId, VpcPeeringConnectionId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateRoute", "payload": { "RouteTableId": "example-routetableid" } } ``` --- ### ReplaceRoute _Boto3 client method: `replace_route`_ **Other boto3 parameters (optional):** `CarrierGatewayId, CoreNetworkArn, DestinationCidrBlock, DestinationIpv6CidrBlock, DestinationPrefixListId, DryRun, EgressOnlyInternetGatewayId, GatewayId, InstanceId, LocalGatewayId, LocalTarget, NatGatewayId, NetworkInterfaceId, OdbNetworkArn, TransitGatewayId, VpcEndpointId, VpcPeeringConnectionId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ReplaceRoute", "payload": { "RouteTableId": "example-routetableid" } } ``` --- ### DeleteRoute _Boto3 client method: `delete_route`_ **Other boto3 parameters (optional):** `DestinationCidrBlock, DestinationIpv6CidrBlock, DestinationPrefixListId, DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteRoute", "payload": { "RouteTableId": "example-routetableid" } } ``` --- ### CreateNetworkInterface _Boto3 client method: `create_network_interface`_ **Other boto3 parameters (optional):** `ClientToken, ConnectionTrackingSpecification, Description, DryRun, EnablePrimaryIpv6, Groups, InterfaceType, Ipv4PrefixCount, Ipv4Prefixes, Ipv6AddressCount, Ipv6Addresses, Ipv6PrefixCount, Ipv6Prefixes, Operator, PrivateIpAddress, PrivateIpAddresses, SecondaryPrivateIpAddressCount, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateNetworkInterface", "payload": { "SubnetId": "example-subnetid" } } ``` --- ### DeleteNetworkInterface _Boto3 client method: `delete_network_interface`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteNetworkInterface", "payload": { "NetworkInterfaceId": "example-networkinterfaceid" } } ``` --- ### DescribeNetworkInterfaces _Boto3 client method: `describe_network_interfaces`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NetworkInterfaceIds, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeNetworkInterfaces", "payload": {} } ``` --- ### AttachNetworkInterface _Boto3 client method: `attach_network_interface`_ **Other boto3 parameters (optional):** `DryRun, EnaQueueCount, EnaSrdSpecification, NetworkCardIndex` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AttachNetworkInterface", "payload": { "NetworkInterfaceId": "example-networkinterfaceid", "InstanceId": "example-instanceid", "DeviceIndex": 0 } } ``` --- ### DetachNetworkInterface _Boto3 client method: `detach_network_interface`_ **Other boto3 parameters (optional):** `DryRun, Force` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DetachNetworkInterface", "payload": { "AttachmentId": "example-networkinterfaceattachmentid" } } ``` --- ### CreateVpcEndpoint _Boto3 client method: `create_vpc_endpoint`_ **Other boto3 parameters (optional):** `ClientToken, DnsOptions, DryRun, IpAddressType, PolicyDocument, PrivateDnsEnabled, ResourceConfigurationArn, RouteTableIds, SecurityGroupIds, ServiceName, ServiceNetworkArn, ServiceRegion, SubnetConfigurations, SubnetIds, TagSpecifications, VpcEndpointType` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateVpcEndpoint", "payload": { "VpcId": "example-vpcid" } } ``` --- ### DeleteVpcEndpoints _Boto3 client method: `delete_vpc_endpoints`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteVpcEndpoints", "payload": { "VpcEndpointIds": [ "example-vpcendpointid" ] } } ``` --- ### DescribeVpcEndpoints _Boto3 client method: `describe_vpc_endpoints`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, VpcEndpointIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVpcEndpoints", "payload": {} } ``` --- ### DescribeAvailabilityZones _Boto3 client method: `describe_availability_zones`_ **Other boto3 parameters (optional):** `AllAvailabilityZones, DryRun, Filters, ZoneIds, ZoneNames` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeAvailabilityZones", "payload": {} } ``` --- ### AllocateAddress _Boto3 client method: `allocate_address`_ **Other boto3 parameters (optional):** `Address, CustomerOwnedIpv4Pool, Domain, DryRun, IpamPoolId, NetworkBorderGroup, PublicIpv4Pool, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AllocateAddress", "payload": {} } ``` --- ### ReleaseAddress _Boto3 client method: `release_address`_ **Other boto3 parameters (optional):** `AllocationId, DryRun, NetworkBorderGroup, PublicIp` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ReleaseAddress", "payload": {} } ``` --- ### AssociateAddress _Boto3 client method: `associate_address`_ **Other boto3 parameters (optional):** `AllocationId, AllowReassociation, DryRun, InstanceId, NetworkInterfaceId, PrivateIpAddress, PublicIp` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AssociateAddress", "payload": {} } ``` --- ### DisassociateAddress _Boto3 client method: `disassociate_address`_ **Other boto3 parameters (optional):** `AssociationId, DryRun, PublicIp` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DisassociateAddress", "payload": {} } ``` --- ### DescribeAddresses _Boto3 client method: `describe_addresses`_ **Other boto3 parameters (optional):** `AllocationIds, DryRun, Filters, PublicIps` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeAddresses", "payload": {} } ``` --- ### CreateTags _Boto3 client method: `create_tags`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateTags", "payload": { "Resources": [ "example-taggableresourceid" ], "Tags": [ {} ] } } ``` --- ### DeleteTags _Boto3 client method: `delete_tags`_ **Other boto3 parameters (optional):** `DryRun, Tags` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteTags", "payload": { "Resources": [ "example-taggableresourceid" ] } } ``` --- ### DescribeTags _Boto3 client method: `describe_tags`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeTags", "payload": {} } ``` --- ### CreateNatGateway _Boto3 client method: `create_nat_gateway`_ **Other boto3 parameters (optional):** `AllocationId, AvailabilityMode, AvailabilityZoneAddresses, ClientToken, ConnectivityType, DryRun, PrivateIpAddress, SecondaryAllocationIds, SecondaryPrivateIpAddressCount, SecondaryPrivateIpAddresses, SubnetId, TagSpecifications, VpcId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateNatGateway", "payload": {} } ``` --- ### DescribeNatGateways _Boto3 client method: `describe_nat_gateways`_ **Other boto3 parameters (optional):** `DryRun, Filter, MaxResults, NatGatewayIds, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeNatGateways", "payload": {} } ``` --- ### DeleteNatGateway _Boto3 client method: `delete_nat_gateway`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteNatGateway", "payload": { "NatGatewayId": "example-natgatewayid" } } ``` --- ### CreateNetworkAcl _Boto3 client method: `create_network_acl`_ **Other boto3 parameters (optional):** `ClientToken, DryRun, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateNetworkAcl", "payload": { "VpcId": "example-vpcid" } } ``` --- ### DescribeNetworkAcls _Boto3 client method: `describe_network_acls`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NetworkAclIds, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeNetworkAcls", "payload": {} } ``` --- ### DeleteNetworkAcl _Boto3 client method: `delete_network_acl`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteNetworkAcl", "payload": { "NetworkAclId": "example-networkaclid" } } ``` --- ### CreateNetworkAclEntry _Boto3 client method: `create_network_acl_entry`_ **Other boto3 parameters (optional):** `CidrBlock, DryRun, IcmpTypeCode, Ipv6CidrBlock, PortRange` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateNetworkAclEntry", "payload": { "NetworkAclId": "example-networkaclid", "RuleNumber": 0, "Protocol": "example-string", "RuleAction": "allow", "Egress": false } } ``` --- ### DeleteNetworkAclEntry _Boto3 client method: `delete_network_acl_entry`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteNetworkAclEntry", "payload": { "NetworkAclId": "example-networkaclid", "RuleNumber": 0, "Egress": false } } ``` --- ### ReplaceNetworkAclEntry _Boto3 client method: `replace_network_acl_entry`_ **Other boto3 parameters (optional):** `CidrBlock, DryRun, IcmpTypeCode, Ipv6CidrBlock, PortRange` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ReplaceNetworkAclEntry", "payload": { "NetworkAclId": "example-networkaclid", "RuleNumber": 0, "Protocol": "example-string", "RuleAction": "allow", "Egress": false } } ``` --- ### ReplaceNetworkAclAssociation _Boto3 client method: `replace_network_acl_association`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ReplaceNetworkAclAssociation", "payload": { "AssociationId": "example-networkaclassociationid", "NetworkAclId": "example-networkaclid" } } ``` --- ### CreateFlowLogs _Boto3 client method: `create_flow_logs`_ **Other boto3 parameters (optional):** `ClientToken, DeliverCrossAccountRole, DeliverLogsPermissionArn, DestinationOptions, DryRun, LogDestination, LogDestinationType, LogFormat, LogGroupName, MaxAggregationInterval, TagSpecifications, TrafficType` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateFlowLogs", "payload": { "ResourceIds": [ "example-flowlogresourceid" ], "ResourceType": "VPC" } } ``` --- ### DescribeFlowLogs _Boto3 client method: `describe_flow_logs`_ **Other boto3 parameters (optional):** `DryRun, Filter, FlowLogIds, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeFlowLogs", "payload": {} } ``` --- ### DeleteFlowLogs _Boto3 client method: `delete_flow_logs`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteFlowLogs", "payload": { "FlowLogIds": [ "example-vpcflowlogid" ] } } ``` --- ### CreateVpcPeeringConnection _Boto3 client method: `create_vpc_peering_connection`_ **Other boto3 parameters (optional):** `DryRun, PeerOwnerId, PeerRegion, PeerVpcId, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateVpcPeeringConnection", "payload": { "VpcId": "example-vpcid" } } ``` --- ### AcceptVpcPeeringConnection _Boto3 client method: `accept_vpc_peering_connection`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AcceptVpcPeeringConnection", "payload": { "VpcPeeringConnectionId": "example-vpcpeeringconnectionidwithresolver" } } ``` --- ### DescribeVpcPeeringConnections _Boto3 client method: `describe_vpc_peering_connections`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, VpcPeeringConnectionIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVpcPeeringConnections", "payload": {} } ``` --- ### DeleteVpcPeeringConnection _Boto3 client method: `delete_vpc_peering_connection`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteVpcPeeringConnection", "payload": { "VpcPeeringConnectionId": "example-vpcpeeringconnectionid" } } ``` --- ### CreateDhcpOptions _Boto3 client method: `create_dhcp_options`_ **Other boto3 parameters (optional):** `DryRun, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateDhcpOptions", "payload": { "DhcpConfigurations": [ {} ] } } ``` --- ### AssociateDhcpOptions _Boto3 client method: `associate_dhcp_options`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AssociateDhcpOptions", "payload": { "DhcpOptionsId": "example-defaultingdhcpoptionsid", "VpcId": "example-vpcid" } } ``` --- ### DescribeDhcpOptions _Boto3 client method: `describe_dhcp_options`_ **Other boto3 parameters (optional):** `DhcpOptionsIds, DryRun, Filters, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeDhcpOptions", "payload": {} } ``` --- ### DeleteDhcpOptions _Boto3 client method: `delete_dhcp_options`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteDhcpOptions", "payload": { "DhcpOptionsId": "example-dhcpoptionsid" } } ``` --- ### CreateEgressOnlyInternetGateway _Boto3 client method: `create_egress_only_internet_gateway`_ **Other boto3 parameters (optional):** `ClientToken, DryRun, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateEgressOnlyInternetGateway", "payload": { "VpcId": "example-vpcid" } } ``` --- ### DescribeEgressOnlyInternetGateways _Boto3 client method: `describe_egress_only_internet_gateways`_ **Other boto3 parameters (optional):** `DryRun, EgressOnlyInternetGatewayIds, Filters, MaxResults, NextToken` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeEgressOnlyInternetGateways", "payload": {} } ``` --- ### DeleteEgressOnlyInternetGateway _Boto3 client method: `delete_egress_only_internet_gateway`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteEgressOnlyInternetGateway", "payload": { "EgressOnlyInternetGatewayId": "example-egressonlyinternetgatewayid" } } ``` --- ### CreateVolume _Boto3 client method: `create_volume`_ **Other boto3 parameters (optional):** `AvailabilityZone, AvailabilityZoneId, ClientToken, DryRun, Encrypted, Iops, KmsKeyId, MultiAttachEnabled, Operator, OutpostArn, Size, SnapshotId, TagSpecifications, Throughput, VolumeInitializationRate, VolumeType` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateVolume", "payload": {} } ``` --- ### DeleteVolume _Boto3 client method: `delete_volume`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteVolume", "payload": { "VolumeId": "example-volumeid" } } ``` --- ### DescribeVolumes _Boto3 client method: `describe_volumes`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, VolumeIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVolumes", "payload": {} } ``` --- ### DescribeVolumeStatus _Boto3 client method: `describe_volume_status`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, VolumeIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVolumeStatus", "payload": {} } ``` --- ### AttachVolume _Boto3 client method: `attach_volume`_ **Other boto3 parameters (optional):** `DryRun, EbsCardIndex` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "AttachVolume", "payload": { "Device": "example-string", "InstanceId": "example-instanceid", "VolumeId": "example-volumeid" } } ``` --- ### DetachVolume _Boto3 client method: `detach_volume`_ **Other boto3 parameters (optional):** `Device, DryRun, Force, InstanceId` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DetachVolume", "payload": { "VolumeId": "example-volumeidwithresolver" } } ``` --- ### ModifyVolume _Boto3 client method: `modify_volume`_ **Other boto3 parameters (optional):** `DryRun, Iops, MultiAttachEnabled, Size, Throughput, VolumeType` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ModifyVolume", "payload": { "VolumeId": "example-volumeid" } } ``` --- ### DescribeVolumesModifications _Boto3 client method: `describe_volumes_modifications`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, VolumeIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVolumesModifications", "payload": {} } ``` --- ### EnableVolumeIO _Boto3 client method: `enable_volume_io`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "EnableVolumeIO", "payload": { "VolumeId": "example-volumeid" } } ``` --- ### ModifyVolumeAttribute _Boto3 client method: `modify_volume_attribute`_ **Other boto3 parameters (optional):** `AutoEnableIO, DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ModifyVolumeAttribute", "payload": { "VolumeId": "example-volumeid" } } ``` --- ### DescribeVolumeAttribute _Boto3 client method: `describe_volume_attribute`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeVolumeAttribute", "payload": { "Attribute": "autoEnableIO", "VolumeId": "example-volumeid" } } ``` --- ### CreateSnapshot _Boto3 client method: `create_snapshot`_ **Other boto3 parameters (optional):** `Description, DryRun, Location, OutpostArn, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CreateSnapshot", "payload": { "VolumeId": "example-volumeid" } } ``` --- ### DeleteSnapshot _Boto3 client method: `delete_snapshot`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DeleteSnapshot", "payload": { "SnapshotId": "example-snapshotid" } } ``` --- ### DescribeSnapshots _Boto3 client method: `describe_snapshots`_ **Other boto3 parameters (optional):** `DryRun, Filters, MaxResults, NextToken, OwnerIds, RestorableByUserIds, SnapshotIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeSnapshots", "payload": {} } ``` --- ### CopySnapshot _Boto3 client method: `copy_snapshot`_ **Other boto3 parameters (optional):** `CompletionDurationMinutes, Description, DestinationAvailabilityZone, DestinationOutpostArn, DestinationRegion, DryRun, Encrypted, KmsKeyId, PresignedUrl, TagSpecifications` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "CopySnapshot", "payload": { "SourceRegion": "example-string", "SourceSnapshotId": "example-string" } } ``` --- ### ModifySnapshotAttribute _Boto3 client method: `modify_snapshot_attribute`_ **Other boto3 parameters (optional):** `Attribute, CreateVolumePermission, DryRun, GroupNames, OperationType, UserIds` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "ModifySnapshotAttribute", "payload": { "SnapshotId": "example-snapshotid" } } ``` --- ### DescribeSnapshotAttribute _Boto3 client method: `describe_snapshot_attribute`_ **Other boto3 parameters (optional):** `DryRun` ```bash curl -X POST http://localhost:8000/step \ -H "Content-Type: application/json" \ -d @- <<'EOF' { "service": "ec2", "operation": "DescribeSnapshotAttribute", "payload": { "Attribute": "productCodes", "SnapshotId": "example-snapshotid" } } ``` ---