SDK for PHP V3

Client: Aws\PartnerCentralChannel\PartnerCentralChannelClient
Service ID: partnercentral-channel
Version: 2024-03-18

This page describes the parameters and results for the operations of the Partner Central Channel API (2024-03-18), and shows how to use the Aws\PartnerCentralChannel\PartnerCentralChannelClient object to call the described operations. This documentation is specific to the 2024-03-18 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 */).

AcceptChannelHandshake ( array $params = [] )
Accepts a pending channel handshake request from another AWS account.
CancelChannelHandshake ( array $params = [] )
Cancels a pending channel handshake request.
CreateChannelHandshake ( array $params = [] )
Creates a new channel handshake request to establish a partnership with another AWS account.
CreateProgramManagementAccount ( array $params = [] )
Creates a new program management account for managing partner relationships.
CreateRelationship ( array $params = [] )
Creates a new partner relationship between accounts.
DeleteProgramManagementAccount ( array $params = [] )
Deletes a program management account.
DeleteRelationship ( array $params = [] )
Deletes a partner relationship.
GetRelationship ( array $params = [] )
Retrieves details of a specific partner relationship.
ListChannelHandshakes ( array $params = [] )
Lists channel handshakes based on specified criteria.
ListProgramManagementAccounts ( array $params = [] )
Lists program management accounts based on specified criteria.
ListRelationships ( array $params = [] )
Lists partner relationships based on specified criteria.
ListTagsForResource ( array $params = [] )
Lists tags associated with a specific resource.
RejectChannelHandshake ( array $params = [] )
Rejects a pending channel handshake request.
TagResource ( array $params = [] )
Adds or updates tags for a specified resource.
UntagResource ( array $params = [] )
Removes tags from a specified resource.
UpdateProgramManagementAccount ( array $params = [] )
Updates the properties of a program management account.
UpdateRelationship ( array $params = [] )
Updates the properties of a partner relationship.

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:

ListChannelHandshakes
ListProgramManagementAccounts
ListRelationships

Operations

AcceptChannelHandshake

$result = $client->acceptChannelHandshake([/* ... */]);
$promise = $client->acceptChannelHandshakeAsync([/* ... */]);

Accepts a pending channel handshake request from another AWS account.

Parameter Syntax

$result = $client->acceptChannelHandshake([
    'catalog' => '<string>', // REQUIRED
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the handshake request.

identifier
Required: Yes
Type: string

The unique identifier of the channel handshake to accept.

Result Syntax

[
    'channelHandshakeDetail' => [
        'arn' => '<string>',
        'id' => '<string>',
        'status' => 'PENDING|ACCEPTED|REJECTED|CANCELED|EXPIRED',
    ],
]

Result Details

Members
channelHandshakeDetail

Details of the accepted channel handshake.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for AcceptChannelHandshake
$result = $client->acceptChannelHandshake([
    'catalog' => 'AWS',
    'identifier' => 'ch-4fj3bd2o3vb91',
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
        'status' => 'ACCEPTED',
    ],
]

CancelChannelHandshake

$result = $client->cancelChannelHandshake([/* ... */]);
$promise = $client->cancelChannelHandshakeAsync([/* ... */]);

Cancels a pending channel handshake request.

Parameter Syntax

$result = $client->cancelChannelHandshake([
    'catalog' => '<string>', // REQUIRED
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the handshake request.

identifier
Required: Yes
Type: string

The unique identifier of the channel handshake to cancel.

Result Syntax

[
    'channelHandshakeDetail' => [
        'arn' => '<string>',
        'id' => '<string>',
        'status' => 'PENDING|ACCEPTED|REJECTED|CANCELED|EXPIRED',
    ],
]

Result Details

Members
channelHandshakeDetail

Details of the canceled channel handshake.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for CancelChannelHandshake
$result = $client->cancelChannelHandshake([
    'catalog' => 'AWS',
    'identifier' => 'ch-4fj3bd2o3vb91',
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
        'status' => 'CANCELED',
    ],
]

CreateChannelHandshake

$result = $client->createChannelHandshake([/* ... */]);
$promise = $client->createChannelHandshakeAsync([/* ... */]);

Creates a new channel handshake request to establish a partnership with another AWS account.

Parameter Syntax

$result = $client->createChannelHandshake([
    'associatedResourceIdentifier' => '<string>', // REQUIRED
    'catalog' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'handshakeType' => 'START_SERVICE_PERIOD|REVOKE_SERVICE_PERIOD|PROGRAM_MANAGEMENT_ACCOUNT', // REQUIRED
    'payload' => [
        'revokeServicePeriodPayload' => [
            'note' => '<string>',
            'programManagementAccountIdentifier' => '<string>', // REQUIRED
        ],
        'startServicePeriodPayload' => [
            'endDate' => <integer || string || DateTime>,
            'minimumNoticeDays' => '<string>',
            'note' => '<string>',
            'programManagementAccountIdentifier' => '<string>', // REQUIRED
            'servicePeriodType' => 'MINIMUM_NOTICE_PERIOD|FIXED_COMMITMENT_PERIOD', // REQUIRED
        ],
    ],
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
associatedResourceIdentifier
Required: Yes
Type: string

The identifier of the resource associated with this handshake.

catalog
Required: Yes
Type: string

The catalog identifier for the handshake request.

clientToken
Type: string

A unique, case-sensitive identifier to ensure idempotency of the request.

handshakeType
Required: Yes
Type: string

The type of handshake to create (e.g., start service period, revoke service period).

payload
Type: ChannelHandshakePayload structure

The payload containing specific details for the handshake type.

tags
Type: Array of Tag structures

Key-value pairs to associate with the channel handshake.

Result Syntax

[
    'channelHandshakeDetail' => [
        'arn' => '<string>',
        'id' => '<string>',
    ],
]

Result Details

Members
channelHandshakeDetail

Details of the created channel handshake.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota limit.

Examples

Example 1: Example for CreateChannelHandshake - START_SERVICE_PERIOD with Minimum Notice Period
$result = $client->createChannelHandshake([
    'associatedResourceIdentifier' => 'rs-abc123def456g',
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'handshakeType' => 'START_SERVICE_PERIOD',
    'payload' => [
        'startServicePeriodPayload' => [
            'minimumNoticeDays' => '14',
            'note' => 'Optional Note',
            'programManagementAccountIdentifier' => 'pma-abcdef123456g',
            'servicePeriodType' => 'MINIMUM_NOTICE_PERIOD',
        ],
    ],
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
    ],
]
Example 2: Example for CreateChannelHandshake - START_SERVICE_PERIOD with Fixed Commitment Period
$result = $client->createChannelHandshake([
    'associatedResourceIdentifier' => 'rs-abc123def456g',
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'handshakeType' => 'START_SERVICE_PERIOD',
    'payload' => [
        'startServicePeriodPayload' => [
            'endDate' => ,
            'note' => 'Optional Note',
            'programManagementAccountIdentifier' => 'pma-abcdef123456g',
            'servicePeriodType' => 'FIXED_COMMITMENT_PERIOD',
        ],
    ],
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
    ],
]
Example 3: Example for CreateChannelHandshake - REVOKE_SERVICE_PERIOD
$result = $client->createChannelHandshake([
    'associatedResourceIdentifier' => 'rs-abc123def456g',
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'handshakeType' => 'REVOKE_SERVICE_PERIOD',
    'payload' => [
        'revokeServicePeriodPayload' => [
            'note' => 'Optional Note',
            'programManagementAccountIdentifier' => 'pma-abcdef123456g',
        ],
    ],
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
    ],
]
Example 4: Example for CreateChannelHandshake - PROGRAM_MANAGEMENT_ACCOUNT
$result = $client->createChannelHandshake([
    'associatedResourceIdentifier' => 'pma-123abc456def7',
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'handshakeType' => 'PROGRAM_MANAGEMENT_ACCOUNT',
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
    ],
]

CreateProgramManagementAccount

$result = $client->createProgramManagementAccount([/* ... */]);
$promise = $client->createProgramManagementAccountAsync([/* ... */]);

Creates a new program management account for managing partner relationships.

Parameter Syntax

$result = $client->createProgramManagementAccount([
    'accountId' => '<string>', // REQUIRED
    'catalog' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'displayName' => '<string>', // REQUIRED
    'program' => 'SOLUTION_PROVIDER|DISTRIBUTION|DISTRIBUTION_SELLER', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
accountId
Required: Yes
Type: string

The AWS account ID to associate with the program management account.

catalog
Required: Yes
Type: string

The catalog identifier for the program management account.

clientToken
Type: string

A unique, case-sensitive identifier to ensure idempotency of the request.

displayName
Required: Yes
Type: string

A human-readable name for the program management account.

program
Required: Yes
Type: string

The program type for the management account.

tags
Type: Array of Tag structures

Key-value pairs to associate with the program management account.

Result Syntax

[
    'programManagementAccountDetail' => [
        'arn' => '<string>',
        'id' => '<string>',
    ],
]

Result Details

Members
programManagementAccountDetail

Details of the created program management account.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota limit.

Examples

Example 1: Example for CreateProgramManagementAccount
$result = $client->createProgramManagementAccount([
    'accountId' => '111122223333',
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'displayName' => 'TestDisplayName',
    'program' => 'SOLUTION_PROVIDER',
]);

Result syntax:

[
    'programManagementAccountDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8',
        'id' => 'pma-u8ic702rtzng8',
    ],
]

CreateRelationship

$result = $client->createRelationship([/* ... */]);
$promise = $client->createRelationshipAsync([/* ... */]);

Creates a new partner relationship between accounts.

Parameter Syntax

$result = $client->createRelationship([
    'associatedAccountId' => '<string>', // REQUIRED
    'associationType' => 'DOWNSTREAM_SELLER|END_CUSTOMER|INTERNAL', // REQUIRED
    'catalog' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'displayName' => '<string>', // REQUIRED
    'programManagementAccountIdentifier' => '<string>', // REQUIRED
    'requestedSupportPlan' => [
        'partnerLedSupport' => [
            'coverage' => 'ENTIRE_ORGANIZATION|MANAGEMENT_ACCOUNT_ONLY', // REQUIRED
            'provider' => 'DISTRIBUTOR|DISTRIBUTION_SELLER',
            'tamLocation' => '<string>', // REQUIRED
        ],
        'resoldBusiness' => [
            'coverage' => 'ENTIRE_ORGANIZATION|MANAGEMENT_ACCOUNT_ONLY', // REQUIRED
        ],
        'resoldEnterprise' => [
            'chargeAccountId' => '<string>',
            'coverage' => 'ENTIRE_ORGANIZATION|MANAGEMENT_ACCOUNT_ONLY', // REQUIRED
            'tamLocation' => '<string>', // REQUIRED
        ],
    ],
    'resaleAccountModel' => 'DISTRIBUTOR|END_CUSTOMER|SOLUTION_PROVIDER',
    'sector' => 'COMMERCIAL|GOVERNMENT|GOVERNMENT_EXCEPTION', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
associatedAccountId
Required: Yes
Type: string

The AWS account ID to associate in this relationship.

associationType
Required: Yes
Type: string

The type of association for the relationship (e.g., reseller, distributor).

catalog
Required: Yes
Type: string

The catalog identifier for the relationship.

clientToken
Type: string

A unique, case-sensitive identifier to ensure idempotency of the request.

displayName
Required: Yes
Type: string

A human-readable name for the relationship.

programManagementAccountIdentifier
Required: Yes
Type: string

The identifier of the program management account for this relationship.

requestedSupportPlan
Type: SupportPlan structure

The support plan requested for this relationship.

resaleAccountModel
Type: string

The resale account model for the relationship.

sector
Required: Yes
Type: string

The business sector for the relationship.

tags
Type: Array of Tag structures

Key-value pairs to associate with the relationship.

Result Syntax

[
    'relationshipDetail' => [
        'arn' => '<string>',
        'id' => '<string>',
    ],
]

Result Details

Members
relationshipDetail
Type: CreateRelationshipDetail structure

Details of the created relationship.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota limit.

Examples

Example 1: Example for CreateRelationship
$result = $client->createRelationship([
    'associatedAccountId' => '987654321012',
    'associationType' => 'DOWNSTREAM_SELLER',
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'displayName' => 'TestDisplayName',
    'programManagementAccountIdentifier' => 'pma-u8ic702rtzng8',
    'resaleAccountModel' => 'END_CUSTOMER',
    'sector' => 'COMMERCIAL',
]);

Result syntax:

[
    'relationshipDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8/relationship/rs-l9o4fj3b5zb91',
        'id' => 'rs-l9o4fj3b5zb91',
    ],
]

DeleteProgramManagementAccount

$result = $client->deleteProgramManagementAccount([/* ... */]);
$promise = $client->deleteProgramManagementAccountAsync([/* ... */]);

Deletes a program management account.

Parameter Syntax

$result = $client->deleteProgramManagementAccount([
    'catalog' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the program management account.

clientToken
Type: string

A unique, case-sensitive identifier to ensure idempotency of the request.

identifier
Required: Yes
Type: string

The unique identifier of the program management account to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

Examples

Example 1: Example for DeleteProgramManagementAccount
$result = $client->deleteProgramManagementAccount([
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'identifier' => 'pma-u8ic702rtzng8',
]);

Result syntax:

[
]

DeleteRelationship

$result = $client->deleteRelationship([/* ... */]);
$promise = $client->deleteRelationshipAsync([/* ... */]);

Deletes a partner relationship.

Parameter Syntax

$result = $client->deleteRelationship([
    'catalog' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'identifier' => '<string>', // REQUIRED
    'programManagementAccountIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the relationship.

clientToken
Type: string

A unique, case-sensitive identifier to ensure idempotency of the request.

identifier
Required: Yes
Type: string

The unique identifier of the relationship to delete.

programManagementAccountIdentifier
Required: Yes
Type: string

The identifier of the program management account associated with the relationship.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

Examples

Example 1: Example for DeleteRelationship
$result = $client->deleteRelationship([
    'catalog' => 'AWS',
    'clientToken' => 'clientToken',
    'identifier' => 'rs-l9o4fj3b5zb91',
    'programManagementAccountIdentifier' => 'pma-u8ic702rtzng8',
]);

Result syntax:

[
]

GetRelationship

$result = $client->getRelationship([/* ... */]);
$promise = $client->getRelationshipAsync([/* ... */]);

Retrieves details of a specific partner relationship.

Parameter Syntax

$result = $client->getRelationship([
    'catalog' => '<string>', // REQUIRED
    'identifier' => '<string>', // REQUIRED
    'programManagementAccountIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the relationship.

identifier
Required: Yes
Type: string

The unique identifier of the relationship to retrieve.

programManagementAccountIdentifier
Required: Yes
Type: string

The identifier of the program management account associated with the relationship.

Result Syntax

[
    'relationshipDetail' => [
        'arn' => '<string>',
        'associatedAccountId' => '<string>',
        'associationType' => 'DOWNSTREAM_SELLER|END_CUSTOMER|INTERNAL',
        'catalog' => '<string>',
        'createdAt' => <DateTime>,
        'displayName' => '<string>',
        'id' => '<string>',
        'programManagementAccountId' => '<string>',
        'resaleAccountModel' => 'DISTRIBUTOR|END_CUSTOMER|SOLUTION_PROVIDER',
        'revision' => '<string>',
        'sector' => 'COMMERCIAL|GOVERNMENT|GOVERNMENT_EXCEPTION',
        'startDate' => <DateTime>,
        'updatedAt' => <DateTime>,
    ],
]

Result Details

Members
relationshipDetail
Type: RelationshipDetail structure

Details of the requested relationship.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for GetRelationship
$result = $client->getRelationship([
    'catalog' => 'AWS',
    'identifier' => 'rs-l9o4fj3b5zb91',
    'programManagementAccountIdentifier' => 'pma-u8ic702rtzng8',
]);

Result syntax:

[
    'relationshipDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8/relationship/rs-l9o4fj3b5zb91',
        'associatedAccountId' => '987654321012',
        'associationType' => 'DOWNSTREAM_SELLER',
        'createdAt' => ,
        'displayName' => 'TestDisplayName',
        'id' => 'rs-l9o4fj3b5zb91',
        'programManagementAccountId' => 'pma-u8ic702rtzng8',
        'resaleAccountModel' => 'END_CUSTOMER',
        'revision' => '3',
        'sector' => 'COMMERCIAL',
        'updatedAt' => ,
    ],
]

ListChannelHandshakes

$result = $client->listChannelHandshakes([/* ... */]);
$promise = $client->listChannelHandshakesAsync([/* ... */]);

Lists channel handshakes based on specified criteria.

Parameter Syntax

$result = $client->listChannelHandshakes([
    'associatedResourceIdentifiers' => ['<string>', ...],
    'catalog' => '<string>', // REQUIRED
    'handshakeType' => 'START_SERVICE_PERIOD|REVOKE_SERVICE_PERIOD|PROGRAM_MANAGEMENT_ACCOUNT', // REQUIRED
    'handshakeTypeFilters' => [
        'programManagementAccountTypeFilters' => [
            'programs' => ['<string>', ...],
        ],
        'revokeServicePeriodTypeFilters' => [
            'servicePeriodTypes' => ['<string>', ...],
        ],
        'startServicePeriodTypeFilters' => [
            'servicePeriodTypes' => ['<string>', ...],
        ],
    ],
    'handshakeTypeSort' => [
        'programManagementAccountTypeSort' => [
            'sortBy' => 'UpdatedAt', // REQUIRED
            'sortOrder' => 'Ascending|Descending', // REQUIRED
        ],
        'revokeServicePeriodTypeSort' => [
            'sortBy' => 'UpdatedAt', // REQUIRED
            'sortOrder' => 'Ascending|Descending', // REQUIRED
        ],
        'startServicePeriodTypeSort' => [
            'sortBy' => 'UpdatedAt', // REQUIRED
            'sortOrder' => 'Ascending|Descending', // REQUIRED
        ],
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'participantType' => 'SENDER|RECEIVER', // REQUIRED
    'statuses' => ['<string>', ...],
]);

Parameter Details

Members
associatedResourceIdentifiers
Type: Array of strings

Filter by associated resource identifiers.

catalog
Required: Yes
Type: string

The catalog identifier to filter handshakes.

handshakeType
Required: Yes
Type: string

Filter results by handshake type.

handshakeTypeFilters

Type-specific filters for handshakes.

handshakeTypeSort

Type-specific sorting options for handshakes.

maxResults
Type: int

The maximum number of results to return in a single call.

nextToken
Type: string

Token for retrieving the next page of results.

participantType
Required: Yes
Type: string

Filter by participant type (sender or receiver).

statuses
Type: Array of strings

Filter results by handshake status.

Result Syntax

[
    'items' => [
        [
            'arn' => '<string>',
            'associatedResourceId' => '<string>',
            'catalog' => '<string>',
            'createdAt' => <DateTime>,
            'detail' => [
                'programManagementAccountHandshakeDetail' => [
                    'program' => 'SOLUTION_PROVIDER|DISTRIBUTION|DISTRIBUTION_SELLER',
                ],
                'revokeServicePeriodHandshakeDetail' => [
                    'endDate' => <DateTime>,
                    'minimumNoticeDays' => '<string>',
                    'note' => '<string>',
                    'servicePeriodType' => 'MINIMUM_NOTICE_PERIOD|FIXED_COMMITMENT_PERIOD',
                    'startDate' => <DateTime>,
                ],
                'startServicePeriodHandshakeDetail' => [
                    'endDate' => <DateTime>,
                    'minimumNoticeDays' => '<string>',
                    'note' => '<string>',
                    'servicePeriodType' => 'MINIMUM_NOTICE_PERIOD|FIXED_COMMITMENT_PERIOD',
                    'startDate' => <DateTime>,
                ],
            ],
            'handshakeType' => 'START_SERVICE_PERIOD|REVOKE_SERVICE_PERIOD|PROGRAM_MANAGEMENT_ACCOUNT',
            'id' => '<string>',
            'ownerAccountId' => '<string>',
            'receiverAccountId' => '<string>',
            'senderAccountId' => '<string>',
            'senderDisplayName' => '<string>',
            'status' => 'PENDING|ACCEPTED|REJECTED|CANCELED|EXPIRED',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of ChannelHandshakeSummary structures

List of channel handshakes matching the criteria.

nextToken
Type: string

Token for retrieving the next page of results, if available.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for ListChannelHandshakes - START_SERVICE_PERIOD
$result = $client->listChannelHandshakes([
    'associatedResourceIdentifiers' => [
        'rs-123abc456def7',
    ],
    'catalog' => 'AWS',
    'handshakeType' => 'START_SERVICE_PERIOD',
    'handshakeTypeFilters' => [
        'startServicePeriodTypeFilters' => [
            'servicePeriodTypes' => [
                'FIXED_COMMITMENT_PERIOD',
            ],
        ],
    ],
    'handshakeTypeSort' => [
        'startServicePeriodTypeSort' => [
            'sortBy' => 'UpdatedAt',
            'sortOrder' => 'Descending',
        ],
    ],
    'participantType' => 'SENDER',
    'statuses' => [
        'ACCEPTED',
    ],
]);

Result syntax:

[
    'items' => [
        [
            'arn' => 'arn:aws:partnercentral:us-east-1:111122223333:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
            'associatedResourceId' => 'rs-u8ic702rtfew1',
            'catalog' => 'AWS',
            'createdAt' => ,
            'detail' => [
                'startServicePeriodHandshakeDetail' => [
                    'minimumNoticeDays' => '14',
                    'note' => 'Optional_Note',
                    'servicePeriodType' => 'MINIMUM_NOTICE_PERIOD',
                ],
            ],
            'handshakeType' => 'START_SERVICE_PERIOD',
            'id' => 'ch-4fj3bd2o3vb91',
            'ownerAccountId' => '111122223333',
            'receiverAccountId' => '333322221111',
            'senderAccountId' => '111122224444',
            'status' => 'PENDING',
            'updatedAt' => ,
        ],
        [
            'arn' => 'arn:aws:partnercentral:us-east-1:111122223333:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb92',
            'associatedResourceId' => 'rs-u8ic702rtfew1',
            'catalog' => 'AWS',
            'createdAt' => ,
            'detail' => [
                'startServicePeriodHandshakeDetail' => [
                    'endDate' => ,
                    'note' => 'Optional_Note',
                    'servicePeriodType' => 'FIXED_COMMITMENT_PERIOD',
                    'startDate' => ,
                ],
            ],
            'handshakeType' => 'START_SERVICE_PERIOD',
            'id' => 'ch-4fj3bd2o3vb92',
            'ownerAccountId' => '111122223333',
            'receiverAccountId' => '333322221111',
            'senderAccountId' => '111122224444',
            'status' => 'PENDING',
            'updatedAt' => ,
        ],
    ],
    'nextToken' => 'nextToken',
]
Example 2: Example for ListChannelHandshakes - REVOKE_SERVICE_PERIOD
$result = $client->listChannelHandshakes([
    'associatedResourceIdentifiers' => [
        'rs-123abc456def7',
    ],
    'catalog' => 'AWS',
    'handshakeType' => 'REVOKE_SERVICE_PERIOD',
    'handshakeTypeFilters' => [
        'revokeServicePeriodTypeFilters' => [
            'servicePeriodTypes' => [
                'MINIMUM_NOTICE_PERIOD',
            ],
        ],
    ],
    'handshakeTypeSort' => [
        'revokeServicePeriodTypeSort' => [
            'sortBy' => 'UpdatedAt',
            'sortOrder' => 'Descending',
        ],
    ],
    'participantType' => 'SENDER',
    'statuses' => [
        'ACCEPTED',
    ],
]);

Result syntax:

[
    'items' => [
        [
            'arn' => 'arn:aws:partnercentral:us-east-1:111122223333:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
            'associatedResourceId' => 'rs-u8ic702rtfew1',
            'catalog' => 'AWS',
            'createdAt' => ,
            'detail' => [
                'revokeServicePeriodHandshakeDetail' => [
                    'minimumNoticeDays' => '14',
                    'note' => 'Optional_Note',
                    'servicePeriodType' => 'MINIMUM_NOTICE_PERIOD',
                ],
            ],
            'handshakeType' => 'REVOKE_SERVICE_PERIOD',
            'id' => 'ch-4fj3bd2o3vb91',
            'ownerAccountId' => '111122223333',
            'receiverAccountId' => '333322221111',
            'senderAccountId' => '111122224444',
            'status' => 'PENDING',
            'updatedAt' => ,
        ],
    ],
    'nextToken' => 'nextToken',
]
Example 3: Example for ListChannelHandshakes - PROGRAM_MANAGEMENT_ACCOUNT
$result = $client->listChannelHandshakes([
    'associatedResourceIdentifiers' => [
        'pma-123abc456def7',
    ],
    'catalog' => 'AWS',
    'handshakeType' => 'PROGRAM_MANAGEMENT_ACCOUNT',
    'handshakeTypeFilters' => [
        'programManagementAccountTypeFilters' => [
            'programs' => [
                'SOLUTION_PROVIDER',
            ],
        ],
    ],
    'handshakeTypeSort' => [
        'programManagementAccountTypeSort' => [
            'sortBy' => 'UpdatedAt',
            'sortOrder' => 'Descending',
        ],
    ],
    'maxResults' => 20,
    'nextToken' => 'nextToken',
    'participantType' => 'SENDER',
    'statuses' => [
        'ACCEPTED',
    ],
]);

Result syntax:

[
    'items' => [
        [
            'arn' => 'arn:aws:partnercentral:us-east-1:111122223333:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
            'associatedResourceId' => 'pma-u8ic702rtfew1',
            'catalog' => 'AWS',
            'createdAt' => ,
            'detail' => [
                'programManagementAccountHandshakeDetail' => [
                    'program' => 'SOLUTION_PROVIDER',
                ],
            ],
            'handshakeType' => 'PROGRAM_MANAGEMENT_ACCOUNT',
            'id' => 'ch-4fj3bd2o3vb91',
            'ownerAccountId' => '111122223333',
            'receiverAccountId' => '333322221111',
            'senderAccountId' => '111122223333',
            'status' => 'PENDING',
            'updatedAt' => ,
        ],
    ],
    'nextToken' => 'nextToken',
]

ListProgramManagementAccounts

$result = $client->listProgramManagementAccounts([/* ... */]);
$promise = $client->listProgramManagementAccountsAsync([/* ... */]);

Lists program management accounts based on specified criteria.

Parameter Syntax

$result = $client->listProgramManagementAccounts([
    'accountIds' => ['<string>', ...],
    'catalog' => '<string>', // REQUIRED
    'displayNames' => ['<string>', ...],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'programs' => ['<string>', ...],
    'sort' => [
        'sortBy' => 'UpdatedAt', // REQUIRED
        'sortOrder' => 'Ascending|Descending', // REQUIRED
    ],
    'statuses' => ['<string>', ...],
]);

Parameter Details

Members
accountIds
Type: Array of strings

Filter by AWS account IDs.

catalog
Required: Yes
Type: string

The catalog identifier to filter accounts.

displayNames
Type: Array of strings

Filter by display names.

maxResults
Type: int

The maximum number of results to return in a single call.

nextToken
Type: string

Token for retrieving the next page of results.

programs
Type: Array of strings

Filter by program types.

sort

Sorting options for the results.

statuses
Type: Array of strings

Filter by program management account statuses.

Result Syntax

[
    'items' => [
        [
            'accountId' => '<string>',
            'arn' => '<string>',
            'catalog' => '<string>',
            'createdAt' => <DateTime>,
            'displayName' => '<string>',
            'id' => '<string>',
            'program' => 'SOLUTION_PROVIDER|DISTRIBUTION|DISTRIBUTION_SELLER',
            'revision' => '<string>',
            'startDate' => <DateTime>,
            'status' => 'PENDING|ACTIVE|INACTIVE',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of ProgramManagementAccountSummary structures

List of program management accounts matching the criteria.

nextToken
Type: string

Token for retrieving the next page of results, if available.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for ListProgramManagementAccounts
$result = $client->listProgramManagementAccounts([
    'accountIds' => [
        '111122223333',
    ],
    'catalog' => 'AWS',
    'displayNames' => [
        'TestDisplayName',
    ],
    'maxResults' => 20,
    'programs' => [
        'SOLUTION_PROVIDER',
    ],
    'sort' => [
        'sortBy' => 'UpdatedAt',
        'sortOrder' => 'Descending',
    ],
    'statuses' => [
        'PENDING',
    ],
]);

Result syntax:

[
    'items' => [
        [
            'accountId' => '111122223333',
            'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8',
            'catalog' => 'AWS',
            'createdAt' => ,
            'displayName' => 'TestDisplayName',
            'id' => 'pma-u8ic702rtzng8',
            'program' => 'SOLUTION_PROVIDER',
            'revision' => '4',
            'status' => 'PENDING',
            'updatedAt' => ,
        ],
    ],
    'nextToken' => 'nextToken',
]

ListRelationships

$result = $client->listRelationships([/* ... */]);
$promise = $client->listRelationshipsAsync([/* ... */]);

Lists partner relationships based on specified criteria.

Parameter Syntax

$result = $client->listRelationships([
    'associatedAccountIds' => ['<string>', ...],
    'associationTypes' => ['<string>', ...],
    'catalog' => '<string>', // REQUIRED
    'displayNames' => ['<string>', ...],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'programManagementAccountIdentifiers' => ['<string>', ...],
    'sort' => [
        'sortBy' => 'UpdatedAt', // REQUIRED
        'sortOrder' => 'Ascending|Descending', // REQUIRED
    ],
]);

Parameter Details

Members
associatedAccountIds
Type: Array of strings

Filter by associated AWS account IDs.

associationTypes
Type: Array of strings

Filter by association types.

catalog
Required: Yes
Type: string

The catalog identifier to filter relationships.

displayNames
Type: Array of strings

Filter by display names.

maxResults
Type: int

The maximum number of results to return in a single call.

nextToken
Type: string

Token for retrieving the next page of results.

programManagementAccountIdentifiers
Type: Array of strings

Filter by program management account identifiers.

sort
Type: ListRelationshipsSortBase structure

Sorting options for the results.

Result Syntax

[
    'items' => [
        [
            'arn' => '<string>',
            'associatedAccountId' => '<string>',
            'associationType' => 'DOWNSTREAM_SELLER|END_CUSTOMER|INTERNAL',
            'catalog' => '<string>',
            'createdAt' => <DateTime>,
            'displayName' => '<string>',
            'id' => '<string>',
            'programManagementAccountId' => '<string>',
            'revision' => '<string>',
            'sector' => 'COMMERCIAL|GOVERNMENT|GOVERNMENT_EXCEPTION',
            'startDate' => <DateTime>,
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Type: Array of RelationshipSummary structures

List of relationships matching the criteria.

nextToken
Type: string

Token for retrieving the next page of results, if available.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for ListRelationships
$result = $client->listRelationships([
    'associatedAccountIds' => [
        '123456789012',
    ],
    'associationTypes' => [
        'DOWNSTREAM_SELLER',
    ],
    'catalog' => 'AWS',
    'displayNames' => [
        'TestDisplayName',
    ],
    'maxResults' => 100,
    'nextToken' => 'nextToken',
    'programManagementAccountIdentifiers' => [
        'pma-u8ic702rtzng8',
    ],
    'sort' => [
        'sortBy' => 'UpdatedAt',
        'sortOrder' => 'Descending',
    ],
]);

Result syntax:

[
    'items' => [
        [
            'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8/relationship/rs-l9o4fj3b5zb91',
            'associatedAccountId' => '987654321012',
            'associationType' => 'DOWNSTREAM_SELLER',
            'createdAt' => ,
            'displayName' => 'TestDisplayName',
            'id' => 'rs-l9o4fj3b5zb91',
            'programManagementAccountId' => 'pma-u8ic702rtzng8',
            'revision' => '3',
            'updatedAt' => ,
        ],
    ],
    'nextToken' => 'nextToken',
]

ListTagsForResource

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

Lists tags associated with a specific 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 to list tags for.

Result Syntax

[
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
tags
Type: Array of Tag structures

Key-value pairs associated with the resource.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for ListTagsForResource
$result = $client->listTagsForResource([
    'resourceArn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8',
]);

Result syntax:

[
    'tags' => [
        [
            'key' => 'ExampleKey',
            'value' => 'ExampleValue',
        ],
    ],
]

RejectChannelHandshake

$result = $client->rejectChannelHandshake([/* ... */]);
$promise = $client->rejectChannelHandshakeAsync([/* ... */]);

Rejects a pending channel handshake request.

Parameter Syntax

$result = $client->rejectChannelHandshake([
    'catalog' => '<string>', // REQUIRED
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the handshake request.

identifier
Required: Yes
Type: string

The unique identifier of the channel handshake to reject.

Result Syntax

[
    'channelHandshakeDetail' => [
        'arn' => '<string>',
        'id' => '<string>',
        'status' => 'PENDING|ACCEPTED|REJECTED|CANCELED|EXPIRED',
    ],
]

Result Details

Members
channelHandshakeDetail

Details of the rejected channel handshake.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

Examples

Example 1: Example for RejectChannelHandshake
$result = $client->rejectChannelHandshake([
    'catalog' => 'AWS',
    'identifier' => 'ch-4fj3bd2o3vb91',
]);

Result syntax:

[
    'channelHandshakeDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
        'id' => 'ch-4fj3bd2o3vb91',
        'status' => 'REJECTED',
    ],
]

TagResource

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

Adds or updates tags for a specified resource.

Parameter Syntax

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

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to tag.

tags
Required: Yes
Type: Array of Tag structures

Key-value pairs to associate with the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

Examples

Example 1: Example for TagResource
$result = $client->tagResource([
    'resourceArn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8/relationship/rs-l9o4fj3b5zb91',
    'tags' => [
        [
            'key' => 'ExampleKey',
            'value' => 'ExampleValue',
        ],
    ],
]);

Result syntax:

[
]

UntagResource

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

Removes tags from a specified 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 to remove tags from.

tagKeys
Required: Yes
Type: Array of strings

The keys of the tags to remove from the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

Examples

Example 1: Example for UntagResource
$result = $client->untagResource([
    'resourceArn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/channel-handshake/ch-4fj3bd2o3vb91',
    'tagKeys' => [
        'ExampleKey',
    ],
]);

Result syntax:

[
]

UpdateProgramManagementAccount

$result = $client->updateProgramManagementAccount([/* ... */]);
$promise = $client->updateProgramManagementAccountAsync([/* ... */]);

Updates the properties of a program management account.

Parameter Syntax

$result = $client->updateProgramManagementAccount([
    'catalog' => '<string>', // REQUIRED
    'displayName' => '<string>',
    'identifier' => '<string>', // REQUIRED
    'revision' => '<string>',
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the program management account.

displayName
Type: string

The new display name for the program management account.

identifier
Required: Yes
Type: string

The unique identifier of the program management account to update.

revision
Type: string

The current revision number of the program management account.

Result Syntax

[
    'programManagementAccountDetail' => [
        'arn' => '<string>',
        'displayName' => '<string>',
        'id' => '<string>',
        'revision' => '<string>',
    ],
]

Result Details

Members
programManagementAccountDetail

Details of the updated program management account.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

Examples

Example 1: Example for UpdateProgramManagementAccount
$result = $client->updateProgramManagementAccount([
    'catalog' => 'AWS',
    'displayName' => 'TestDisplayName',
    'identifier' => 'pma-u8ic702rtzng8',
    'revision' => '3',
]);

Result syntax:

[
    'programManagementAccountDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8',
        'displayName' => 'TestDisplayName',
        'id' => 'pma-u8ic702rtzng8',
        'revision' => '4',
    ],
]

UpdateRelationship

$result = $client->updateRelationship([/* ... */]);
$promise = $client->updateRelationshipAsync([/* ... */]);

Updates the properties of a partner relationship.

Parameter Syntax

$result = $client->updateRelationship([
    'catalog' => '<string>', // REQUIRED
    'displayName' => '<string>',
    'identifier' => '<string>', // REQUIRED
    'programManagementAccountIdentifier' => '<string>', // REQUIRED
    'requestedSupportPlan' => [
        'partnerLedSupport' => [
            'coverage' => 'ENTIRE_ORGANIZATION|MANAGEMENT_ACCOUNT_ONLY', // REQUIRED
            'provider' => 'DISTRIBUTOR|DISTRIBUTION_SELLER',
            'tamLocation' => '<string>', // REQUIRED
        ],
        'resoldBusiness' => [
            'coverage' => 'ENTIRE_ORGANIZATION|MANAGEMENT_ACCOUNT_ONLY', // REQUIRED
        ],
        'resoldEnterprise' => [
            'chargeAccountId' => '<string>',
            'coverage' => 'ENTIRE_ORGANIZATION|MANAGEMENT_ACCOUNT_ONLY', // REQUIRED
            'tamLocation' => '<string>', // REQUIRED
        ],
    ],
    'revision' => '<string>',
]);

Parameter Details

Members
catalog
Required: Yes
Type: string

The catalog identifier for the relationship.

displayName
Type: string

The new display name for the relationship.

identifier
Required: Yes
Type: string

The unique identifier of the relationship to update.

programManagementAccountIdentifier
Required: Yes
Type: string

The identifier of the program management account associated with the relationship.

requestedSupportPlan
Type: SupportPlan structure

The updated support plan for the relationship.

revision
Type: string

The current revision number of the relationship.

Result Syntax

[
    'relationshipDetail' => [
        'arn' => '<string>',
        'displayName' => '<string>',
        'id' => '<string>',
        'revision' => '<string>',
    ],
]

Result Details

Members
relationshipDetail
Type: UpdateRelationshipDetail structure

Details of the updated relationship.

Errors

ResourceNotFoundException:

The specified resource was not found.

InternalServerException:

An internal server error occurred while processing the request.

ValidationException:

The request failed validation due to invalid input parameters.

ThrottlingException:

The request was throttled due to too many requests being sent in a short period.

AccessDeniedException:

The request was denied due to insufficient permissions.

ConflictException:

The request could not be completed due to a conflict with the current state of the resource.

Examples

Example 1: Example for UpdateRelationship
$result = $client->updateRelationship([
    'catalog' => 'AWS',
    'displayName' => 'TestDisplayName',
    'identifier' => 'rs-l9o4fj3b5zb91',
    'programManagementAccountIdentifier' => 'pma-u8ic702rtzng8',
    'revision' => '3',
]);

Result syntax:

[
    'relationshipDetail' => [
        'arn' => 'arn:aws:partnercentral:us-east-1:123456789012:catalog/AWS/program-management-account/pma-u8ic702rtzng8/relationship/rs-l9o4fj3b5zb91',
        'displayName' => 'TestDisplayName',
        'id' => 'rs-l9o4fj3b5zb91',
        'revision' => '4',
    ],
]

Shapes

AcceptChannelHandshakeDetail

Description

Contains details about an accepted channel handshake.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the accepted handshake.

id
Type: string

The unique identifier of the accepted handshake.

status
Type: string

The current status of the accepted handshake.

AccessDeniedException

Description

The request was denied due to insufficient permissions.

Members
message
Required: Yes
Type: string

A message describing the access denial.

reason
Type: string

The reason for the access denial.

CancelChannelHandshakeDetail

Description

Contains details about a canceled channel handshake.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the canceled handshake.

id
Type: string

The unique identifier of the canceled handshake.

status
Type: string

The current status of the canceled handshake.

ChannelHandshakePayload

Description

Contains the payload data for different types of channel handshakes.

Members
revokeServicePeriodPayload
Type: RevokeServicePeriodPayload structure

Payload for revoking a service period handshake.

startServicePeriodPayload
Type: StartServicePeriodPayload structure

Payload for starting a service period handshake.

ChannelHandshakeSummary

Description

Summary information about a channel handshake.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the handshake.

associatedResourceId
Type: string

The identifier of the resource associated with the handshake.

catalog
Type: string

The catalog identifier associated with the handshake.

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

The timestamp when the handshake was created.

detail
Type: HandshakeDetail structure

Detailed information about the handshake.

handshakeType
Type: string

The type of the handshake.

id
Type: string

The unique identifier of the handshake.

ownerAccountId
Type: string

The AWS account ID of the handshake owner.

receiverAccountId
Type: string

The AWS account ID of the handshake receiver.

senderAccountId
Type: string

The AWS account ID of the handshake sender.

senderDisplayName
Type: string

The display name of the handshake sender.

status
Type: string

The current status of the handshake.

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

The timestamp when the handshake was last updated.

ConflictException

Description

The request could not be completed due to a conflict with the current state of the resource.

Members
message
Required: Yes
Type: string

A message describing the conflict.

resourceId
Required: Yes
Type: string

The identifier of the resource that caused the conflict.

resourceType
Required: Yes
Type: string

The type of the resource that caused the conflict.

CreateChannelHandshakeDetail

Description

Contains details about a newly created channel handshake.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the created handshake.

id
Type: string

The unique identifier of the created handshake.

CreateProgramManagementAccountDetail

Description

Contains details about a newly created program management account.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the created program management account.

id
Type: string

The unique identifier of the created program management account.

CreateRelationshipDetail

Description

Contains details about a newly created relationship.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the created relationship.

id
Type: string

The unique identifier of the created relationship.

HandshakeDetail

Description

Contains detailed information about different types of handshakes.

Members
programManagementAccountHandshakeDetail

Details for a program management account handshake.

revokeServicePeriodHandshakeDetail

Details for a revoke service period handshake.

startServicePeriodHandshakeDetail

Details for a start service period handshake.

InternalServerException

Description

An internal server error occurred while processing the request.

Members
message
Required: Yes
Type: string

A message describing the internal server error.

ListChannelHandshakesTypeFilters

Description

Type-specific filters for listing channel handshakes.

Members
programManagementAccountTypeFilters

Filters specific to program management account handshakes.

revokeServicePeriodTypeFilters

Filters specific to revoke service period handshakes.

startServicePeriodTypeFilters

Filters specific to start service period handshakes.

ListChannelHandshakesTypeSort

Description

Type-specific sorting options for listing channel handshakes.

Members
programManagementAccountTypeSort

Sorting options specific to program management account handshakes.

revokeServicePeriodTypeSort
Type: RevokeServicePeriodTypeSort structure

Sorting options specific to revoke service period handshakes.

startServicePeriodTypeSort
Type: StartServicePeriodTypeSort structure

Sorting options specific to start service period handshakes.

ListProgramManagementAccountsSortBase

Description

Base sorting configuration for program management accounts.

Members
sortBy
Required: Yes
Type: string

The field to sort by.

sortOrder
Required: Yes
Type: string

The sort order (ascending or descending).

ListRelationshipsSortBase

Description

Base sorting configuration for relationships.

Members
sortBy
Required: Yes
Type: string

The field to sort by.

sortOrder
Required: Yes
Type: string

The sort order (ascending or descending).

PartnerLedSupport

Description

Configuration for partner-led support plans.

Members
coverage
Required: Yes
Type: string

The coverage level for partner-led support.

provider
Type: string

The provider of the partner-led support.

tamLocation
Required: Yes
Type: string

The location of the Technical Account Manager (TAM).

ProgramManagementAccountHandshakeDetail

Description

Details specific to program management account handshakes.

Members
program
Type: string

The program associated with the handshake.

ProgramManagementAccountSummary

Description

Summary information about a program management account.

Members
accountId
Type: string

The AWS account ID associated with the program management account.

arn
Type: string

The Amazon Resource Name (ARN) of the program management account.

catalog
Type: string

The catalog identifier associated with the account.

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

The timestamp when the account was created.

displayName
Type: string

The display name of the program management account.

id
Type: string

The unique identifier of the program management account.

program
Type: string

The program type for the management account.

revision
Type: string

The current revision number of the program management account.

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

The start date of the program management account.

status
Type: string

The current status of the program management account.

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

The timestamp when the account was last updated.

ProgramManagementAccountTypeFilters

Description

Type-specific filters for program management accounts.

Members
programs
Type: Array of strings

Filter by program types.

ProgramManagementAccountTypeSort

Description

Type-specific sorting options for program management accounts.

Members
sortBy
Required: Yes
Type: string

The field to sort by.

sortOrder
Required: Yes
Type: string

The sort order (ascending or descending).

RejectChannelHandshakeDetail

Description

Contains details about a rejected channel handshake.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the rejected handshake.

id
Type: string

The unique identifier of the rejected handshake.

status
Type: string

The current status of the rejected handshake.

RelationshipDetail

Description

Detailed information about a partner relationship.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the relationship.

associatedAccountId
Type: string

The AWS account ID associated in this relationship.

associationType
Type: string

The type of association for the relationship.

catalog
Type: string

The catalog identifier associated with the relationship.

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

The timestamp when the relationship was created.

displayName
Type: string

The display name of the relationship.

id
Type: string

The unique identifier of the relationship.

programManagementAccountId
Type: string

The identifier of the program management account.

resaleAccountModel
Type: string

The resale account model for the relationship.

revision
Type: string

The current revision number of the relationship.

sector
Type: string

The business sector for the relationship.

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

The start date of the relationship.

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

The timestamp when the relationship was last updated.

RelationshipSummary

Description

Summary information about a partner relationship.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the relationship.

associatedAccountId
Type: string

The AWS account ID associated in this relationship.

associationType
Type: string

The type of association for the relationship.

catalog
Type: string

The catalog identifier associated with the relationship.

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

The timestamp when the relationship was created.

displayName
Type: string

The display name of the relationship.

id
Type: string

The unique identifier of the relationship.

programManagementAccountId
Type: string

The identifier of the program management account.

revision
Type: string

The current revision number of the relationship.

sector
Type: string

The business sector for the relationship.

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

The start date of the relationship.

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

The timestamp when the relationship was last updated.

ResoldBusiness

Description

Configuration for resold business support plans.

Members
coverage
Required: Yes
Type: string

The coverage level for resold business support.

ResoldEnterprise

Description

Configuration for resold enterprise support plans.

Members
chargeAccountId
Type: string

The AWS account ID to charge for the support plan.

coverage
Required: Yes
Type: string

The coverage level for resold enterprise support.

tamLocation
Required: Yes
Type: string

The location of the Technical Account Manager (TAM).

ResourceNotFoundException

Description

The specified resource was not found.

Members
message
Required: Yes
Type: string

A message describing the resource not found error.

resourceId
Type: string

The identifier of the resource that was not found.

resourceType
Type: string

The type of the resource that was not found.

RevokeServicePeriodHandshakeDetail

Description

Details specific to revoke service period handshakes.

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

The end date of the service period being revoked.

minimumNoticeDays
Type: string

The minimum number of days notice required for revocation.

note
Type: string

A note explaining the reason for revoking the service period.

servicePeriodType
Type: string

The type of service period being revoked.

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

The start date of the service period being revoked.

RevokeServicePeriodPayload

Description

Payload for revoke service period handshake requests.

Members
note
Type: string

A note explaining the reason for revoking the service period.

programManagementAccountIdentifier
Required: Yes
Type: string

The identifier of the program management account.

RevokeServicePeriodTypeFilters

Description

Filters specific to revoke service period handshakes.

Members
servicePeriodTypes
Type: Array of strings

Filter by service period types.

RevokeServicePeriodTypeSort

Description

Sorting options specific to revoke service period handshakes.

Members
sortBy
Required: Yes
Type: string

The field to sort by.

sortOrder
Required: Yes
Type: string

The sort order (ascending or descending).

ServiceQuotaExceededException

Description

The request would exceed a service quota limit.

Members
message
Required: Yes
Type: string

A message describing the service quota exceeded error.

quotaCode
Required: Yes
Type: string

The code identifying the specific quota that would be exceeded.

resourceId
Required: Yes
Type: string

The identifier of the resource that would exceed the quota.

resourceType
Required: Yes
Type: string

The type of the resource that would exceed the quota.

StartServicePeriodHandshakeDetail

Description

Details specific to start service period handshakes.

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

The end date of the service period.

minimumNoticeDays
Type: string

The minimum number of days notice required for changes.

note
Type: string

A note providing additional information about the service period.

servicePeriodType
Type: string

The type of service period being started.

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

The start date of the service period.

StartServicePeriodPayload

Description

Payload for start service period handshake requests.

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

The end date of the service period.

minimumNoticeDays
Type: string

The minimum number of days notice required for changes.

note
Type: string

A note providing additional information about the service period.

programManagementAccountIdentifier
Required: Yes
Type: string

The identifier of the program management account.

servicePeriodType
Required: Yes
Type: string

The type of service period being started.

StartServicePeriodTypeFilters

Description

Filters specific to start service period handshakes.

Members
servicePeriodTypes
Type: Array of strings

Filter by service period types.

StartServicePeriodTypeSort

Description

Sorting options specific to start service period handshakes.

Members
sortBy
Required: Yes
Type: string

The field to sort by.

sortOrder
Required: Yes
Type: string

The sort order (ascending or descending).

SupportPlan

Description

Configuration for different types of support plans.

Members
partnerLedSupport
Type: PartnerLedSupport structure

Configuration for partner-led support plans.

resoldBusiness
Type: ResoldBusiness structure

Configuration for resold business support plans.

resoldEnterprise
Type: ResoldEnterprise structure

Configuration for resold enterprise support plans.

Tag

Description

A key-value pair that can be associated with a resource.

Members
key
Required: Yes
Type: string

The key of the tag.

value
Required: Yes
Type: string

The value of the tag.

ThrottlingException

Description

The request was throttled due to too many requests being sent in a short period.

Members
message
Required: Yes
Type: string

A message describing the throttling error.

quotaCode
Type: string

The quota code associated with the throttling error.

serviceCode
Type: string

The service code associated with the throttling error.

UpdateProgramManagementAccountDetail

Description

Contains details about an updated program management account.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the updated program management account.

displayName
Type: string

The updated display name of the program management account.

id
Type: string

The unique identifier of the updated program management account.

revision
Type: string

The new revision number of the program management account.

UpdateRelationshipDetail

Description

Contains details about an updated relationship.

Members
arn
Type: string

The Amazon Resource Name (ARN) of the updated relationship.

displayName
Type: string

The updated display name of the relationship.

id
Type: string

The unique identifier of the updated relationship.

revision
Type: string

The new revision number of the relationship.

ValidationException

Description

The request failed validation due to invalid input parameters.

Members
fieldList
Type: Array of ValidationExceptionField structures

A list of fields that failed validation.

message
Required: Yes
Type: string

A message describing the validation error.

reason
Required: Yes
Type: string

The reason for the validation failure.

ValidationExceptionField

Description

Information about a field that failed validation.

Members
code
Required: Yes
Type: string

The validation error code for the field.

message
Required: Yes
Type: string

A descriptive message about the validation error.

name
Required: Yes
Type: string

The name of the field that failed validation.