Module Smaws_Client_SSMContacts.Types

type nonrec day_of_week =
  1. | SUN
  2. | SAT
  3. | FRI
  4. | THU
  5. | WED
  6. | TUE
  7. | MON
type nonrec hour_of_day = int
type nonrec minute_of_hour = int
type nonrec hand_off_time = {
  1. minute_of_hour : minute_of_hour;
    (*

    The minute when an on-call rotation shift begins or ends.

    *)
  2. hour_of_day : hour_of_day;
    (*

    The hour when an on-call rotation shift begins or ends.

    *)
}

Details about when an on-call rotation shift begins or ends.

type nonrec weekly_setting = {
  1. hand_off_time : hand_off_time;
    (*

    The time of day when a weekly recurring on-call shift rotation begins.

    *)
  2. day_of_week : day_of_week;
    (*

    The day of the week when weekly recurring on-call shift rotations begins.

    *)
}

Information about rotations that recur weekly.

type nonrec weekly_settings = weekly_setting list
type nonrec validation_exception_reason =
  1. | OTHER
  2. | FIELD_VALIDATION_FAILED
  3. | CANNOT_PARSE
  4. | UNKNOWN_OPERATION
type nonrec string_ = string
type nonrec validation_exception_field = {
  1. message : string_;
    (*

    Information about what caused the field to cause an exception.

    *)
  2. name : string_;
    (*

    The name of the field that caused the exception.

    *)
}

Provides information about which field caused the exception.

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

    The fields that caused the error

    *)
  2. reason : validation_exception_reason option;
    (*

    Reason the request failed validation

    *)
  3. message : string_;
}

The input fails to satisfy the constraints specified by an Amazon Web Services service.

type nonrec uuid = string
type nonrec update_rotation_result = unit
type nonrec ssm_contacts_arn = string
type nonrec rotation_contacts_arn_list = ssm_contacts_arn list
type nonrec date_time = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec time_zone_id = string
type nonrec day_of_month = int
type nonrec monthly_setting = {
  1. hand_off_time : hand_off_time;
    (*

    The time of day when a monthly recurring on-call shift rotation begins.

    *)
  2. day_of_month : day_of_month;
    (*

    The day of the month when monthly recurring on-call rotations begin.

    *)
}

Information about on-call rotations that recur monthly.

type nonrec monthly_settings = monthly_setting list
type nonrec daily_settings = hand_off_time list
type nonrec number_of_on_calls = int
type nonrec coverage_time = {
  1. end_ : hand_off_time option;
    (*

    Information about when the on-call rotation shift ends.

    *)
  2. start : hand_off_time option;
    (*

    Information about when the on-call rotation shift begins.

    *)
}

Information about when an on-call shift begins and ends.

type nonrec coverage_times = coverage_time list
type nonrec shift_coverages_map = (day_of_week * coverage_times) list
type nonrec recurrence_multiplier = int
type nonrec recurrence_settings = {
  1. recurrence_multiplier : recurrence_multiplier;
    (*

    The number of days, weeks, or months a single rotation lasts.

    *)
  2. shift_coverages : shift_coverages_map option;
    (*

    Information about the days of the week that the on-call rotation coverage includes.

    *)
  3. number_of_on_calls : number_of_on_calls;
    (*

    The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of 2 designates that two of them are on call at any given time.

    *)
  4. daily_settings : daily_settings option;
    (*

    Information about on-call rotations that recur daily.

    *)
  5. weekly_settings : weekly_settings option;
    (*

    Information about on-call rotations that recur weekly.

    *)
  6. monthly_settings : monthly_settings option;
    (*

    Information about on-call rotations that recur monthly.

    *)
}

Information about when an on-call rotation is in effect and how long the rotation period lasts.

type nonrec update_rotation_request = {
  1. recurrence : recurrence_settings;
    (*

    Information about how long the updated rotation lasts before restarting at the beginning of the shift order.

    *)
  2. time_zone_id : time_zone_id option;
    (*

    The time zone to base the updated rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the Time Zone Database on the IANA website.

    Designators for time zones that don’t support Daylight Savings Time Rules, such as Pacific Standard Time (PST), aren't supported.

    *)
  3. start_time : date_time option;
    (*

    The date and time the rotation goes into effect.

    *)
  4. contact_ids : rotation_contacts_arn_list option;
    (*

    The Amazon Resource Names (ARNs) of the contacts to include in the updated rotation.

    Only the PERSONAL contact type is supported. The contact types ESCALATION and ONCALL_SCHEDULE are not supported for this operation.

    The order in which you list the contacts is their shift order in the rotation schedule.

    *)
  5. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the rotation to update.

    *)
}
type nonrec retry_after_seconds = int
type nonrec throttling_exception = {
  1. retry_after_seconds : retry_after_seconds option;
    (*

    Advice to clients on when the call can be safely retried

    *)
  2. service_code : string_ option;
    (*

    Service Quotas requirement to identify originating quota

    *)
  3. quota_code : string_ option;
    (*

    Service Quotas requirement to identify originating service

    *)
  4. message : string_;
}

The request was denied due to request throttling.

type nonrec resource_not_found_exception = {
  1. resource_type : string_;
    (*

    Hypothetical resource type that was not found

    *)
  2. resource_id : string_;
    (*

    Hypothetical resource identifier that was not found

    *)
  3. message : string_;
}

Request references a resource that doesn't exist.

type nonrec internal_server_exception = {
  1. retry_after_seconds : retry_after_seconds option;
    (*

    Advice to clients on when the call can be safely retried

    *)
  2. message : string_;
}

Unexpected error occurred while processing the request.

type nonrec ssm_contacts_arn_list = ssm_contacts_arn list
type nonrec dependent_entity = {
  1. dependent_resource_ids : ssm_contacts_arn_list;
    (*

    The Amazon Resource Names (ARNs) of the dependent resources.

    *)
  2. relation_type : string_;
    (*

    The type of relationship between one resource and the other resource that it is related to or depends on.

    *)
}

Information about a resource that another resource is related to or depends on.

For example, if a contact is a member of a rotation, the rotation is a dependent entity of the contact.

type nonrec dependent_entity_list = dependent_entity list
type nonrec conflict_exception = {
  1. dependent_entities : dependent_entity_list option;
    (*

    List of dependent entities containing information on relation type and resourceArns linked to the resource in use

    *)
  2. resource_type : string_;
    (*

    Type of the resource in use

    *)
  3. resource_id : string_;
    (*

    Identifier of the resource in use

    *)
  4. message : string_;
}

Updating or deleting a resource causes an inconsistent state.

type nonrec access_denied_exception = {
  1. message : string_;
}

You don't have sufficient access to perform this operation.

type nonrec update_contact_result = unit
type nonrec contact_name = string
type nonrec stage_duration_in_mins = int
type nonrec retry_interval_in_minutes = int
type nonrec channel_target_info = {
  1. retry_interval_in_minutes : retry_interval_in_minutes option;
    (*

    The number of minutes to wait before retrying to send engagement if the engagement initially failed.

    *)
  2. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel.

    *)
}

Information about the contact channel that Incident Manager uses to engage the contact.

type nonrec is_essential = bool
type nonrec contact_target_info = {
  1. is_essential : is_essential;
    (*

    A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.

    *)
  2. contact_id : ssm_contacts_arn option;
    (*

    The Amazon Resource Name (ARN) of the contact.

    *)
}

The contact that Incident Manager is engaging during an incident.

type nonrec target = {
  1. contact_target_info : contact_target_info option;
    (*

    Information about the contact that Incident Manager engages.

    *)
  2. channel_target_info : channel_target_info option;
    (*

    Information about the contact channel that Incident Manager engages.

    *)
}

The contact or contact channel that's being engaged.

type nonrec targets_list = target list
type nonrec stage = {
  1. targets : targets_list;
    (*

    The contacts or contact methods that the escalation plan or engagement plan is engaging.

    *)
  2. duration_in_minutes : stage_duration_in_mins;
    (*

    The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.

    *)
}

A set amount of time that an escalation plan or engagement plan engages the specified contacts or contact methods.

type nonrec stages_list = stage list
type nonrec plan = {
  1. rotation_ids : ssm_contacts_arn_list option;
    (*

    The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.

    *)
  2. stages : stages_list option;
    (*

    A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.

    *)
}

Information about the stages and on-call rotation teams associated with an escalation plan or engagement plan.

type nonrec update_contact_request = {
  1. plan : plan option;
    (*

    A list of stages. A contact has an engagement plan with stages for specified contact channels. An escalation plan uses these stages to contact specified contacts.

    *)
  2. display_name : contact_name option;
    (*

    The full name of the contact or escalation plan.

    *)
  3. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan you're updating.

    *)
}
type nonrec update_contact_channel_result = unit
type nonrec channel_name = string
type nonrec simple_address = string
type nonrec contact_channel_address = {
  1. simple_address : simple_address option;
    (*

    The format is dependent on the type of the contact channel. The following are the expected formats:

    • SMS - '+' followed by the country code and phone number
    • VOICE - '+' followed by the country code and phone number
    • EMAIL - any standard email format
    *)
}

The details that Incident Manager uses when trying to engage the contact channel.

type nonrec update_contact_channel_request = {
  1. delivery_address : contact_channel_address option;
    (*

    The details that Incident Manager uses when trying to engage the contact channel.

    *)
  2. name : channel_name option;
    (*

    The name of the contact channel.

    *)
  3. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel you want to update.

    *)
}
type nonrec data_encryption_exception = {
  1. message : string_;
}

The operation failed to due an encryption key error.

type nonrec service_quota_exceeded_exception = {
  1. service_code : string_;
    (*

    Service Quotas requirement to identify originating quota

    *)
  2. quota_code : string_;
    (*

    Service Quotas requirement to identify originating service

    *)
  3. resource_type : string_ option;
    (*

    Type of the resource affected

    *)
  4. resource_id : string_ option;
    (*

    Identifier of the resource affected

    *)
  5. message : string_;
}

Request would cause a service quota to be exceeded.

type nonrec untag_resource_result = unit
type nonrec amazon_resource_name = 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 key of the tag that you want to remove.

    *)
  2. resource_ar_n : amazon_resource_name;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan.

    *)
}
type nonrec time_range = {
  1. end_time : date_time option;
    (*

    The end of the time range.

    *)
  2. start_time : date_time option;
    (*

    The start of the time range.

    *)
}

A range of between two set times

type nonrec tag_value = string
type nonrec tag = {
  1. value : tag_value option;
    (*

    Value of the tag.

    *)
  2. key : tag_key option;
    (*

    Name of the object key.

    *)
}

A container of a key-value name pair.

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

    A list of tags that you are adding to the contact or escalation plan.

    *)
  2. resource_ar_n : amazon_resource_name;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan.

    *)
}
type nonrec subject = string
type nonrec stop_reason = string
type nonrec stop_engagement_result = unit
type nonrec stop_engagement_request = {
  1. reason : stop_reason option;
    (*

    The reason that you're stopping the engagement.

    *)
  2. engagement_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement.

    *)
}
type nonrec start_engagement_result = {
  1. engagement_arn : ssm_contacts_arn;
    (*

    The ARN of the engagement.

    *)
}
type nonrec sender = string
type nonrec content = string
type nonrec public_subject = string
type nonrec public_content = string
type nonrec incident_id = string
type nonrec idempotency_token = string
type nonrec start_engagement_request = {
  1. idempotency_token : idempotency_token option;
    (*

    A token ensuring that the operation is called only once with the specified details.

    *)
  2. incident_id : incident_id option;
    (*

    The ARN of the incident that the engagement is part of.

    *)
  3. public_content : public_content option;
    (*

    The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

    *)
  4. public_subject : public_subject option;
    (*

    The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

    *)
  5. content : content;
    (*

    The secure content of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

    *)
  6. subject : subject;
    (*

    The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

    *)
  7. sender : sender;
    (*

    The user that started the engagement.

    *)
  8. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact being engaged.

    *)
}
type nonrec stage_index = int
type nonrec shift_type =
  1. | OVERRIDDEN
  2. | REGULAR
type nonrec shift_details = {
  1. overridden_contact_ids : ssm_contacts_arn_list;
    (*

    The Amazon Resources Names (ARNs) of the contacts who were replaced in a shift when an override was created. If the override is deleted, these contacts are restored to the shift.

    *)
}

Information about overrides to an on-call rotation shift.

type nonrec send_activation_code_result = unit
type nonrec send_activation_code_request = {
  1. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel.

    *)
}
type nonrec put_contact_policy_result = unit
type nonrec policy = string
type nonrec put_contact_policy_request = {
  1. policy : policy;
    (*

    Details of the resource policy.

    *)
  2. contact_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan.

    *)
}
type nonrec list_tags_for_resource_result = {
  1. tags : tags_list option;
    (*

    The tags related to the contact or escalation plan.

    *)
}
type nonrec list_tags_for_resource_request = {
  1. resource_ar_n : amazon_resource_name;
    (*

    The Amazon Resource Name (ARN) of the contact, escalation plan, rotation, or on-call schedule.

    *)
}
type nonrec rotation_shift = {
  1. shift_details : shift_details option;
    (*

    Additional information about an on-call rotation shift.

    *)
  2. type_ : shift_type option;
    (*

    The type of shift rotation.

    *)
  3. end_time : date_time;
    (*

    The time a shift rotation ends.

    *)
  4. start_time : date_time;
    (*

    The time a shift rotation begins.

    *)
  5. contact_ids : ssm_contacts_arn_list option;
    (*

    The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation.

    *)
}

Information about a shift that belongs to an on-call rotation.

type nonrec rotation_shifts = rotation_shift list
type nonrec pagination_token = string
type nonrec list_rotation_shifts_result = {
  1. next_token : pagination_token option;
    (*

    The token for the next set of items to return. Use this token to get the next set of results.

    *)
  2. rotation_shifts : rotation_shifts option;
    (*

    Information about shifts that meet the filter criteria.

    *)
}
type nonrec max_results = int
type nonrec list_rotation_shifts_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    *)
  2. next_token : pagination_token option;
    (*

    A token to start the list. Use this token to get the next set of results.

    *)
  3. end_time : date_time;
    (*

    The date and time for the end of the time range to list shifts for.

    *)
  4. start_time : date_time option;
    (*

    The date and time for the beginning of the time range to list shifts for.

    *)
  5. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the rotation to retrieve shift information about.

    *)
}
type nonrec rotation_name = string
type nonrec rotation = {
  1. recurrence : recurrence_settings option;
    (*

    Information about when an on-call rotation is in effect and how long the rotation period lasts.

    *)
  2. time_zone_id : time_zone_id option;
    (*

    The time zone the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul".

    *)
  3. start_time : date_time option;
    (*

    The date and time the rotation becomes active.

    *)
  4. contact_ids : ssm_contacts_arn_list option;
    (*

    The Amazon Resource Names (ARNs) of the contacts assigned to the rotation team.

    *)
  5. name : rotation_name;
    (*

    The name of the rotation.

    *)
  6. rotation_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the rotation.

    *)
}

Information about a rotation in an on-call schedule.

type nonrec rotations = rotation list
type nonrec list_rotations_result = {
  1. rotations : rotations;
    (*

    Information about rotations that meet the filter criteria.

    *)
  2. next_token : pagination_token option;
    (*

    The token for the next set of items to return. Use this token to get the next set of results.

    *)
}
type nonrec list_rotations_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    *)
  2. next_token : pagination_token option;
    (*

    A token to start the list. Use this token to get the next set of results.

    *)
  3. rotation_name_prefix : rotation_name option;
    (*

    A filter to include rotations in list results based on their common prefix. For example, entering prod returns a list of all rotation names that begin with prod, such as production and prod-1.

    *)
}
type nonrec rotation_override = {
  1. create_time : date_time;
    (*

    The time a rotation override was created.

    *)
  2. end_time : date_time;
    (*

    The time a rotation override ends.

    *)
  3. start_time : date_time;
    (*

    The time a rotation override begins.

    *)
  4. new_contact_ids : ssm_contacts_arn_list;
    (*

    The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation.

    *)
  5. rotation_override_id : uuid;
    (*

    The Amazon Resource Name (ARN) of the override to an on-call rotation.

    *)
}

Information about an override specified for an on-call rotation.

type nonrec rotation_overrides = rotation_override list
type nonrec list_rotation_overrides_result = {
  1. next_token : pagination_token option;
    (*

    The token for the next set of items to return. Use this token to get the next set of results.

    *)
  2. rotation_overrides : rotation_overrides option;
    (*

    A list of rotation overrides in the specified time range.

    *)
}
type nonrec list_rotation_overrides_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    *)
  2. next_token : pagination_token option;
    (*

    A token to start the list. Use this token to get the next set of results.

    *)
  3. end_time : date_time;
    (*

    The date and time for the end of a time range for listing overrides.

    *)
  4. start_time : date_time;
    (*

    The date and time for the beginning of a time range for listing overrides.

    *)
  5. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the rotation to retrieve information about.

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

    The token for the next set of items to return. This token is used to get the next set of results.

    *)
  2. rotation_shifts : rotation_shifts option;
    (*

    Details about a rotation shift, including times, types, and contacts.

    *)
}
type nonrec member = string
type nonrec rotation_preview_member_list = member list
type nonrec rotation_override_preview_member_list = member list
type nonrec preview_override = {
  1. end_time : date_time option;
    (*

    Information about the time a rotation override would end.

    *)
  2. start_time : date_time option;
    (*

    Information about the time a rotation override would begin.

    *)
  3. new_members : rotation_override_preview_member_list option;
    (*

    Information about contacts to add to an on-call rotation override.

    *)
}

Information about contacts and times that an on-call override replaces.

type nonrec override_list = preview_override list
type nonrec list_preview_rotation_shifts_request = {
  1. max_results : max_results option;
    (*

    The maximum number of items to return for this call. The call also returns a token that can be specified in a subsequent call to get the next set of results.

    *)
  2. next_token : pagination_token option;
    (*

    A token to start the list. This token is used to get the next set of results.

    *)
  3. overrides : override_list option;
    (*

    Information about changes that would be made in a rotation override.

    *)
  4. recurrence : recurrence_settings;
    (*

    Information about how long a rotation would last before restarting at the beginning of the shift order.

    *)
  5. time_zone_id : time_zone_id;
    (*

    The time zone the rotation’s activity would be based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul".

    *)
  6. members : rotation_preview_member_list;
    (*

    The contacts that would be assigned to a rotation.

    *)
  7. end_time : date_time;
    (*

    The date and time a rotation shift would end.

    *)
  8. start_time : date_time option;
    (*

    Used to filter the range of calculated shifts before sending the response back to the user.

    *)
  9. rotation_start_time : date_time option;
    (*

    The date and time a rotation would begin. The first shift is calculated from this date and time.

    *)
}
type nonrec page = {
  1. read_time : date_time option;
    (*

    The time that the contact channel acknowledged engagement.

    *)
  2. delivery_time : date_time option;
    (*

    The time the message was delivered to the contact channel.

    *)
  3. sent_time : date_time option;
    (*

    The time that Incident Manager engaged the contact channel.

    *)
  4. incident_id : incident_id option;
    (*

    The ARN of the incident that's engaging the contact channel.

    *)
  5. sender : sender;
    (*

    The user that started the engagement.

    *)
  6. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the contact that Incident Manager is engaging.

    *)
  7. engagement_arn : ssm_contacts_arn;
    (*

    The ARN of the engagement that this page is part of.

    *)
  8. page_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the page to the contact channel.

    *)
}

Incident Manager engaging a contact's contact channel.

type nonrec pages_list = page list
type nonrec list_pages_by_engagement_result = {
  1. pages : pages_list;
    (*

    The list of engagements to contact channels.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec list_pages_by_engagement_request = {
  1. max_results : max_results option;
    (*

    The maximum number of engagements to contact channels to list per page of results.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
  3. engagement_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement.

    *)
}
type nonrec list_pages_by_contact_result = {
  1. pages : pages_list;
    (*

    The list of engagements to a contact's contact channel.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec list_pages_by_contact_request = {
  1. max_results : max_results option;
    (*

    The maximum number of engagements to contact channels to list per page of results.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
  3. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact you are retrieving engagements for.

    *)
}
type nonrec contact_type =
  1. | ONCALL_SCHEDULE
  2. | ESCALATION
  3. | PERSONAL
type nonrec resolution_contact = {
  1. stage_index : stage_index option;
    (*

    The stage in the escalation plan that resolves to this contact.

    *)
  2. type_ : contact_type;
    (*

    The type of contact for a resolution step.

    *)
  3. contact_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of a contact in the engagement resolution process.

    *)
}

Information about the engagement resolution steps. The resolution starts from the first contact, which can be an escalation plan, then resolves to an on-call rotation, and finally to a personal contact.

The ResolutionContact structure describes the information for each node or step in that process. It contains information about different contact types, such as the escalation, rotation, and personal contacts.

type nonrec resolution_list = resolution_contact list
type nonrec list_page_resolutions_result = {
  1. page_resolutions : resolution_list;
    (*

    Information about the resolution for an engagement.

    *)
  2. next_token : pagination_token option;
    (*

    The token for the next set of items to return. Use this token to get the next set of results.

    *)
}
type nonrec list_page_resolutions_request = {
  1. page_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact engaged for the incident.

    *)
  2. next_token : pagination_token option;
    (*

    A token to start the list. Use this token to get the next set of results.

    *)
}
type nonrec receipt_type =
  1. | STOP
  2. | SENT
  3. | READ
  4. | ERROR
  5. | DELIVERED
type nonrec receipt_info = string
type nonrec receipt = {
  1. receipt_time : date_time;
    (*

    The time receipt was SENT, DELIVERED, or READ.

    *)
  2. receipt_info : receipt_info option;
    (*

    Information provided during the page acknowledgement.

    *)
  3. receipt_type : receipt_type;
    (*

    The type follows the engagement cycle, SENT, DELIVERED, and READ.

    *)
  4. contact_channel_arn : ssm_contacts_arn option;
    (*

    The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged.

    *)
}

Records events during an engagement.

type nonrec receipts_list = receipt list
type nonrec list_page_receipts_result = {
  1. receipts : receipts_list option;
    (*

    A list of each acknowledgement.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec list_page_receipts_request = {
  1. max_results : max_results option;
    (*

    The maximum number of acknowledgements per page of results.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
  3. page_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement to a specific contact channel.

    *)
}
type nonrec engagement = {
  1. stop_time : date_time option;
    (*

    The time that the engagement ended.

    *)
  2. start_time : date_time option;
    (*

    The time that the engagement began.

    *)
  3. incident_id : incident_id option;
    (*

    The ARN of the incident that's engaging the contact.

    *)
  4. sender : sender;
    (*

    The user that started the engagement.

    *)
  5. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the escalation plan or contact that Incident Manager is engaging.

    *)
  6. engagement_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement.

    *)
}

Incident Manager reaching out to a contact or escalation plan to engage contact during an incident.

type nonrec engagements_list = engagement list
type nonrec list_engagements_result = {
  1. engagements : engagements_list;
    (*

    A list of each engagement that occurred during the specified time range of an incident.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec list_engagements_request = {
  1. time_range_value : time_range option;
    (*

    The time range to lists engagements for an incident.

    *)
  2. incident_id : incident_id option;
    (*

    The Amazon Resource Name (ARN) of the incident you're listing engagements for.

    *)
  3. max_results : max_results option;
    (*

    The maximum number of engagements per page of results.

    *)
  4. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec contact_alias = string
type nonrec contact = {
  1. type_ : contact_type;
    (*

    The type of contact.

    • PERSONAL: A single, individual contact.
    • ESCALATION: An escalation plan.
    • ONCALL_SCHEDULE: An on-call schedule.
    *)
  2. display_name : contact_name option;
    (*

    The full name of the contact or escalation plan.

    *)
  3. alias : contact_alias;
    (*

    The unique and identifiable alias of the contact or escalation plan.

    *)
  4. contact_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan.

    *)
}

A personal contact or escalation plan that Incident Manager engages during an incident.

type nonrec contacts_list = contact list
type nonrec list_contacts_result = {
  1. contacts : contacts_list option;
    (*

    A list of the contacts and escalation plans in your Incident Manager account.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec list_contacts_request = {
  1. type_ : contact_type option;
    (*

    The type of contact.

    *)
  2. alias_prefix : contact_alias option;
    (*

    Used to list only contacts who's aliases start with the specified prefix.

    *)
  3. max_results : max_results option;
    (*

    The maximum number of contacts and escalation plans per page of results.

    *)
  4. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec channel_type =
  1. | EMAIL
  2. | VOICE
  3. | SMS
type nonrec activation_status =
  1. | NOT_ACTIVATED
  2. | ACTIVATED
type nonrec contact_channel = {
  1. activation_status : activation_status;
    (*

    A Boolean value describing if the contact channel has been activated or not. If the contact channel isn't activated, Incident Manager can't engage the contact through it.

    *)
  2. delivery_address : contact_channel_address;
    (*

    The details that Incident Manager uses when trying to engage the contact channel.

    *)
  3. type_ : channel_type option;
    (*

    The type of the contact channel. Incident Manager supports three contact methods:

    • SMS
    • VOICE
    • EMAIL
    *)
  4. name : channel_name;
    (*

    The name of the contact channel.

    *)
  5. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the contact that contains the contact channel.

    *)
  6. contact_channel_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel.

    *)
}

The method that Incident Manager uses to engage a contact.

type nonrec contact_channel_list = contact_channel list
type nonrec list_contact_channels_result = {
  1. contact_channels : contact_channel_list;
    (*

    A list of contact channels related to the specified contact.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
}
type nonrec list_contact_channels_request = {
  1. max_results : max_results option;
    (*

    The maximum number of contact channels per page.

    *)
  2. next_token : pagination_token option;
    (*

    The pagination token to continue to the next page of results.

    *)
  3. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact.

    *)
}
type nonrec get_rotation_override_result = {
  1. create_time : date_time option;
    (*

    The date and time when the override was created.

    *)
  2. end_time : date_time option;
    (*

    The date and time when the override ends.

    *)
  3. start_time : date_time option;
    (*

    The date and time when the override goes into effect.

    *)
  4. new_contact_ids : ssm_contacts_arn_list option;
    (*

    The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation.

    *)
  5. rotation_arn : ssm_contacts_arn option;
    (*

    The Amazon Resource Name (ARN) of the on-call rotation that was overridden.

    *)
  6. rotation_override_id : uuid option;
    (*

    The Amazon Resource Name (ARN) of the override to an on-call rotation.

    *)
}
type nonrec get_rotation_override_request = {
  1. rotation_override_id : uuid;
    (*

    The Amazon Resource Name (ARN) of the on-call rotation override to retrieve information about.

    *)
  2. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the overridden rotation to retrieve information about.

    *)
}
type nonrec get_rotation_result = {
  1. recurrence : recurrence_settings;
    (*

    Specifies how long a rotation lasts before restarting at the beginning of the shift order.

    *)
  2. time_zone_id : time_zone_id;
    (*

    The time zone that the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format.

    *)
  3. start_time : date_time;
    (*

    The specified start time for the on-call rotation.

    *)
  4. contact_ids : rotation_contacts_arn_list;
    (*

    The Amazon Resource Names (ARNs) of the contacts assigned to the on-call rotation team.

    *)
  5. name : rotation_name;
    (*

    The name of the on-call rotation.

    *)
  6. rotation_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the on-call rotation.

    *)
}
type nonrec get_rotation_request = {
  1. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the on-call rotation to retrieve information about.

    *)
}
type nonrec get_contact_policy_result = {
  1. policy : policy option;
    (*

    Details about the resource policy attached to the contact or escalation plan.

    *)
  2. contact_arn : ssm_contacts_arn option;
    (*

    The ARN of the contact or escalation plan.

    *)
}
type nonrec get_contact_policy_request = {
  1. contact_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan.

    *)
}
type nonrec get_contact_channel_result = {
  1. activation_status : activation_status option;
    (*

    A Boolean value indicating if the contact channel has been activated or not.

    *)
  2. delivery_address : contact_channel_address;
    (*

    The details that Incident Manager uses when trying to engage the contact channel.

    *)
  3. type_ : channel_type;
    (*

    The type of contact channel. The type is SMS, VOICE, or EMAIL.

    *)
  4. name : channel_name;
    (*

    The name of the contact channel

    *)
  5. contact_channel_arn : ssm_contacts_arn;
    (*

    The ARN of the contact channel.

    *)
  6. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the contact that the channel belongs to.

    *)
}
type nonrec get_contact_channel_request = {
  1. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel you want information about.

    *)
}
type nonrec get_contact_result = {
  1. plan : plan;
    (*

    Details about the specific timing or stages and targets of the escalation plan or engagement plan.

    *)
  2. type_ : contact_type;
    (*

    The type of contact.

    *)
  3. display_name : contact_name option;
    (*

    The full name of the contact or escalation plan.

    *)
  4. alias : contact_alias;
    (*

    The alias of the contact or escalation plan. The alias is unique and identifiable.

    *)
  5. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the contact or escalation plan.

    *)
}
type nonrec get_contact_request = {
  1. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact or escalation plan.

    *)
}
type nonrec describe_page_result = {
  1. delivery_time : date_time option;
    (*

    The time that the contact channel received the engagement.

    *)
  2. read_time : date_time option;
    (*

    The time that the contact channel acknowledged the engagement.

    *)
  3. sent_time : date_time option;
    (*

    The time the engagement was sent to the contact channel.

    *)
  4. incident_id : incident_id option;
    (*

    The ARN of the incident that engaged the contact channel.

    *)
  5. public_content : public_content option;
    (*

    The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

    *)
  6. public_subject : public_subject option;
    (*

    The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

    *)
  7. content : content;
    (*

    The secure content of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

    *)
  8. subject : subject;
    (*

    The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

    *)
  9. sender : sender;
    (*

    The user that started the engagement.

    *)
  10. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the contact that was engaged.

    *)
  11. engagement_arn : ssm_contacts_arn;
    (*

    The ARN of the engagement that engaged the contact channel.

    *)
  12. page_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement to a contact channel.

    *)
}
type nonrec describe_page_request = {
  1. page_id : ssm_contacts_arn;
    (*

    The ID of the engagement to a contact channel.

    *)
}
type nonrec describe_engagement_result = {
  1. stop_time : date_time option;
    (*

    The time that the engagement ended.

    *)
  2. start_time : date_time option;
    (*

    The time that the engagement started.

    *)
  3. incident_id : incident_id option;
    (*

    The ARN of the incident in which the engagement occurred.

    *)
  4. public_content : public_content option;
    (*

    The insecure content of the message that was sent to the contact. Use this field for engagements to SMS.

    *)
  5. public_subject : public_subject option;
    (*

    The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS.

    *)
  6. content : content;
    (*

    The secure content of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

    *)
  7. subject : subject;
    (*

    The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE and EMAIL.

    *)
  8. sender : sender;
    (*

    The user that started the engagement.

    *)
  9. engagement_arn : ssm_contacts_arn;
    (*

    The ARN of the engagement.

    *)
  10. contact_arn : ssm_contacts_arn;
    (*

    The ARN of the escalation plan or contacts involved in the engagement.

    *)
}
type nonrec describe_engagement_request = {
  1. engagement_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement you want the details of.

    *)
}
type nonrec delete_rotation_override_result = unit
type nonrec delete_rotation_override_request = {
  1. rotation_override_id : uuid;
    (*

    The Amazon Resource Name (ARN) of the on-call rotation override to delete.

    *)
  2. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the rotation that was overridden.

    *)
}
type nonrec delete_rotation_result = unit
type nonrec delete_rotation_request = {
  1. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the on-call rotation to delete.

    *)
}
type nonrec delete_contact_channel_result = unit
type nonrec delete_contact_channel_request = {
  1. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel.

    *)
}
type nonrec delete_contact_result = unit
type nonrec delete_contact_request = {
  1. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact that you're deleting.

    *)
}
type nonrec deactivate_contact_channel_result = unit
type nonrec deactivate_contact_channel_request = {
  1. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel you're deactivating.

    *)
}
type nonrec create_rotation_override_result = {
  1. rotation_override_id : uuid;
    (*

    The Amazon Resource Name (ARN) of the created rotation override.

    *)
}
type nonrec rotation_override_contacts_arn_list = ssm_contacts_arn list
type nonrec create_rotation_override_request = {
  1. idempotency_token : idempotency_token option;
    (*

    A token that ensures that the operation is called only once with the specified details.

    *)
  2. end_time : date_time;
    (*

    The date and time when the override ends.

    *)
  3. start_time : date_time;
    (*

    The date and time when the override goes into effect.

    *)
  4. new_contact_ids : rotation_override_contacts_arn_list;
    (*

    The Amazon Resource Names (ARNs) of the contacts to replace those in the current on-call rotation with.

    If you want to include any current team members in the override shift, you must include their ARNs in the new contact ID list.

    *)
  5. rotation_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the rotation to create an override for.

    *)
}
type nonrec create_rotation_result = {
  1. rotation_arn : ssm_contacts_arn;
    (*

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

    *)
}
type nonrec create_rotation_request = {
  1. idempotency_token : idempotency_token option;
    (*

    A token that ensures that the operation is called only once with the specified details.

    *)
  2. tags : tags_list option;
    (*

    Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see Tagging Incident Manager resources in the Incident Manager User Guide.

    *)
  3. recurrence : recurrence_settings;
    (*

    Information about the rule that specifies when a shift's team members rotate.

    *)
  4. time_zone_id : time_zone_id;
    (*

    The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the Time Zone Database on the IANA website.

    Designators for time zones that don’t support Daylight Savings Time rules, such as Pacific Standard Time (PST), are not supported.

    *)
  5. start_time : date_time option;
    (*

    The date and time that the rotation goes into effect.

    *)
  6. contact_ids : rotation_contacts_arn_list;
    (*

    The Amazon Resource Names (ARNs) of the contacts to add to the rotation.

    Only the PERSONAL contact type is supported. The contact types ESCALATION and ONCALL_SCHEDULE are not supported for this operation.

    The order that you list the contacts in is their shift order in the rotation schedule. To change the order of the contact's shifts, use the UpdateRotation operation.

    *)
  7. name : rotation_name;
    (*

    The name of the rotation.

    *)
}
type nonrec create_contact_channel_result = {
  1. contact_channel_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel.

    *)
}
type nonrec defer_activation = bool
type nonrec create_contact_channel_request = {
  1. idempotency_token : idempotency_token option;
    (*

    A token ensuring that the operation is called only once with the specified details.

    *)
  2. defer_activation : defer_activation option;
    (*

    If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.

    *)
  3. delivery_address : contact_channel_address;
    (*

    The details that Incident Manager uses when trying to engage the contact channel. The format is dependent on the type of the contact channel. The following are the expected formats:

    • SMS - '+' followed by the country code and phone number
    • VOICE - '+' followed by the country code and phone number
    • EMAIL - any standard email format
    *)
  4. type_ : channel_type;
    (*

    Incident Manager supports three types of contact channels:

    • SMS
    • VOICE
    • EMAIL
    *)
  5. name : channel_name;
    (*

    The name of the contact channel.

    *)
  6. contact_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.

    *)
}
type nonrec create_contact_result = {
  1. contact_arn : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the created contact or escalation plan.

    *)
}
type nonrec create_contact_request = {
  1. idempotency_token : idempotency_token option;
    (*

    A token ensuring that the operation is called only once with the specified details.

    *)
  2. tags : tags_list option;
    (*

    Adds a tag to the target. You can only tag resources created in the first Region of your replication set.

    *)
  3. plan : plan;
    (*

    A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.

    *)
  4. type_ : contact_type;
    (*

    The type of contact to create.

    • PERSONAL: A single, individual contact.
    • ESCALATION: An escalation plan.
    • ONCALL_SCHEDULE: An on-call schedule.
    *)
  5. display_name : contact_name option;
    (*

    The full name of the contact or escalation plan.

    *)
  6. alias : contact_alias;
    (*

    The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable.

    *)
}
type nonrec activate_contact_channel_result = unit
type nonrec activation_code = string
type nonrec activate_contact_channel_request = {
  1. activation_code : activation_code;
    (*

    The code sent to the contact channel when it was created in the contact.

    *)
  2. contact_channel_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the contact channel.

    *)
}
type nonrec accept_page_result = unit
type nonrec accept_type =
  1. | READ
  2. | DELIVERED
type nonrec accept_code = string
type nonrec accept_code_validation =
  1. | ENFORCE
  2. | IGNORE
type nonrec accept_page_request = {
  1. accept_code_validation : accept_code_validation option;
    (*

    An optional field that Incident Manager uses to ENFORCE AcceptCode validation when acknowledging an page. Acknowledgement can occur by replying to a page, or when entering the AcceptCode in the console. Enforcing AcceptCode validation causes Incident Manager to verify that the code entered by the user matches the code sent by Incident Manager with the page.

    Incident Manager can also IGNORE AcceptCode validation. Ignoring AcceptCode validation causes Incident Manager to accept any value entered for the AcceptCode.

    *)
  2. accept_code : accept_code;
    (*

    A 6-digit code used to acknowledge the page.

    *)
  3. note : receipt_info option;
    (*

    Information provided by the user when the user acknowledges the page.

    *)
  4. accept_type : accept_type;
    (*

    The type indicates if the page was DELIVERED or READ.

    *)
  5. contact_channel_id : ssm_contacts_arn option;
    (*

    The ARN of the contact channel.

    *)
  6. page_id : ssm_contacts_arn;
    (*

    The Amazon Resource Name (ARN) of the engagement to a contact channel.

    *)
}