aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/boto3/data
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
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/boto3/data')
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/cloudformation/2010-05-15/resources-1.json195
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/cloudwatch/2010-08-01/resources-1.json334
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/dynamodb/2012-08-10/resources-1.json150
-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
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/glacier/2012-06-01/resources-1.json581
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/iam/2010-05-08/resources-1.json1721
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/opsworks/2013-02-18/resources-1.json173
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json1249
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/sns/2010-03-31/resources-1.json327
-rw-r--r--.venv/lib/python3.12/site-packages/boto3/data/sqs/2012-11-05/resources-1.json232
16 files changed, 22112 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/cloudformation/2010-05-15/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/cloudformation/2010-05-15/resources-1.json
new file mode 100644
index 00000000..fd439375
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/cloudformation/2010-05-15/resources-1.json
@@ -0,0 +1,195 @@
+{
+ "service": {
+ "actions": {
+ "CreateStack": {
+ "request": { "operation": "CreateStack" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "StackName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Event": {
+ "resource": {
+ "type": "Event",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Stacks": {
+ "request": { "operation": "DescribeStacks" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Stacks[].StackName" }
+ ],
+ "path": "Stacks[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Event": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "EventId"
+ }
+ ],
+ "shape": "StackEvent"
+ },
+ "Stack": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "StackName"
+ }
+ ],
+ "shape": "Stack",
+ "load": {
+ "request": {
+ "operation": "DescribeStacks",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Stacks[0]"
+ },
+ "actions": {
+ "CancelUpdate": {
+ "request": {
+ "operation": "CancelUpdateStack",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteStack",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateStack",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Resource": {
+ "resource": {
+ "type": "StackResource",
+ "identifiers": [
+ { "target": "StackName", "source": "identifier", "name": "Name" },
+ { "target": "LogicalId", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Events": {
+ "request": {
+ "operation": "DescribeStackEvents",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Event",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "StackEvents[].EventId" }
+ ],
+ "path": "StackEvents[]"
+ }
+ },
+ "ResourceSummaries": {
+ "request": {
+ "operation": "ListStackResources",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "StackResourceSummary",
+ "identifiers": [
+ { "target": "LogicalId", "source": "response", "path": "StackResourceSummaries[].LogicalResourceId" },
+ { "target": "StackName", "source": "requestParameter", "path": "StackName" }
+ ],
+ "path": "StackResourceSummaries[]"
+ }
+ }
+ }
+ },
+ "StackResource": {
+ "identifiers": [
+ { "name": "StackName" },
+ {
+ "name": "LogicalId",
+ "memberName": "LogicalResourceId"
+ }
+ ],
+ "shape": "StackResourceDetail",
+ "load": {
+ "request": {
+ "operation": "DescribeStackResource",
+ "params": [
+ { "target": "LogicalResourceId", "source": "identifier", "name": "LogicalId" },
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
+ ]
+ },
+ "path": "StackResourceDetail"
+ },
+ "has": {
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "StackName" }
+ ]
+ }
+ }
+ }
+ },
+ "StackResourceSummary": {
+ "identifiers": [
+ { "name": "StackName" },
+ {
+ "name": "LogicalId",
+ "memberName": "LogicalResourceId"
+ }
+ ],
+ "shape": "StackResourceSummary",
+ "has": {
+ "Resource": {
+ "resource": {
+ "type": "StackResource",
+ "identifiers": [
+ { "target": "LogicalId", "source": "identifier", "name": "LogicalId" },
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/cloudwatch/2010-08-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/cloudwatch/2010-08-01/resources-1.json
new file mode 100644
index 00000000..e0746d04
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/cloudwatch/2010-08-01/resources-1.json
@@ -0,0 +1,334 @@
+{
+ "service": {
+ "has": {
+ "Alarm": {
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "input"
+ }
+ ]
+ }
+ },
+ "Metric": {
+ "resource": {
+ "type": "Metric",
+ "identifiers": [
+ {
+ "target": "Namespace",
+ "source": "input"
+ },
+ {
+ "target": "Name",
+ "source": "input"
+ }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Alarms": {
+ "request": { "operation": "DescribeAlarms" },
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "response",
+ "path": "MetricAlarms[].AlarmName"
+ }
+ ],
+ "path": "MetricAlarms[]"
+ }
+ },
+ "Metrics": {
+ "request": { "operation": "ListMetrics" },
+ "resource": {
+ "type": "Metric",
+ "identifiers": [
+ {
+ "target": "Namespace",
+ "source": "response",
+ "path": "Metrics[].Namespace"
+ },
+ {
+ "target": "Name",
+ "source": "response",
+ "path": "Metrics[].MetricName"
+ }
+ ],
+ "path": "Metrics[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Alarm": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "AlarmName"
+ }
+ ],
+ "shape": "MetricAlarm",
+ "load": {
+ "request": {
+ "operation": "DescribeAlarms",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ },
+ "path": "MetricAlarms[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteAlarms",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "DescribeHistory": {
+ "request": {
+ "operation": "DescribeAlarmHistory",
+ "params": [
+ {
+ "target": "AlarmName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "DisableActions": {
+ "request": {
+ "operation": "DisableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "EnableActions": {
+ "request": {
+ "operation": "EnableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "SetState": {
+ "request": {
+ "operation": "SetAlarmState",
+ "params": [
+ {
+ "target": "AlarmName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteAlarms",
+ "params": [
+ {
+ "target": "AlarmNames[]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "DisableActions": {
+ "request": {
+ "operation": "DisableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "EnableActions": {
+ "request": {
+ "operation": "EnableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Metric": {
+ "resource": {
+ "type": "Metric",
+ "identifiers": [
+ {
+ "target": "Namespace",
+ "source": "data",
+ "path": "Namespace"
+ },
+ {
+ "target": "Name",
+ "source": "data",
+ "path": "MetricName"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Metric": {
+ "identifiers": [
+ {
+ "name": "Namespace",
+ "memberName": "Namespace"
+ },
+ {
+ "name": "Name",
+ "memberName": "MetricName"
+ }
+ ],
+ "shape": "Metric",
+ "load": {
+ "request": {
+ "operation": "ListMetrics",
+ "params": [
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ },
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ }
+ ]
+ },
+ "path": "Metrics[0]"
+ },
+ "actions": {
+ "GetStatistics": {
+ "request": {
+ "operation": "GetMetricStatistics",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "PutAlarm": {
+ "request": {
+ "operation": "PutMetricAlarm",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ },
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "requestParameter",
+ "path": "AlarmName"
+ }
+ ]
+ }
+ },
+ "PutData": {
+ "request": {
+ "operation": "PutMetricData",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricData[].MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Alarms": {
+ "request": {
+ "operation": "DescribeAlarmsForMetric",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ },
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "response",
+ "path": "MetricAlarms[].AlarmName"
+ }
+ ],
+ "path": "MetricAlarms[]"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/dynamodb/2012-08-10/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/dynamodb/2012-08-10/resources-1.json
new file mode 100644
index 00000000..b79994e2
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/dynamodb/2012-08-10/resources-1.json
@@ -0,0 +1,150 @@
+{
+ "service": {
+ "actions": {
+ "BatchGetItem": {
+ "request": { "operation": "BatchGetItem" }
+ },
+ "BatchWriteItem": {
+ "request": { "operation": "BatchWriteItem" }
+ },
+ "CreateTable": {
+ "request": { "operation": "CreateTable" },
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "TableDescription.TableName" }
+ ],
+ "path": "TableDescription"
+ }
+ }
+ },
+ "has": {
+ "Table": {
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Tables": {
+ "request": { "operation": "ListTables" },
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "TableNames[]" }
+ ]
+ }
+ }
+ }
+ },
+ "resources": {
+ "Table": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "TableName"
+ }
+ ],
+ "shape": "TableDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTable",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Table"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTable",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DeleteItem": {
+ "request": {
+ "operation": "DeleteItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "GetItem": {
+ "request": {
+ "operation": "GetItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "PutItem": {
+ "request": {
+ "operation": "PutItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Query": {
+ "request": {
+ "operation": "Query",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Scan": {
+ "request": {
+ "operation": "Scan",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateTable",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "Name" }
+ ],
+ "path": "TableDescription"
+ }
+ },
+ "UpdateItem": {
+ "request": {
+ "operation": "UpdateItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "waiters":{
+ "Exists": {
+ "waiterName": "TableExists",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "TableNotExists",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ }
+}
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" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/glacier/2012-06-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/glacier/2012-06-01/resources-1.json
new file mode 100644
index 00000000..d1ed48f4
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/glacier/2012-06-01/resources-1.json
@@ -0,0 +1,581 @@
+{
+ "service": {
+ "actions": {
+ "CreateVault": {
+ "request": {
+ "operation": "CreateVault",
+ "params": [
+ { "target": "accountId", "source": "string", "value": "-" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
+ { "target": "Name", "source": "requestParameter", "path": "vaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Account": {
+ "resource": {
+ "type": "Account",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Vaults": {
+ "request": {
+ "operation": "ListVaults",
+ "params": [
+ { "target": "accountId", "source": "string", "value": "-" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
+ { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
+ ],
+ "path": "VaultList[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Account": {
+ "identifiers": [
+ { "name": "Id" }
+ ],
+ "actions": {
+ "CreateVault": {
+ "request": {
+ "operation": "CreateVault",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
+ { "target": "Name", "source": "requestParameter", "path": "vaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Vaults": {
+ "request": {
+ "operation": "ListVaults",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
+ { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
+ ],
+ "path": "VaultList[]"
+ }
+ }
+ }
+ },
+ "Archive": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" },
+ { "name": "Id" }
+ ],
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteArchive",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "archiveId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "InitiateArchiveRetrieval": {
+ "request": {
+ "operation": "InitiateJob",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "jobParameters.Type", "source": "string", "value": "archive-retrieval" },
+ { "target": "jobParameters.ArchiveId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "jobId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "Job": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" },
+ {
+ "name": "Id",
+ "memberName": "JobId"
+ }
+ ],
+ "shape": "GlacierJobDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeJob",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "jobId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "GetOutput": {
+ "request": {
+ "operation": "GetJobOutput",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "jobId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "MultipartUpload": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" },
+ {
+ "name": "Id",
+ "memberName": "MultipartUploadId"
+ }
+ ],
+ "shape": "UploadListElement",
+ "actions": {
+ "Abort": {
+ "request": {
+ "operation": "AbortMultipartUpload",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Complete": {
+ "request": {
+ "operation": "CompleteMultipartUpload",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Parts": {
+ "request": {
+ "operation": "ListParts",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UploadPart": {
+ "request": {
+ "operation": "UploadMultipartPart",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "Notification": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" }
+ ],
+ "shape": "VaultNotificationConfig",
+ "load": {
+ "request": {
+ "operation": "GetVaultNotifications",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ },
+ "path": "vaultNotificationConfig"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteVaultNotifications",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ },
+ "Set": {
+ "request": {
+ "operation": "SetVaultNotifications",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "Vault": {
+ "identifiers": [
+ { "name": "AccountId" },
+ {
+ "name": "Name",
+ "memberName": "VaultName"
+ }
+ ],
+ "shape": "DescribeVaultOutput",
+ "load": {
+ "request": {
+ "operation": "DescribeVault",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Create": {
+ "request": {
+ "operation": "CreateVault",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVault",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ }
+ },
+ "InitiateInventoryRetrieval": {
+ "request": {
+ "operation": "InitiateJob",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "jobParameters.Type", "source": "string", "value": "inventory-retrieval" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "jobId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "InitiateMultipartUpload": {
+ "request": {
+ "operation": "InitiateMultipartUpload",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "uploadId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "UploadArchive": {
+ "request": {
+ "operation": "UploadArchive",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "Archive",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "archiveId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Account": {
+ "resource": {
+ "type": "Account",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "AccountId" }
+ ]
+ }
+ },
+ "Archive": {
+ "resource": {
+ "type": "Archive",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Job": {
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Notification": {
+ "resource": {
+ "type": "Notification",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "CompletedJobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "completed", "source": "string", "value": "true" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "FailedJobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "statuscode", "source": "string", "value": "Failed" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "Jobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "JobsInProgress": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "statuscode", "source": "string", "value": "InProgress" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "MultipartUplaods": {
+ "request": {
+ "operation": "ListMultipartUploads",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
+ ],
+ "path": "UploadsList[]"
+ }
+ },
+ "MultipartUploads": {
+ "request": {
+ "operation": "ListMultipartUploads",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
+ ],
+ "path": "UploadsList[]"
+ }
+ },
+ "SucceededJobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "statuscode", "source": "string", "value": "Succeeded" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/iam/2010-05-08/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/iam/2010-05-08/resources-1.json
new file mode 100644
index 00000000..59d18556
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/iam/2010-05-08/resources-1.json
@@ -0,0 +1,1721 @@
+{
+ "service": {
+ "actions": {
+ "ChangePassword": {
+ "request": { "operation": "ChangePassword" }
+ },
+ "CreateAccountAlias": {
+ "request": { "operation": "CreateAccountAlias" }
+ },
+ "CreateAccountPasswordPolicy": {
+ "request": { "operation": "UpdateAccountPasswordPolicy" },
+ "resource": {
+ "type": "AccountPasswordPolicy",
+ "identifiers": [ ]
+ }
+ },
+ "CreateGroup": {
+ "request": { "operation": "CreateGroup" },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ],
+ "path": "Group"
+ }
+ },
+ "CreateInstanceProfile": {
+ "request": { "operation": "CreateInstanceProfile" },
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "InstanceProfileName" }
+ ],
+ "path": "InstanceProfile"
+ }
+ },
+ "CreatePolicy": {
+ "request": { "operation": "CreatePolicy" },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Policy.Arn" }
+ ]
+ }
+ },
+ "CreateRole": {
+ "request": { "operation": "CreateRole" },
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "RoleName" }
+ ],
+ "path": "Role"
+ }
+ },
+ "CreateSamlProvider": {
+ "request": { "operation": "CreateSAMLProvider" },
+ "resource": {
+ "type": "SamlProvider",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SAMLProviderArn" }
+ ]
+ }
+ },
+ "CreateServerCertificate": {
+ "request": { "operation": "UploadServerCertificate" },
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "ServerCertificateName" }
+ ]
+ }
+ },
+ "CreateSigningCertificate": {
+ "request": { "operation": "UploadSigningCertificate" },
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Certificate.CertificateId" }
+ ],
+ "path": "Certificate"
+ }
+ },
+ "CreateUser": {
+ "request": { "operation": "CreateUser" },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "UserName" }
+ ],
+ "path": "User"
+ }
+ },
+ "CreateVirtualMfaDevice": {
+ "request": { "operation": "CreateVirtualMFADevice" },
+ "resource": {
+ "type": "VirtualMfaDevice",
+ "identifiers": [
+ { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevice.SerialNumber" }
+ ],
+ "path": "VirtualMFADevice"
+ }
+ }
+ },
+ "has": {
+ "AccountPasswordPolicy": {
+ "resource": {
+ "type": "AccountPasswordPolicy",
+ "identifiers": [ ]
+ }
+ },
+ "AccountSummary": {
+ "resource": {
+ "type": "AccountSummary",
+ "identifiers": [ ]
+ }
+ },
+ "CurrentUser": {
+ "resource": {
+ "type": "CurrentUser",
+ "identifiers": [ ]
+ }
+ },
+ "Group": {
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "InstanceProfile": {
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "PolicyArn", "source": "input" }
+ ]
+ }
+ },
+ "Role": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "SamlProvider": {
+ "resource": {
+ "type": "SamlProvider",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "ServerCertificate": {
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "VirtualMfaDevice": {
+ "resource": {
+ "type": "VirtualMfaDevice",
+ "identifiers": [
+ { "target": "SerialNumber", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Groups": {
+ "request": { "operation": "ListGroups" },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
+ ],
+ "path": "Groups[]"
+ }
+ },
+ "InstanceProfiles": {
+ "request": { "operation": "ListInstanceProfiles" },
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
+ ],
+ "path": "InstanceProfiles[]"
+ }
+ },
+ "Policies": {
+ "request": { "operation": "ListPolicies" },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Policies[].Arn" }
+ ],
+ "path": "Policies[]"
+ }
+ },
+ "Roles": {
+ "request": { "operation": "ListRoles" },
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Roles[].RoleName" }
+ ],
+ "path": "Roles[]"
+ }
+ },
+ "SamlProviders": {
+ "request": { "operation": "ListSAMLProviders" },
+ "resource": {
+ "type": "SamlProvider",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SAMLProviderList[].Arn" }
+ ]
+ }
+ },
+ "ServerCertificates": {
+ "request": { "operation": "ListServerCertificates" },
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "ServerCertificateMetadataList[].ServerCertificateName" }
+ ]
+ }
+ },
+ "Users": {
+ "request": { "operation": "ListUsers" },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Users[].UserName" }
+ ],
+ "path": "Users[]"
+ }
+ },
+ "VirtualMfaDevices": {
+ "request": { "operation": "ListVirtualMFADevices" },
+ "resource": {
+ "type": "VirtualMfaDevice",
+ "identifiers": [
+ { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevices[].SerialNumber" }
+ ],
+ "path": "VirtualMFADevices[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "AccessKey": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Id",
+ "memberName": "AccessKeyId"
+ }
+ ],
+ "shape": "AccessKeyMetadata",
+ "actions": {
+ "Activate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Active" }
+ ]
+ }
+ },
+ "Deactivate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Inactive" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "AccessKeyPair": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Id",
+ "memberName": "AccessKeyId"
+ },
+ {
+ "name": "Secret",
+ "memberName": "SecretAccessKey"
+ }
+ ],
+ "shape": "AccessKey",
+ "actions": {
+ "Activate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Active" }
+ ]
+ }
+ },
+ "Deactivate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Inactive" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "AccountPasswordPolicy": {
+ "identifiers": [ ],
+ "shape": "PasswordPolicy",
+ "load": {
+ "request": { "operation": "GetAccountPasswordPolicy" },
+ "path": "PasswordPolicy"
+ },
+ "actions": {
+ "Delete": {
+ "request": { "operation": "DeleteAccountPasswordPolicy" }
+ },
+ "Update": {
+ "request": { "operation": "UpdateAccountPasswordPolicy" }
+ }
+ }
+ },
+ "AccountSummary": {
+ "identifiers": [ ],
+ "shape": "GetAccountSummaryResponse",
+ "load": {
+ "request": { "operation": "GetAccountSummary" },
+ "path": "@"
+ }
+ },
+ "AssumeRolePolicy": {
+ "identifiers": [
+ { "name": "RoleName" }
+ ],
+ "actions": {
+ "Update": {
+ "request": {
+ "operation": "UpdateAssumeRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Role": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "RoleName" }
+ ]
+ }
+ }
+ }
+ },
+ "CurrentUser": {
+ "identifiers": [ ],
+ "shape": "User",
+ "load": {
+ "request": { "operation": "GetUser" },
+ "path": "User"
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "UserName" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AccessKeys": {
+ "request": { "operation": "ListAccessKeys" },
+ "resource": {
+ "type": "AccessKey",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "AccessKeyMetadata[].UserName" },
+ { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
+ ],
+ "path": "AccessKeyMetadata[]"
+ }
+ },
+ "MfaDevices": {
+ "request": { "operation": "ListMFADevices" },
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "MFADevices[].UserName" },
+ { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
+ ],
+ "path": "MFADevices[]"
+ }
+ },
+ "SigningCertificates": {
+ "request": { "operation": "ListSigningCertificates" },
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "Certificates[].UserName" },
+ { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
+ ],
+ "path": "Certificates[]"
+ }
+ }
+ }
+ },
+ "Group": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "Group",
+ "load": {
+ "request": {
+ "operation": "GetGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Group"
+ },
+ "actions": {
+ "AddUser": {
+ "request": {
+ "operation": "AddUserToGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "AttachPolicy": {
+ "request": {
+ "operation": "AttachGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Create": {
+ "request": {
+ "operation": "CreateGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ],
+ "path": "Group"
+ }
+ },
+ "CreatePolicy": {
+ "request": {
+ "operation": "PutGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "GroupPolicy",
+ "identifiers": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DetachPolicy": {
+ "request": {
+ "operation": "DetachGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "RemoveUser": {
+ "request": {
+ "operation": "RemoveUserFromGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "NewGroupName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Policy": {
+ "resource": {
+ "type": "GroupPolicy",
+ "identifiers": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AttachedPolicies": {
+ "request": {
+ "operation": "ListAttachedGroupPolicies",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
+ ]
+ }
+ },
+ "Policies": {
+ "request": {
+ "operation": "ListGroupPolicies",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "GroupPolicy",
+ "identifiers": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
+ ]
+ }
+ },
+ "Users": {
+ "request": {
+ "operation": "GetGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Users[].UserName" }
+ ],
+ "path": "Users[]"
+ }
+ }
+ }
+ },
+ "GroupPolicy": {
+ "identifiers": [
+ {
+ "name": "GroupName",
+ "memberName": "GroupName"
+ },
+ {
+ "name": "Name",
+ "memberName": "PolicyName"
+ }
+ ],
+ "shape": "GetGroupPolicyResponse",
+ "load": {
+ "request": {
+ "operation": "GetGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Group": {
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "GroupName" }
+ ]
+ }
+ }
+ }
+ },
+ "InstanceProfile": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "InstanceProfileName"
+ }
+ ],
+ "shape": "InstanceProfile",
+ "load": {
+ "request": {
+ "operation": "GetInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "InstanceProfile"
+ },
+ "actions": {
+ "AddRole": {
+ "request": {
+ "operation": "AddRoleToInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "RemoveRole": {
+ "request": {
+ "operation": "RemoveRoleFromInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Roles": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Roles[].RoleName" }
+ ],
+ "path": "Roles[]"
+ }
+ }
+ }
+ },
+ "LoginProfile": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ }
+ ],
+ "shape": "LoginProfile",
+ "load": {
+ "request": {
+ "operation": "GetLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ },
+ "path": "LoginProfile"
+ },
+ "actions": {
+ "Create": {
+ "request": {
+ "operation": "CreateLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ },
+ "resource": {
+ "type": "LoginProfile",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
+ ],
+ "path": "LoginProfile"
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "MfaDevice": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "SerialNumber",
+ "memberName": "SerialNumber"
+ }
+ ],
+ "shape": "MFADevice",
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "EnableMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DeactivateMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ },
+ "Resync": {
+ "request": {
+ "operation": "ResyncMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "Policy": {
+ "identifiers": [
+ {
+ "name": "Arn",
+ "memberName": "Arn"
+ }
+ ],
+ "shape": "Policy",
+ "load": {
+ "request": {
+ "operation": "GetPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "Policy"
+ },
+ "actions": {
+ "AttachGroup": {
+ "request": {
+ "operation": "AttachGroupPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "AttachRole": {
+ "request": {
+ "operation": "AttachRolePolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "AttachUser": {
+ "request": {
+ "operation": "AttachUserPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "CreateVersion": {
+ "request": {
+ "operation": "CreatePolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PolicyVersion",
+ "identifiers": [
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "response", "path": "PolicyVersion.VersionId" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeletePolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "DetachGroup": {
+ "request": {
+ "operation": "DetachGroupPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "DetachRole": {
+ "request": {
+ "operation": "DetachRolePolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "DetachUser": {
+ "request": {
+ "operation": "DetachUserPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DefaultVersion": {
+ "resource": {
+ "type": "PolicyVersion",
+ "identifiers": [
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "data", "path": "DefaultVersionId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AttachedGroups": {
+ "request": {
+ "operation": "ListEntitiesForPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "EntityFilter", "source": "string", "value": "Group" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PolicyGroups[].GroupName" }
+ ]
+ }
+ },
+ "AttachedRoles": {
+ "request": {
+ "operation": "ListEntitiesForPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "EntityFilter", "source": "string", "value": "Role" }
+ ]
+ },
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PolicyRoles[].RoleName" }
+ ]
+ }
+ },
+ "AttachedUsers": {
+ "request": {
+ "operation": "ListEntitiesForPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "EntityFilter", "source": "string", "value": "User" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PolicyUsers[].UserName" }
+ ]
+ }
+ },
+ "Versions": {
+ "request": {
+ "operation": "ListPolicyVersions",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PolicyVersion",
+ "identifiers": [
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "response", "path": "Versions[].VersionId" }
+ ],
+ "path": "Versions[]"
+ }
+ }
+ }
+ },
+ "PolicyVersion": {
+ "identifiers": [
+ { "name": "Arn" },
+ { "name": "VersionId" }
+ ],
+ "shape": "PolicyVersion",
+ "load": {
+ "request": {
+ "operation": "GetPolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
+ ]
+ },
+ "path": "PolicyVersion"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
+ ]
+ }
+ },
+ "SetAsDefault": {
+ "request": {
+ "operation": "SetDefaultPolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
+ ]
+ }
+ }
+ }
+ },
+ "Role": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "RoleName"
+ }
+ ],
+ "shape": "Role",
+ "load": {
+ "request": {
+ "operation": "GetRole",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Role"
+ },
+ "actions": {
+ "AttachPolicy": {
+ "request": {
+ "operation": "AttachRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRole",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DetachPolicy": {
+ "request": {
+ "operation": "DetachRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AssumeRolePolicy": {
+ "resource": {
+ "type": "AssumeRolePolicy",
+ "identifiers": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "RolePolicy",
+ "identifiers": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AttachedPolicies": {
+ "request": {
+ "operation": "ListAttachedRolePolicies",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
+ ]
+ }
+ },
+ "InstanceProfiles": {
+ "request": {
+ "operation": "ListInstanceProfilesForRole",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
+ ],
+ "path": "InstanceProfiles[]"
+ }
+ },
+ "Policies": {
+ "request": {
+ "operation": "ListRolePolicies",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "RolePolicy",
+ "identifiers": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
+ ]
+ }
+ }
+ }
+ },
+ "RolePolicy": {
+ "identifiers": [
+ {
+ "name": "RoleName",
+ "memberName": "RoleName"
+ },
+ {
+ "name": "Name",
+ "memberName": "PolicyName"
+ }
+ ],
+ "shape": "GetRolePolicyResponse",
+ "load": {
+ "request": {
+ "operation": "GetRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Role": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "RoleName" }
+ ]
+ }
+ }
+ }
+ },
+ "SamlProvider": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetSAMLProviderResponse",
+ "load": {
+ "request": {
+ "operation": "GetSAMLProvider",
+ "params": [
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteSAMLProvider",
+ "params": [
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateSAMLProvider",
+ "params": [
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ }
+ },
+ "ServerCertificate": {
+ "identifiers": [
+ { "name": "Name" }
+ ],
+ "shape": "ServerCertificate",
+ "load": {
+ "request": {
+ "operation": "GetServerCertificate",
+ "params": [
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "ServerCertificate"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteServerCertificate",
+ "params": [
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateServerCertificate",
+ "params": [
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "NewServerCertificateName" }
+ ]
+ }
+ }
+ }
+ },
+ "SigningCertificate": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Id",
+ "memberName": "CertificateId"
+ }
+ ],
+ "shape": "SigningCertificate",
+ "actions": {
+ "Activate": {
+ "request": {
+ "operation": "UpdateSigningCertificate",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "CertificateId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Active" }
+ ]
+ }
+ },
+ "Deactivate": {
+ "request": {
+ "operation": "UpdateSigningCertificate",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "CertificateId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Inactive" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSigningCertificate",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "CertificateId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "User": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "UserName"
+ }
+ ],
+ "shape": "User",
+ "load": {
+ "request": {
+ "operation": "GetUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "User"
+ },
+ "actions": {
+ "AddGroup": {
+ "request": {
+ "operation": "AddUserToGroup",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "AttachPolicy": {
+ "request": {
+ "operation": "AttachUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Create": {
+ "request": {
+ "operation": "CreateUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "UserName" }
+ ],
+ "path": "User"
+ }
+ },
+ "CreateAccessKeyPair": {
+ "request": {
+ "operation": "CreateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "AccessKeyPair",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "AccessKey.AccessKeyId" },
+ { "target": "Secret", "source": "response", "path": "AccessKey.SecretAccessKey" }
+ ],
+ "path": "AccessKey"
+ }
+ },
+ "CreateLoginProfile": {
+ "request": {
+ "operation": "CreateLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "LoginProfile",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
+ ],
+ "path": "LoginProfile"
+ }
+ },
+ "CreatePolicy": {
+ "request": {
+ "operation": "PutUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "UserPolicy",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DetachPolicy": {
+ "request": {
+ "operation": "DetachUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "EnableMfa": {
+ "request": {
+ "operation": "EnableMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "SerialNumber", "source": "requestParameter", "path": "SerialNumber" }
+ ]
+ }
+ },
+ "RemoveGroup": {
+ "request": {
+ "operation": "RemoveUserFromGroup",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "NewUserName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccessKey": {
+ "resource": {
+ "type": "AccessKey",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "LoginProfile": {
+ "resource": {
+ "type": "LoginProfile",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "MfaDevice": {
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "SerialNumber", "source": "input" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "UserPolicy",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "SigningCertificate": {
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AccessKeys": {
+ "request": {
+ "operation": "ListAccessKeys",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "AccessKey",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
+ ],
+ "path": "AccessKeyMetadata[]"
+ }
+ },
+ "AttachedPolicies": {
+ "request": {
+ "operation": "ListAttachedUserPolicies",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
+ ]
+ }
+ },
+ "Groups": {
+ "request": {
+ "operation": "ListGroupsForUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
+ ],
+ "path": "Groups[]"
+ }
+ },
+ "MfaDevices": {
+ "request": {
+ "operation": "ListMFADevices",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
+ ],
+ "path": "MFADevices[]"
+ }
+ },
+ "Policies": {
+ "request": {
+ "operation": "ListUserPolicies",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "UserPolicy",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
+ ]
+ }
+ },
+ "SigningCertificates": {
+ "request": {
+ "operation": "ListSigningCertificates",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
+ ],
+ "path": "Certificates[]"
+ }
+ }
+ }
+ },
+ "UserPolicy": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Name",
+ "memberName": "PolicyName"
+ }
+ ],
+ "shape": "GetUserPolicyResponse",
+ "load": {
+ "request": {
+ "operation": "GetUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "VirtualMfaDevice": {
+ "identifiers": [
+ {
+ "name": "SerialNumber",
+ "memberName": "SerialNumber"
+ }
+ ],
+ "shape": "VirtualMFADevice",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteVirtualMFADevice",
+ "params": [
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "User.UserName" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/opsworks/2013-02-18/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/opsworks/2013-02-18/resources-1.json
new file mode 100644
index 00000000..0435b13b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/opsworks/2013-02-18/resources-1.json
@@ -0,0 +1,173 @@
+{
+ "service": {
+ "actions": {
+ "CreateStack": {
+ "request": { "operation": "CreateStack" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "StackId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Layer": {
+ "resource": {
+ "type": "Layer",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Stacks": {
+ "request": { "operation": "DescribeStacks" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Stacks[].StackId" }
+ ],
+ "path": "Stacks[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Layer": {
+ "identifiers": [
+ { "name": "Id" }
+ ],
+ "shape": "Layer",
+ "load": {
+ "request": {
+ "operation": "DescribeLayers",
+ "params": [
+ { "target": "LayerIds[]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Layers[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteLayer",
+ "params": [
+ { "target": "LayerId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "StackId" }
+ ]
+ }
+ }
+ }
+ },
+ "Stack": {
+ "identifiers": [
+ { "name": "Id" }
+ ],
+ "shape": "Stack",
+ "load": {
+ "request": {
+ "operation": "DescribeStacks",
+ "params": [
+ { "target": "StackIds[]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Stacks[0]"
+ },
+ "actions": {
+ "CreateLayer": {
+ "request": {
+ "operation": "CreateLayer",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Layer",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "LayerId" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteStack",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Summary": {
+ "resource": {
+ "type": "StackSummary",
+ "identifiers": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Layers": {
+ "request": {
+ "operation": "DescribeLayers",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Layer",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Layers[].LayerId" }
+ ],
+ "path": "Layers[]"
+ }
+ }
+ }
+ },
+ "StackSummary": {
+ "identifiers": [
+ { "name": "StackId" }
+ ],
+ "shape": "StackSummary",
+ "load": {
+ "request": {
+ "operation": "DescribeStackSummary",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "StackId" }
+ ]
+ },
+ "path": "StackSummary"
+ },
+ "has": {
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "StackId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json
new file mode 100644
index 00000000..f1e88c63
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json
@@ -0,0 +1,1249 @@
+{
+ "service": {
+ "actions": {
+ "CreateBucket": {
+ "request": { "operation": "CreateBucket" },
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "Bucket" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Buckets": {
+ "request": { "operation": "ListBuckets" },
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Buckets[].Name" }
+ ],
+ "path": "Buckets[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Bucket": {
+ "identifiers": [
+ { "name": "Name" }
+ ],
+ "shape": "Bucket",
+ "actions": {
+ "Create": {
+ "request": {
+ "operation": "CreateBucket",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucket",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DeleteObjects": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "PutObject": {
+ "request": {
+ "operation": "PutObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "Key", "source": "requestParameter", "path": "Key" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "BucketExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "BucketNotExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "has": {
+ "Acl": {
+ "resource": {
+ "type": "BucketAcl",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Cors": {
+ "resource": {
+ "type": "BucketCors",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Lifecycle": {
+ "resource": {
+ "type": "BucketLifecycle",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "LifecycleConfiguration": {
+ "resource": {
+ "type": "BucketLifecycleConfiguration",
+ "identifiers": [
+ {
+ "target": "BucketName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "Logging": {
+ "resource": {
+ "type": "BucketLogging",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Notification": {
+ "resource": {
+ "type": "BucketNotification",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "Key", "source": "input" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "BucketPolicy",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "RequestPayment": {
+ "resource": {
+ "type": "BucketRequestPayment",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Tagging": {
+ "resource": {
+ "type": "BucketTagging",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Versioning": {
+ "resource": {
+ "type": "BucketVersioning",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Website": {
+ "resource": {
+ "type": "BucketWebsite",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "MultipartUploads": {
+ "request": {
+ "operation": "ListMultipartUploads",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "ObjectKey", "source": "response", "path": "Uploads[].Key" },
+ { "target": "Id", "source": "response", "path": "Uploads[].UploadId" }
+ ],
+ "path": "Uploads[]"
+ }
+ },
+ "ObjectVersions": {
+ "request": {
+ "operation": "ListObjectVersions",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "ObjectVersion",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "ObjectKey", "source": "response", "path": "[Versions,DeleteMarkers]|[].Key" },
+ { "target": "Id", "source": "response", "path": "[Versions,DeleteMarkers]|[].VersionId" }
+ ],
+ "path": "[Versions,DeleteMarkers]|[]"
+ }
+ },
+ "Objects": {
+ "request": {
+ "operation": "ListObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "ObjectSummary",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "Key", "source": "response", "path": "Contents[].Key" }
+ ],
+ "path": "Contents[]"
+ }
+ }
+ }
+ },
+ "BucketAcl": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketAclOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketCors": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketCorsOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketCors",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketCors",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketCors",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketLifecycle": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketLifecycleOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketLifecycle",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketLifecycle",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketLifecycle",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketLifecycleConfiguration": {
+ "identifiers": [
+ {
+ "name": "BucketName"
+ }
+ ],
+ "shape": "GetBucketLifecycleConfigurationOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketLifecycleConfiguration",
+ "params": [
+ {
+ "target": "Bucket",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketLifecycle",
+ "params": [
+ {
+ "target": "Bucket",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketLifecycleConfiguration",
+ "params": [
+ {
+ "target": "Bucket",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "BucketLogging": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketLoggingOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketLogging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketLogging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketNotification": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "NotificationConfiguration",
+ "load": {
+ "request": {
+ "operation": "GetBucketNotificationConfiguration",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketNotificationConfiguration",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketPolicy": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketPolicyOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketPolicy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketPolicy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketPolicy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketRequestPayment": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketRequestPaymentOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketRequestPayment",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketRequestPayment",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketTagging": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketTaggingOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketTagging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketTagging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketTagging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketVersioning": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketVersioningOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Enable": {
+ "request": {
+ "operation": "PutBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Enabled" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Suspend": {
+ "request": {
+ "operation": "PutBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Suspended" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketWebsite": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketWebsiteOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketWebsite",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketWebsite",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketWebsite",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "MultipartUpload": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" },
+ { "name": "Id" }
+ ],
+ "shape": "MultipartUpload",
+ "actions": {
+ "Abort": {
+ "request": {
+ "operation": "AbortMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Complete": {
+ "request": {
+ "operation": "CompleteMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ },
+ "Part": {
+ "resource": {
+ "type": "MultipartUploadPart",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
+ { "target": "MultipartUploadId", "source": "identifier", "name": "Id" },
+ { "target": "PartNumber", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Parts": {
+ "request": {
+ "operation": "ListParts",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUploadPart",
+ "identifiers": [
+ { "target": "BucketName", "source": "requestParameter", "path": "Bucket" },
+ { "target": "ObjectKey", "source": "requestParameter", "path": "Key" },
+ { "target": "MultipartUploadId", "source": "requestParameter", "path": "UploadId" },
+ { "target": "PartNumber", "source": "response", "path": "Parts[].PartNumber" }
+ ],
+ "path": "Parts[]"
+ }
+ }
+ }
+ },
+ "MultipartUploadPart": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" },
+ { "name": "MultipartUploadId" },
+ {
+ "name": "PartNumber",
+ "type": "integer",
+ "memberName": "PartNumber"
+ }
+ ],
+ "shape": "Part",
+ "actions": {
+ "CopyFrom": {
+ "request": {
+ "operation": "UploadPartCopy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
+ ]
+ }
+ },
+ "Upload": {
+ "request": {
+ "operation": "UploadPart",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
+ { "target": "Id", "source": "identifier", "name": "MultipartUploadId" }
+ ]
+ }
+ }
+ }
+ },
+ "Object": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "Key" }
+ ],
+ "shape": "HeadObjectOutput",
+ "load": {
+ "request": {
+ "operation": "HeadObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "CopyFrom": {
+ "request": {
+ "operation": "CopyObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Get": {
+ "request": {
+ "operation": "GetObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "InitiateMultipartUpload": {
+ "request": {
+ "operation": "CreateMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "response", "path": "UploadId" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "RestoreObject": {
+ "request": {
+ "operation": "RestoreObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "ObjectExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "ObjectNotExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "has": {
+ "Acl": {
+ "resource": {
+ "type": "ObjectAcl",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Version": {
+ "resource": {
+ "type": "ObjectVersion",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ }
+ },
+ "ObjectAcl": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" }
+ ],
+ "shape": "GetObjectAclOutput",
+ "load": {
+ "request": {
+ "operation": "GetObjectAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutObjectAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ }
+ },
+ "ObjectSummary": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "Key" }
+ ],
+ "shape": "Object",
+ "actions": {
+ "CopyFrom": {
+ "request": {
+ "operation": "CopyObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Get": {
+ "request": {
+ "operation": "GetObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "InitiateMultipartUpload": {
+ "request": {
+ "operation": "CreateMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "response", "path": "UploadId" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "RestoreObject": {
+ "request": {
+ "operation": "RestoreObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "ObjectExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "ObjectNotExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "has": {
+ "Acl": {
+ "resource": {
+ "type": "ObjectAcl",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Version": {
+ "resource": {
+ "type": "ObjectVersion",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ }
+ },
+ "ObjectVersion": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" },
+ { "name": "Id" }
+ ],
+ "shape": "ObjectVersion",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Get": {
+ "request": {
+ "operation": "GetObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Head": {
+ "request": {
+ "operation": "HeadObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Delete.Objects[*].Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "Delete.Objects[*].VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/sns/2010-03-31/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/sns/2010-03-31/resources-1.json
new file mode 100644
index 00000000..cee300a8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/sns/2010-03-31/resources-1.json
@@ -0,0 +1,327 @@
+{
+ "service": {
+ "actions": {
+ "CreatePlatformApplication": {
+ "request": { "operation": "CreatePlatformApplication" },
+ "resource": {
+ "type": "PlatformApplication",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "PlatformApplicationArn" }
+ ]
+ }
+ },
+ "CreateTopic": {
+ "request": { "operation": "CreateTopic" },
+ "resource": {
+ "type": "Topic",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "TopicArn" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "PlatformApplication": {
+ "resource": {
+ "type": "PlatformApplication",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "PlatformEndpoint": {
+ "resource": {
+ "type": "PlatformEndpoint",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "Subscription": {
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "Topic": {
+ "resource": {
+ "type": "Topic",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "PlatformApplications": {
+ "request": { "operation": "ListPlatformApplications" },
+ "resource": {
+ "type": "PlatformApplication",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "PlatformApplications[].PlatformApplicationArn" }
+ ]
+ }
+ },
+ "Subscriptions": {
+ "request": { "operation": "ListSubscriptions" },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
+ ]
+ }
+ },
+ "Topics": {
+ "request": { "operation": "ListTopics" },
+ "resource": {
+ "type": "Topic",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Topics[].TopicArn" }
+ ]
+ }
+ }
+ }
+ },
+ "resources": {
+ "PlatformApplication": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetPlatformApplicationAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetPlatformApplicationAttributes",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "CreatePlatformEndpoint": {
+ "request": {
+ "operation": "CreatePlatformEndpoint",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PlatformEndpoint",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "EndpointArn" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeletePlatformApplication",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetPlatformApplicationAttributes",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Endpoints": {
+ "request": {
+ "operation": "ListEndpointsByPlatformApplication",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PlatformEndpoint",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Endpoints[].EndpointArn" }
+ ]
+ }
+ }
+ }
+ },
+ "PlatformEndpoint": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetEndpointAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetEndpointAttributes",
+ "params": [
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteEndpoint",
+ "params": [
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Publish": {
+ "request": {
+ "operation": "Publish",
+ "params": [
+ { "target": "TargetArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetEndpointAttributes",
+ "params": [
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ }
+ },
+ "Subscription": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetSubscriptionAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetSubscriptionAttributes",
+ "params": [
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "Unsubscribe",
+ "params": [
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetSubscriptionAttributes",
+ "params": [
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ }
+ },
+ "Topic": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetTopicAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetTopicAttributes",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "AddPermission": {
+ "request": {
+ "operation": "AddPermission",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "ConfirmSubscription": {
+ "request": {
+ "operation": "ConfirmSubscription",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteTopic",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Publish": {
+ "request": {
+ "operation": "Publish",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "RemovePermission": {
+ "request": {
+ "operation": "RemovePermission",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetTopicAttributes",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Subscribe": {
+ "request": {
+ "operation": "Subscribe",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Subscriptions": {
+ "request": {
+ "operation": "ListSubscriptionsByTopic",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/.venv/lib/python3.12/site-packages/boto3/data/sqs/2012-11-05/resources-1.json b/.venv/lib/python3.12/site-packages/boto3/data/sqs/2012-11-05/resources-1.json
new file mode 100644
index 00000000..b1e74ab0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/boto3/data/sqs/2012-11-05/resources-1.json
@@ -0,0 +1,232 @@
+{
+ "service": {
+ "actions": {
+ "CreateQueue": {
+ "request": { "operation": "CreateQueue" },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "QueueUrl" }
+ ]
+ }
+ },
+ "GetQueueByName": {
+ "request": { "operation": "GetQueueUrl" },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "QueueUrl" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Queue": {
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Queues": {
+ "request": { "operation": "ListQueues" },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "QueueUrls[]" }
+ ]
+ }
+ }
+ }
+ },
+ "resources": {
+ "Message": {
+ "identifiers": [
+ { "name": "QueueUrl" },
+ {
+ "name": "ReceiptHandle",
+ "memberName": "ReceiptHandle"
+ }
+ ],
+ "shape": "Message",
+ "actions": {
+ "ChangeVisibility": {
+ "request": {
+ "operation": "ChangeMessageVisibility",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
+ { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteMessage",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
+ { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteMessageBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
+ { "target": "Entries[*].Id", "source": "data", "path": "MessageId" },
+ { "target": "Entries[*].ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Queue": {
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "identifier", "name": "QueueUrl" }
+ ]
+ }
+ }
+ }
+ },
+ "Queue": {
+ "identifiers": [
+ { "name": "Url" }
+ ],
+ "shape": "GetQueueAttributesResult",
+ "load": {
+ "request": {
+ "operation": "GetQueueAttributes",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
+ { "target": "AttributeNames[]", "source": "string", "value": "All" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "AddPermission": {
+ "request": {
+ "operation": "AddPermission",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "ChangeMessageVisibilityBatch": {
+ "request": {
+ "operation": "ChangeMessageVisibilityBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteQueue",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "DeleteMessages": {
+ "request": {
+ "operation": "DeleteMessageBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "Purge": {
+ "request": {
+ "operation": "PurgeQueue",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "ReceiveMessages": {
+ "request": {
+ "operation": "ReceiveMessage",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ },
+ "resource": {
+ "type": "Message",
+ "identifiers": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
+ { "target": "ReceiptHandle", "source": "response", "path": "Messages[].ReceiptHandle" }
+ ],
+ "path": "Messages[]"
+ }
+ },
+ "RemovePermission": {
+ "request": {
+ "operation": "RemovePermission",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "SendMessage": {
+ "request": {
+ "operation": "SendMessage",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "SendMessages": {
+ "request": {
+ "operation": "SendMessageBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetQueueAttributes",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Message": {
+ "resource": {
+ "type": "Message",
+ "identifiers": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
+ { "target": "ReceiptHandle", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DeadLetterSourceQueues": {
+ "request": {
+ "operation": "ListDeadLetterSourceQueues",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "queueUrls[]" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}