Table of Contents
CostandUsageReportService.
Client
¶A low-level client representing AWS Cost and Usage Report Service
The AWS Cost and Usage Report API enables you to programmatically create, query, and delete AWS Cost and Usage report definitions.
AWS Cost and Usage reports track the monthly AWS costs and usage associated with your AWS account. The report contains line items for each unique combination of AWS product, usage type, and operation that your AWS account uses. You can configure the AWS Cost and Usage report to show only the data that you want, using the AWS Cost and Usage API.
Service Endpoint
The AWS Cost and Usage Report API provides the following endpoint:
cur.us-east-1.amazonaws.com
client = session.create_client('cur')
These are the available methods:
can_paginate
(operation_name)¶Check if an operation can be paginated.
operation_name (string) – The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo
, and you’d normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.
True
if the operation can be paginated,
False
otherwise.
delete_report_definition
(**kwargs)¶Deletes the specified report.
See also: AWS API Documentation
Request Syntax
response = client.delete_report_definition(
ReportName='string'
)
ReportName (string) – The name of the report that you want to delete. The name must be unique, is case sensitive, and can’t include spaces.
dict
Response Syntax
{
'ResponseMessage': 'string'
}
Response Structure
(dict) –
If the action is successful, the service sends back an HTTP 200 response.
ResponseMessage (string) –
Whether the deletion was successful or not.
Exceptions
describe_report_definitions
(**kwargs)¶Lists the AWS Cost and Usage reports available to this account.
See also: AWS API Documentation
Request Syntax
response = client.describe_report_definitions(
MaxResults=123,
NextToken='string'
)
MaxResults (integer) – The maximum number of results that AWS returns for the operation.
NextToken (string) – A generic string.
dict
Response Syntax
{
'ReportDefinitions': [
{
'ReportName': 'string',
'TimeUnit': 'HOURLY'|'DAILY'|'MONTHLY',
'Format': 'textORcsv'|'Parquet',
'Compression': 'ZIP'|'GZIP'|'Parquet',
'AdditionalSchemaElements': [
'RESOURCES',
],
'S3Bucket': 'string',
'S3Prefix': 'string',
'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
'AdditionalArtifacts': [
'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
],
'RefreshClosedReports': True|False,
'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
'BillingViewArn': 'string'
},
],
'NextToken': 'string'
}
Response Structure
(dict) –
If the action is successful, the service sends back an HTTP 200 response.
ReportDefinitions (list) –
A list of AWS Cost and Usage reports owned by the account.
(dict) –
The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.
ReportName (string) –
The name of the report that you want to create. The name must be unique, is case sensitive, and can’t include spaces.
TimeUnit (string) –
The length of time covered by the report.
Format (string) –
The format that AWS saves the report in.
Compression (string) –
The compression format that AWS uses for the report.
AdditionalSchemaElements (list) –
A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.
(string) –
Whether or not AWS includes resource IDs in the report.
S3Bucket (string) –
The S3 bucket where AWS delivers the report.
S3Prefix (string) –
The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can’t include spaces.
S3Region (string) –
The region of the S3 bucket that AWS delivers the report into.
AdditionalArtifacts (list) –
A list of manifests that you want Amazon Web Services to create for this report.
(string) –
The types of manifest that you want AWS to create for this report.
RefreshClosedReports (boolean) –
Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.
ReportVersioning (string) –
Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.
BillingViewArn (string) –
The Amazon resource name of the billing view. You can get this value by using the billing view service public APIs.
NextToken (string) –
A generic string.
Exceptions
get_paginator
(operation_name)¶Create a paginator for an operation.
operation_name (string) – The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo
, and you’d normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.
OperationNotPageableError – Raised if the operation is not
pageable. You can use the client.can_paginate
method to
check if an operation is pageable.
L{botocore.paginate.Paginator}
A paginator object.
get_waiter
(waiter_name)¶Returns an object that can wait for some condition.
waiter_name (str) – The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
The specified waiter object.
botocore.waiter.Waiter
modify_report_definition
(**kwargs)¶Allows you to programatically update your report preferences.
See also: AWS API Documentation
Request Syntax
response = client.modify_report_definition(
ReportName='string',
ReportDefinition={
'ReportName': 'string',
'TimeUnit': 'HOURLY'|'DAILY'|'MONTHLY',
'Format': 'textORcsv'|'Parquet',
'Compression': 'ZIP'|'GZIP'|'Parquet',
'AdditionalSchemaElements': [
'RESOURCES',
],
'S3Bucket': 'string',
'S3Prefix': 'string',
'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
'AdditionalArtifacts': [
'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
],
'RefreshClosedReports': True|False,
'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
'BillingViewArn': 'string'
}
)
ReportName (string) –
[REQUIRED]
The name of the report that you want to create. The name must be unique, is case sensitive, and can’t include spaces.
ReportDefinition (dict) –
[REQUIRED]
The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.
ReportName (string) – [REQUIRED]
The name of the report that you want to create. The name must be unique, is case sensitive, and can’t include spaces.
TimeUnit (string) – [REQUIRED]
The length of time covered by the report.
Format (string) – [REQUIRED]
The format that AWS saves the report in.
Compression (string) – [REQUIRED]
The compression format that AWS uses for the report.
AdditionalSchemaElements (list) – [REQUIRED]
A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.
(string) –
Whether or not AWS includes resource IDs in the report.
S3Bucket (string) – [REQUIRED]
The S3 bucket where AWS delivers the report.
S3Prefix (string) – [REQUIRED]
The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can’t include spaces.
S3Region (string) – [REQUIRED]
The region of the S3 bucket that AWS delivers the report into.
AdditionalArtifacts (list) –
A list of manifests that you want Amazon Web Services to create for this report.
(string) –
The types of manifest that you want AWS to create for this report.
RefreshClosedReports (boolean) –
Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.
ReportVersioning (string) –
Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.
BillingViewArn (string) –
The Amazon resource name of the billing view. You can get this value by using the billing view service public APIs.
dict
Response Syntax
{}
Response Structure
(dict) –
Exceptions
put_report_definition
(**kwargs)¶Creates a new report using the description that you provide.
See also: AWS API Documentation
Request Syntax
response = client.put_report_definition(
ReportDefinition={
'ReportName': 'string',
'TimeUnit': 'HOURLY'|'DAILY'|'MONTHLY',
'Format': 'textORcsv'|'Parquet',
'Compression': 'ZIP'|'GZIP'|'Parquet',
'AdditionalSchemaElements': [
'RESOURCES',
],
'S3Bucket': 'string',
'S3Prefix': 'string',
'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
'AdditionalArtifacts': [
'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
],
'RefreshClosedReports': True|False,
'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
'BillingViewArn': 'string'
}
)
ReportDefinition (dict) –
[REQUIRED]
Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information.
ReportName (string) – [REQUIRED]
The name of the report that you want to create. The name must be unique, is case sensitive, and can’t include spaces.
TimeUnit (string) – [REQUIRED]
The length of time covered by the report.
Format (string) – [REQUIRED]
The format that AWS saves the report in.
Compression (string) – [REQUIRED]
The compression format that AWS uses for the report.
AdditionalSchemaElements (list) – [REQUIRED]
A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.
(string) –
Whether or not AWS includes resource IDs in the report.
S3Bucket (string) – [REQUIRED]
The S3 bucket where AWS delivers the report.
S3Prefix (string) – [REQUIRED]
The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can’t include spaces.
S3Region (string) – [REQUIRED]
The region of the S3 bucket that AWS delivers the report into.
AdditionalArtifacts (list) –
A list of manifests that you want Amazon Web Services to create for this report.
(string) –
The types of manifest that you want AWS to create for this report.
RefreshClosedReports (boolean) –
Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.
ReportVersioning (string) –
Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.
BillingViewArn (string) –
The Amazon resource name of the billing view. You can get this value by using the billing view service public APIs.
dict
Response Syntax
{}
Response Structure
(dict) –
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Exceptions
Client exceptions are available on a client instance via the exceptions
property. For more detailed instructions and examples on the exact usage of client exceptions, see the error handling user guide.
The available client exceptions are:
CostandUsageReportService.Client.exceptions.DuplicateReportNameException
CostandUsageReportService.Client.exceptions.InternalErrorException
CostandUsageReportService.Client.exceptions.ReportLimitReachedException
CostandUsageReportService.Client.exceptions.ValidationException
CostandUsageReportService.Client.exceptions.
DuplicateReportNameException
¶A report with the specified name already exists in the account. Specify a different report name.
Example
try:
...
except client.exceptions.DuplicateReportNameException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) –
A report with the specified name already exists in the account. Specify a different report name.
Message (string) –
A message to show the detail of the exception.
Error (dict) – Normalized access to common exception attributes.
Code (string) – An identifier specifying the exception type.
Message (string) – A descriptive message explaining why the exception occured.
CostandUsageReportService.Client.exceptions.
InternalErrorException
¶An error on the server occurred during the processing of your request. Try again later.
Example
try:
...
except client.exceptions.InternalErrorException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) –
An error on the server occurred during the processing of your request. Try again later.
Message (string) –
A message to show the detail of the exception.
Error (dict) – Normalized access to common exception attributes.
Code (string) – An identifier specifying the exception type.
Message (string) – A descriptive message explaining why the exception occured.
CostandUsageReportService.Client.exceptions.
ReportLimitReachedException
¶This account already has five reports defined. To define a new report, you must delete an existing report.
Example
try:
...
except client.exceptions.ReportLimitReachedException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) –
This account already has five reports defined. To define a new report, you must delete an existing report.
Message (string) –
A message to show the detail of the exception.
Error (dict) – Normalized access to common exception attributes.
Code (string) – An identifier specifying the exception type.
Message (string) – A descriptive message explaining why the exception occured.
CostandUsageReportService.Client.exceptions.
ValidationException
¶The input fails to satisfy the constraints specified by an AWS service.
Example
try:
...
except client.exceptions.ValidationException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) –
The input fails to satisfy the constraints specified by an AWS service.
Message (string) –
A message to show the detail of the exception.
Error (dict) – Normalized access to common exception attributes.
Code (string) – An identifier specifying the exception type.
Message (string) – A descriptive message explaining why the exception occured.
The available paginators are:
CostandUsageReportService.Paginator.
DescribeReportDefinitions
¶paginator = client.get_paginator('describe_report_definitions')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from CostandUsageReportService.Client.describe_report_definitions()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
PaginationConfig (dict) –
A dictionary that provides parameters to control pagination.
MaxItems (integer) –
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
PageSize (integer) –
The size of each page.
StartingToken (string) –
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'ReportDefinitions': [
{
'ReportName': 'string',
'TimeUnit': 'HOURLY'|'DAILY'|'MONTHLY',
'Format': 'textORcsv'|'Parquet',
'Compression': 'ZIP'|'GZIP'|'Parquet',
'AdditionalSchemaElements': [
'RESOURCES',
],
'S3Bucket': 'string',
'S3Prefix': 'string',
'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
'AdditionalArtifacts': [
'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
],
'RefreshClosedReports': True|False,
'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
'BillingViewArn': 'string'
},
],
}
Response Structure
(dict) –
If the action is successful, the service sends back an HTTP 200 response.
ReportDefinitions (list) –
A list of AWS Cost and Usage reports owned by the account.
(dict) –
The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.
ReportName (string) –
The name of the report that you want to create. The name must be unique, is case sensitive, and can’t include spaces.
TimeUnit (string) –
The length of time covered by the report.
Format (string) –
The format that AWS saves the report in.
Compression (string) –
The compression format that AWS uses for the report.
AdditionalSchemaElements (list) –
A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.
(string) –
Whether or not AWS includes resource IDs in the report.
S3Bucket (string) –
The S3 bucket where AWS delivers the report.
S3Prefix (string) –
The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can’t include spaces.
S3Region (string) –
The region of the S3 bucket that AWS delivers the report into.
AdditionalArtifacts (list) –
A list of manifests that you want Amazon Web Services to create for this report.
(string) –
The types of manifest that you want AWS to create for this report.
RefreshClosedReports (boolean) –
Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.
ReportVersioning (string) –
Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.
BillingViewArn (string) –
The Amazon resource name of the billing view. You can get this value by using the billing view service public APIs.