SDK for PHP V3

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 */).

CreateComplianceInquiry ( array $params = [] )
Create a new compliance inquiry.
ExportComplianceInquiry ( array $params = [] )
Export a compliance inquiry report.
GetAccountSettings ( array $params = [] )
Get the account settings for Artifact.
GetComplianceInquiryMetadata ( array $params = [] )
Get the metadata for a single compliance inquiry.
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.
ListComplianceInquiries ( array $params = [] )
List available compliance inquiries.
ListComplianceInquiryQueries ( array $params = [] )
List queries within a compliance inquiry.
ListCustomerAgreements ( array $params = [] )
List active customer-agreements applicable to calling identity.
ListReportVersions ( array $params = [] )
List available report versions for a given report.
ListReports ( array $params = [] )
List available reports.
ListTagsForResource ( array $params = [] )
List tags for a resource.
PutAccountSettings ( array $params = [] )
Put the account settings for Artifact.
TagResource ( array $params = [] )
Add tags to a resource.
UntagResource ( array $params = [] )
Remove tags from a resource.

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:

ListComplianceInquiries
ListComplianceInquiryQueries
ListCustomerAgreements
ListReportVersions
ListReports

Operations

CreateComplianceInquiry

$result = $client->createComplianceInquiry([/* ... */]);
$promise = $client->createComplianceInquiryAsync([/* ... */]);

Create a new compliance inquiry.

Parameter Syntax

$result = $client->createComplianceInquiry([
    'clientToken' => '<string>',
    'inquiryContent' => [ // REQUIRED
        'fileContent' => [
            'content' => <string || resource || Psr\Http\Message\StreamInterface>, // REQUIRED
            'fileSections' => ['<string>', ...],
        ],
        'query' => '<string>',
    ],
    'name' => '<string>', // REQUIRED
    'supportMode' => 'AI_ONLY|FULL_SUPPORT',
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

Idempotency token for the request.

inquiryContent
Required: Yes
Type: InquiryContent structure

Content for creating a compliance inquiry - either a single query or file content.

name
Required: Yes
Type: string

Title of the inquiry.

supportMode
Type: string

Support mode for inquiry processing. Only supported for file upload mode. Defaults to AI_ONLY if not specified.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags to associate with the compliance inquiry resource.

Result Syntax

[
    'complianceInquirySummary' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'id' => '<string>',
        'inputSource' => 'TEXT|FILE',
        'name' => '<string>',
        'status' => 'PROCESSING|HUMAN_REVIEW|COMPLETED|FAILED',
        'statusMessage' => 'Compliance inquiry processing is complete.|Malware was detected on the file. Provide a new file and try again.|Compliance inquiry processing is in-progress.|An internal error occurred while processing the inquiry. Try again at a later time.|Human review is in progress.|Compliance inquiry processing is complete. One or more queries encountered errors during processing.',
    ],
    'tags' => ['<string>', ...],
]

Result Details

Members
complianceInquirySummary
Type: InquirySummary structure

Summary information about the created compliance inquiry.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags associated with the compliance inquiry resource.

Errors

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.

Examples

Example 1: Invoke CreateComplianceInquiry operation

Creates a compliance inquiry with a single text query.

$result = $client->createComplianceInquiry([
    'name' => 'My Compliance Inquiry',
    'clientToken' => 'unique-client-token-1234',
    'inquiryContent' => [
        'query' => 'Is my workload compliant with SOC 2?',
    ],
    'supportMode' => 'AI_ONLY',
]);

Result syntax:

[
    'complianceInquirySummary' => [
        'name' => 'My Compliance Inquiry',
        'arn' => 'arn:aws:artifact:us-east-1:123456789012:compliance-inquiry/compliance-inquiry-abcdef0123456789',
        'createdAt' => ,
        'id' => 'compliance-inquiry-abcdef0123456789',
        'inputSource' => 'TEXT',
        'status' => 'PROCESSING',
        'statusMessage' => 'Compliance inquiry processing is in-progress.',
    ],
]

ExportComplianceInquiry

$result = $client->exportComplianceInquiry([/* ... */]);
$promise = $client->exportComplianceInquiryAsync([/* ... */]);

Export a compliance inquiry report.

Parameter Syntax

$result = $client->exportComplianceInquiry([
    'complianceInquiryId' => '<string>', // REQUIRED
    'includeCitations' => true || false,
    'queryIdentifiers' => [<integer>, ...],
]);

Parameter Details

Members
complianceInquiryId
Required: Yes
Type: string

Unique resource ID for the compliance inquiry.

includeCitations
Type: boolean

When true, include citations in the exported document.

queryIdentifiers
Type: Array of ints

List of query identifiers to include in the export.

Result Syntax

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

Result Details

Members
documentPresignedUrl
Type: string

Presigned S3 URL to access the exported compliance inquiry report.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags associated with the compliance inquiry resource.

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.

Examples

Example 1: Invoke ExportComplianceInquiry operation

Exports a compliance inquiry report.

$result = $client->exportComplianceInquiry([
    'complianceInquiryId' => 'compliance-inquiry-abcdef0123456789',
    'includeCitations' => 1,
    'queryIdentifiers' => [
        1,
        2,
    ],
]);

Result syntax:

[
    'documentPresignedUrl' => 'https://s3.us-east-1.amazonaws.com/artifact-bucket/export.pdf?X-Amz-Signature=example',
]

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',
    ],
]

GetComplianceInquiryMetadata

$result = $client->getComplianceInquiryMetadata([/* ... */]);
$promise = $client->getComplianceInquiryMetadataAsync([/* ... */]);

Get the metadata for a single compliance inquiry.

Parameter Syntax

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

Parameter Details

Members
complianceInquiryId
Required: Yes
Type: string

Unique resource ID for the compliance inquiry.

Result Syntax

[
    'complianceInquiryDetail' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'id' => '<string>',
        'inputSource' => 'TEXT|FILE',
        'name' => '<string>',
        'status' => 'PROCESSING|HUMAN_REVIEW|COMPLETED|FAILED',
        'statusMessage' => 'Compliance inquiry processing is complete.|Malware was detected on the file. Provide a new file and try again.|Compliance inquiry processing is in-progress.|An internal error occurred while processing the inquiry. Try again at a later time.|Human review is in progress.|Compliance inquiry processing is complete. One or more queries encountered errors during processing.',
        'supportMode' => 'AI_ONLY|FULL_SUPPORT',
        'updatedAt' => <DateTime>,
    ],
    'tags' => ['<string>', ...],
]

Result Details

Members
complianceInquiryDetail
Type: InquiryDetail structure

Detailed information about the compliance inquiry.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags associated with the compliance inquiry resource.

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.

Examples

Example 1: Invoke GetComplianceInquiryMetadata operation

Gets metadata for a compliance inquiry.

$result = $client->getComplianceInquiryMetadata([
    'complianceInquiryId' => 'compliance-inquiry-abcdef0123456789',
]);

Result syntax:

[
    'complianceInquiryDetail' => [
        'name' => 'My Compliance Inquiry',
        'arn' => 'arn:aws:artifact:us-east-1:123456789012:compliance-inquiry/compliance-inquiry-abcdef0123456789',
        'createdAt' => ,
        'id' => 'compliance-inquiry-abcdef0123456789',
        'inputSource' => 'TEXT',
        'status' => 'COMPLETED',
        'statusMessage' => 'Compliance inquiry processing is complete.',
        'supportMode' => 'AI_ONLY',
        'updatedAt' => ,
    ],
]

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',
]

ListComplianceInquiries

$result = $client->listComplianceInquiries([/* ... */]);
$promise = $client->listComplianceInquiriesAsync([/* ... */]);

List available compliance inquiries.

Parameter Syntax

$result = $client->listComplianceInquiries([
    '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

[
    'complianceInquiries' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'id' => '<string>',
            'inputSource' => 'TEXT|FILE',
            'name' => '<string>',
            'status' => 'PROCESSING|HUMAN_REVIEW|COMPLETED|FAILED',
            'statusMessage' => 'Compliance inquiry processing is complete.|Malware was detected on the file. Provide a new file and try again.|Compliance inquiry processing is in-progress.|An internal error occurred while processing the inquiry. Try again at a later time.|Human review is in progress.|Compliance inquiry processing is complete. One or more queries encountered errors during processing.',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
complianceInquiries
Type: Array of InquirySummary structures

List of compliance inquiry resources.

nextToken
Type: string

Pagination token to request the next page of 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.

Examples

Example 1: Invoke ListComplianceInquiries operation

Lists all compliance inquiries.

$result = $client->listComplianceInquiries([
    'maxResults' => 10,
]);

Result syntax:

[
    'complianceInquiries' => [
        [
            'name' => 'My Compliance Inquiry',
            'arn' => 'arn:aws:artifact:us-east-1:123456789012:compliance-inquiry/compliance-inquiry-abcdef0123456789',
            'createdAt' => ,
            'id' => 'compliance-inquiry-abcdef0123456789',
            'inputSource' => 'TEXT',
            'status' => 'COMPLETED',
            'statusMessage' => 'Compliance inquiry processing is complete.',
        ],
    ],
]

ListComplianceInquiryQueries

$result = $client->listComplianceInquiryQueries([/* ... */]);
$promise = $client->listComplianceInquiryQueriesAsync([/* ... */]);

List queries within a compliance inquiry.

Parameter Syntax

$result = $client->listComplianceInquiryQueries([
    'complianceInquiryId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
complianceInquiryId
Required: Yes
Type: string

Unique resource ID for the compliance inquiry.

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>',
    'queries' => [
        [
            'citations' => [
                [
                    'sourceContent' => '<string>',
                    'sourceLabel' => '<string>',
                    'sourceLink' => '<string>',
                ],
                // ...
            ],
            'createdAt' => <DateTime>,
            'query' => '<string>',
            'queryIdentifier' => <integer>,
            'response' => '<string>',
            'reviewType' => 'HUMAN|AI',
            'status' => 'PROCESSING|COMPLETED|FAILED',
            'statusMessage' => 'Query processing is complete.|Query processing is in-progress.|An internal error occurred while processing the query. Try again at a later time.|Query is pending human review.|Query contains restricted or unsupported content.',
            'updatedResponseVersions' => [
                [
                    'responseText' => '<string>',
                    'timestamp' => <DateTime>,
                ],
                // ...
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

Pagination token to request the next page of resources.

queries
Type: Array of QuerySummary structures

List of compliance query summaries.

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.

Examples

Example 1: Invoke ListComplianceInquiryQueries operation

Lists queries within a compliance inquiry.

$result = $client->listComplianceInquiryQueries([
    'complianceInquiryId' => 'compliance-inquiry-abcdef0123456789',
    'maxResults' => 10,
]);

Result syntax:

[
    'queries' => [
        [
            'citations' => [
                [
                    'sourceContent' => 'Relevant compliance content...',
                    'sourceLabel' => 'SOC 2 Type II Report',
                    'sourceLink' => 'https://example.com/soc2',
                ],
            ],
            'createdAt' => ,
            'query' => 'Is my workload compliant with SOC 2?',
            'queryIdentifier' => 1,
            'response' => 'Based on the available compliance documentation...',
            'reviewType' => 'AI',
            'status' => 'COMPLETED',
            'statusMessage' => 'Query processing is complete.',
        ],
    ],
]

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',
]

ListReportVersions

$result = $client->listReportVersions([/* ... */]);
$promise = $client->listReportVersionsAsync([/* ... */]);

List available report versions for a given report.

Parameter Syntax

$result = $client->listReportVersions([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'reportId' => '<string>', // REQUIRED
]);

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.

reportId
Required: Yes
Type: string

Unique resource ID for the report resource.

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
Required: Yes
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 ListReportVersions operation

The ListReportVersions operation returns a collection of report versions for a given resource.

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

Result syntax:

[
    'nextToken' => 'gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7',
    'reports' => [
        [
            'version' => 1,
            'name' => 'name',
            'arn' => 'arn:aws:artifact:us-east-1::report:report-abcdef0123456789:1',
            'category' => 'category',
            'companyName' => 'companyName',
            'description' => 'description',
            'id' => 'report-abcdef0123456789',
            'periodEnd' => ,
            'periodStart' => ,
            'productName' => 'productName',
            'series' => 'series',
            'state' => 'PUBLISHED',
        ],
    ],
]

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',
        ],
    ],
]

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

List tags for a resource.

Parameter Syntax

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

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags associated with the resource.

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.

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',
    ],
]

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Add tags to a resource.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

Tags to add to the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

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.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Remove tags from a resource.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

tagKeys
Required: Yes
Type: Array of strings

Tag keys to remove from the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

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.

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.

Citation

Description

Citation information for AI-generated responses.

Members
sourceContent
Type: string

Content text from the compliance source.

sourceLabel
Type: string

Label identifying the compliance source.

sourceLink
Type: string

Link to the compliance source.

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.

InquiryContent

Description

Content for creating a compliance inquiry - either a single query or file content.

Members
fileContent
Type: InquiryFileContent structure

File content with multiple questions.

query
Type: string

Single text query for AI-generated answer.

InquiryDetail

Description

Detailed information about a compliance inquiry.

Members
arn
Required: Yes
Type: string

ARN of the compliance inquiry resource.

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

Timestamp indicating when the resource was created.

id
Required: Yes
Type: string

Unique resource ID for the compliance inquiry.

inputSource
Required: Yes
Type: string

Type of inquiry content (text or file).

name
Required: Yes
Type: string

Title of the inquiry.

status
Required: Yes
Type: string

Current processing status of the inquiry.

statusMessage
Required: Yes
Type: string

Status message providing additional context.

supportMode
Type: string

Support mode for this inquiry. AI_ONLY provides AI-generated responses. FULL_SUPPORT includes human expert review.

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

Timestamp indicating when the resource was last modified.

InquiryFileContent

Description

File content structure for compliance inquiry uploads.

Members
content
Required: Yes
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

Binary content of the uploaded file.

fileSections
Type: Array of strings

List of file sections/sheets to process.

InquirySummary

Description

Summary information about a compliance inquiry.

Members
arn
Required: Yes
Type: string

ARN of the compliance inquiry resource.

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

Timestamp indicating when the resource was created.

id
Required: Yes
Type: string

Unique resource ID for the compliance inquiry.

inputSource
Required: Yes
Type: string

Type of inquiry content (text or file).

name
Required: Yes
Type: string

Title of the inquiry.

status
Required: Yes
Type: string

Current processing status of the inquiry.

statusMessage
Required: Yes
Type: string

Status message providing additional context.

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.

QuerySummary

Description

Summary information about a single query within a compliance inquiry.

Members
citations
Type: Array of Citation structures

Supporting citations for the response.

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

Timestamp when the query was created.

query
Required: Yes
Type: string

The actual query text.

queryIdentifier
Required: Yes
Type: int

Sequential identifier of the query within the inquiry.

response
Type: string

Generated response to the query.

reviewType
Type: string

Type of review for the response.

status
Required: Yes
Type: string

Current processing status of the query.

statusMessage
Required: Yes
Type: string

Descriptive status message.

updatedResponseVersions
Type: Array of ResponseVersion structures

Ordered list of response version history entries, oldest first.

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.

ResponseVersion

Description

A versioned snapshot of a response edit.

Members
responseText
Required: Yes
Type: string

The response text for this version.

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

ISO 8601 timestamp of when this edit was made.

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.