{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.elasticinference#AcceleratorHealthStatus": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.elasticinference#AcceleratorId": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                },
                "smithy.api#pattern": "^eia-[0-9a-f]+$"
            }
        },
        "com.amazonaws.elasticinference#AcceleratorIdList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#AcceleratorId"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 1000
                }
            }
        },
        "com.amazonaws.elasticinference#AcceleratorType": {
            "type": "structure",
            "members": {
                "acceleratorTypeName": {
                    "target": "com.amazonaws.elasticinference#AcceleratorTypeName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The name of the Elastic Inference Accelerator type.\n        </p>"
                    }
                },
                "memoryInfo": {
                    "target": "com.amazonaws.elasticinference#MemoryInfo",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The memory information of the Elastic Inference Accelerator type.\n        </p>"
                    }
                },
                "throughputInfo": {
                    "target": "com.amazonaws.elasticinference#ThroughputInfoList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The throughput information of the Elastic Inference Accelerator type.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            The details of an Elastic Inference Accelerator type.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#AcceleratorTypeList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#AcceleratorType"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.elasticinference#AcceleratorTypeName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.elasticinference#AcceleratorTypeNameList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#AcceleratorTypeName"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.elasticinference#AcceleratorTypeOffering": {
            "type": "structure",
            "members": {
                "acceleratorType": {
                    "target": "com.amazonaws.elasticinference#AcceleratorTypeName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The name of the Elastic Inference Accelerator type.\n        </p>"
                    }
                },
                "locationType": {
                    "target": "com.amazonaws.elasticinference#LocationType",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The location type for the offering. It can assume the following values:\n            region: defines that the offering is at the regional level.\n            availability-zone: defines that the offering is at the availability zone level.\n            availability-zone-id: defines that the offering is at the availability zone level, defined by the availability zone id.\n        </p>"
                    }
                },
                "location": {
                    "target": "com.amazonaws.elasticinference#Location",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The location for the offering.\n            It will return either the region, availability zone or availability zone id for the offering depending on the locationType value.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            The offering for an Elastic Inference Accelerator type.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#AcceleratorTypeOfferingList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#AcceleratorTypeOffering"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.elasticinference#AvailabilityZone": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.elasticinference#BadRequestException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.elasticinference#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            Raised when a malformed input has been provided to the API.\n        </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorOfferings": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.elasticinference#DescribeAcceleratorOfferingsRequest"
            },
            "output": {
                "target": "com.amazonaws.elasticinference#DescribeAcceleratorOfferingsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.elasticinference#BadRequestException"
                },
                {
                    "target": "com.amazonaws.elasticinference#InternalServerException"
                },
                {
                    "target": "com.amazonaws.elasticinference#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n            Describes the locations in which a given accelerator type or set of types is present in a given region.\n        </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-accelerator-offerings",
                    "code": 200
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorOfferingsRequest": {
            "type": "structure",
            "members": {
                "locationType": {
                    "target": "com.amazonaws.elasticinference#LocationType",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The location type that you want to describe accelerator type offerings for. It can assume the following values:\n            region: will return the accelerator type offering at the regional level.\n            availability-zone: will return the accelerator type offering at the availability zone level.\n            availability-zone-id: will return the accelerator type offering at the availability zone level returning the availability zone id.\n        </p>",
                        "smithy.api#required": {}
                    }
                },
                "acceleratorTypes": {
                    "target": "com.amazonaws.elasticinference#AcceleratorTypeNameList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The list of accelerator types to describe.\n        </p>"
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorOfferingsResponse": {
            "type": "structure",
            "members": {
                "acceleratorTypeOfferings": {
                    "target": "com.amazonaws.elasticinference#AcceleratorTypeOfferingList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The list of accelerator type offerings for a specific location.\n        </p>"
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorTypes": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.elasticinference#DescribeAcceleratorTypesRequest"
            },
            "output": {
                "target": "com.amazonaws.elasticinference#DescribeAcceleratorTypesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.elasticinference#InternalServerException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n            Describes the accelerator types available in a given region, as well as their characteristics, such as memory and throughput.\n        </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/describe-accelerator-types",
                    "code": 200
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorTypesRequest": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorTypesResponse": {
            "type": "structure",
            "members": {
                "acceleratorTypes": {
                    "target": "com.amazonaws.elasticinference#AcceleratorTypeList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The available accelerator types.\n        </p>"
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAccelerators": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.elasticinference#DescribeAcceleratorsRequest"
            },
            "output": {
                "target": "com.amazonaws.elasticinference#DescribeAcceleratorsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.elasticinference#BadRequestException"
                },
                {
                    "target": "com.amazonaws.elasticinference#InternalServerException"
                },
                {
                    "target": "com.amazonaws.elasticinference#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n            Describes information over a provided set of accelerators belonging to an account.\n        </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/describe-accelerators",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "nextToken",
                    "outputToken": "nextToken",
                    "pageSize": "maxResults"
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorsRequest": {
            "type": "structure",
            "members": {
                "acceleratorIds": {
                    "target": "com.amazonaws.elasticinference#AcceleratorIdList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The IDs of the accelerators to describe.\n        </p>"
                    }
                },
                "filters": {
                    "target": "com.amazonaws.elasticinference#FilterList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            One or more filters. Filter names and values are case-sensitive. Valid filter names are:\n            accelerator-types: can provide a list of accelerator type names to filter for.\n            instance-id: can provide a list of EC2 instance ids to filter for.\n        </p>"
                    }
                },
                "maxResults": {
                    "target": "com.amazonaws.elasticinference#MaxResults",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The total number of items to return in the command's output. If the total number of items available is more than the value specified, a NextToken is provided in the command's output.\n            To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command.\n            Do not use the NextToken response element directly outside of the AWS CLI.\n        </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.elasticinference#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            A token to specify where to start paginating. This is the NextToken from a previously truncated response.\n        </p>"
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#DescribeAcceleratorsResponse": {
            "type": "structure",
            "members": {
                "acceleratorSet": {
                    "target": "com.amazonaws.elasticinference#ElasticInferenceAcceleratorSet",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The details of the Elastic Inference Accelerators.\n        </p>"
                    }
                },
                "nextToken": {
                    "target": "com.amazonaws.elasticinference#NextToken",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            A token to specify where to start paginating. This is the NextToken from a previously truncated response.\n        </p>"
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#EC2MatterhornCfSoothsayerApiGatewayLambda": {
            "type": "service",
            "version": "2017-07-25",
            "operations": [
                {
                    "target": "com.amazonaws.elasticinference#DescribeAcceleratorOfferings"
                },
                {
                    "target": "com.amazonaws.elasticinference#DescribeAccelerators"
                },
                {
                    "target": "com.amazonaws.elasticinference#DescribeAcceleratorTypes"
                },
                {
                    "target": "com.amazonaws.elasticinference#ListTagsForResource"
                },
                {
                    "target": "com.amazonaws.elasticinference#TagResource"
                },
                {
                    "target": "com.amazonaws.elasticinference#UntagResource"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "Elastic Inference",
                    "arnNamespace": "elastic-inference",
                    "cloudFormationName": "ElasticInference",
                    "cloudTrailEventSource": "elasticinference.amazonaws.com",
                    "endpointPrefix": "api.elastic-inference"
                },
                "aws.auth#sigv4": {
                    "name": "elastic-inference"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<p>\n            Elastic Inference public APIs.\n        </p>",
                "smithy.api#title": "Amazon Elastic  Inference"
            }
        },
        "com.amazonaws.elasticinference#ElasticInferenceAccelerator": {
            "type": "structure",
            "members": {
                "acceleratorHealth": {
                    "target": "com.amazonaws.elasticinference#ElasticInferenceAcceleratorHealth",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The health of the Elastic Inference Accelerator.\n        </p>"
                    }
                },
                "acceleratorType": {
                    "target": "com.amazonaws.elasticinference#AcceleratorTypeName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The type of the Elastic Inference Accelerator.\n        </p>"
                    }
                },
                "acceleratorId": {
                    "target": "com.amazonaws.elasticinference#AcceleratorId",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The ID of the Elastic Inference Accelerator.\n        </p>"
                    }
                },
                "availabilityZone": {
                    "target": "com.amazonaws.elasticinference#AvailabilityZone",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The availability zone where the Elastic Inference Accelerator is present.\n        </p>"
                    }
                },
                "attachedResource": {
                    "target": "com.amazonaws.elasticinference#ResourceARN2",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The ARN of the resource that the Elastic Inference Accelerator is attached to.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            The details of an Elastic Inference Accelerator.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#ElasticInferenceAcceleratorHealth": {
            "type": "structure",
            "members": {
                "status": {
                    "target": "com.amazonaws.elasticinference#AcceleratorHealthStatus",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The health status of the Elastic Inference Accelerator.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            The health details of an Elastic Inference Accelerator.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#ElasticInferenceAcceleratorSet": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#ElasticInferenceAccelerator",
                "traits": {
                    "smithy.api#xmlName": "item"
                }
            }
        },
        "com.amazonaws.elasticinference#Filter": {
            "type": "structure",
            "members": {
                "name": {
                    "target": "com.amazonaws.elasticinference#FilterName",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The filter name for the Elastic Inference Accelerator list. It can assume the following values:\n            accelerator-type: the type of Elastic Inference Accelerator to filter for.\n            instance-id: an EC2 instance id to filter for.\n        </p>"
                    }
                },
                "values": {
                    "target": "com.amazonaws.elasticinference#ValueStringList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The values for the filter of the Elastic Inference Accelerator list.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            A filter expression for the Elastic Inference Accelerator list.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#FilterList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#Filter"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.elasticinference#FilterName": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.elasticinference#Integer": {
            "type": "integer"
        },
        "com.amazonaws.elasticinference#InternalServerException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.elasticinference#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            Raised when an unexpected error occurred during request processing.\n        </p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 500
            }
        },
        "com.amazonaws.elasticinference#Key": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                },
                "smithy.api#pattern": "^\\S+$"
            }
        },
        "com.amazonaws.elasticinference#KeyValuePair": {
            "type": "structure",
            "members": {
                "key": {
                    "target": "com.amazonaws.elasticinference#Key",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The throughput value of the Elastic Inference Accelerator type. It can assume the following values:\n            TFLOPS16bit: the throughput expressed in 16bit TeraFLOPS.\n            TFLOPS32bit: the throughput expressed in 32bit TeraFLOPS.\n        </p>"
                    }
                },
                "value": {
                    "target": "com.amazonaws.elasticinference#Value",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The throughput value of the Elastic Inference Accelerator type.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            A throughput entry for an Elastic Inference Accelerator type.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#ListTagsForResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.elasticinference#ListTagsForResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.elasticinference#ListTagsForResourceResult"
            },
            "errors": [
                {
                    "target": "com.amazonaws.elasticinference#BadRequestException"
                },
                {
                    "target": "com.amazonaws.elasticinference#InternalServerException"
                },
                {
                    "target": "com.amazonaws.elasticinference#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n            Returns all tags of an Elastic Inference Accelerator.\n        </p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/tags/{resourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.elasticinference#ListTagsForResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.elasticinference#ResourceARN",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The ARN of the Elastic Inference Accelerator to list the tags for.\n        </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#ListTagsForResourceResult": {
            "type": "structure",
            "members": {
                "tags": {
                    "target": "com.amazonaws.elasticinference#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The tags of the Elastic Inference Accelerator.\n        </p>"
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#Location": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.elasticinference#LocationType": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "region",
                        "name": "region"
                    },
                    {
                        "value": "availability-zone",
                        "name": "availability_zone"
                    },
                    {
                        "value": "availability-zone-id",
                        "name": "availability_zone_id"
                    }
                ],
                "smithy.api#length": {
                    "min": 1,
                    "max": 256
                }
            }
        },
        "com.amazonaws.elasticinference#MaxResults": {
            "type": "integer",
            "traits": {
                "smithy.api#range": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.elasticinference#MemoryInfo": {
            "type": "structure",
            "members": {
                "sizeInMiB": {
                    "target": "com.amazonaws.elasticinference#Integer",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The size in mebibytes of the Elastic Inference Accelerator type.\n        </p>"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            The memory information of an Elastic Inference Accelerator type.\n        </p>"
            }
        },
        "com.amazonaws.elasticinference#NextToken": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 2048
                },
                "smithy.api#pattern": "^[A-Za-z0-9+/]+={0,2}$"
            }
        },
        "com.amazonaws.elasticinference#ResourceARN": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 1011
                },
                "smithy.api#pattern": "^arn:aws\\S*:elastic-inference:\\S+:\\d{12}:elastic-inference-accelerator/eia-[0-9a-f]+$"
            }
        },
        "com.amazonaws.elasticinference#ResourceARN2": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 1283
                }
            }
        },
        "com.amazonaws.elasticinference#ResourceNotFoundException": {
            "type": "structure",
            "members": {
                "message": {
                    "target": "com.amazonaws.elasticinference#String"
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>\n            Raised when the requested resource cannot be found.\n        </p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 404
            }
        },
        "com.amazonaws.elasticinference#String": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 500000
                },
                "smithy.api#pattern": "^.*$"
            }
        },
        "com.amazonaws.elasticinference#TagKey": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 128
                },
                "smithy.api#pattern": "^\\S$"
            }
        },
        "com.amazonaws.elasticinference#TagKeyList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#TagKey"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 50
                }
            }
        },
        "com.amazonaws.elasticinference#TagMap": {
            "type": "map",
            "key": {
                "target": "com.amazonaws.elasticinference#TagKey"
            },
            "value": {
                "target": "com.amazonaws.elasticinference#TagValue"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 1,
                    "max": 50
                }
            }
        },
        "com.amazonaws.elasticinference#TagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.elasticinference#TagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.elasticinference#TagResourceResult"
            },
            "errors": [
                {
                    "target": "com.amazonaws.elasticinference#BadRequestException"
                },
                {
                    "target": "com.amazonaws.elasticinference#InternalServerException"
                },
                {
                    "target": "com.amazonaws.elasticinference#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n            Adds the specified tags to an Elastic Inference Accelerator.\n        </p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/tags/{resourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.elasticinference#TagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.elasticinference#ResourceARN",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The ARN of the Elastic Inference Accelerator to tag.\n        </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tags": {
                    "target": "com.amazonaws.elasticinference#TagMap",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The tags to add to the Elastic Inference Accelerator.\n        </p>",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#TagResourceResult": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.elasticinference#TagValue": {
            "type": "string",
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 256
                }
            }
        },
        "com.amazonaws.elasticinference#ThroughputInfoList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#KeyValuePair",
                "traits": {
                    "smithy.api#xmlName": "item"
                }
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        },
        "com.amazonaws.elasticinference#UntagResource": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.elasticinference#UntagResourceRequest"
            },
            "output": {
                "target": "com.amazonaws.elasticinference#UntagResourceResult"
            },
            "errors": [
                {
                    "target": "com.amazonaws.elasticinference#BadRequestException"
                },
                {
                    "target": "com.amazonaws.elasticinference#InternalServerException"
                },
                {
                    "target": "com.amazonaws.elasticinference#ResourceNotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>\n            Removes the specified tags from an Elastic Inference Accelerator.\n        </p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/tags/{resourceArn}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.elasticinference#UntagResourceRequest": {
            "type": "structure",
            "members": {
                "resourceArn": {
                    "target": "com.amazonaws.elasticinference#ResourceARN",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The ARN of the Elastic Inference Accelerator to untag.\n        </p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "tagKeys": {
                    "target": "com.amazonaws.elasticinference#TagKeyList",
                    "traits": {
                        "smithy.api#documentation": "<p>\n            The list of tags to remove from the Elastic Inference Accelerator.\n        </p>",
                        "smithy.api#httpQuery": "tagKeys",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.elasticinference#UntagResourceResult": {
            "type": "structure",
            "members": {}
        },
        "com.amazonaws.elasticinference#Value": {
            "type": "integer"
        },
        "com.amazonaws.elasticinference#ValueStringList": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.elasticinference#String"
            },
            "traits": {
                "smithy.api#length": {
                    "min": 0,
                    "max": 100
                }
            }
        }
    }
}
