def put_method_response(client, module, rest_api_id, resource_id, http_method, status_code, response):
method_response = None
if not re.match(r'^[2-6]\d\d$', str(status_code)):
module.fail_json(msg="Error creating response {0} for method {1} rid: {2}: invalid response code.".format(status_code, http_method, resource_id))
api_params = dict(
restApiId=rest_api_id,
resourceId=resource_id,
httpMethod=http_method,
statusCode=str(status_code)
)
if 'headers' in response:
response_parameters = dict()
for header in response['headers'].keys():
destination = 'method.response.header.{0}'.format(header)
response_parameters[destination] = True
if response_parameters:
api_params['responseParameters'] = response_parameters
try:
method_response = client.put_method_response(**api_params)
except (ClientError, ParamValidationError, MissingParametersError) as e:
module.fail_json(msg="Error creating response {0} for method {1} rid: {2}: {3}".format(status_code, http_method, resource_id, e))
return method_response
评论列表
文章目录