['apiVersion' => '2018-05-14', 'endpointPrefix' => 'devices.iot1click', 'signingName' => 'iot1click', 'serviceFullName' => 'AWS IoT 1-Click Devices Service', 'serviceId' => 'IoT 1Click Devices Service', 'protocol' => 'rest-json', 'jsonVersion' => '1.1', 'uid' => 'devices-2018-05-14', 'signatureVersion' => 'v4'], 'operations' => ['ClaimDevicesByClaimCode' => ['name' => 'ClaimDevicesByClaimCode', 'http' => ['method' => 'PUT', 'requestUri' => '/claims/{claimCode}', 'responseCode' => 200], 'input' => ['shape' => 'ClaimDevicesByClaimCodeRequest'], 'output' => ['shape' => 'ClaimDevicesByClaimCodeResponse'], 'errors' => [['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException'], ['shape' => 'ForbiddenException']]], 'DescribeDevice' => ['name' => 'DescribeDevice', 'http' => ['method' => 'GET', 'requestUri' => '/devices/{deviceId}', 'responseCode' => 200], 'input' => ['shape' => 'DescribeDeviceRequest'], 'output' => ['shape' => 'DescribeDeviceResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException']]], 'FinalizeDeviceClaim' => ['name' => 'FinalizeDeviceClaim', 'http' => ['method' => 'PUT', 'requestUri' => '/devices/{deviceId}/finalize-claim', 'responseCode' => 200], 'input' => ['shape' => 'FinalizeDeviceClaimRequest'], 'output' => ['shape' => 'FinalizeDeviceClaimResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException'], ['shape' => 'PreconditionFailedException'], ['shape' => 'ResourceConflictException']]], 'GetDeviceMethods' => ['name' => 'GetDeviceMethods', 'http' => ['method' => 'GET', 'requestUri' => '/devices/{deviceId}/methods', 'responseCode' => 200], 'input' => ['shape' => 'GetDeviceMethodsRequest'], 'output' => ['shape' => 'GetDeviceMethodsResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException']]], 'InitiateDeviceClaim' => ['name' => 'InitiateDeviceClaim', 'http' => ['method' => 'PUT', 'requestUri' => '/devices/{deviceId}/initiate-claim', 'responseCode' => 200], 'input' => ['shape' => 'InitiateDeviceClaimRequest'], 'output' => ['shape' => 'InitiateDeviceClaimResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException'], ['shape' => 'ResourceConflictException']]], 'InvokeDeviceMethod' => ['name' => 'InvokeDeviceMethod', 'http' => ['method' => 'POST', 'requestUri' => '/devices/{deviceId}/methods', 'responseCode' => 200], 'input' => ['shape' => 'InvokeDeviceMethodRequest'], 'output' => ['shape' => 'InvokeDeviceMethodResponse'], 'errors' => [['shape' => 'InvalidRequestException'], ['shape' => 'PreconditionFailedException'], ['shape' => 'InternalFailureException'], ['shape' => 'ResourceNotFoundException'], ['shape' => 'RangeNotSatisfiableException'], ['shape' => 'ResourceConflictException']]], 'ListDeviceEvents' => ['name' => 'ListDeviceEvents', 'http' => ['method' => 'GET', 'requestUri' => '/devices/{deviceId}/events', 'responseCode' => 200], 'input' => ['shape' => 'ListDeviceEventsRequest'], 'output' => ['shape' => 'ListDeviceEventsResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'RangeNotSatisfiableException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException']]], 'ListDevices' => ['name' => 'ListDevices', 'http' => ['method' => 'GET', 'requestUri' => '/devices', 'responseCode' => 200], 'input' => ['shape' => 'ListDevicesRequest'], 'output' => ['shape' => 'ListDevicesResponse'], 'errors' => [['shape' => 'RangeNotSatisfiableException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException']]], 'UnclaimDevice' => ['name' => 'UnclaimDevice', 'http' => ['method' => 'PUT', 'requestUri' => '/devices/{deviceId}/unclaim', 'responseCode' => 200], 'input' => ['shape' => 'UnclaimDeviceRequest'], 'output' => ['shape' => 'UnclaimDeviceResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException']]], 'UpdateDeviceState' => ['name' => 'UpdateDeviceState', 'http' => ['method' => 'PUT', 'requestUri' => '/devices/{deviceId}/state', 'responseCode' => 200], 'input' => ['shape' => 'UpdateDeviceStateRequest'], 'output' => ['shape' => 'UpdateDeviceStateResponse'], 'errors' => [['shape' => 'ResourceNotFoundException'], ['shape' => 'InvalidRequestException'], ['shape' => 'InternalFailureException']]]], 'shapes' => ['Attributes' => ['type' => 'structure', 'members' => []], 'ClaimDevicesByClaimCodeRequest' => ['type' => 'structure', 'members' => ['ClaimCode' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'claimCode']], 'required' => ['ClaimCode']], 'ClaimDevicesByClaimCodeResponse' => ['type' => 'structure', 'members' => ['ClaimCode' => ['shape' => '__stringMin12Max40', 'locationName' => 'claimCode'], 'Total' => ['shape' => '__integer', 'locationName' => 'total']]], 'DescribeDeviceRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId']], 'required' => ['DeviceId']], 'DescribeDeviceResponse' => ['type' => 'structure', 'members' => ['DeviceDescription' => ['shape' => 'DeviceDescription', 'locationName' => 'deviceDescription']]], 'Device' => ['type' => 'structure', 'members' => ['Attributes' => ['shape' => 'Attributes', 'locationName' => 'attributes'], 'DeviceId' => ['shape' => '__string', 'locationName' => 'deviceId'], 'Type' => ['shape' => '__string', 'locationName' => 'type']]], 'DeviceAttributes' => ['type' => 'map', 'key' => ['shape' => '__string'], 'value' => ['shape' => '__string']], 'DeviceClaimResponse' => ['type' => 'structure', 'members' => ['State' => ['shape' => '__string', 'locationName' => 'state']]], 'DeviceDescription' => ['type' => 'structure', 'members' => ['Attributes' => ['shape' => 'DeviceAttributes', 'locationName' => 'attributes'], 'DeviceId' => ['shape' => '__string', 'locationName' => 'deviceId'], 'Enabled' => ['shape' => '__boolean', 'locationName' => 'enabled'], 'RemainingLife' => ['shape' => '__doubleMin0Max100', 'locationName' => 'remainingLife'], 'Type' => ['shape' => '__string', 'locationName' => 'type']]], 'DeviceEvent' => ['type' => 'structure', 'members' => ['Device' => ['shape' => 'Device', 'locationName' => 'device'], 'StdEvent' => ['shape' => '__string', 'locationName' => 'stdEvent']]], 'DeviceEventsResponse' => ['type' => 'structure', 'members' => ['Events' => ['shape' => '__listOfDeviceEvent', 'locationName' => 'events'], 'NextToken' => ['shape' => '__string', 'locationName' => 'nextToken']]], 'DeviceMethod' => ['type' => 'structure', 'members' => ['DeviceType' => ['shape' => '__string', 'locationName' => 'deviceType'], 'MethodName' => ['shape' => '__string', 'locationName' => 'methodName']]], 'Empty' => ['type' => 'structure', 'members' => []], 'FinalizeDeviceClaimRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId']], 'required' => ['DeviceId']], 'FinalizeDeviceClaimResponse' => ['type' => 'structure', 'members' => ['State' => ['shape' => '__string', 'locationName' => 'state']]], 'ForbiddenException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 403]], 'GetDeviceMethodsRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId']], 'required' => ['DeviceId']], 'GetDeviceMethodsResponse' => ['type' => 'structure', 'members' => ['DeviceMethods' => ['shape' => '__listOfDeviceMethod', 'locationName' => 'deviceMethods']]], 'InitiateDeviceClaimRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId']], 'required' => ['DeviceId']], 'InitiateDeviceClaimResponse' => ['type' => 'structure', 'members' => ['State' => ['shape' => '__string', 'locationName' => 'state']]], 'InternalFailureException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 500]], 'InvalidRequestException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 400]], 'InvokeDeviceMethodRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId'], 'DeviceMethod' => ['shape' => 'DeviceMethod', 'locationName' => 'deviceMethod'], 'DeviceMethodParameters' => ['shape' => '__string', 'locationName' => 'deviceMethodParameters']], 'required' => ['DeviceId']], 'InvokeDeviceMethodResponse' => ['type' => 'structure', 'members' => ['DeviceMethodResponse' => ['shape' => '__string', 'locationName' => 'deviceMethodResponse']]], 'ListDeviceEventsRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId'], 'FromTimeStamp' => ['shape' => '__timestampIso8601', 'location' => 'querystring', 'locationName' => 'fromTimeStamp'], 'MaxResults' => ['shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults'], 'NextToken' => ['shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken'], 'ToTimeStamp' => ['shape' => '__timestampIso8601', 'location' => 'querystring', 'locationName' => 'toTimeStamp']], 'required' => ['DeviceId', 'FromTimeStamp', 'ToTimeStamp']], 'ListDeviceEventsResponse' => ['type' => 'structure', 'members' => ['Events' => ['shape' => '__listOfDeviceEvent', 'locationName' => 'events'], 'NextToken' => ['shape' => '__string', 'locationName' => 'nextToken']]], 'ListDevicesRequest' => ['type' => 'structure', 'members' => ['DeviceType' => ['shape' => '__string', 'location' => 'querystring', 'locationName' => 'deviceType'], 'MaxResults' => ['shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults'], 'NextToken' => ['shape' => '__string', 'location' => 'querystring', 'locationName' => 'nextToken']]], 'ListDevicesResponse' => ['type' => 'structure', 'members' => ['Devices' => ['shape' => '__listOfDeviceDescription', 'locationName' => 'devices'], 'NextToken' => ['shape' => '__string', 'locationName' => 'nextToken']]], 'MaxResults' => ['type' => 'integer', 'min' => 1, 'max' => 250], 'PreconditionFailedException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 412]], 'RangeNotSatisfiableException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 416]], 'ResourceConflictException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 409]], 'ResourceNotFoundException' => ['type' => 'structure', 'members' => ['Code' => ['shape' => '__string', 'locationName' => 'code'], 'Message' => ['shape' => '__string', 'locationName' => 'message']], 'exception' => \true, 'error' => ['httpStatusCode' => 404]], 'UnclaimDeviceRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId']], 'required' => ['DeviceId']], 'UnclaimDeviceResponse' => ['type' => 'structure', 'members' => ['State' => ['shape' => '__string', 'locationName' => 'state']]], 'UpdateDeviceStateRequest' => ['type' => 'structure', 'members' => ['DeviceId' => ['shape' => '__string', 'location' => 'uri', 'locationName' => 'deviceId'], 'Enabled' => ['shape' => '__boolean', 'locationName' => 'enabled']], 'required' => ['DeviceId']], 'UpdateDeviceStateResponse' => ['type' => 'structure', 'members' => []], '__boolean' => ['type' => 'boolean'], '__double' => ['type' => 'double'], '__doubleMin0Max100' => ['type' => 'double'], '__integer' => ['type' => 'integer'], '__listOfDeviceDescription' => ['type' => 'list', 'member' => ['shape' => 'DeviceDescription']], '__listOfDeviceEvent' => ['type' => 'list', 'member' => ['shape' => 'DeviceEvent']], '__listOfDeviceMethod' => ['type' => 'list', 'member' => ['shape' => 'DeviceMethod']], '__long' => ['type' => 'long'], '__string' => ['type' => 'string'], '__stringMin12Max40' => ['type' => 'string', 'min' => 12, 'max' => 40], '__timestampIso8601' => ['type' => 'timestamp', 'timestampFormat' => 'iso8601'], '__timestampUnix' => ['type' => 'timestamp', 'timestampFormat' => 'unixTimestamp']]];