SDK for PHP 3.x

Client: Aws\Artifact\ArtifactClient
Service ID: artifact
Version: 2018-05-10

This page describes the parameters and results for the operations of the AWS Artifact (2018-05-10), and shows how to use the Aws\Artifact\ArtifactClient object to call the described operations. This documentation is specific to the 2018-05-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 */).

GetAccountSettings ( array $params = [] )
Get the account settings for Artifact.
GetReport ( array $params = [] )
Get the content for a single report.
GetReportMetadata ( array $params = [] )
Get the metadata for a single report.
GetTermForReport ( array $params = [] )
Get the Term content associated with a single report.
ListCustomerAgreements ( array $params = [] )
List active customer-agreements applicable to calling identity.
ListReports ( array $params = [] )
List available reports.
PutAccountSettings ( array $params = [] )
Put the account settings for Artifact.

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:

ListCustomerAgreements
ListReports

Operations

GetAccountSettings

$result = $client->getAccountSettings([/* ... */]);
$promise = $client->getAccountSettingsAsync([/* ... */]);

Get the account settings for Artifact.

Parameter Syntax

$result = $client->getAccountSettings([
]);

Parameter Details

Members

Result Syntax

[
    'accountSettings' => [
        'notificationSubscriptionStatus' => 'SUBSCRIBED|NOT_SUBSCRIBED',
    ],
]

Result Details

Members
accountSettings
Type: AccountSettings structure

Account settings for the customer.

Errors

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

ConflictException:

Request to create/modify content would result in a conflict.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

Examples

Example 1: Invoke GetAccountSettings operation

Get the current account settings.

$result = $client->getAccountSettings([
]);

Result syntax:

[
    'accountSettings' => [
        'notificationSubscriptionStatus' => 'SUBSCRIBED',
    ],
]

GetReport

$result = $client->getReport([/* ... */]);
$promise = $client->getReportAsync([/* ... */]);

Get the content for a single report.

Parameter Syntax

$result = $client->getReport([
    'reportId' => '<string>', // REQUIRED
    'reportVersion' => <integer>,
    'termToken' => '<string>', // REQUIRED
]);

Parameter Details

Members
reportId
Required: Yes
Type: string

Unique resource ID for the report resource.

reportVersion
Type: long (int|float)

Version for the report resource.

termToken
Required: Yes
Type: string

Unique download token provided by GetTermForReport API.

Result Syntax

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

Result Details

Members
documentPresignedUrl
Type: string

Presigned S3 url to access the report content.

Errors

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

ConflictException:

Request to create/modify content would result in a conflict.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

Examples

Example 1: Invoke GetReport operation on the latest version of a specific report

The GetReport operation is invoked on a reportId and on a optional version. Callers must provide a termToken, which is provided by the GetTermForReport operation. If callers do not provide a version, it will default to the report's latest version

$result = $client->getReport([
    'reportId' => 'report-abcdef0123456789',
    'termToken' => 'term-token-abcdefghijklm01234567890',
]);

Result syntax:

[
    'documentPresignedUrl' => '',
]

GetReportMetadata

$result = $client->getReportMetadata([/* ... */]);
$promise = $client->getReportMetadataAsync([/* ... */]);

Get the metadata for a single report.

Parameter Syntax

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

Parameter Details

Members
reportId
Required: Yes
Type: string

Unique resource ID for the report resource.

reportVersion
Type: long (int|float)

Version for the report resource.

Result Syntax

[
    'reportDetails' => [
        'acceptanceType' => 'PASSTHROUGH|EXPLICIT',
        'arn' => '<string>',
        'category' => '<string>',
        'companyName' => '<string>',
        'createdAt' => <DateTime>,
        'deletedAt' => <DateTime>,
        'description' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'name' => '<string>',
        'periodEnd' => <DateTime>,
        'periodStart' => <DateTime>,
        'productName' => '<string>',
        'sequenceNumber' => <integer>,
        'series' => '<string>',
        'state' => 'PUBLISHED|UNPUBLISHED',
        'statusMessage' => '<string>',
        'termArn' => '<string>',
        'uploadState' => 'PROCESSING|COMPLETE|FAILED|FAULT',
        'version' => <integer>,
    ],
]

Result Details

Members
reportDetails
Type: ReportDetail structure

Report resource detail.

Errors

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

Examples

Example 1: Invoke GetReportMetadata operation on the latest version of a specific report

The GetReportMetadata operation is invoked on a reportId and on a optional version. If callers do not provide a version, it will default to the report's latest version.

$result = $client->getReportMetadata([
    'reportId' => 'report-bqhUJF3FrQZsMJpb',
]);

Result syntax:

[
    'reportDetails' => [
        'version' => 1,
        'name' => 'Name of report',
        'arn' => 'arn:aws:artifact:us-east-1::report/report-abcdef0123456789:1',
        'category' => 'Artifact Category',
        'companyName' => 'AWS',
        'createdAt' => ,
        'description' => 'Description of report',
        'id' => 'report-abcdef0123456789',
        'periodEnd' => ,
        'periodStart' => ,
        'productName' => 'Product of report',
        'series' => 'Artifact Series',
        'state' => 'PUBLISHED',
        'termArn' => 'arn:aws:artifact:us-east-1::term/term-abcdef0123456789:1',
    ],
]

GetTermForReport

$result = $client->getTermForReport([/* ... */]);
$promise = $client->getTermForReportAsync([/* ... */]);

Get the Term content associated with a single report.

Parameter Syntax

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

Parameter Details

Members
reportId
Required: Yes
Type: string

Unique resource ID for the report resource.

reportVersion
Type: long (int|float)

Version for the report resource.

Result Syntax

[
    'documentPresignedUrl' => '<string>',
    'termToken' => '<string>',
]

Result Details

Members
documentPresignedUrl
Type: string

Presigned S3 url to access the term content.

termToken
Type: string

Unique token representing this request event.

Errors

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

ConflictException:

Request to create/modify content would result in a conflict.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

Examples

Example 1: Invoke GetTermForReport operation on the latest version of a specific report

The GetTermForReport operation is invoked on a reportId and on a optional version. If callers do not provide a version, it will default to the report's latest version.

$result = $client->getTermForReport([
    'reportId' => 'report-abcdef0123456789',
]);

Result syntax:

[
    'documentPresignedUrl' => '',
    'termToken' => 'term-token-abcdefghijklm01234567890',
]

ListCustomerAgreements

$result = $client->listCustomerAgreements([/* ... */]);
$promise = $client->listCustomerAgreementsAsync([/* ... */]);

List active customer-agreements applicable to calling identity.

Parameter Syntax

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

Parameter Details

Members
maxResults
Type: int

Maximum number of resources to return in the paginated response.

nextToken
Type: string

Pagination token to request the next page of resources.

Result Syntax

[
    'customerAgreements' => [
        [
            'acceptanceTerms' => ['<string>', ...],
            'agreementArn' => '<string>',
            'arn' => '<string>',
            'awsAccountId' => '<string>',
            'description' => '<string>',
            'effectiveEnd' => <DateTime>,
            'effectiveStart' => <DateTime>,
            'id' => '<string>',
            'name' => '<string>',
            'organizationArn' => '<string>',
            'state' => 'ACTIVE|CUSTOMER_TERMINATED|AWS_TERMINATED',
            'terminateTerms' => ['<string>', ...],
            'type' => 'CUSTOM|DEFAULT|MODIFIED',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
customerAgreements
Required: Yes
Type: Array of CustomerAgreementSummary structures

List of customer-agreement resources.

nextToken
Type: string

Pagination token to request the next page of resources.

Errors

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

Examples

Example 1: Invoke ListCustomerAgreements operation

The ListCustomerAgreements operation returns a collection of customer-agreement resources in the ACTIVE state for the calling credential.

$result = $client->listCustomerAgreements([
]);

Result syntax:

[
    'customerAgreements' => [
        [
            'name' => 'Name of agreement',
            'type' => 'DEFAULT',
            'acceptanceTerms' => [
                'terms acknowledged when agreement was accepted',
            ],
            'agreementArn' => 'arn:aws:artifact:::agreement/agreement-abcdef0123456789',
            'arn' => 'arn:aws:artifact::111111111111:customer-agreement/customer-agreement-abcdef0123456789',
            'awsAccountId' => '111111111111',
            'description' => 'Description of agreement',
            'effectiveStart' => ,
            'id' => 'customer-agreement-abcdef0123456789',
            'state' => 'ACTIVE',
            'terminateTerms' => [
                'terms that must be acknowledged to terminate this agreement',
            ],
        ],
    ],
    'nextToken' => 'gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7',
]

ListReports

$result = $client->listReports([/* ... */]);
$promise = $client->listReportsAsync([/* ... */]);

List available reports.

Parameter Syntax

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

Parameter Details

Members
maxResults
Type: int

Maximum number of resources to return in the paginated response.

nextToken
Type: string

Pagination token to request the next page of resources.

Result Syntax

[
    'nextToken' => '<string>',
    'reports' => [
        [
            'acceptanceType' => 'PASSTHROUGH|EXPLICIT',
            'arn' => '<string>',
            'category' => '<string>',
            'companyName' => '<string>',
            'description' => '<string>',
            'id' => '<string>',
            'name' => '<string>',
            'periodEnd' => <DateTime>,
            'periodStart' => <DateTime>,
            'productName' => '<string>',
            'series' => '<string>',
            'state' => 'PUBLISHED|UNPUBLISHED',
            'statusMessage' => '<string>',
            'uploadState' => 'PROCESSING|COMPLETE|FAILED|FAULT',
            'version' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

Pagination token to request the next page of resources.

reports
Type: Array of ReportSummary structures

List of report resources.

Errors

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

Examples

Example 1: Invoke ListReports operation

The ListReports operation returns a collection of report resources.

$result = $client->listReports([
]);

Result syntax:

[
    'nextToken' => 'gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7',
    'reports' => [
        [
            'version' => 1,
            'name' => 'Name of report',
            'arn' => 'arn:aws:artifact:us-east-1::report/report-abcdef0123456789',
            'category' => 'Artifact Category',
            'companyName' => 'AWS',
            'description' => 'Description of report',
            'id' => 'report-abcdef0123456789',
            'periodEnd' => ,
            'periodStart' => ,
            'productName' => 'Product of report',
            'series' => 'Artifact Series',
            'state' => 'PUBLISHED',
        ],
    ],
]

PutAccountSettings

$result = $client->putAccountSettings([/* ... */]);
$promise = $client->putAccountSettingsAsync([/* ... */]);

Put the account settings for Artifact.

Parameter Syntax

$result = $client->putAccountSettings([
    'notificationSubscriptionStatus' => 'SUBSCRIBED|NOT_SUBSCRIBED',
]);

Parameter Details

Members
notificationSubscriptionStatus
Type: string

Desired notification subscription status.

Result Syntax

[
    'accountSettings' => [
        'notificationSubscriptionStatus' => 'SUBSCRIBED|NOT_SUBSCRIBED',
    ],
]

Result Details

Members
accountSettings
Type: AccountSettings structure

Account settings for the customer.

Errors

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

User does not have sufficient access to perform this action.

ConflictException:

Request to create/modify content would result in a conflict.

InternalServerException:

An unknown server exception has occurred.

ValidationException:

Request fails to satisfy the constraints specified by an AWS service.

ServiceQuotaExceededException:

Request would cause a service quota to be exceeded.

Examples

Example 1: Invoke PutAccountSettings operation

Set the account settings.

$result = $client->putAccountSettings([
    'notificationSubscriptionStatus' => 'SUBSCRIBED',
]);

Result syntax:

[
    'accountSettings' => [
        'notificationSubscriptionStatus' => 'SUBSCRIBED',
    ],
]

Shapes

AccessDeniedException

Description

User does not have sufficient access to perform this action.

Members
message
Required: Yes
Type: string

AccountSettings

Description

Account settings for the customer.

Members
notificationSubscriptionStatus
Type: string

Notification subscription status of the customer.

ConflictException

Description

Request to create/modify content would result in a conflict.

Members
message
Required: Yes
Type: string
resourceId
Required: Yes
Type: string

Identifier of the affected resource.

resourceType
Required: Yes
Type: string

Type of the affected resource.

CustomerAgreementSummary

Description

Summary for customer-agreement resource.

Members
acceptanceTerms
Type: Array of strings

Terms required to accept the agreement resource.

agreementArn
Type: string

ARN of the agreement resource the customer-agreement resource represents.

arn
Type: string

ARN of the customer-agreement resource.

awsAccountId
Type: string

AWS account Id that owns the resource.

description
Type: string

Description of the resource.

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

Timestamp indicating when the agreement was terminated.

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

Timestamp indicating when the agreement became effective.

id
Type: string

Identifier of the customer-agreement resource.

name
Type: string

Name of the customer-agreement resource.

organizationArn
Type: string

ARN of the organization that owns the resource.

state
Type: string

State of the resource.

terminateTerms
Type: Array of strings

Terms required to terminate the customer-agreement resource.

type
Type: string

Type of the customer-agreement resource.

InternalServerException

Description

An unknown server exception has occurred.

Members
message
Required: Yes
Type: string
retryAfterSeconds
Type: int

Number of seconds in which the caller can retry the request.

ReportDetail

Description

Full detail for report resource metadata.

Members
acceptanceType
Type: string

Acceptance type for report.

arn
Type: string

ARN for the report resource.

category
Type: string

Category for the report resource.

companyName
Type: string

Associated company name for the report resource.

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

Timestamp indicating when the report resource was created.

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

Timestamp indicating when the report resource was deleted.

description
Type: string

Description for the report resource.

id
Type: string

Unique resource ID for the report resource.

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

Timestamp indicating when the report resource was last modified.

name
Type: string

Name for the report resource.

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

Timestamp indicating the report resource effective end.

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

Timestamp indicating the report resource effective start.

productName
Type: string

Associated product name for the report resource.

sequenceNumber
Type: long (int|float)

Sequence number to enforce optimistic locking.

series
Type: string

Series for the report resource.

state
Type: string

Current state of the report resource

statusMessage
Type: string

The message associated with the current upload state.

termArn
Type: string

Unique resource ARN for term resource.

uploadState
Type: string

The current state of the document upload.

version
Type: long (int|float)

Version for the report resource.

ReportSummary

Description

Summary for report resource.

Members
acceptanceType
Type: string

Acceptance type for report.

arn
Type: string

ARN for the report resource.

category
Type: string

Category for the report resource.

companyName
Type: string

Associated company name for the report resource.

description
Type: string

Description for the report resource.

id
Type: string

Unique resource ID for the report resource.

name
Type: string

Name for the report resource.

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

Timestamp indicating the report resource effective end.

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

Timestamp indicating the report resource effective start.

productName
Type: string

Associated product name for the report resource.

series
Type: string

Series for the report resource.

state
Type: string

Current state of the report resource.

statusMessage
Type: string

The message associated with the current upload state.

uploadState
Type: string

The current state of the document upload.

version
Type: long (int|float)

Version for the report resource.

ResourceNotFoundException

Description

Request references a resource which does not exist.

Members
message
Required: Yes
Type: string
resourceId
Required: Yes
Type: string

Identifier of the affected resource.

resourceType
Required: Yes
Type: string

Type of the affected resource.

ServiceQuotaExceededException

Description

Request would cause a service quota to be exceeded.

Members
message
Required: Yes
Type: string
quotaCode
Required: Yes
Type: string

Code for the affected quota.

resourceId
Required: Yes
Type: string

Identifier of the affected resource.

resourceType
Required: Yes
Type: string

Type of the affected resource.

serviceCode
Required: Yes
Type: string

Code for the affected service.

ThrottlingException

Description

Request was denied due to request throttling.

Members
message
Required: Yes
Type: string
quotaCode
Type: string

Code for the affected quota.

retryAfterSeconds
Type: int

Number of seconds in which the caller can retry the request.

serviceCode
Type: string

Code for the affected service.

ValidationException

Description

Request fails to satisfy the constraints specified by an AWS service.

Members
fieldList
Type: Array of ValidationExceptionField structures

The field that caused the error, if applicable.

message
Required: Yes
Type: string
reason
Required: Yes
Type: string

Reason the request failed validation.

ValidationExceptionField

Description

Validation exception message and name.

Members
message
Required: Yes
Type: string

Message describing why the field failed validation.

name
Required: Yes
Type: string

Name of validation exception.