Module Smaws_Client_PartnerCentralBenefits.Types

type nonrec validation_exception_reason =
  1. | BUSINESS_VALIDATION_FAILED
  2. | OTHER
  3. | FIELD_VALIDATION_FAILED
  4. | CANNOT_PARSE
  5. | UNKNOWN_OPERATION
type nonrec validation_exception_error_code =
  1. | ACTION_NOT_PERMITTED
  2. | VALUE_OUT_OF_RANGE
  3. | DUPLICATE_KEY_VALUE
  4. | INVALID_RESOURCE_STATE
  5. | TOO_MANY_VALUES
  6. | NOT_ENOUGH_VALUES
  7. | INVALID_VALUE
  8. | INVALID_STRING_FORMAT
  9. | INVALID_ENUM_VALUE
  10. | REQUIRED_FIELD_MISSING
type nonrec validation_exception_field = {
  1. code : validation_exception_error_code option;
    (*

    An error code explaining why the field validation failed.

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

    A detailed message explaining why the field validation failed.

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

    The name of the field that failed validation.

    *)
}

Represents a field-specific validation error with detailed information.

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.

    *)
}

Thrown when the request contains invalid parameters or fails input validation requirements.

type nonrec benefit_application_id = string
type nonrec update_benefit_application_output = {
  1. revision : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The new revision number of the benefit application after the update.

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

    The Amazon Resource Name (ARN) of the updated benefit application.

    *)
  3. id : benefit_application_id option;
    (*

    The unique identifier of the updated benefit application.

    *)
}
type nonrec catalog_name = string
type nonrec benefit_application_name = string
type nonrec benefit_application_description = string
type nonrec benefit_application_identifier = string
type nonrec contact_email = string
type nonrec contact_first_name = string
type nonrec contact_last_name = string
type nonrec contact_phone = string
type nonrec contact = {
  1. phone : contact_phone option;
    (*

    The phone number of the contact person.

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

    The business title or role of the contact person within the organization.

    *)
  3. last_name : contact_last_name option;
    (*

    The last name of the contact person.

    *)
  4. first_name : contact_first_name option;
    (*

    The first name of the contact person.

    *)
  5. email : contact_email option;
    (*

    The email address of the contact person.

    *)
}

Represents contact information for a partner representative.

type nonrec contacts = contact list
type nonrec file_ur_i = string
type nonrec file_input = {
  1. business_use_case : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The business purpose or use case that this file supports in the benefit application.

    *)
  2. file_ur_i : file_ur_i;
    (*

    The URI or location where the file should be stored or has been uploaded.

    *)
}

Represents input information for uploading a file to a benefit application.

type nonrec file_input_details = file_input list
type nonrec update_benefit_application_input = {
  1. file_details : file_input_details option;
    (*

    Updated supporting documents and files attached to the benefit application.

    *)
  2. partner_contacts : contacts option;
    (*

    Updated contact information for partner representatives responsible for this benefit application.

    *)
  3. benefit_application_details : Smaws_Lib.Smithy_api.Types.document option;
    (*

    Updated detailed information and requirements specific to the benefit being requested.

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

    The current revision number of the benefit application to ensure optimistic concurrency control.

    *)
  5. identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to update.

    *)
  6. description : benefit_application_description option;
    (*

    The updated detailed description of the benefit application.

    *)
  7. name : benefit_application_name option;
    (*

    The updated human-readable name for the benefit application.

    *)
  8. client_token : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A unique, case-sensitive identifier to ensure idempotent processing of the update request.

    *)
  9. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

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

    A message describing the throttling error.

    *)
}

Thrown when the request rate exceeds the allowed limits and the request is being throttled.

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

    A message describing the resource not found error.

    *)
}

Thrown when the requested resource cannot be found or does not exist.

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

    A message describing the internal server error.

    *)
}

Thrown when an unexpected error occurs on the server side during request processing.

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

    A message describing the conflict.

    *)
}

Thrown when the request conflicts with the current state of the resource, such as attempting to modify a resource that has been changed by another process.

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

    A message describing the access denial.

    *)
}

Thrown when the caller does not have sufficient permissions to perform the requested operation.

type nonrec untag_resource_response = unit
type nonrec taggable_resource_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;
    (*

    A list of tag keys to remove from the resource.

    *)
  2. resource_arn : taggable_resource_arn;
    (*

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

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

    *)
}

Thrown when the request would exceed the service quotas or limits for the account.

type nonrec timestamp = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec tag_value = string
type nonrec tag = {
  1. value : tag_value;
    (*

    The tag value, which provides additional information or context for the tag key.

    *)
  2. key : tag_key;
    (*

    The tag key, which acts as a category or label for the tag.

    *)
}

Represents a key-value pair used for categorizing and organizing AWS resources.

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

    A list of key-value pairs to add as tags to the resource.

    *)
  2. resource_arn : taggable_resource_arn;
    (*

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

    *)
}
type nonrec submit_benefit_application_output = unit
type nonrec submit_benefit_application_input = {
  1. identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to submit.

    *)
  2. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

    *)
}
type nonrec benefit_application_status =
  1. | CANCELED
  2. | REJECTED
  3. | APPROVED
  4. | ACTION_REQUIRED
  5. | IN_REVIEW
  6. | PENDING_SUBMISSION
type nonrec statuses = benefit_application_status list
type nonrec status_reason_code = string
type nonrec status_reason_codes = status_reason_code list
type nonrec benefit_application_stage = string
type nonrec stages = benefit_application_stage list
type nonrec resource_type =
  1. | BENEFIT_ALLOCATION
  2. | OPPORTUNITY
type nonrec recall_benefit_application_output = unit
type nonrec recall_benefit_application_input = {
  1. reason : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A descriptive reason explaining why the benefit application is being recalled.

    *)
  2. identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to recall.

    *)
  3. client_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A unique, case-sensitive identifier to ensure idempotent processing of the recall request.

    *)
  4. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

    *)
}
type nonrec program = string
type nonrec programs = program list
type nonrec list_tags_for_resource_response = {
  1. tags : tags option;
    (*

    A list of key-value pairs representing the tags associated with the resource.

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

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

    *)
}
type nonrec fulfillment_type =
  1. | ACCESS
  2. | CASH
  3. | CREDITS
type nonrec fulfillment_types = fulfillment_type list
type nonrec benefit_status =
  1. | INACTIVE
  2. | ACTIVE
type nonrec benefit_summary = {
  1. status : benefit_status option;
    (*

    The current status of the benefit.

    *)
  2. fulfillment_types : fulfillment_types option;
    (*

    The available fulfillment types for this benefit.

    *)
  3. programs : programs option;
    (*

    The AWS partner programs that this benefit is associated with.

    *)
  4. description : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A brief description of the benefit and its purpose.

    *)
  5. name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The human-readable name of the benefit.

    *)
  6. arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) of the benefit.

    *)
  7. catalog : catalog_name option;
    (*

    The catalog identifier that the benefit belongs to.

    *)
  8. id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The unique identifier of the benefit.

    *)
}

A summary view of a benefit containing key information for list operations.

type nonrec benefit_summaries = benefit_summary list
type nonrec list_benefits_output = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token to retrieve the next set of results, if more results are available.

    *)
  2. benefit_summaries : benefit_summaries option;
    (*

    A list of benefit summaries matching the specified criteria.

    *)
}
type nonrec benefit_statuses = benefit_status list
type nonrec list_benefits_input = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token to retrieve the next set of results from a previous request.

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

    The maximum number of benefits to return in a single response.

    *)
  3. status : benefit_statuses option;
    (*

    Filter benefits by their current status.

    *)
  4. fulfillment_types : fulfillment_types option;
    (*

    Filter benefits by specific fulfillment types.

    *)
  5. programs : programs option;
    (*

    Filter benefits by specific AWS partner programs.

    *)
  6. catalog : catalog_name;
    (*

    The catalog identifier to filter benefits by catalog.

    *)
}
type nonrec benefit_id = string
type nonrec arn = string
type nonrec arns = arn list
type nonrec benefit_application_summary = {
  1. associated_resources : arns option;
    (*

    AWS resources that are associated with this benefit application.

    *)
  2. benefit_application_details : attributes option;
    (*

    Additional attributes and metadata associated with the benefit application.

    *)
  3. updated_at : timestamp option;
    (*

    The timestamp when the benefit application was last updated.

    *)
  4. created_at : timestamp option;
    (*

    The timestamp when the benefit application was created.

    *)
  5. stage : benefit_application_stage option;
    (*

    The current stage in the benefit application processing workflow..

    *)
  6. status : benefit_application_status option;
    (*

    The current processing status of the benefit application.

    *)
  7. fulfillment_types : fulfillment_types option;
    (*

    The fulfillment types requested for this benefit application.

    *)
  8. programs : programs option;
    (*

    The AWS partner programs associated with this benefit application.

    *)
  9. benefit_id : benefit_id option;
    (*

    The identifier of the benefit being requested in this application.

    *)
  10. arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) of the benefit application.

    *)
  11. id : benefit_application_id option;
    (*

    The unique identifier of the benefit application.

    *)
  12. name : benefit_application_name option;
    (*

    The human-readable name of the benefit application.

    *)
  13. catalog : catalog_name option;
    (*

    The catalog identifier that the benefit application belongs to.

    *)
}

A summary view of a benefit application containing key information for list operations.

type nonrec benefit_application_summaries = benefit_application_summary list
type nonrec list_benefit_applications_output = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token to retrieve the next set of results, if more results are available.

    *)
  2. benefit_application_summaries : benefit_application_summaries option;
    (*

    A list of benefit application summaries matching the specified criteria.

    *)
}
type nonrec benefit_identifiers = benefit_id list
type nonrec associated_resource = {
  1. resource_arn : arn option;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the AWS resource.

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

    The unique identifier of the AWS resource within its service.

    *)
  3. resource_type : resource_type option;
    (*

    The type of AWS resource (e.g., EC2 instance, S3 bucket, Lambda function).

    *)
}

Represents an AWS resource that is associated with a benefit application for tracking and management.

type nonrec associated_resources = associated_resource list
type nonrec list_benefit_applications_input = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token to retrieve the next set of results from a previous request.

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

    The maximum number of benefit applications to return in a single response.

    *)
  3. associated_resource_arns : arns option;
    (*

    Filter benefit applications by specific AWS resource ARNs.

    *)
  4. associated_resources : associated_resources option;
    (*

    Filter benefit applications by associated AWS resources.

    *)
  5. stages : stages option;
    (*

    Filter benefit applications by their current processing stage.

    *)
  6. status : statuses option;
    (*

    Filter benefit applications by their current processing status.

    *)
  7. benefit_identifiers : benefit_identifiers option;
    (*

    Filter benefit applications by specific benefit identifiers.

    *)
  8. fulfillment_types : fulfillment_types option;
    (*

    Filter benefit applications by specific fulfillment types.

    *)
  9. programs : programs option;
    (*

    Filter benefit applications by specific AWS partner programs.

    *)
  10. catalog : catalog_name;
    (*

    The catalog identifier to filter benefit applications by catalog.

    *)
}
type nonrec benefit_allocation_id = string
type nonrec benefit_allocation_status =
  1. | FULFILLED
  2. | INACTIVE
  3. | ACTIVE
type nonrec benefit_allocation_name = string
type nonrec benefit_ids = benefit_id list
type nonrec benefit_allocation_summary = {
  1. applicable_benefit_ids : benefit_ids option;
    (*

    The identifiers of the benefits applicable for this allocation.

    *)
  2. expires_at : timestamp option;
    (*

    The timestamp when the benefit allocation expires.

    *)
  3. created_at : timestamp option;
    (*

    The timestamp when the benefit allocation was created.

    *)
  4. fulfillment_types : fulfillment_types option;
    (*

    The fulfillment types used for this benefit allocation.

    *)
  5. benefit_application_id : benefit_application_id option;
    (*

    The identifier of the benefit application that resulted in this allocation.

    *)
  6. benefit_id : benefit_id option;
    (*

    The identifier of the benefit that this allocation is based on.

    *)
  7. name : benefit_allocation_name option;
    (*

    The human-readable name of the benefit allocation.

    *)
  8. status_reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Additional information explaining the current status of the benefit allocation.

    *)
  9. status : benefit_allocation_status option;
    (*

    The current status of the benefit allocation.

    *)
  10. arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) of the benefit allocation.

    *)
  11. catalog : catalog_name option;
    (*

    The catalog identifier that the benefit allocation belongs to.

    *)
  12. id : benefit_allocation_id option;
    (*

    The unique identifier of the benefit allocation.

    *)
}

A summary view of a benefit allocation containing key information for list operations.

type nonrec benefit_allocation_summaries = benefit_allocation_summary list
type nonrec list_benefit_allocations_output = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token to retrieve the next set of results, if more results are available.

    *)
  2. benefit_allocation_summaries : benefit_allocation_summaries option;
    (*

    A list of benefit allocation summaries matching the specified criteria.

    *)
}
type nonrec benefit_application_identifier_list = benefit_application_identifier list
type nonrec benefit_allocation_status_list = benefit_allocation_status list
type nonrec list_benefit_allocations_input = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token to retrieve the next set of results from a previous request.

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

    The maximum number of benefit allocations to return in a single response.

    *)
  3. status : benefit_allocation_status_list option;
    (*

    Filter benefit allocations by their current status.

    *)
  4. benefit_application_identifiers : benefit_application_identifier_list option;
    (*

    Filter benefit allocations by specific benefit application identifiers.

    *)
  5. benefit_identifiers : benefit_identifiers option;
    (*

    Filter benefit allocations by specific benefit identifiers.

    *)
  6. fulfillment_types : fulfillment_types option;
    (*

    Filter benefit allocations by specific fulfillment types.

    *)
  7. catalog : catalog_name;
    (*

    The catalog identifier to filter benefit allocations by catalog.

    *)
}
type nonrec file_type =
  1. | CSV
  2. | SVG
  3. | JPG
  4. | PNG
  5. | PDF
  6. | PPTX
  7. | XLSX
  8. | DOCX
  9. | DOC
type nonrec file_detail = {
  1. created_at : timestamp option;
    (*

    The timestamp when the file was uploaded.

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

    The identifier of the user who uploaded the file.

    *)
  3. file_type : file_type option;
    (*

    The type or category of the file (e.g., document, image, spreadsheet).

    *)
  4. file_status_reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The reason for that particulat file status.

    *)
  5. file_status : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The current processing status of the file (e.g., uploaded, processing, approved, rejected).

    *)
  6. file_name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The original name of the uploaded file.

    *)
  7. business_use_case : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The business purpose or use case that this file supports in the benefit application.

    *)
  8. file_ur_i : file_ur_i;
    (*

    The URI or location where the file is stored.

    *)
}

Represents detailed information about a file attached to a benefit application.

type nonrec file_details = file_detail list
type nonrec get_benefit_application_output = {
  1. file_details : file_details option;
    (*

    Supporting documents and files attached to the benefit application.

    *)
  2. partner_contacts : contacts option;
    (*

    Contact information for partner representatives responsible for this benefit application.

    *)
  3. associated_resources : arns option;
    (*

    AWS resources that are associated with this benefit application.

    *)
  4. revision : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The current revision number of the benefit application.

    *)
  5. updated_at : timestamp option;
    (*

    The timestamp when the benefit application was last updated.

    *)
  6. created_at : timestamp option;
    (*

    The timestamp when the benefit application was created.

    *)
  7. status_reason_codes : status_reason_codes option;
    (*

    The list of standardized codes representing the reason for the current status.

    *)
  8. status_reason_code : status_reason_code option;
    (*

    A standardized code representing the reason for the current status.

    *)
  9. status_reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Additional information explaining the current status of the benefit application.

    *)
  10. stage : benefit_application_stage option;
    (*

    The current stage in the benefit application processing workflow.

    *)
  11. status : benefit_application_status option;
    (*

    The current processing status of the benefit application.

    *)
  12. programs : programs option;
    (*

    The AWS partner programs associated with this benefit application.

    *)
  13. benefit_application_details : Smaws_Lib.Smithy_api.Types.document option;
    (*

    Detailed information and requirements specific to the benefit being requested.

    *)
  14. fulfillment_types : fulfillment_types option;
    (*

    The fulfillment types requested for this benefit application.

    *)
  15. description : benefit_application_description option;
    (*

    A detailed description of the benefit application.

    *)
  16. name : benefit_application_name option;
    (*

    The human-readable name of the benefit application.

    *)
  17. benefit_id : benefit_id option;
    (*

    The identifier of the benefit being requested in this application.

    *)
  18. catalog : catalog_name option;
    (*

    The catalog identifier that the benefit application belongs to.

    *)
  19. arn : arn option;
    (*

    The Amazon Resource Name (ARN) of the benefit application.

    *)
  20. id : benefit_application_id option;
    (*

    The unique identifier of the benefit application.

    *)
}
type nonrec get_benefit_application_input = {
  1. identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to retrieve.

    *)
  2. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog to query.

    *)
}
type nonrec benefit_allocation_arn = string
type nonrec currency_code =
  1. | ZAR
  2. | XPF
  3. | XOF
  4. | XCD
  5. | XAF
  6. | VND
  7. | UZS
  8. | UYU
  9. | USD
  10. | UAH
  11. | TZS
  12. | TWD
  13. | TTD
  14. | TRY
  15. | TND
  16. | THB
  17. | SKK
  18. | SIT
  19. | SGD
  20. | SEK
  21. | SAR
  22. | RUB
  23. | RON
  24. | QAR
  25. | PYG
  26. | PLN
  27. | PKR
  28. | PHP
  29. | PEN
  30. | PAB
  31. | NZD
  32. | NOK
  33. | NIO
  34. | NGN
  35. | NAD
  36. | MYR
  37. | MXN
  38. | MVR
  39. | MUR
  40. | MOP
  41. | MNT
  42. | MAD
  43. | LVL
  44. | LTL
  45. | LKR
  46. | LBP
  47. | KZT
  48. | KYD
  49. | KRW
  50. | KHR
  51. | KES
  52. | JPY
  53. | JMD
  54. | ISK
  55. | INR
  56. | ILS
  57. | IDR
  58. | HUF
  59. | HTG
  60. | HRK
  61. | HNL
  62. | HKD
  63. | GYD
  64. | GTQ
  65. | GHS
  66. | GEL
  67. | GBP
  68. | EUR
  69. | EGP
  70. | EEK
  71. | DOP
  72. | DKK
  73. | CZK
  74. | CRC
  75. | COP
  76. | CNY
  77. | CLP
  78. | CHF
  79. | CAD
  80. | BZD
  81. | BYR
  82. | BSD
  83. | BRL
  84. | BOB
  85. | BND
  86. | BMD
  87. | BGN
  88. | BDT
  89. | BBD
  90. | AZN
  91. | AWG
  92. | AUD
  93. | ARS
  94. | AMD
  95. | AED
type nonrec monetary_value = {
  1. currency_code : currency_code;
    (*

    The ISO 4217 currency code (e.g., USD, EUR) for the monetary amount.

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

    The numeric amount of the monetary value.

    *)
}

Represents a monetary amount with its associated currency.

type nonrec issuance_detail = {
  1. issued_at : timestamp option;
    (*

    The timestamp when this specific issuance was processed.

    *)
  2. issuance_amount : monetary_value option;
    (*

    The monetary amount or value that was issued in this specific issuance.

    *)
  3. issuance_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The unique identifier for this specific issuance.

    *)
}

Represents detailed information about a specific issuance of benefit value.

type nonrec disbursement_details = {
  1. issuance_details : issuance_detail option;
    (*

    Detailed information about how the disbursement was issued and processed.

    *)
  2. disbursed_amount : monetary_value option;
    (*

    The total amount that has been disbursed for this benefit allocation.

    *)
}

Contains information about disbursement-based benefit fulfillment, such as direct payments or reimbursements.

type nonrec consumable_details = {
  1. issuance_details : issuance_detail option;
    (*

    Detailed information about how the consumable benefit was issued and distributed.

    *)
  2. utilized_amount : monetary_value option;
    (*

    The amount of the consumable benefit that has already been used.

    *)
  3. remaining_amount : monetary_value option;
    (*

    The remaining amount of the consumable benefit that is still available for use.

    *)
  4. allocated_amount : monetary_value option;
    (*

    The total amount of the consumable benefit that has been allocated.

    *)
}

Contains information about consumable benefit fulfillment, such as usage quotas or service limits.

type nonrec credit_code = {
  1. expires_at : timestamp;
    (*

    The timestamp when the credit code expires and can no longer be redeemed.

    *)
  2. issued_at : timestamp;
    (*

    The timestamp when the credit code was issued.

    *)
  3. status : benefit_allocation_status;
    (*

    The current status of the credit code (e.g., active, redeemed, expired).

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

    The actual credit code string that can be redeemed in the AWS billing console.

    *)
  5. value : monetary_value;
    (*

    The monetary value of the credit code.

    *)
  6. aws_account_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The AWS account ID that the credit code is associated with or can be applied to.

    *)
}

Represents an AWS credit code that can be applied to an AWS account for billing purposes.

type nonrec credit_codes = credit_code list
type nonrec credit_details = {
  1. codes : credit_codes;
    (*

    A list of credit codes that have been generated for this benefit allocation.

    *)
  2. issued_amount : monetary_value;
    (*

    The amount of credits that have actually been issued and are available for use.

    *)
  3. allocated_amount : monetary_value;
    (*

    The total amount of credits that have been allocated for this benefit.

    *)
}

Contains information about credit-based benefit fulfillment, including AWS promotional credits.

type nonrec access_details = {
  1. description : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A description of the access privileges or permissions granted by this benefit.

    *)
}

Contains information about access-based benefit fulfillment, such as service permissions or feature access.

type nonrec fulfillment_details =
  1. | AccessDetails of access_details
    (*

    Details about access-based fulfillment, if applicable to this benefit allocation.

    *)
  2. | CreditDetails of credit_details
    (*

    Details about credit-based fulfillment, if applicable to this benefit allocation.

    *)
  3. | ConsumableDetails of consumable_details
    (*

    Details about consumable-based fulfillment, if applicable to this benefit allocation.

    *)
  4. | DisbursementDetails of disbursement_details
    (*

    Details about disbursement-based fulfillment, if applicable to this benefit allocation.

    *)

Contains comprehensive information about how a benefit allocation is fulfilled across different fulfillment types.

type nonrec get_benefit_allocation_output = {
  1. expires_at : timestamp option;
    (*

    The timestamp when the benefit allocation expires and is no longer usable.

    *)
  2. starts_at : timestamp option;
    (*

    The timestamp when the benefit allocation becomes active and usable.

    *)
  3. updated_at : timestamp option;
    (*

    The timestamp when the benefit allocation was last updated.

    *)
  4. created_at : timestamp option;
    (*

    The timestamp when the benefit allocation was created.

    *)
  5. fulfillment_detail : fulfillment_details option;
    (*

    Detailed information about how the benefit allocation is fulfilled.

    *)
  6. applicable_benefit_ids : benefit_identifiers option;
    (*

    A list of benefit identifiers that this allocation can be applied to.

    *)
  7. fulfillment_type : fulfillment_type option;
    (*

    The fulfillment type used for this benefit allocation.

    *)
  8. benefit_id : benefit_id option;
    (*

    The identifier of the benefit that this allocation is based on.

    *)
  9. benefit_application_id : benefit_application_id option;
    (*

    The identifier of the benefit application that resulted in this allocation.

    *)
  10. status_reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Additional information explaining the current status of the benefit allocation.

    *)
  11. status : benefit_allocation_status option;
    (*

    The current status of the benefit allocation (e.g., active, expired, consumed).

    *)
  12. description : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A detailed description of the benefit allocation.

    *)
  13. name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The human-readable name of the benefit allocation.

    *)
  14. arn : benefit_allocation_arn option;
    (*

    The Amazon Resource Name (ARN) of the benefit allocation.

    *)
  15. catalog : catalog_name option;
    (*

    The catalog identifier that the benefit allocation belongs to.

    *)
  16. id : benefit_allocation_id option;
    (*

    The unique identifier of the benefit allocation.

    *)
}
type nonrec benefit_allocation_identifier = string
type nonrec get_benefit_allocation_input = {
  1. identifier : benefit_allocation_identifier;
    (*

    The unique identifier of the benefit allocation to retrieve.

    *)
  2. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog to query.

    *)
}
type nonrec get_benefit_output = {
  1. status : benefit_status option;
    (*

    The current status of the benefit (e.g., active, inactive, deprecated).

    *)
  2. benefit_request_schema : Smaws_Lib.Smithy_api.Types.document option;
    (*

    The schema definition that describes the required fields for requesting this benefit.

    *)
  3. fulfillment_types : fulfillment_types option;
    (*

    The available fulfillment types for this benefit (e.g., credits, access, disbursement).

    *)
  4. programs : programs option;
    (*

    The AWS partner programs that this benefit is associated with.

    *)
  5. description : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A detailed description of the benefit and its purpose.

    *)
  6. name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The human-readable name of the benefit.

    *)
  7. arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) of the benefit.

    *)
  8. catalog : catalog_name option;
    (*

    The catalog identifier that the benefit belongs to.

    *)
  9. id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The unique identifier of the benefit.

    *)
}
type nonrec get_benefit_input = {
  1. identifier : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The unique identifier of the benefit to retrieve.

    *)
  2. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog to query.

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

    The updated revision number of the benefit application after the resource disassociation.

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

    The Amazon Resource Name (ARN) of the benefit application after the resource disassociation.

    *)
  3. id : benefit_application_id option;
    (*

    The unique identifier of the benefit application after the resource disassociation.

    *)
}
type nonrec disassociate_benefit_application_resource_input = {
  1. resource_arn : arn;
    (*

    The Amazon Resource Name (ARN) of the AWS resource to disassociate from the benefit application.

    *)
  2. benefit_application_identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to disassociate the resource from.

    *)
  3. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

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

    The initial revision number of the newly created benefit application.

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

    The Amazon Resource Name (ARN) of the newly created benefit application.

    *)
  3. id : benefit_application_id option;
    (*

    The unique identifier assigned to the newly created benefit application.

    *)
}
type nonrec create_benefit_application_input = {
  1. file_details : file_input_details option;
    (*

    Supporting documents and files attached to the benefit application.

    *)
  2. partner_contacts : contacts option;
    (*

    Contact information for partner representatives responsible for this benefit application.

    *)
  3. associated_resources : arns option;
    (*

    AWS resources that are associated with this benefit application.

    *)
  4. tags : tags option;
    (*

    Key-value pairs to categorize and organize the benefit application.

    *)
  5. benefit_application_details : Smaws_Lib.Smithy_api.Types.document option;
    (*

    Detailed information and requirements specific to the benefit being requested.

    *)
  6. fulfillment_types : fulfillment_types option;
    (*

    The types of fulfillment requested for this benefit application (e.g., credits, access, disbursement).

    *)
  7. benefit_identifier : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The unique identifier of the benefit being requested in this application.

    *)
  8. description : benefit_application_description option;
    (*

    A detailed description of the benefit application and its intended use.

    *)
  9. name : benefit_application_name option;
    (*

    A human-readable name for the benefit application.

    *)
  10. client_token : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A unique, case-sensitive identifier to ensure idempotent processing of the creation request.

    *)
  11. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog to create the application in.

    *)
}
type nonrec cancel_benefit_application_output = unit
type nonrec cancel_benefit_application_input = {
  1. reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A descriptive reason explaining why the benefit application is being cancelled.

    *)
  2. identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to cancel.

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

    A unique, case-sensitive identifier to ensure idempotent processing of the cancellation request.

    *)
  4. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

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

    The updated revision number of the benefit application after the resource association.

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

    The Amazon Resource Name (ARN) of the benefit application after the resource association.

    *)
  3. id : benefit_application_id option;
    (*

    The unique identifier of the benefit application after the resource association.

    *)
}
type nonrec associate_benefit_application_resource_input = {
  1. resource_arn : arn;
    (*

    The Amazon Resource Name (ARN) of the AWS resource to associate with the benefit application.

    *)
  2. benefit_application_identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to associate the resource with.

    *)
  3. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

    *)
}
type nonrec amend_benefit_application_output = unit
type nonrec amendment = {
  1. new_value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The new value to set for the specified field in the benefit application.

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

    The JSON path or field identifier specifying which field in the benefit application to modify.

    *)
}

Represents a specific change to be made to a benefit application field.

type nonrec amendment_list = amendment list
type nonrec amend_benefit_application_input = {
  1. amendments : amendment_list;
    (*

    A list of specific field amendments to apply to the benefit application.

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

    A descriptive reason explaining why the benefit application is being amended.

    *)
  3. identifier : benefit_application_identifier;
    (*

    The unique identifier of the benefit application to be amended.

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

    The current revision number of the benefit application to ensure optimistic concurrency control.

    *)
  5. client_token : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A unique, case-sensitive identifier to ensure idempotent processing of the amendment request.

    *)
  6. catalog : catalog_name;
    (*

    The catalog identifier that specifies which benefit catalog the application belongs to.

    *)
}
type nonrec benefit_application = Smaws_Lib.CoreTypes.Resource.t
type nonrec benefit_allocation = Smaws_Lib.CoreTypes.Resource.t
type nonrec benefit = Smaws_Lib.CoreTypes.Resource.t