aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/boto3/data/ec2
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/boto3/data/ec2
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/boto3/data/ec2')
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2014-10-01/resources-1.json2289
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-03-01/resources-1.json2289
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-04-15/resources-1.json2289
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-10-01/resources-1.json2567
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-04-01/resources-1.json2567
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-09-15/resources-1.json2567
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-11-15/resources-1.json2582
7 files changed, 17150 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2014-10-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2014-10-01/resources-1.json
new file mode 100644
index 00000000..8ccf160a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2014-10-01/resources-1.json
@@ -0,0 +1,2289 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-03-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-03-01/resources-1.json
new file mode 100644
index 00000000..8ccf160a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-03-01/resources-1.json
@@ -0,0 +1,2289 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-04-15/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-04-15/resources-1.json
new file mode 100644
index 00000000..8ccf160a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-04-15/resources-1.json
@@ -0,0 +1,2289 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-10-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-10-01/resources-1.json
new file mode 100644
index 00000000..4831a36b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2015-10-01/resources-1.json
@@ -0,0 +1,2567 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-04-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-04-01/resources-1.json
new file mode 100644
index 00000000..4831a36b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-04-01/resources-1.json
@@ -0,0 +1,2567 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-09-15/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-09-15/resources-1.json
new file mode 100644
index 00000000..4831a36b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-09-15/resources-1.json
@@ -0,0 +1,2567 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-11-15/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-11-15/resources-1.json
new file mode 100644
index 00000000..9872201d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/ec2/2016-11-15/resources-1.json
@@ -0,0 +1,2582 @@
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "ImageExists",
+ "params": [
+ { "target": "ImageIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Images[0]"
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Associations": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Associations[].RouteTableAssociationId" }
+ ],
+ "path": "Associations[]"
+ }
+ },
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "waiters": {
+ "Available": {
+ "waiterName": "VpcAvailable",
+ "params": [
+ { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "Exists": {
+ "waiterName": "VpcExists",
+ "params": [
+ { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}