Skip to content

feat: Add Chronicle NativeDashboard resource#16680

Closed
divyamjain000 wants to merge 1 commit intoGoogleCloudPlatform:mainfrom
divyamjain000:chronicle-nativedashboard-divyamjain
Closed

feat: Add Chronicle NativeDashboard resource#16680
divyamjain000 wants to merge 1 commit intoGoogleCloudPlatform:mainfrom
divyamjain000:chronicle-nativedashboard-divyamjain

Conversation

@divyamjain000
Copy link
Copy Markdown
Contributor

@divyamjain000 divyamjain000 commented Mar 11, 2026

Release Note Template for Downstream PRs (will be copied)

See Write release notes for guidance.

chronicle: added `google_chronicle_native_dashboard` resource

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch 2 times, most recently from 0834802 to 96fb1a1 Compare March 11, 2026 10:52
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3642 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (6 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  dashboard_user_data {
    is_pinned        = # value needed
    last_viewed_time = # value needed
  }
  definition {
    charts {
      chart_layout {
        span_x  = # value needed
        span_y  = # value needed
        start_x = # value needed
        start_y = # value needed
      }
      filters_ids = # value needed
    }
    filters {
      advanced_filter_config {
        default_values       = # value needed
        multiple_allowed     = # value needed
        prefix               = # value needed
        separator            = # value needed
        skip_default_affixes = # value needed
        suffix               = # value needed
        token                = # value needed
        value_source {
          manual_options {
            options = # value needed
          }
          query_options {
            column                     = # value needed
            global_time_filter_enabled = # value needed
            input {
              relative_time {
                start_time_val = # value needed
                time_unit      = # value needed
              }
              time_window {
                end_time   = # value needed
                start_time = # value needed
              }
            }
            query = # value needed
          }
        }
      }
      chart_ids    = # value needed
      field_path   = # value needed
      is_mandatory = # value needed
    }
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 21
Skipped tests: 1
Affected tests: 5

Click here to see the affected service packages
  • chronicle

Action taken

Found 5 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartBasicExample
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update
  • TestAccChronicleNativeDashboard_chronicleNativedashboardBasicExample
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartBasicExample [Debug log]
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample [Debug log]
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Debug log]
TestAccChronicleNativeDashboard_chronicleNativedashboardBasicExample [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]

Tests failed due to non-determinism or randomness when the VCR replayed the response after the HTTP request was made.

Please fix these to complete your PR. If you believe these test failures to be incorrect or unrelated to your change, or if you have any questions, please raise the concern with your reviewer.


🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3642 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (6 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  dashboard_user_data {
    is_pinned        = # value needed
    last_viewed_time = # value needed
  }
  definition {
    charts {
      chart_layout {
        span_x  = # value needed
        span_y  = # value needed
        start_x = # value needed
        start_y = # value needed
      }
      filters_ids = # value needed
    }
    filters {
      advanced_filter_config {
        default_values       = # value needed
        multiple_allowed     = # value needed
        prefix               = # value needed
        separator            = # value needed
        skip_default_affixes = # value needed
        suffix               = # value needed
        token                = # value needed
        value_source {
          manual_options {
            options = # value needed
          }
          query_options {
            column                     = # value needed
            global_time_filter_enabled = # value needed
            input {
              relative_time {
                start_time_val = # value needed
                time_unit      = # value needed
              }
              time_window {
                end_time   = # value needed
                start_time = # value needed
              }
            }
            query = # value needed
          }
        }
      }
      chart_ids    = # value needed
      field_path   = # value needed
      is_mandatory = # value needed
    }
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3642 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (6 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  dashboard_user_data {
    is_pinned        = # value needed
    last_viewed_time = # value needed
  }
  definition {
    charts {
      chart_layout {
        span_x  = # value needed
        span_y  = # value needed
        start_x = # value needed
        start_y = # value needed
      }
      filters_ids = # value needed
    }
    filters {
      advanced_filter_config {
        default_values       = # value needed
        multiple_allowed     = # value needed
        prefix               = # value needed
        separator            = # value needed
        skip_default_affixes = # value needed
        suffix               = # value needed
        token                = # value needed
        value_source {
          manual_options {
            options = # value needed
          }
          query_options {
            column                     = # value needed
            global_time_filter_enabled = # value needed
            input {
              relative_time {
                start_time_val = # value needed
                time_unit      = # value needed
              }
              time_window {
                end_time   = # value needed
                start_time = # value needed
              }
            }
            query = # value needed
          }
        }
      }
      chart_ids    = # value needed
      field_path   = # value needed
      is_mandatory = # value needed
    }
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 24
Skipped tests: 1
Affected tests: 2

Click here to see the affected service packages
  • chronicle

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]

Tests failed due to non-determinism or randomness when the VCR replayed the response after the HTTP request was made.

Please fix these to complete your PR. If you believe these test failures to be incorrect or unrelated to your change, or if you have any questions, please raise the concern with your reviewer.


🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 24
Skipped tests: 1
Affected tests: 2

Click here to see the affected service packages
  • chronicle

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]

Tests failed due to non-determinism or randomness when the VCR replayed the response after the HTTP request was made.

Please fix these to complete your PR. If you believe these test failures to be incorrect or unrelated to your change, or if you have any questions, please raise the concern with your reviewer.


🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from 96fb1a1 to f0681df Compare March 11, 2026 11:33
@divyamjain000 divyamjain000 reopened this Mar 11, 2026
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3642 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (6 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  dashboard_user_data {
    is_pinned        = # value needed
    last_viewed_time = # value needed
  }
  definition {
    charts {
      chart_layout {
        span_x  = # value needed
        span_y  = # value needed
        start_x = # value needed
        start_y = # value needed
      }
      filters_ids = # value needed
    }
    filters {
      advanced_filter_config {
        default_values       = # value needed
        multiple_allowed     = # value needed
        prefix               = # value needed
        separator            = # value needed
        skip_default_affixes = # value needed
        suffix               = # value needed
        token                = # value needed
        value_source {
          manual_options {
            options = # value needed
          }
          query_options {
            column                     = # value needed
            global_time_filter_enabled = # value needed
            input {
              relative_time {
                start_time_val = # value needed
                time_unit      = # value needed
              }
              time_window {
                end_time   = # value needed
                start_time = # value needed
              }
            }
            query = # value needed
          }
        }
      }
      chart_ids    = # value needed
      field_path   = # value needed
      is_mandatory = # value needed
    }
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 11292 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3642 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (6 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  dashboard_user_data {
    is_pinned        = # value needed
    last_viewed_time = # value needed
  }
  definition {
    charts {
      chart_layout {
        span_x  = # value needed
        span_y  = # value needed
        start_x = # value needed
        start_y = # value needed
      }
      filters_ids = # value needed
    }
    filters {
      advanced_filter_config {
        default_values       = # value needed
        multiple_allowed     = # value needed
        prefix               = # value needed
        separator            = # value needed
        skip_default_affixes = # value needed
        suffix               = # value needed
        token                = # value needed
        value_source {
          manual_options {
            options = # value needed
          }
          query_options {
            column                     = # value needed
            global_time_filter_enabled = # value needed
            input {
              relative_time {
                start_time_val = # value needed
                time_unit      = # value needed
              }
              time_window {
                end_time   = # value needed
                start_time = # value needed
              }
            }
            query = # value needed
          }
        }
      }
      chart_ids    = # value needed
      field_path   = # value needed
      is_mandatory = # value needed
    }
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 24
Skipped tests: 1
Affected tests: 2

Click here to see the affected service packages
  • chronicle

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]

Tests failed due to non-determinism or randomness when the VCR replayed the response after the HTTP request was made.

Please fix these to complete your PR. If you believe these test failures to be incorrect or unrelated to your change, or if you have any questions, please raise the concern with your reviewer.


🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 24
Skipped tests: 1
Affected tests: 2

Click here to see the affected service packages
  • chronicle

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]

Tests failed due to non-determinism or randomness when the VCR replayed the response after the HTTP request was made.

Please fix these to complete your PR. If you believe these test failures to be incorrect or unrelated to your change, or if you have any questions, please raise the concern with your reviewer.


🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test


---
name: DashboardChart
description: >
Copy link
Copy Markdown
Contributor

@ankitgoyal0301 ankitgoyal0301 Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add reference block for this:

references:
guides:
'Introduction to data RBAC': 'https://cloud.google.com/chronicle/docs/onboard/onboard-datarbac'
api: 'https://cloud.google.com/chronicle/docs/reference/rest/v1alpha/projects.locations.instances.dataAccessScopes'
(just an example)

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from c63cbdd to f23fae0 Compare March 12, 2026 07:22
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 10479 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 10479 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3346 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 21
Skipped tests: 1
Affected tests: 5

Click here to see the affected service packages
  • chronicle

Action taken

Found 5 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartBasicExample
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update
  • TestAccChronicleNativeDashboard_chronicleNativedashboardBasicExample
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Debug log]

🟢 No issues found for passed tests after REPLAYING rerun.


🔴 Tests failed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartBasicExample [Error message] [Debug log]
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample [Error message] [Debug log]
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]
TestAccChronicleNativeDashboard_chronicleNativedashboardBasicExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from f23fae0 to a625d2c Compare March 12, 2026 08:06
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 10374 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 10374 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3346 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 24
Skipped tests: 1
Affected tests: 2

Click here to see the affected service packages
  • chronicle

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample
  • TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample [Debug log]
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccChronicleDashboardChart_chronicleDashboardchartFullExample_update [Error message] [Debug log]

Tests failed due to non-determinism or randomness when the VCR replayed the response after the HTTP request was made.

Please fix these to complete your PR. If you believe these test failures to be incorrect or unrelated to your change, or if you have any questions, please raise the concern with your reviewer.


🟢 All tests passed!

View the build log or the debug log for each test

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from a625d2c to d3702f3 Compare March 12, 2026 08:32
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 11 files changed, 10374 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 11 files changed, 10374 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 2 files changed, 3346 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_dashboard_chart (5 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_dashboard_chart" "primary" {
  chart_id = # value needed
  dashboard_chart {
    chart_datasource {
      dashboard_query = # value needed
    }
    drill_down_config {
      left_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
      }
      right_drill_downs {
        custom_settings {
          external_link {
            description = # value needed
            link        = # value needed
          }
          filter {
            dashboard_filters {
              dashboard_filter_id = # value needed
              filter_operator_and_values {
                field_values    = # value needed
                filter_operator = # value needed
              }
            }
          }
          left_click_column = # value needed
          new_tab           = # value needed
          query {
            query = # value needed
          }
        }
        default_settings {
          enabled = # value needed
        }
        display_name = # value needed
        id           = # value needed
      }
    }
    visualization {
      button {
        description = # value needed
        hyperlink   = # value needed
        label       = # value needed
        new_tab     = # value needed
        properties {
          button_style = # value needed
          color        = # value needed
        }
      }
      google_maps_config {
        data_settings {
          count_column     = # value needed
          latitude_column  = # value needed
          longitude_column = # value needed
        }
        map_position {
          fit_data         = # value needed
          latitude_value   = # value needed
          longitude_value  = # value needed
          zoom_scale_value = # value needed
        }
        plot_mode = # value needed
        point_settings {
          color           = # value needed
          point_size_type = # value needed
        }
      }
      legends {
        bottom       = # value needed
        id           = # value needed
        left         = # value needed
        legend_align = # value needed
        padding      = # value needed
        right        = # value needed
        show         = # value needed
        z            = # value needed
        z_level      = # value needed
      }
      markdown {
        content = # value needed
        properties {
          background_color = # value needed
        }
      }
      series {
        area_style {
          color           = # value needed
          opacity         = # value needed
          origin          = # value needed
          shadow_blur     = # value needed
          shadow_color    = # value needed
          shadow_offset_x = # value needed
          shadow_offset_y = # value needed
        }
        data_label {
          show = # value needed
        }
        encode {
          item_name = # value needed
          value     = # value needed
        }
        field = # value needed
        gauge_config {
          base_value {
            color = # value needed
            value = # value needed
          }
          limit_value {
            color = # value needed
            value = # value needed
          }
          threshold_values {
            color = # value needed
            value = # value needed
          }
        }
        item_colors {
          colors {
            key = # value needed
            value {
              color = # value needed
              label = # value needed
            }
          }
        }
        item_style {
          border_color = # value needed
          border_width = # value needed
          color        = # value needed
        }
        label = # value needed
        metric_trend_config {
          metric_display_trend = # value needed
          metric_format        = # value needed
          metric_trend_type    = # value needed
          show_metric_trend    = # value needed
        }
        radius                = # value needed
        series_name           = # value needed
        series_stack_strategy = # value needed
        series_unique_value   = # value needed
        show_background       = # value needed
        show_symbol           = # value needed
        stack                 = # value needed
      }
      table_config {
        column_render_type_settings {
          column_render_type = # value needed
          field              = # value needed
        }
        column_tooltip_settings {
          cell_tooltip_text   = # value needed
          field               = # value needed
          header_tooltip_text = # value needed
        }
      }
      tooltip {
        show            = # value needed
        tooltip_trigger = # value needed
      }
      visual_maps {
        pieces {
          color = # value needed
          label = # value needed
          max   = # value needed
          min   = # value needed
        }
        visual_map_type = # value needed
      }
      x_axes {
        max = # value needed
        min = # value needed
      }
      y_axes {
        max = # value needed
        min = # value needed
      }
    }
  }
  dashboard_query {
    input {
      time_window {
        end_time   = # value needed
        start_time = # value needed
      }
    }
  }
}

Resource: google_chronicle_native_dashboard (7 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

Multiple resources added

This PR adds multiple new resources: google_chronicle_dashboard_chart, google_chronicle_native_dashboard. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 26
Skipped tests: 1
Affected tests: 0

Click here to see the affected service packages
  • chronicle

🟢 All tests passed!

View the build log

@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 6 files changed, 2042 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 6 files changed, 2042 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 483 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_native_dashboard (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 25
Skipped tests: 1
Affected tests: 1

Click here to see the affected service packages
  • chronicle

Action taken

Found 1 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from c7ffbfb to 1edba14 Compare March 16, 2026 09:40
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 6 files changed, 2042 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 6 files changed, 2042 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 483 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_native_dashboard (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 25
Skipped tests: 1
Affected tests: 1

Click here to see the affected service packages
  • chronicle

Action taken

Found 1 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample

Get to know how VCR tests work

@modular-magician
Copy link
Copy Markdown
Collaborator

🔴 Tests failed during RECORDING mode:
TestAccChronicleNativeDashboard_chronicleNativedashboardUpdateExample [Error message] [Debug log]

🔴 Errors occurred during RECORDING mode. Please fix them to complete your PR.

View the build log or the debug log for each test

@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from 1edba14 to d35a795 Compare March 16, 2026 11:41
@divyamjain000 divyamjain000 force-pushed the chronicle-nativedashboard-divyamjain branch from d35a795 to 0b78cb2 Compare March 16, 2026 11:46
@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 6 files changed, 1988 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 6 files changed, 1988 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 483 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_native_dashboard (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  charts {
    chart_layout {
      span_x  = # value needed
      span_y  = # value needed
      start_x = # value needed
      start_y = # value needed
    }
    dashboard_chart = # value needed
    filters_ids     = # value needed
  }
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 26
Skipped tests: 1
Affected tests: 0

Click here to see the affected service packages
  • chronicle

🟢 All tests passed!

View the build log

@modular-magician
Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

google provider: Diff ( 6 files changed, 1985 insertions(+), 2 deletions(-))
google-beta provider: Diff ( 6 files changed, 1985 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 483 insertions(+))

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_chronicle_native_dashboard (3 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_chronicle_native_dashboard" "primary" {
  charts {
    chart_layout {
      span_x  = # value needed
      span_y  = # value needed
      start_x = # value needed
      start_y = # value needed
    }
    dashboard_chart = # value needed
    filters_ids     = # value needed
  }
  dashboard_id = # value needed
  filters {
    chart_ids    = # value needed
    is_mandatory = # value needed
  }
}

@modular-magician
Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 27
Passed tests: 26
Skipped tests: 1
Affected tests: 0

Click here to see the affected service packages
  • chronicle

🟢 All tests passed!

View the build log

@divyamjain000 divyamjain000 changed the title feat: Add Chronicle DashboardChart and NativeDashboard resources feat: Add Chronicle NativeDashboard resource Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants