Module Smaws_Client_CloudHSM.Types

type nonrec vpc_id = string
type nonrec timestamp = string
type nonrec tag_value = string
type nonrec tag_key = string
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 identifies or specifies metadata about an AWS CloudHSM resource.

type nonrec tag_list = tag list
type nonrec tag_key_list = tag_key list
type nonrec subscription_type =
  1. | PRODUCTION

Specifies the type of subscription for the HSM.

  • PRODUCTION - The HSM is being used in a production environment.
  • TRIAL - The HSM is being used in a product trial.
type nonrec subnet_id = string
type nonrec string_ = string
type nonrec ssh_key = string
type nonrec remove_tags_from_resource_response = {
  1. status : string_;
    (*

    The status of the operation.

    *)
}
type nonrec remove_tags_from_resource_request = {
  1. tag_key_list : tag_key_list;
    (*

    The tag key or keys to remove.

    Specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource.

    *)
  2. resource_arn : string_;
    (*

    The Amazon Resource Name (ARN) of the AWS CloudHSM resource.

    *)
}
type nonrec boolean_ = bool
type nonrec invalid_request_exception = {
  1. retryable : boolean_ option;
    (*

    Indicates if the action can be retried.

    *)
  2. message : string_ option;
    (*

    Additional information about the error.

    *)
}

Indicates that one or more of the request parameters are not valid.

type nonrec cloud_hsm_service_exception = {
  1. retryable : boolean_ option;
    (*

    Indicates if the action can be retried.

    *)
  2. message : string_ option;
    (*

    Additional information about the error.

    *)
}

Indicates that an exception occurred in the AWS CloudHSM service.

type nonrec cloud_hsm_internal_exception = {
  1. retryable : boolean_ option;
    (*

    Indicates if the action can be retried.

    *)
  2. message : string_ option;
    (*

    Additional information about the error.

    *)
}

Indicates that an internal error occurred.

type nonrec partition_serial = string
type nonrec partition_serial_list = partition_serial list
type nonrec partition_arn = string
type nonrec partition_list = partition_arn list
type nonrec pagination_token = string
type nonrec client_arn = string
type nonrec modify_luna_client_response = {
  1. client_arn : client_arn option;
    (*

    The ARN of the client.

    *)
}
type nonrec certificate = string
type nonrec modify_luna_client_request = {
  1. certificate : certificate;
    (*

    The new certificate for the client.

    *)
  2. client_arn : client_arn;
    (*

    The ARN of the client.

    *)
}
type nonrec hsm_arn = string
type nonrec modify_hsm_response = {
  1. hsm_arn : hsm_arn option;
    (*

    The ARN of the HSM.

    *)
}

Contains the output of the ModifyHsm operation.

type nonrec ip_address = string
type nonrec iam_role_arn = string
type nonrec external_id = string
type nonrec modify_hsm_request = {
  1. syslog_ip : ip_address option;
    (*

    The new IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.

    *)
  2. external_id : external_id option;
    (*

    The new external ID.

    *)
  3. iam_role_arn : iam_role_arn option;
    (*

    The new IAM role ARN.

    *)
  4. eni_ip : ip_address option;
    (*

    The new IP address for the elastic network interface (ENI) attached to the HSM.

    If the HSM is moved to a different subnet, and an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the new subnet.

    *)
  5. subnet_id : subnet_id option;
    (*

    The new identifier of the subnet that the HSM is in. The new subnet must be in the same Availability Zone as the current subnet.

    *)
  6. hsm_arn : hsm_arn;
    (*

    The ARN of the HSM to modify.

    *)
}

Contains the inputs for the ModifyHsm operation.

type nonrec hapg_arn = string
type nonrec modify_hapg_response = {
  1. hapg_arn : hapg_arn option;
    (*

    The ARN of the high-availability partition group.

    *)
}
type nonrec label = string
type nonrec modify_hapg_request = {
  1. partition_serial_list : partition_serial_list option;
    (*

    The list of partition serial numbers to make members of the high-availability partition group.

    *)
  2. label : label option;
    (*

    The new label for the high-availability partition group.

    *)
  3. hapg_arn : hapg_arn;
    (*

    The ARN of the high-availability partition group to modify.

    *)
}
type nonrec list_tags_for_resource_response = {
  1. tag_list : tag_list;
    (*

    One or more tags.

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

    The Amazon Resource Name (ARN) of the AWS CloudHSM resource.

    *)
}
type nonrec client_list = client_arn list
type nonrec list_luna_clients_response = {
  1. next_token : pagination_token option;
    (*

    If not null, more results are available. Pass this to ListLunaClients to retrieve the next set of items.

    *)
  2. client_list : client_list;
    (*

    The list of clients.

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

    The NextToken value from a previous call to ListLunaClients. Pass null if this is the first call.

    *)
}
type nonrec hsm_list = hsm_arn list
type nonrec list_hsms_response = {
  1. next_token : pagination_token option;
    (*

    If not null, more results are available. Pass this value to ListHsms to retrieve the next set of items.

    *)
  2. hsm_list : hsm_list option;
    (*

    The list of ARNs that identify the HSMs.

    *)
}

Contains the output of the ListHsms operation.

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

    The NextToken value from a previous call to ListHsms. Pass null if this is the first call.

    *)
}
type nonrec hapg_list = hapg_arn list
type nonrec list_hapgs_response = {
  1. next_token : pagination_token option;
    (*

    If not null, more results are available. Pass this value to ListHapgs to retrieve the next set of items.

    *)
  2. hapg_list : hapg_list;
    (*

    The list of high-availability partition groups.

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

    The NextToken value from a previous call to ListHapgs. Pass null if this is the first call.

    *)
}
type nonrec a_z = string
type nonrec az_list = a_z list
type nonrec list_available_zones_response = {
  1. az_list : az_list option;
    (*

    The list of Availability Zones that have available AWS CloudHSM capacity.

    *)
}
type nonrec list_available_zones_request = unit
type nonrec hsm_status =
  1. | DEGRADED
  2. | TERMINATED
  3. | TERMINATING
  4. | SUSPENDED
  5. | UPDATING
  6. | RUNNING
  7. | PENDING
type nonrec hsm_serial_number = string
type nonrec get_config_response = {
  1. config_cred : string_ option;
    (*

    The certificate file containing the server.pem files of the HSMs.

    *)
  2. config_file : string_ option;
    (*

    The chrystoki.conf configuration file.

    *)
  3. config_type : string_ option;
    (*

    The type of credentials.

    *)
}
type nonrec client_version =
  1. | FIVE_THREE
  2. | FIVE_ONE
type nonrec get_config_request = {
  1. hapg_list : hapg_list;
    (*

    A list of ARNs that identify the high-availability partition groups that are associated with the client.

    *)
  2. client_version : client_version;
    (*

    The client version.

    *)
  3. client_arn : client_arn;
    (*

    The ARN of the client.

    *)
}
type nonrec eni_id = string
type nonrec certificate_fingerprint = string
type nonrec describe_luna_client_response = {
  1. label : label option;
    (*

    The label of the client.

    *)
  2. last_modified_timestamp : timestamp option;
    (*

    The date and time the client was last modified.

    *)
  3. certificate_fingerprint : certificate_fingerprint option;
    (*

    The certificate fingerprint.

    *)
  4. certificate : certificate option;
    (*

    The certificate installed on the HSMs used by this client.

    *)
  5. client_arn : client_arn option;
    (*

    The ARN of the client.

    *)
}
type nonrec describe_luna_client_request = {
  1. certificate_fingerprint : certificate_fingerprint option;
    (*

    The certificate fingerprint.

    *)
  2. client_arn : client_arn option;
    (*

    The ARN of the client.

    *)
}
type nonrec describe_hsm_response = {
  1. partitions : partition_list option;
    (*

    The list of partitions on the HSM.

    *)
  2. server_cert_last_updated : timestamp option;
    (*

    The date and time that the server certificate was last updated.

    *)
  3. server_cert_uri : string_ option;
    (*

    The URI of the certificate server.

    *)
  4. ssh_key_last_updated : timestamp option;
    (*

    The date and time that the SSH key was last updated.

    *)
  5. ssh_public_key : ssh_key option;
    (*

    The public SSH key.

    *)
  6. software_version : string_ option;
    (*

    The HSM software version.

    *)
  7. hsm_type : string_ option;
    (*

    The HSM model type.

    *)
  8. vendor_name : string_ option;
    (*

    The name of the HSM vendor.

    *)
  9. serial_number : hsm_serial_number option;
    (*

    The serial number of the HSM.

    *)
  10. iam_role_arn : iam_role_arn option;
    (*

    The ARN of the IAM role assigned to the HSM.

    *)
  11. subnet_id : subnet_id option;
    (*

    The identifier of the subnet that the HSM is in.

    *)
  12. vpc_id : vpc_id option;
    (*

    The identifier of the VPC that the HSM is in.

    *)
  13. subscription_end_date : timestamp option;
    (*

    The subscription end date.

    *)
  14. subscription_start_date : timestamp option;
    (*

    The subscription start date.

    *)
  15. subscription_type : subscription_type option;
  16. eni_ip : ip_address option;
    (*

    The IP address assigned to the HSM's ENI.

    *)
  17. eni_id : eni_id option;
    (*

    The identifier of the elastic network interface (ENI) attached to the HSM.

    *)
  18. availability_zone : a_z option;
    (*

    The Availability Zone that the HSM is in.

    *)
  19. status_details : string_ option;
    (*

    Contains additional information about the status of the HSM.

    *)
  20. status : hsm_status option;
    (*

    The status of the HSM.

    *)
  21. hsm_arn : hsm_arn option;
    (*

    The ARN of the HSM.

    *)
}

Contains the output of the DescribeHsm operation.

type nonrec describe_hsm_request = {
  1. hsm_serial_number : hsm_serial_number option;
    (*

    The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter must be specified.

    *)
  2. hsm_arn : hsm_arn option;
    (*

    The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must be specified.

    *)
}

Contains the inputs for the DescribeHsm operation.

type nonrec cloud_hsm_object_state =
  1. | DEGRADED
  2. | UPDATING
  3. | READY
type nonrec describe_hapg_response = {
  1. state : cloud_hsm_object_state option;
    (*

    The state of the high-availability partition group.

    *)
  2. partition_serial_list : partition_serial_list option;
    (*

    The list of partition serial numbers that belong to the high-availability partition group.

    *)
  3. last_modified_timestamp : timestamp option;
    (*

    The date and time the high-availability partition group was last modified.

    *)
  4. label : label option;
    (*

    The label for the high-availability partition group.

    *)
  5. hsms_pending_registration : hsm_list option;
  6. hsms_pending_deletion : hsm_list option;
  7. hsms_last_action_failed : hsm_list option;
  8. hapg_serial : string_ option;
    (*

    The serial number of the high-availability partition group.

    *)
  9. hapg_arn : hapg_arn option;
    (*

    The ARN of the high-availability partition group.

    *)
}

Contains the output of the DescribeHapg action.

type nonrec describe_hapg_request = {
  1. hapg_arn : hapg_arn;
    (*

    The ARN of the high-availability partition group to describe.

    *)
}

Contains the inputs for the DescribeHapg action.

type nonrec delete_luna_client_response = {
  1. status : string_;
    (*

    The status of the action.

    *)
}
type nonrec delete_luna_client_request = {
  1. client_arn : client_arn;
    (*

    The ARN of the client to delete.

    *)
}
type nonrec delete_hsm_response = {
  1. status : string_;
    (*

    The status of the operation.

    *)
}

Contains the output of the DeleteHsm operation.

type nonrec delete_hsm_request = {
  1. hsm_arn : hsm_arn;
    (*

    The ARN of the HSM to delete.

    *)
}

Contains the inputs for the DeleteHsm operation.

type nonrec delete_hapg_response = {
  1. status : string_;
    (*

    The status of the action.

    *)
}

Contains the output of the DeleteHapg action.

type nonrec delete_hapg_request = {
  1. hapg_arn : hapg_arn;
    (*

    The ARN of the high-availability partition group to delete.

    *)
}

Contains the inputs for the DeleteHapg action.

type nonrec create_luna_client_response = {
  1. client_arn : client_arn option;
    (*

    The ARN of the client.

    *)
}

Contains the output of the CreateLunaClient action.

type nonrec client_label = string
type nonrec create_luna_client_request = {
  1. certificate : certificate;
    (*

    The contents of a Base64-Encoded X.509 v3 certificate to be installed on the HSMs used by this client.

    *)
  2. label : client_label option;
    (*

    The label for the client.

    *)
}

Contains the inputs for the CreateLunaClient action.

type nonrec create_hsm_response = {
  1. hsm_arn : hsm_arn option;
    (*

    The ARN of the HSM.

    *)
}

Contains the output of the CreateHsm operation.

type nonrec client_token = string
type nonrec create_hsm_request = {
  1. syslog_ip : ip_address option;
    (*

    The IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.

    *)
  2. client_token : client_token option;
    (*

    A user-defined token to ensure idempotence. Subsequent calls to this operation with the same token will be ignored.

    *)
  3. subscription_type : subscription_type;
  4. external_id : external_id option;
    (*

    The external ID from IamRoleArn, if present.

    *)
  5. iam_role_arn : iam_role_arn;
    (*

    The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your behalf.

    *)
  6. eni_ip : ip_address option;
    (*

    The IP address to assign to the HSM's ENI.

    If an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the subnet.

    *)
  7. ssh_key : ssh_key;
    (*

    The SSH public key to install on the HSM.

    *)
  8. subnet_id : subnet_id;
    (*

    The identifier of the subnet in your VPC in which to place the HSM.

    *)
}

Contains the inputs for the CreateHsm operation.

type nonrec create_hapg_response = {
  1. hapg_arn : hapg_arn option;
    (*

    The ARN of the high-availability partition group.

    *)
}

Contains the output of the CreateHAPartitionGroup action.

type nonrec create_hapg_request = {
  1. label : label;
    (*

    The label of the new high-availability partition group.

    *)
}

Contains the inputs for the CreateHapgRequest action.

type nonrec add_tags_to_resource_response = {
  1. status : string_;
    (*

    The status of the operation.

    *)
}
type nonrec add_tags_to_resource_request = {
  1. tag_list : tag_list;
    (*

    One or more tags.

    *)
  2. resource_arn : string_;
    (*

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

    *)
}