get": "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" }
            ]
          }
        }
      }
    }
  }
}
