{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2017-01-06",
    "endpointPrefix":"cur",
    "jsonVersion":"1.1",
    "protocol":"json",
    "serviceFullName":"AWS Cost and Usage Report Service",
    "serviceId":"Cost and Usage Report Service",
    "signatureVersion":"v4",
    "signingName":"cur",
    "targetPrefix":"AWSOrigamiServiceGatewayService",
    "uid":"cur-2017-01-06"
  },
  "operations":{
    "DeleteReportDefinition":{
      "name":"DeleteReportDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteReportDefinitionRequest"},
      "output":{"shape":"DeleteReportDefinitionResponse"},
      "errors":[
        {"shape":"InternalErrorException"},
        {"shape":"ValidationException"}
      ]
    },
    "DescribeReportDefinitions":{
      "name":"DescribeReportDefinitions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeReportDefinitionsRequest"},
      "output":{"shape":"DescribeReportDefinitionsResponse"},
      "errors":[
        {"shape":"InternalErrorException"}
      ]
    },
    "ModifyReportDefinition":{
      "name":"ModifyReportDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ModifyReportDefinitionRequest"},
      "output":{"shape":"ModifyReportDefinitionResponse"},
      "errors":[
        {"shape":"InternalErrorException"},
        {"shape":"ValidationException"}
      ]
    },
    "PutReportDefinition":{
      "name":"PutReportDefinition",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutReportDefinitionRequest"},
      "output":{"shape":"PutReportDefinitionResponse"},
      "errors":[
        {"shape":"DuplicateReportNameException"},
        {"shape":"ReportLimitReachedException"},
        {"shape":"InternalErrorException"},
        {"shape":"ValidationException"}
      ]
    }
  },
  "shapes":{
    "AWSRegion":{
      "type":"string",
      "enum":[
        "us-east-1",
        "us-west-1",
        "us-west-2",
        "eu-central-1",
        "eu-west-1",
        "ap-southeast-1",
        "ap-southeast-2",
        "ap-northeast-1",
        "eu-north-1",
        "ap-northeast-3",
        "ap-east-1"
      ]
    },
    "AdditionalArtifact":{
      "type":"string",
      "enum":[
        "REDSHIFT",
        "QUICKSIGHT",
        "ATHENA"
      ]
    },
    "AdditionalArtifactList":{
      "type":"list",
      "member":{"shape":"AdditionalArtifact"}
    },
    "CompressionFormat":{
      "type":"string",
      "enum":[
        "ZIP",
        "GZIP",
        "Parquet"
      ]
    },
    "DeleteReportDefinitionRequest":{
      "type":"structure",
      "members":{
        "ReportName":{"shape":"ReportName"}
      }
    },
    "DeleteReportDefinitionResponse":{
      "type":"structure",
      "members":{
        "ResponseMessage":{"shape":"DeleteResponseMessage"}
      }
    },
    "DeleteResponseMessage":{"type":"string"},
    "DescribeReportDefinitionsRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{"shape":"MaxResults"},
        "NextToken":{"shape":"GenericString"}
      }
    },
    "DescribeReportDefinitionsResponse":{
      "type":"structure",
      "members":{
        "ReportDefinitions":{"shape":"ReportDefinitionList"},
        "NextToken":{"shape":"GenericString"}
      }
    },
    "DuplicateReportNameException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ErrorMessage":{"type":"string"},
    "GenericString":{"type":"string"},
    "InternalErrorException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true,
      "fault":true
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":5,
      "min":5
    },
    "ModifyReportDefinitionRequest":{
      "type":"structure",
      "required":[
        "ReportName",
        "ReportDefinition"
      ],
      "members":{
        "ReportName":{"shape":"ReportName"},
        "ReportDefinition":{"shape":"ReportDefinition"}
      }
    },
    "ModifyReportDefinitionResponse":{
      "type":"structure",
      "members":{
      }
    },
    "PutReportDefinitionRequest":{
      "type":"structure",
      "required":["ReportDefinition"],
      "members":{
        "ReportDefinition":{"shape":"ReportDefinition"}
      }
    },
    "PutReportDefinitionResponse":{
      "type":"structure",
      "members":{
      }
    },
    "RefreshClosedReports":{
      "type":"boolean",
      "box":true
    },
    "ReportDefinition":{
      "type":"structure",
      "required":[
        "ReportName",
        "TimeUnit",
        "Format",
        "Compression",
        "AdditionalSchemaElements",
        "S3Bucket",
        "S3Prefix",
        "S3Region"
      ],
      "members":{
        "ReportName":{"shape":"ReportName"},
        "TimeUnit":{"shape":"TimeUnit"},
        "Format":{"shape":"ReportFormat"},
        "Compression":{"shape":"CompressionFormat"},
        "AdditionalSchemaElements":{"shape":"SchemaElementList"},
        "S3Bucket":{"shape":"S3Bucket"},
        "S3Prefix":{"shape":"S3Prefix"},
        "S3Region":{"shape":"AWSRegion"},
        "AdditionalArtifacts":{"shape":"AdditionalArtifactList"},
        "RefreshClosedReports":{"shape":"RefreshClosedReports"},
        "ReportVersioning":{"shape":"ReportVersioning"}
      }
    },
    "ReportDefinitionList":{
      "type":"list",
      "member":{"shape":"ReportDefinition"}
    },
    "ReportFormat":{
      "type":"string",
      "enum":[
        "textORcsv",
        "Parquet"
      ]
    },
    "ReportLimitReachedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ReportName":{
      "type":"string",
      "max":256,
      "pattern":"[0-9A-Za-z!\\-_.*\\'()]+"
    },
    "ReportVersioning":{
      "type":"string",
      "enum":[
        "CREATE_NEW_REPORT",
        "OVERWRITE_REPORT"
      ]
    },
    "S3Bucket":{
      "type":"string",
      "max":256
    },
    "S3Prefix":{
      "type":"string",
      "max":256,
      "pattern":"[0-9A-Za-z!\\-_.*\\'()/]*"
    },
    "SchemaElement":{
      "type":"string",
      "enum":["RESOURCES"]
    },
    "SchemaElementList":{
      "type":"list",
      "member":{"shape":"SchemaElement"}
    },
    "TimeUnit":{
      "type":"string",
      "enum":[
        "HOURLY",
        "DAILY"
      ]
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    }
  }
}
