SDK for PHP 3.x

Client: Aws\ApplicationCostProfiler\ApplicationCostProfilerClient
Service ID: applicationcostprofiler
Version: 2020-09-10

This page describes the parameters and results for the operations of the AWS Application Cost Profiler (2020-09-10), and shows how to use the Aws\ApplicationCostProfiler\ApplicationCostProfilerClient object to call the described operations. This documentation is specific to the 2020-09-10 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

DeleteReportDefinition ( array $params = [] )
Deletes the specified report definition in AWS Application Cost Profiler.
GetReportDefinition ( array $params = [] )
Retrieves the definition of a report already configured in AWS Application Cost Profiler.
ImportApplicationUsage ( array $params = [] )
Ingests application usage data from Amazon Simple Storage Service (Amazon S3).
ListReportDefinitions ( array $params = [] )
Retrieves a list of all reports and their configurations for your AWS account.
PutReportDefinition ( array $params = [] )
Creates the report definition for a report in Application Cost Profiler.
UpdateReportDefinition ( array $params = [] )
Updates existing report in AWS Application Cost Profiler.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListReportDefinitions

Operations

DeleteReportDefinition

$result = $client->deleteReportDefinition([/* ... */]);
$promise = $client->deleteReportDefinitionAsync([/* ... */]);

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

Parameter Syntax

$result = $client->deleteReportDefinition([
    'reportId' => '<string>', // REQUIRED
]);

Parameter Details

Members
reportId
Required: Yes
Type: string

Required. ID of the report to delete.

Result Syntax

[
    'reportId' => '<string>',
]

Result Details

Members
reportId
Type: string

ID of the report that was deleted.

Errors

InternalServerException:

An internal server error occurred. Retry your request.

ThrottlingException:

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

ValidationException:

The input fails to satisfy the constraints for the API.

AccessDeniedException:

You do not have permission to perform this action.

GetReportDefinition

$result = $client->getReportDefinition([/* ... */]);
$promise = $client->getReportDefinitionAsync([/* ... */]);

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

Parameter Syntax

$result = $client->getReportDefinition([
    'reportId' => '<string>', // REQUIRED
]);

Parameter Details

Members
reportId
Required: Yes
Type: string

ID of the report to retrieve.

Result Syntax

[
    'createdAt' => <DateTime>,
    'destinationS3Location' => [
        'bucket' => '<string>',
        'prefix' => '<string>',
    ],
    'format' => 'CSV|PARQUET',
    'lastUpdated' => <DateTime>,
    'reportDescription' => '<string>',
    'reportFrequency' => 'MONTHLY|DAILY|ALL',
    'reportId' => '<string>',
]

Result Details

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Timestamp (milliseconds) when this report definition was created.

destinationS3Location
Required: Yes
Type: S3Location structure

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

format
Required: Yes
Type: string

Format of the generated report.

lastUpdated
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

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

reportDescription
Required: Yes
Type: string

Description of the report.

reportFrequency
Required: Yes
Type: string

Cadence used to generate the report.

reportId
Required: Yes
Type: string

ID of the report retrieved.

Errors

InternalServerException:

An internal server error occurred. Retry your request.

ThrottlingException:

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

ValidationException:

The input fails to satisfy the constraints for the API.

AccessDeniedException:

You do not have permission to perform this action.

ImportApplicationUsage

$result = $client->importApplicationUsage([/* ... */]);
$promise = $client->importApplicationUsageAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->importApplicationUsage([
    'sourceS3Location' => [ // REQUIRED
        'bucket' => '<string>', // REQUIRED
        'key' => '<string>', // REQUIRED
        'region' => 'ap-east-1|me-south-1|eu-south-1|af-south-1',
    ],
]);

Parameter Details

Members
sourceS3Location
Required: Yes
Type: SourceS3Location structure

Amazon S3 location to import application usage data from.

Result Syntax

[
    'importId' => '<string>',
]

Result Details

Members
importId
Required: Yes
Type: string

ID of the import request.

Errors

InternalServerException:

An internal server error occurred. Retry your request.

ThrottlingException:

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

ValidationException:

The input fails to satisfy the constraints for the API.

AccessDeniedException:

You do not have permission to perform this action.

ListReportDefinitions

$result = $client->listReportDefinitions([/* ... */]);
$promise = $client->listReportDefinitionsAsync([/* ... */]);

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

The maximum number of reports is one.

Parameter Syntax

$result = $client->listReportDefinitions([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return.

nextToken
Type: string

The token value from a previous call to access the next page of results.

Result Syntax

[
    'nextToken' => '<string>',
    'reportDefinitions' => [
        [
            'createdAt' => <DateTime>,
            'destinationS3Location' => [
                'bucket' => '<string>',
                'prefix' => '<string>',
            ],
            'format' => 'CSV|PARQUET',
            'lastUpdatedAt' => <DateTime>,
            'reportDescription' => '<string>',
            'reportFrequency' => 'MONTHLY|DAILY|ALL',
            'reportId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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

reportDefinitions
Type: Array of ReportDefinition structures

The retrieved reports.

Errors

InternalServerException:

An internal server error occurred. Retry your request.

ThrottlingException:

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

ValidationException:

The input fails to satisfy the constraints for the API.

AccessDeniedException:

You do not have permission to perform this action.

PutReportDefinition

$result = $client->putReportDefinition([/* ... */]);
$promise = $client->putReportDefinitionAsync([/* ... */]);

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

Parameter Syntax

$result = $client->putReportDefinition([
    'destinationS3Location' => [ // REQUIRED
        'bucket' => '<string>', // REQUIRED
        'prefix' => '<string>', // REQUIRED
    ],
    'format' => 'CSV|PARQUET', // REQUIRED
    'reportDescription' => '<string>', // REQUIRED
    'reportFrequency' => 'MONTHLY|DAILY|ALL', // REQUIRED
    'reportId' => '<string>', // REQUIRED
]);

Parameter Details

Members
destinationS3Location
Required: Yes
Type: S3Location structure

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

format
Required: Yes
Type: string

Required. The format to use for the generated report.

reportDescription
Required: Yes
Type: string

Required. Description of the report.

reportFrequency
Required: Yes
Type: string

Required. The cadence to generate the report.

reportId
Required: Yes
Type: string

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

Result Syntax

[
    'reportId' => '<string>',
]

Result Details

Members
reportId
Type: string

ID of the report.

Errors

InternalServerException:

An internal server error occurred. Retry your request.

ThrottlingException:

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

ValidationException:

The input fails to satisfy the constraints for the API.

AccessDeniedException:

You do not have permission to perform this action.

ServiceQuotaExceededException:

Your request exceeds one or more of the service quotas.

UpdateReportDefinition

$result = $client->updateReportDefinition([/* ... */]);
$promise = $client->updateReportDefinitionAsync([/* ... */]);

Updates existing report in AWS Application Cost Profiler.

Parameter Syntax

$result = $client->updateReportDefinition([
    'destinationS3Location' => [ // REQUIRED
        'bucket' => '<string>', // REQUIRED
        'prefix' => '<string>', // REQUIRED
    ],
    'format' => 'CSV|PARQUET', // REQUIRED
    'reportDescription' => '<string>', // REQUIRED
    'reportFrequency' => 'MONTHLY|DAILY|ALL', // REQUIRED
    'reportId' => '<string>', // REQUIRED
]);

Parameter Details

Members
destinationS3Location
Required: Yes
Type: S3Location structure

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

format
Required: Yes
Type: string

Required. The format to use for the generated report.

reportDescription
Required: Yes
Type: string

Required. Description of the report.

reportFrequency
Required: Yes
Type: string

Required. The cadence to generate the report.

reportId
Required: Yes
Type: string

Required. ID of the report to update.

Result Syntax

[
    'reportId' => '<string>',
]

Result Details

Members
reportId
Type: string

ID of the report.

Errors

InternalServerException:

An internal server error occurred. Retry your request.

ThrottlingException:

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

ValidationException:

The input fails to satisfy the constraints for the API.

AccessDeniedException:

You do not have permission to perform this action.

Shapes

AccessDeniedException

Description

You do not have permission to perform this action.

Members
message
Type: string

InternalServerException

Description

An internal server error occurred. Retry your request.

Members
message
Type: string

ReportDefinition

Description

The configuration of a report in AWS Application Cost Profiler.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

Timestamp (milliseconds) when this report definition was created.

destinationS3Location
Type: S3Location structure

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

format
Type: string

The format used for the generated reports.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

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

reportDescription
Type: string

Description of the report

reportFrequency
Type: string

The cadence at which the report is generated.

reportId
Type: string

The ID of the report.

S3Location

Description

Represents the Amazon Simple Storage Service (Amazon S3) location where AWS Application Cost Profiler reports are generated and then written to.

Members
bucket
Required: Yes
Type: string

Name of the S3 bucket.

prefix
Required: Yes
Type: string

Prefix for the location to write to.

ServiceQuotaExceededException

Description

Your request exceeds one or more of the service quotas.

Members
message
Type: string

SourceS3Location

Description

Represents the Amazon Simple Storage Service (Amazon S3) location where usage data is read from.

Members
bucket
Required: Yes
Type: string

Name of the bucket.

key
Required: Yes
Type: string

Key of the object.

region
Type: 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.

ThrottlingException

Description

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

Members
message
Type: string

ValidationException

Description

The input fails to satisfy the constraints for the API.

Members
message
Type: string