ApplicationCostProfiler

Client

class ApplicationCostProfiler.Client

A low-level client representing AWS Application Cost Profiler

This reference provides descriptions of the AWS Application Cost Profiler API.

The AWS Application Cost Profiler API provides programmatic access to view, create, update, and delete application cost report definitions, as well as to import your usage data into the Application Cost Profiler service.

For more information about using this service, see the AWS Application Cost Profiler User Guide .

client = session.create_client('applicationcostprofiler')

These are the available methods:

can_paginate(operation_name)

Check if an operation can be paginated.

Parameters
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").
Returns
True if the operation can be paginated, False otherwise.
delete_report_definition(**kwargs)

Deletes the specified report definition in AWS Application Cost Profiler. This stops the report from being generated.

See also: AWS API Documentation

Request Syntax

response = client.delete_report_definition(
    reportId='string'
)
Parameters
reportId (string) --

[REQUIRED]

Required. ID of the report to delete.

Return type
dict
Returns
Response Syntax
{
    'reportId': 'string'
}

Response Structure

  • (dict) --
    • reportId (string) --

      ID of the report that was deleted.

Exceptions

generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)

Generate a presigned url given a client, its method, and arguments

Parameters
  • ClientMethod (string) -- The client method to presign for
  • Params (dict) -- The parameters normally passed to ClientMethod.
  • ExpiresIn (int) -- The number of seconds the presigned url is valid for. By default it expires in an hour (3600 seconds)
  • HttpMethod (string) -- The http method to use on the generated url. By default, the http method is whatever is used in the method's model.
Returns

The presigned url

get_paginator(operation_name)

Create a paginator for an operation.

Parameters
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").
Raises OperationNotPageableError
Raised if the operation is not pageable. You can use the client.can_paginate method to check if an operation is pageable.
Return type
L{botocore.paginate.Paginator}
Returns
A paginator object.
get_report_definition(**kwargs)

Retrieves the definition of a report already configured in AWS Application Cost Profiler.

See also: AWS API Documentation

Request Syntax

response = client.get_report_definition(
    reportId='string'
)
Parameters
reportId (string) --

[REQUIRED]

ID of the report to retrieve.

Return type
dict
Returns
Response Syntax
{
    'reportId': 'string',
    'reportDescription': 'string',
    'reportFrequency': 'MONTHLY'|'DAILY'|'ALL',
    'format': 'CSV'|'PARQUET',
    'destinationS3Location': {
        'bucket': 'string',
        'prefix': 'string'
    },
    'createdAt': datetime(2015, 1, 1),
    'lastUpdated': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --
    • reportId (string) --

      ID of the report retrieved.

    • reportDescription (string) --

      Description of the report.

    • reportFrequency (string) --

      Cadence used to generate the report.

    • format (string) --

      Format of the generated report.

    • destinationS3Location (dict) --

      Amazon Simple Storage Service (Amazon S3) location where the report is uploaded.

      • bucket (string) --

        Name of the S3 bucket.

      • prefix (string) --

        Prefix for the location to write to.

    • createdAt (datetime) --

      Timestamp (milliseconds) when this report definition was created.

    • lastUpdated (datetime) --

      Timestamp (milliseconds) when this report definition was last updated.

Exceptions

get_waiter(waiter_name)

Returns an object that can wait for some condition.

Parameters
waiter_name (str) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
Returns
The specified waiter object.
Return type
botocore.waiter.Waiter
import_application_usage(**kwargs)

Ingests application usage data from Amazon Simple Storage Service (Amazon S3).

The data must already exist in the S3 location. As part of the action, AWS Application Cost Profiler copies the object from your S3 bucket to an S3 bucket owned by Amazon for processing asynchronously.

See also: AWS API Documentation

Request Syntax

response = client.import_application_usage(
    sourceS3Location={
        'bucket': 'string',
        'key': 'string',
        'region': 'ap-east-1'|'me-south-1'|'eu-south-1'|'af-south-1'
    }
)
Parameters
sourceS3Location (dict) --

[REQUIRED]

Amazon S3 location to import application usage data from.

  • bucket (string) -- [REQUIRED]

    Name of the bucket.

  • key (string) -- [REQUIRED]

    Key of the object.

  • region (string) --

    Region of the bucket. Only required for Regions that are disabled by default. For more infomration about Regions that are disabled by default, see Enabling a Region in the AWS General Reference guide .

Return type
dict
Returns
Response Syntax
{
    'importId': 'string'
}

Response Structure

  • (dict) --
    • importId (string) --

      ID of the import request.

Exceptions

list_report_definitions(**kwargs)

Retrieves a list of all reports and their configurations for your AWS account.

The maximum number of reports is one.

See also: AWS API Documentation

Request Syntax

response = client.list_report_definitions(
    nextToken='string',
    maxResults=123
)
Parameters
  • nextToken (string) -- The token value from a previous call to access the next page of results.
  • maxResults (integer) -- The maximum number of results to return.
Return type

dict

Returns

Response Syntax

{
    'reportDefinitions': [
        {
            'reportId': 'string',
            'reportDescription': 'string',
            'reportFrequency': 'MONTHLY'|'DAILY'|'ALL',
            'format': 'CSV'|'PARQUET',
            'destinationS3Location': {
                'bucket': 'string',
                'prefix': 'string'
            },
            'createdAt': datetime(2015, 1, 1),
            'lastUpdatedAt': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • reportDefinitions (list) --

      The retrieved reports.

      • (dict) --

        The configuration of a report in AWS Application Cost Profiler.

        • reportId (string) --

          The ID of the report.

        • reportDescription (string) --

          Description of the report

        • reportFrequency (string) --

          The cadence at which the report is generated.

        • format (string) --

          The format used for the generated reports.

        • destinationS3Location (dict) --

          The location in Amazon Simple Storage Service (Amazon S3) the reports should be saved to.

          • bucket (string) --

            Name of the S3 bucket.

          • prefix (string) --

            Prefix for the location to write to.

        • createdAt (datetime) --

          Timestamp (milliseconds) when this report definition was created.

        • lastUpdatedAt (datetime) --

          Timestamp (milliseconds) when this report definition was last updated.

    • nextToken (string) --

      The value of the next token, if it exists. Null if there are no more results.

Exceptions

put_report_definition(**kwargs)

Creates the report definition for a report in Application Cost Profiler.

See also: AWS API Documentation

Request Syntax

response = client.put_report_definition(
    reportId='string',
    reportDescription='string',
    reportFrequency='MONTHLY'|'DAILY'|'ALL',
    format='CSV'|'PARQUET',
    destinationS3Location={
        'bucket': 'string',
        'prefix': 'string'
    }
)
Parameters
  • reportId (string) --

    [REQUIRED]

    Required. ID of the report. You can choose any valid string matching the pattern for the ID.

  • reportDescription (string) --

    [REQUIRED]

    Required. Description of the report.

  • reportFrequency (string) --

    [REQUIRED]

    Required. The cadence to generate the report.

  • format (string) --

    [REQUIRED]

    Required. The format to use for the generated report.

  • destinationS3Location (dict) --

    [REQUIRED]

    Required. Amazon Simple Storage Service (Amazon S3) location where Application Cost Profiler uploads the report.

    • bucket (string) -- [REQUIRED]

      Name of the S3 bucket.

    • prefix (string) -- [REQUIRED]

      Prefix for the location to write to.

Return type

dict

Returns

Response Syntax

{
    'reportId': 'string'
}

Response Structure

  • (dict) --

    • reportId (string) --

      ID of the report.

Exceptions

update_report_definition(**kwargs)

Updates existing report in AWS Application Cost Profiler.

See also: AWS API Documentation

Request Syntax

response = client.update_report_definition(
    reportId='string',
    reportDescription='string',
    reportFrequency='MONTHLY'|'DAILY'|'ALL',
    format='CSV'|'PARQUET',
    destinationS3Location={
        'bucket': 'string',
        'prefix': 'string'
    }
)
Parameters
  • reportId (string) --

    [REQUIRED]

    Required. ID of the report to update.

  • reportDescription (string) --

    [REQUIRED]

    Required. Description of the report.

  • reportFrequency (string) --

    [REQUIRED]

    Required. The cadence to generate the report.

  • format (string) --

    [REQUIRED]

    Required. The format to use for the generated report.

  • destinationS3Location (dict) --

    [REQUIRED]

    Required. Amazon Simple Storage Service (Amazon S3) location where Application Cost Profiler uploads the report.

    • bucket (string) -- [REQUIRED]

      Name of the S3 bucket.

    • prefix (string) -- [REQUIRED]

      Prefix for the location to write to.

Return type

dict

Returns

Response Syntax

{
    'reportId': 'string'
}

Response Structure

  • (dict) --

    • reportId (string) --

      ID of the report.

Exceptions

Client 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:

class ApplicationCostProfiler.Client.exceptions.AccessDeniedException

You do not have permission to perform this action.

Example

try:
  ...
except client.exceptions.AccessDeniedException 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) --

    You do not have permission to perform this action.

    • message (string) --
    • 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.
class ApplicationCostProfiler.Client.exceptions.InternalServerException

An internal server error occurred. Retry your request.

Example

try:
  ...
except client.exceptions.InternalServerException 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 internal server error occurred. Retry your request.

    • message (string) --
    • 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.
class ApplicationCostProfiler.Client.exceptions.ServiceQuotaExceededException

Your request exceeds one or more of the service quotas.

Example

try:
  ...
except client.exceptions.ServiceQuotaExceededException 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) --

    Your request exceeds one or more of the service quotas.

    • message (string) --
    • 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.
class ApplicationCostProfiler.Client.exceptions.ThrottlingException

The calls to AWS Application Cost Profiler API are throttled. The request was denied.

Example

try:
  ...
except client.exceptions.ThrottlingException 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 calls to AWS Application Cost Profiler API are throttled. The request was denied.

    • message (string) --
    • 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.
class ApplicationCostProfiler.Client.exceptions.ValidationException

The input fails to satisfy the constraints for the API.

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 for the API.

    • message (string) --
    • 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.

Paginators

The available paginators are:

class ApplicationCostProfiler.Paginator.ListReportDefinitions
paginator = client.get_paginator('list_report_definitions')
paginate(**kwargs)

Creates an iterator that will paginate through responses from ApplicationCostProfiler.Client.list_report_definitions().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
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.

Return type
dict
Returns
Response Syntax
{
    'reportDefinitions': [
        {
            'reportId': 'string',
            'reportDescription': 'string',
            'reportFrequency': 'MONTHLY'|'DAILY'|'ALL',
            'format': 'CSV'|'PARQUET',
            'destinationS3Location': {
                'bucket': 'string',
                'prefix': 'string'
            },
            'createdAt': datetime(2015, 1, 1),
            'lastUpdatedAt': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --
    • reportDefinitions (list) --

      The retrieved reports.

      • (dict) --

        The configuration of a report in AWS Application Cost Profiler.

        • reportId (string) --

          The ID of the report.

        • reportDescription (string) --

          Description of the report

        • reportFrequency (string) --

          The cadence at which the report is generated.

        • format (string) --

          The format used for the generated reports.

        • destinationS3Location (dict) --

          The location in Amazon Simple Storage Service (Amazon S3) the reports should be saved to.

          • bucket (string) --

            Name of the S3 bucket.

          • prefix (string) --

            Prefix for the location to write to.

        • createdAt (datetime) --

          Timestamp (milliseconds) when this report definition was created.

        • lastUpdatedAt (datetime) --

          Timestamp (milliseconds) when this report definition was last updated.

    • NextToken (string) --

      A token to resume pagination.