highbond_control (Resource)

Example Usage

resource "highbond_control" "controlframework" {
  objective_id   = highbond_objective.framework.id
  title          = "Biswa Control World"
  description    = "My control is everything Nopw"
  control_id     = "Gardenia-1"
  frequency      = "Daily"
  method         = "Management Review"
  control_type   = "Application/System Control"
  prevent_detect = "Prevent"
  status         = "Key Control"
  position       = 1
  force_updates  = true // Create only with force update changes
}

resource "highbond_control" "main" {
  objective_id        = highbond_objective.main.id
  title               = "Control Title"
  description         = "My control is everything Now"
  control_id          = "Gardenia-1"
  owner               = "Biswa"
  frequency           = "Daily"
  method              = "management_review"
  control_type        = "Application/System Control"
  prevent_detect      = "prevent"
  status              = "key_control"
  position            = 1
  framework_origin_id = highbond_control.controlframework.id
  entities            = [highbond_entity.master.id, highbond_entity.me.id]

  custom_attributes {
    term  = "Remarks"
    value = ["Test Remark"]
  }

  custom_attributes {
    term  = "Multiple Choice"
    value = ["Choice1"]
  }

  control_tests {
    not_applicable            = false
    sample_size               = 1
    testing_results           = "Interim"
    testing_conclusion        = "true" // Please note that testing_conclusion field will be deprecated. Consider using new testing_conclusion_status field instead
    testing_conclusion_status = "Operating Effectively"
    assigned_user_id          = "Enter a valid UUID here"
    actual_milestone_date     = "2020-12-10"
    planned_milestone_date    = "2020-12-05"

    custom_attributes {
      term  = "Remarks"
      value = ["Control Test Remark for Interim Test"]
    }

    custom_attributes {
      term  = "Choice"
      value = ["Choice1 answer"]
    }
  }

  control_tests {
    not_applicable   = true
    sample_size      = 23
    testing_results  = "Final"
    assigned_user_id = "9NqcfyK4GY_7pENk8V3-"

    custom_attributes {
      term  = "Remarks"
      value = ["Control Test Remark for Final Test"]
    }

    custom_attributes {
      term  = "Choice"
      value = ["Choice2 answer"]
    }
  }

  walkthrough {
    walkthrough_results    = "<h1>Heading</h1><p>Walkthrough results description.</p>"
    control_design         = "false"
    actual_milestone_date  = "2020-12-10"
    planned_milestone_date = "2020-12-05"

    custom_attributes {
      term  = "Remarks"
      value = ["Walkthrough Remark"]
    }

    custom_attributes {
      term  = "Choice"
      value = ["Choice1"]
    }
  }

  control_test_plan {
    testing_method    = "Observation"
    test_steps        = "<h1>Test Steps</h1><p>Test Steps description.</p>"
    total_sample_size = 12

    custom_attributes {
      term  = highbond_custom_attribute.TestPlanText.term
      value = ["Test Plan Remark"]
    }

  }
}

Schema

Required

  • control_id (String) The reference number or code of the control. This field is known as the procedure reference number in Workplan workflow projects
  • description (String) A detailed description of the control
  • objective_id (Number) The ID of the objective

Optional

  • control_test_plan (Block List) Each control has an associated control test plan. A test plan is a document that details how controls are assessed (see below for nested schema)
  • control_tests (Block List) Control tests evaluate the operating effectiveness of a control (see below for nested schema)
  • control_type (String) This is a required field if the control belongs to an Internal Control workflow project. If the control (procedure) belongs to a Workplan workflow project, or if the control_type field has been disabled in the project type, the field is hidden from the API response
  • custom_attributes (Block Set) An array of custom attributes defined by the user that are available on this object (see below for nested schema)
  • entities (Set of String) List of entities associated with controls
  • force_updates (Boolean) Allows overriding top-level 'create_only' option.
  • framework_origin_id (String) In the Projects app, a project control can have a related counterpart in an associated framework. The framework_origin attribute allows you to associate an control and related control_test_plan in a project with its related counterpart in a framework
  • frequency (String) This is a required field if the control belongs to an Internal Control workflow project. If the control (procedure) belongs to a Workplan workflow project, or if the frequency field has been disabled in the project type, the field is hidden from the API response
  • method (String) If the control (procedure) belongs to a Workplan workflow project, or if the method field has been disabled in the project type, the field is hidden from the API response
  • owner (String) The person responsible for the control. Specifying a person's name or email does not automatically send them an email notification about the control
  • owner_user (String) The unique identifier (UID) of the user
  • position (Number) The value that determines the order in which it is displayed in the index action. position must be a value between 1 and 2147483647
  • prevent_detect (String) This is a required field if the control belongs to an Internal Control workflow project. If the control (procedure) belongs to a Workplan workflow project, or if the prevent_detect field has been disabled in the project type, the field is hidden from the API response
  • status (String) If the control (procedure) belongs to a Workplan workflow project, or if the status field has been disabled in the project type, the field is hidden from the API response
  • title (String) The title of the control
  • walkthrough (Block List) Each control has an associated walkthrough. A walkthrough is a series of steps you perform to establish the reliability of controls and test the design of controls (see below for nested schema)

Read-Only

  • control_test_plan_id (String) The ID of the test plan
  • control_tests_ids (List of String) The ID of the control test
  • created_at (String) The timestamp identifying when the control was created
  • id (String) The ID of this resource.
  • mitigation_ids (List of String) The ID of the mitigation
  • updated_at (String) The timestamp identifying when the control was last updated
  • walkthrough_id (String) The ID of the walkthrough

Nested Schema for control_test_plan

Optional:

  • custom_attributes (Block Set) An array of custom attributes defined by the user that are available on this object (see below for nested schema)
  • test_steps (String) The steps or attributes associated with the test plan
  • testing_method (String) The method specifying how evidence will be obtained. The exact values for this field depend on the configuration of the project type
  • total_sample_size (Number) The total sample size, split among testing rounds. total_sample_size must be a value between 0 and 2147483647

Read-Only:

  • created_at (String) The timestamp identifying when the test plan was created
  • updated_at (String) The timestamp identifying when the test plan was updated.

Nested Schema for control_test_plan.custom_attributes

Optional:

  • id (String) The ID of the custom attribute that this custom attribute value is for. Optional if term is included
  • term (String) The user defined term used to identify the custom attribute. Optional if id is included
  • value (Set of String) The value or values (for multiselect) to set this custom attribute to

Nested Schema for control_tests

Required:

  • not_applicable (Boolean) false specifies that the control test is applicable to the testing round. true specifies that the control test is not applicable to the testing round. Only applicable control tests are included in assurance calculations

Optional:

  • actual_milestone_date (String) Actual milestone date
  • assigned_user_id (String) The unique identifier (UID) of the assigned user. For more information on obtaining this value, see Making requests
  • custom_attributes (Block Set) An array of custom attributes defined on the project type used by the project this control test is from (see below for nested schema)
  • planned_milestone_date (String) Planned milestone date
  • sample_size (Number) The total sample size, split among testing rounds. sample_size must be a value between 0 and 2147483647
  • testing_conclusion (String, Deprecated) A rating that specifies whether the control passes (true) or fails (false)
  • testing_conclusion_status (String) The control rating choice.
  • testing_results (String) A detailed evaluation that describes whether or not the control is operating effectively

Read-Only:

  • created_at (String) The timestamp identifying when the control test was created
  • id (String) The ID of the control test
  • updated_at (String) The timestamp identifying when the control test was last updated

Nested Schema for control_tests.custom_attributes

Optional:

  • id (String) The ID of this custom attribute. Optional if term is included
  • term (String) The user defined term used to identify this custom attribute. Optional if id is included
  • value (Set of String) The value or values (for multiselect) for this custom attribute

Nested Schema for custom_attributes

Optional:

  • id (String) The ID of the custom attribute that this custom attribute value is for. Optional if term is included
  • term (String) The user defined term used to identify the custom attribute. Optional if id is included
  • value (Set of String) The value or values (for multiselect) to set this custom attribute to

Nested Schema for walkthrough

Optional:

  • actual_milestone_date (String) Actual milestone date
  • control_design (String) A rating that specifies whether the control design passes (true) or fails (false)
  • custom_attributes (Block Set) An array of custom attributes defined by the user that are available on this object (see below for nested schema)
  • planned_milestone_date (String) Planned milestone date
  • walkthrough_results (String) A description that captures the results of performing the walkthrough

Read-Only:

  • created_at (String) The timestamp identifying when the walkthrough was created
  • updated_at (String) The timestamp identifying when the walkthrough was updated

Nested Schema for walkthrough.custom_attributes

Optional:

  • id (String) The ID of the custom attribute that this custom attribute value is for. Optional if term is included
  • term (String) The user defined term used to identify the custom attribute. Optional if id is included
  • value (Set of String) The value or values (for multiselect) to set this custom attribute to