Module Smaws_Client_PartnerCentralChannel.Types

type nonrec validation_exception_reason =
  1. | BUSINESS_VALIDATION_FAILED
  2. | REQUEST_VALIDATION_FAILED
type nonrec validation_exception_field = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A descriptive message about the validation error.

    *)
  2. code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The validation error code for the field.

    *)
  3. name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name of the field that failed validation.

    *)
}

Information about a field that failed validation.

type nonrec validation_exception_field_list = validation_exception_field list
type nonrec validation_exception = {
  1. field_list : validation_exception_field_list option;
    (*

    A list of fields that failed validation.

    *)
  2. reason : validation_exception_reason;
    (*

    The reason for the validation failure.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the validation error.

    *)
}

The request failed validation due to invalid input parameters.

type nonrec arn = string
type nonrec relationship_id = string
type nonrec revision = string
type nonrec relationship_display_name = string
type nonrec update_relationship_detail = {
  1. display_name : relationship_display_name option;
    (*

    The updated display name of the relationship.

    *)
  2. revision : revision option;
    (*

    The new revision number of the relationship.

    *)
  3. id : relationship_id option;
    (*

    The unique identifier of the updated relationship.

    *)
  4. arn : arn option;
    (*

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

    *)
}

Contains details about an updated relationship.

type nonrec update_relationship_response = {
  1. relationship_detail : update_relationship_detail option;
    (*

    Details of the updated relationship.

    *)
}
type nonrec catalog = string
type nonrec relationship_identifier = string
type nonrec program_management_account_identifier = string
type nonrec coverage =
  1. | MANAGEMENT_ACCOUNT_ONLY
  2. | ENTIRE_ORGANIZATION
type nonrec account_id = string
type nonrec resold_enterprise = {
  1. charge_account_id : account_id option;
    (*

    The AWS account ID to charge for the support plan.

    *)
  2. tam_location : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The location of the Technical Account Manager (TAM).

    *)
  3. coverage : coverage;
    (*

    The coverage level for resold enterprise support.

    *)
}

Configuration for resold enterprise support plans.

type nonrec provider =
  1. | DISTRIBUTION_SELLER
  2. | DISTRIBUTOR
type nonrec partner_led_support = {
  1. tam_location : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The location of the Technical Account Manager (TAM).

    *)
  2. provider : provider option;
    (*

    The provider of the partner-led support.

    *)
  3. coverage : coverage;
    (*

    The coverage level for partner-led support.

    *)
}

Configuration for partner-led support plans.

type nonrec resold_unified_operations = {
  1. charge_account_id : account_id option;
    (*

    The AWS account ID to charge for the support plan.

    *)
  2. tam_location : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The location of the Technical Account Manager (TAM).

    *)
  3. coverage : coverage;
    (*

    The coverage level for resold unified operations support.

    *)
}

Configuration for resold unified operations support plans.

type nonrec support_plan =
  1. | ResoldUnifiedOperations of resold_unified_operations
    (*

    Configuration for resold unified operations support plans.

    *)
  2. | PartnerLedSupport of partner_led_support
    (*

    Configuration for partner-led support plans.

    *)
  3. | ResoldEnterprise of resold_enterprise
    (*

    Configuration for resold enterprise support plans.

    *)

Configuration for different types of support plans.

type nonrec update_relationship_request = {
  1. requested_support_plan : support_plan option;
    (*

    The updated support plan for the relationship.

    *)
  2. display_name : relationship_display_name option;
    (*

    The new display name for the relationship.

    *)
  3. revision : revision option;
    (*

    The current revision number of the relationship.

    *)
  4. program_management_account_identifier : program_management_account_identifier;
    (*

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

    *)
  5. identifier : relationship_identifier;
    (*

    The unique identifier of the relationship to update.

    *)
  6. catalog : catalog;
    (*

    The catalog identifier for the relationship.

    *)
}
type nonrec throttling_exception = {
  1. quota_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The quota code associated with the throttling error.

    *)
  2. service_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The service code associated with the throttling error.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the throttling error.

    *)
}

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

type nonrec resource_not_found_exception = {
  1. resource_type : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The type of the resource that was not found.

    *)
  2. resource_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The identifier of the resource that was not found.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the resource not found error.

    *)
}

The specified resource was not found.

type nonrec internal_server_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the internal server error.

    *)
}

An internal server error occurred while processing the request.

type nonrec conflict_exception = {
  1. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The type of the resource that caused the conflict.

    *)
  2. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The identifier of the resource that caused the conflict.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the conflict.

    *)
}

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

type nonrec access_denied_exception = {
  1. reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reason for the access denial.

    *)
  2. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the access denial.

    *)
}

The request was denied due to insufficient permissions.

type nonrec program_management_account_id = string
type nonrec program_management_account_display_name = string
type nonrec update_program_management_account_detail = {
  1. display_name : program_management_account_display_name option;
    (*

    The updated display name of the program management account.

    *)
  2. revision : revision option;
    (*

    The new revision number of the program management account.

    *)
  3. arn : arn option;
    (*

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

    *)
  4. id : program_management_account_id option;
    (*

    The unique identifier of the updated program management account.

    *)
}

Contains details about an updated program management account.

type nonrec update_program_management_account_response = {
  1. program_management_account_detail : update_program_management_account_detail option;
    (*

    Details of the updated program management account.

    *)
}
type nonrec update_program_management_account_request = {
  1. display_name : program_management_account_display_name option;
    (*

    The new display name for the program management account.

    *)
  2. revision : revision option;
    (*

    The current revision number of the program management account.

    *)
  3. identifier : program_management_account_identifier;
    (*

    The unique identifier of the program management account to update.

    *)
  4. catalog : catalog;
    (*

    The catalog identifier for the program management account.

    *)
}
type nonrec untag_resource_response = unit
type nonrec taggable_arn = string
type nonrec tag_key = string
type nonrec tag_key_list = tag_key list
type nonrec untag_resource_request = {
  1. tag_keys : tag_key_list;
    (*

    The keys of the tags to remove from the resource.

    *)
  2. resource_arn : taggable_arn;
    (*

    The Amazon Resource Name (ARN) of the resource to remove tags from.

    *)
}
type nonrec tag_value = string
type nonrec tag_resource_response = unit
type nonrec tag = {
  1. value : tag_value;
    (*

    The value of the tag.

    *)
  2. key : tag_key;
    (*

    The key of the tag.

    *)
}

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

type nonrec tag_list = tag list
type nonrec tag_resource_request = {
  1. tags : tag_list;
    (*

    Key-value pairs to associate with the resource.

    *)
  2. resource_arn : taggable_arn;
    (*

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

    *)
}
type nonrec start_service_period_type_sort_name =
  1. | UPDATED_AT
type nonrec sort_order =
  1. | DESCENDING
  2. | ASCENDING
type nonrec start_service_period_type_sort = {
  1. sort_by : start_service_period_type_sort_name;
    (*

    The field to sort by.

    *)
  2. sort_order : sort_order;
    (*

    The sort order (ascending or descending).

    *)
}

Sorting options specific to start service period handshakes.

type nonrec service_period_type =
  1. | FIXED_COMMITMENT_PERIOD
  2. | MINIMUM_NOTICE_PERIOD
type nonrec service_period_type_list = service_period_type list
type nonrec start_service_period_type_filters = {
  1. service_period_types : service_period_type_list option;
    (*

    Filter by service period types.

    *)
}

Filters specific to start service period handshakes.

type nonrec note = string
type nonrec minimum_notice_days = string
type nonrec date_time = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec start_service_period_payload = {
  1. end_date : date_time option;
    (*

    The end date of the service period.

    *)
  2. minimum_notice_days : minimum_notice_days option;
    (*

    The minimum number of days notice required for changes.

    *)
  3. service_period_type : service_period_type;
    (*

    The type of service period being started.

    *)
  4. note : note option;
    (*

    A note providing additional information about the service period.

    *)
  5. program_management_account_identifier : program_management_account_identifier;
    (*

    The identifier of the program management account.

    *)
}

Payload for start service period handshake requests.

type nonrec start_service_period_handshake_detail = {
  1. end_date : date_time option;
    (*

    The end date of the service period.

    *)
  2. start_date : date_time option;
    (*

    The start date of the service period.

    *)
  3. minimum_notice_days : minimum_notice_days option;
    (*

    The minimum number of days notice required for changes.

    *)
  4. service_period_type : service_period_type option;
    (*

    The type of service period being started.

    *)
  5. note : note option;
    (*

    A note providing additional information about the service period.

    *)
}

Details specific to start service period handshakes.

type nonrec service_quota_exceeded_exception = {
  1. quota_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The code identifying the specific quota that would be exceeded.

    *)
  2. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The type of the resource that would exceed the quota.

    *)
  3. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The identifier of the resource that would exceed the quota.

    *)
  4. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A message describing the service quota exceeded error.

    *)
}

The request would exceed a service quota limit.

type nonrec sector =
  1. | GOVERNMENT_EXCEPTION
  2. | GOVERNMENT
  3. | COMMERCIAL
type nonrec revoke_service_period_type_sort_name =
  1. | UPDATED_AT
type nonrec revoke_service_period_type_sort = {
  1. sort_by : revoke_service_period_type_sort_name;
    (*

    The field to sort by.

    *)
  2. sort_order : sort_order;
    (*

    The sort order (ascending or descending).

    *)
}

Sorting options specific to revoke service period handshakes.

type nonrec revoke_service_period_type_filters = {
  1. service_period_types : service_period_type_list option;
    (*

    Filter by service period types.

    *)
}

Filters specific to revoke service period handshakes.

type nonrec revoke_service_period_payload = {
  1. note : note option;
    (*

    A note explaining the reason for revoking the service period.

    *)
  2. program_management_account_identifier : program_management_account_identifier;
    (*

    The identifier of the program management account.

    *)
}

Payload for revoke service period handshake requests.

type nonrec revoke_service_period_handshake_detail = {
  1. end_date : date_time option;
    (*

    The end date of the service period being revoked.

    *)
  2. start_date : date_time option;
    (*

    The start date of the service period being revoked.

    *)
  3. minimum_notice_days : minimum_notice_days option;
    (*

    The minimum number of days notice required for revocation.

    *)
  4. service_period_type : service_period_type option;
    (*

    The type of service period being revoked.

    *)
  5. note : note option;
    (*

    A note explaining the reason for revoking the service period.

    *)
}

Details specific to revoke service period handshakes.

type nonrec resale_account_model =
  1. | SOLUTION_PROVIDER
  2. | END_CUSTOMER
  3. | DISTRIBUTOR
type nonrec association_type =
  1. | INTERNAL
  2. | END_CUSTOMER
  3. | DOWNSTREAM_SELLER
type nonrec relationship_summary = {
  1. start_date : date_time option;
    (*

    The start date of the relationship.

    *)
  2. updated_at : date_time option;
    (*

    The timestamp when the relationship was last updated.

    *)
  3. created_at : date_time option;
    (*

    The timestamp when the relationship was created.

    *)
  4. sector : sector option;
    (*

    The business sector for the relationship.

    *)
  5. display_name : relationship_display_name option;
    (*

    The display name of the relationship.

    *)
  6. associated_account_id : account_id option;
    (*

    The AWS account ID associated in this relationship.

    *)
  7. program_management_account_id : program_management_account_id option;
    (*

    The identifier of the program management account.

    *)
  8. association_type : association_type option;
    (*

    The type of association for the relationship.

    *)
  9. catalog : catalog option;
    (*

    The catalog identifier associated with the relationship.

    *)
  10. revision : revision option;
    (*

    The current revision number of the relationship.

    *)
  11. id : relationship_id option;
    (*

    The unique identifier of the relationship.

    *)
  12. arn : arn option;
    (*

    The Amazon Resource Name (ARN) of the relationship.

    *)
}

Summary information about a partner relationship.

type nonrec relationship_summaries = relationship_summary list
type nonrec relationship_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec relationship_display_name_list = relationship_display_name list
type nonrec relationship_detail = {
  1. start_date : date_time option;
    (*

    The start date of the relationship.

    *)
  2. updated_at : date_time option;
    (*

    The timestamp when the relationship was last updated.

    *)
  3. created_at : date_time option;
    (*

    The timestamp when the relationship was created.

    *)
  4. sector : sector option;
    (*

    The business sector for the relationship.

    *)
  5. resale_account_model : resale_account_model option;
    (*

    The resale account model for the relationship.

    *)
  6. display_name : relationship_display_name option;
    (*

    The display name of the relationship.

    *)
  7. associated_account_id : account_id option;
    (*

    The AWS account ID associated in this relationship.

    *)
  8. program_management_account_id : program_management_account_id option;
    (*

    The identifier of the program management account.

    *)
  9. association_type : association_type option;
    (*

    The type of association for the relationship.

    *)
  10. catalog : catalog option;
    (*

    The catalog identifier associated with the relationship.

    *)
  11. revision : revision option;
    (*

    The current revision number of the relationship.

    *)
  12. id : relationship_id option;
    (*

    The unique identifier of the relationship.

    *)
  13. arn : arn option;
    (*

    The Amazon Resource Name (ARN) of the relationship.

    *)
}

Detailed information about a partner relationship.

type nonrec channel_handshake_id = string
type nonrec handshake_status =
  1. | EXPIRED
  2. | CANCELED
  3. | REJECTED
  4. | ACCEPTED
  5. | PENDING
type nonrec reject_channel_handshake_detail = {
  1. status : handshake_status option;
    (*

    The current status of the rejected handshake.

    *)
  2. arn : arn option;
    (*

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

    *)
  3. id : channel_handshake_id option;
    (*

    The unique identifier of the rejected handshake.

    *)
}

Contains details about a rejected channel handshake.

type nonrec reject_channel_handshake_response = {
  1. channel_handshake_detail : reject_channel_handshake_detail option;
    (*

    Details of the rejected channel handshake.

    *)
}
type nonrec channel_handshake_identifier = string
type nonrec reject_channel_handshake_request = {
  1. identifier : channel_handshake_identifier;
    (*

    The unique identifier of the channel handshake to reject.

    *)
  2. catalog : catalog;
    (*

    The catalog identifier for the handshake request.

    *)
}
type nonrec program_management_account_type_sort_name =
  1. | UPDATED_AT
type nonrec program_management_account_type_sort = {
  1. sort_by : program_management_account_type_sort_name;
    (*

    The field to sort by.

    *)
  2. sort_order : sort_order;
    (*

    The sort order (ascending or descending).

    *)
}

Type-specific sorting options for program management accounts.

type nonrec program =
  1. | DISTRIBUTION_SELLER
  2. | DISTRIBUTION
  3. | SOLUTION_PROVIDER
type nonrec program_list = program list
type nonrec program_management_account_type_filters = {
  1. programs : program_list option;
    (*

    Filter by program types.

    *)
}

Type-specific filters for program management accounts.

type nonrec program_management_account_status =
  1. | INACTIVE
  2. | ACTIVE
  3. | PENDING
type nonrec program_management_account_summary = {
  1. status : program_management_account_status option;
    (*

    The current status of the program management account.

    *)
  2. start_date : date_time option;
    (*

    The start date of the program management account.

    *)
  3. updated_at : date_time option;
    (*

    The timestamp when the account was last updated.

    *)
  4. created_at : date_time option;
    (*

    The timestamp when the account was created.

    *)
  5. arn : arn option;
    (*

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

    *)
  6. account_id : account_id option;
    (*

    The AWS account ID associated with the program management account.

    *)
  7. display_name : program_management_account_display_name option;
    (*

    The display name of the program management account.

    *)
  8. program : program option;
    (*

    The program type for the management account.

    *)
  9. catalog : catalog option;
    (*

    The catalog identifier associated with the account.

    *)
  10. revision : revision option;
    (*

    The current revision number of the program management account.

    *)
  11. id : program_management_account_id option;
    (*

    The unique identifier of the program management account.

    *)
}

Summary information about a program management account.

type nonrec program_management_account_summaries = program_management_account_summary list
type nonrec program_management_account_status_list = program_management_account_status list
type nonrec program_management_account_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec program_management_account_identifier_list = program_management_account_identifier list
type nonrec program_management_account_handshake_detail = {
  1. program : program option;
    (*

    The program associated with the handshake.

    *)
}

Details specific to program management account handshakes.

type nonrec program_management_account_display_name_list = program_management_account_display_name list
type nonrec partner_profile_display_name = string
type nonrec list_tags_for_resource_response = {
  1. tags : tag_list option;
    (*

    Key-value pairs associated with the resource.

    *)
}
type nonrec list_tags_for_resource_request = {
  1. resource_arn : taggable_arn;
    (*

    The Amazon Resource Name (ARN) of the resource to list tags for.

    *)
}
type nonrec participant_type =
  1. | RECEIVER
  2. | SENDER
type nonrec next_token = string
type nonrec list_relationships_sort_name =
  1. | UPDATED_AT
type nonrec list_relationships_sort_base = {
  1. sort_by : list_relationships_sort_name;
    (*

    The field to sort by.

    *)
  2. sort_order : sort_order;
    (*

    The sort order (ascending or descending).

    *)
}

Base sorting configuration for relationships.

type nonrec list_relationships_response = {
  1. next_token : next_token option;
    (*

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

    *)
  2. items : relationship_summaries option;
    (*

    List of relationships matching the criteria.

    *)
}
type nonrec account_id_list = account_id list
type nonrec association_type_list = association_type list
type nonrec list_relationships_request = {
  1. next_token : next_token option;
    (*

    Token for retrieving the next page of results.

    *)
  2. sort : list_relationships_sort_base option;
    (*

    Sorting options for the results.

    *)
  3. program_management_account_identifiers : program_management_account_identifier_list option;
    (*

    Filter by program management account identifiers.

    *)
  4. display_names : relationship_display_name_list option;
    (*

    Filter by display names.

    *)
  5. association_types : association_type_list option;
    (*

    Filter by association types.

    *)
  6. associated_account_ids : account_id_list option;
    (*

    Filter by associated AWS account IDs.

    *)
  7. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

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

    *)
  8. catalog : catalog;
    (*

    The catalog identifier to filter relationships.

    *)
}
type nonrec list_program_management_accounts_sort_name =
  1. | UPDATED_AT
type nonrec list_program_management_accounts_sort_base = {
  1. sort_by : list_program_management_accounts_sort_name;
    (*

    The field to sort by.

    *)
  2. sort_order : sort_order;
    (*

    The sort order (ascending or descending).

    *)
}

Base sorting configuration for program management accounts.

type nonrec list_program_management_accounts_response = {
  1. next_token : next_token option;
    (*

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

    *)
  2. items : program_management_account_summaries option;
    (*

    List of program management accounts matching the criteria.

    *)
}
type nonrec list_program_management_accounts_request = {
  1. next_token : next_token option;
    (*

    Token for retrieving the next page of results.

    *)
  2. sort : list_program_management_accounts_sort_base option;
    (*

    Sorting options for the results.

    *)
  3. statuses : program_management_account_status_list option;
    (*

    Filter by program management account statuses.

    *)
  4. account_ids : account_id_list option;
    (*

    Filter by AWS account IDs.

    *)
  5. programs : program_list option;
    (*

    Filter by program types.

    *)
  6. display_names : program_management_account_display_name_list option;
    (*

    Filter by display names.

    *)
  7. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

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

    *)
  8. catalog : catalog;
    (*

    The catalog identifier to filter accounts.

    *)
}
type nonrec list_channel_handshakes_type_sort =
  1. | ProgramManagementAccountTypeSort of program_management_account_type_sort
    (*

    Sorting options specific to program management account handshakes.

    *)
  2. | RevokeServicePeriodTypeSort of revoke_service_period_type_sort
    (*

    Sorting options specific to revoke service period handshakes.

    *)
  3. | StartServicePeriodTypeSort of start_service_period_type_sort
    (*

    Sorting options specific to start service period handshakes.

    *)

Type-specific sorting options for listing channel handshakes.

type nonrec list_channel_handshakes_type_filters =
  1. | ProgramManagementAccountTypeFilters of program_management_account_type_filters
    (*

    Filters specific to program management account handshakes.

    *)
  2. | RevokeServicePeriodTypeFilters of revoke_service_period_type_filters
    (*

    Filters specific to revoke service period handshakes.

    *)
  3. | StartServicePeriodTypeFilters of start_service_period_type_filters
    (*

    Filters specific to start service period handshakes.

    *)

Type-specific filters for listing channel handshakes.

type nonrec handshake_type =
  1. | PROGRAM_MANAGEMENT_ACCOUNT
  2. | REVOKE_SERVICE_PERIOD
  3. | START_SERVICE_PERIOD
type nonrec associated_resource_id = string
type nonrec handshake_detail =
  1. | ProgramManagementAccountHandshakeDetail of program_management_account_handshake_detail
    (*

    Details for a program management account handshake.

    *)
  2. | RevokeServicePeriodHandshakeDetail of revoke_service_period_handshake_detail
    (*

    Details for a revoke service period handshake.

    *)
  3. | StartServicePeriodHandshakeDetail of start_service_period_handshake_detail
    (*

    Details for a start service period handshake.

    *)

Contains detailed information about different types of handshakes.

type nonrec channel_handshake_summary = {
  1. status : handshake_status option;
    (*

    The current status of the handshake.

    *)
  2. updated_at : date_time option;
    (*

    The timestamp when the handshake was last updated.

    *)
  3. created_at : date_time option;
    (*

    The timestamp when the handshake was created.

    *)
  4. detail : handshake_detail option;
    (*

    Detailed information about the handshake.

    *)
  5. associated_resource_id : associated_resource_id option;
    (*

    The identifier of the resource associated with the handshake.

    *)
  6. receiver_account_id : account_id option;
    (*

    The AWS account ID of the handshake receiver.

    *)
  7. sender_display_name : partner_profile_display_name option;
    (*

    The display name of the handshake sender.

    *)
  8. sender_account_id : account_id option;
    (*

    The AWS account ID of the handshake sender.

    *)
  9. owner_account_id : account_id option;
    (*

    The AWS account ID of the handshake owner.

    *)
  10. handshake_type : handshake_type option;
    (*

    The type of the handshake.

    *)
  11. catalog : catalog option;
    (*

    The catalog identifier associated with the handshake.

    *)
  12. arn : arn option;
    (*

    The Amazon Resource Name (ARN) of the handshake.

    *)
  13. id : channel_handshake_id option;
    (*

    The unique identifier of the handshake.

    *)
}

Summary information about a channel handshake.

type nonrec channel_handshake_summaries = channel_handshake_summary list
type nonrec list_channel_handshakes_response = {
  1. next_token : next_token option;
    (*

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

    *)
  2. items : channel_handshake_summaries option;
    (*

    List of channel handshakes matching the criteria.

    *)
}
type nonrec handshake_status_list = handshake_status list
type nonrec associated_resource_identifier = string
type nonrec associated_resource_identifier_list = associated_resource_identifier list
type nonrec list_channel_handshakes_request = {
  1. next_token : next_token option;
    (*

    Token for retrieving the next page of results.

    *)
  2. handshake_type_sort : list_channel_handshakes_type_sort option;
    (*

    Type-specific sorting options for handshakes.

    *)
  3. handshake_type_filters : list_channel_handshakes_type_filters option;
    (*

    Type-specific filters for handshakes.

    *)
  4. associated_resource_identifiers : associated_resource_identifier_list option;
    (*

    Filter by associated resource identifiers.

    *)
  5. statuses : handshake_status_list option;
    (*

    Filter results by handshake status.

    *)
  6. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

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

    *)
  7. participant_type : participant_type;
    (*

    Filter by participant type (sender or receiver).

    *)
  8. catalog : catalog;
    (*

    The catalog identifier to filter handshakes.

    *)
  9. handshake_type : handshake_type;
    (*

    Filter results by handshake type.

    *)
}
type nonrec get_relationship_response = {
  1. relationship_detail : relationship_detail option;
    (*

    Details of the requested relationship.

    *)
}
type nonrec get_relationship_request = {
  1. identifier : relationship_identifier;
    (*

    The unique identifier of the relationship to retrieve.

    *)
  2. program_management_account_identifier : program_management_account_identifier;
    (*

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

    *)
  3. catalog : catalog;
    (*

    The catalog identifier for the relationship.

    *)
}
type nonrec delete_relationship_response = unit
type nonrec client_token = string
type nonrec delete_relationship_request = {
  1. client_token : client_token option;
    (*

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

    *)
  2. program_management_account_identifier : program_management_account_identifier;
    (*

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

    *)
  3. identifier : relationship_identifier;
    (*

    The unique identifier of the relationship to delete.

    *)
  4. catalog : catalog;
    (*

    The catalog identifier for the relationship.

    *)
}
type nonrec delete_program_management_account_response = unit
type nonrec delete_program_management_account_request = {
  1. client_token : client_token option;
    (*

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

    *)
  2. identifier : program_management_account_identifier;
    (*

    The unique identifier of the program management account to delete.

    *)
  3. catalog : catalog;
    (*

    The catalog identifier for the program management account.

    *)
}
type nonrec create_relationship_detail = {
  1. id : relationship_id option;
    (*

    The unique identifier of the created relationship.

    *)
  2. arn : arn option;
    (*

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

    *)
}

Contains details about a newly created relationship.

type nonrec create_relationship_response = {
  1. relationship_detail : create_relationship_detail option;
    (*

    Details of the created relationship.

    *)
}
type nonrec create_relationship_request = {
  1. requested_support_plan : support_plan option;
    (*

    The support plan requested for this relationship.

    *)
  2. tags : tag_list option;
    (*

    Key-value pairs to associate with the relationship.

    *)
  3. client_token : client_token option;
    (*

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

    *)
  4. sector : sector;
    (*

    The business sector for the relationship.

    *)
  5. resale_account_model : resale_account_model option;
    (*

    The resale account model for the relationship.

    *)
  6. display_name : relationship_display_name;
    (*

    A human-readable name for the relationship.

    *)
  7. associated_account_id : account_id;
    (*

    The AWS account ID to associate in this relationship.

    *)
  8. program_management_account_identifier : program_management_account_identifier;
    (*

    The identifier of the program management account for this relationship.

    *)
  9. association_type : association_type;
    (*

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

    *)
  10. catalog : catalog;
    (*

    The catalog identifier for the relationship.

    *)
}
type nonrec create_program_management_account_detail = {
  1. arn : arn option;
    (*

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

    *)
  2. id : program_management_account_id option;
    (*

    The unique identifier of the created program management account.

    *)
}

Contains details about a newly created program management account.

type nonrec create_program_management_account_response = {
  1. program_management_account_detail : create_program_management_account_detail option;
    (*

    Details of the created program management account.

    *)
}
type nonrec create_program_management_account_request = {
  1. tags : tag_list option;
    (*

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

    *)
  2. client_token : client_token option;
    (*

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

    *)
  3. account_id : account_id;
    (*

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

    *)
  4. display_name : program_management_account_display_name;
    (*

    A human-readable name for the program management account.

    *)
  5. program : program;
    (*

    The program type for the management account.

    *)
  6. catalog : catalog;
    (*

    The catalog identifier for the program management account.

    *)
}
type nonrec create_channel_handshake_detail = {
  1. arn : arn option;
    (*

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

    *)
  2. id : channel_handshake_id option;
    (*

    The unique identifier of the created handshake.

    *)
}

Contains details about a newly created channel handshake.

type nonrec create_channel_handshake_response = {
  1. channel_handshake_detail : create_channel_handshake_detail option;
    (*

    Details of the created channel handshake.

    *)
}
type nonrec channel_handshake_payload =
  1. | RevokeServicePeriodPayload of revoke_service_period_payload
    (*

    Payload for revoking a service period handshake.

    *)
  2. | StartServicePeriodPayload of start_service_period_payload
    (*

    Payload for starting a service period handshake.

    *)

Contains the payload data for different types of channel handshakes.

type nonrec create_channel_handshake_request = {
  1. tags : tag_list option;
    (*

    Key-value pairs to associate with the channel handshake.

    *)
  2. client_token : client_token option;
    (*

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

    *)
  3. payload : channel_handshake_payload option;
    (*

    The payload containing specific details for the handshake type.

    *)
  4. associated_resource_identifier : associated_resource_identifier;
    (*

    The identifier of the resource associated with this handshake.

    *)
  5. catalog : catalog;
    (*

    The catalog identifier for the handshake request.

    *)
  6. handshake_type : handshake_type;
    (*

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

    *)
}
type nonrec channel_handshake_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec cancel_channel_handshake_detail = {
  1. status : handshake_status option;
    (*

    The current status of the canceled handshake.

    *)
  2. arn : arn option;
    (*

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

    *)
  3. id : channel_handshake_id option;
    (*

    The unique identifier of the canceled handshake.

    *)
}

Contains details about a canceled channel handshake.

type nonrec cancel_channel_handshake_response = {
  1. channel_handshake_detail : cancel_channel_handshake_detail option;
    (*

    Details of the canceled channel handshake.

    *)
}
type nonrec cancel_channel_handshake_request = {
  1. identifier : channel_handshake_identifier;
    (*

    The unique identifier of the channel handshake to cancel.

    *)
  2. catalog : catalog;
    (*

    The catalog identifier for the handshake request.

    *)
}
type nonrec accept_channel_handshake_detail = {
  1. status : handshake_status option;
    (*

    The current status of the accepted handshake.

    *)
  2. arn : arn option;
    (*

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

    *)
  3. id : channel_handshake_id option;
    (*

    The unique identifier of the accepted handshake.

    *)
}

Contains details about an accepted channel handshake.

type nonrec accept_channel_handshake_response = {
  1. channel_handshake_detail : accept_channel_handshake_detail option;
    (*

    Details of the accepted channel handshake.

    *)
}
type nonrec accept_channel_handshake_request = {
  1. identifier : channel_handshake_identifier;
    (*

    The unique identifier of the channel handshake to accept.

    *)
  2. catalog : catalog;
    (*

    The catalog identifier for the handshake request.

    *)
}