Skip to content

integrations: add integration_version & deployment resources - #18786

Open
ScottSuarez wants to merge 7 commits into
GoogleCloudPlatform:mainfrom
ScottSuarez:implement_companion_resource_terraform
Open

integrations: add integration_version & deployment resources#18786
ScottSuarez wants to merge 7 commits into
GoogleCloudPlatform:mainfrom
ScottSuarez:implement_companion_resource_terraform

Conversation

@ScottSuarez

Copy link
Copy Markdown
Contributor

Adds google_integrations_integration_version and google_integrations_integration_version_deployment resources to manage Application Integration versions and their deployments.

Fixes hashicorp/terraform-provider-google#28972
b/551967897

integrations: `google_integrations_integration_version_deployment`
integrations: `google_integrations_integration_version`

@modular-magician

modular-magician commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 9331 insertions(+)
google-beta provider View Diff 8 files changed, 9331 insertions(+)
terraform-google-conversion View Diff 2 files changed, 2862 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 370 insertions(+)

Missing test report

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

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

resource "google_integrations_integration_version" "primary" {
  cloud_kms_key = # value needed
  cloud_logging_details {
    cloud_logging_severity = # value needed
    enable_cloud_logging   = # value needed
  }
  create_sample_integrations = # value needed
  created_from_template      = # value needed
  enable_variable_masking    = # value needed
  error_catcher_configs {
    description          = # value needed
    error_catcher_id     = # value needed
    error_catcher_number = # value needed
    label                = # value needed
    position {
      x = # value needed
      y = # value needed
    }
    start_error_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
      task_id        = # value needed
    }
  }
  integration_config_parameters {
    parameter {
      contains_large_data = # value needed
      data_type           = # value needed
      default_value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
        string_value = # value needed
      }
      description       = # value needed
      display_name      = # value needed
      input_output_type = # value needed
      is_transient      = # value needed
      json_schema       = # value needed
      key               = # value needed
      masked            = # value needed
      producer          = # value needed
      searchable        = # value needed
    }
    value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
      string_value = # value needed
    }
  }
  integration_parameters {
    contains_large_data = # value needed
    default_value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
    }
    description  = # value needed
    is_transient = # value needed
    json_schema  = # value needed
    masked       = # value needed
    producer     = # value needed
    searchable   = # value needed
  }
  new_integration        = # value needed
  parent_template_id     = # value needed
  run_as_service_account = # value needed
  task_configs {
    conditional_failure_policies {
      default_failure_policy {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
      failure_policies {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
    }
    description        = # value needed
    display_name       = # value needed
    error_catcher_id   = # value needed
    external_task_type = # value needed
    failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    json_validation_option = # value needed
    next_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
      task_id        = # value needed
    }
    next_tasks_execution_policy = # value needed
    parameters {
      masked = # value needed
      value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
      }
    }
    position {
      x = # value needed
      y = # value needed
    }
    success_policy {
      final_state = # value needed
    }
    synchronous_call_failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    task_execution_strategy = # value needed
    task_template           = # value needed
  }
  trigger_configs {
    alert_config {
      aggregation_period = # value needed
      alert_threshold    = # value needed
      disable_alert      = # value needed
      display_name       = # value needed
      duration_threshold = # value needed
      metric_type        = # value needed
      only_final_attempt = # value needed
      threshold_type     = # value needed
      threshold_value {
        absolute   = # value needed
        percentage = # value needed
      }
    }
    cloud_scheduler_config {
      cron_tab              = # value needed
      error_message         = # value needed
      location              = # value needed
      service_account_email = # value needed
    }
    description      = # value needed
    error_catcher_id = # value needed
    input_variables {
      names = # value needed
    }
    next_tasks_execution_policy = # value needed
    output_variables {
      names = # value needed
    }
    position {
      x = # value needed
      y = # value needed
    }
    properties = # value needed
    start_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
      task_id        = # value needed
    }
    trigger = # value needed
  }
  user_label = # value needed
}

Multiple resources added

This PR adds multiple new resources: google_integrations_integration_version, google_integrations_integration_version_deployment. 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.

Test report

Analytics

Total Tests Passed Skipped Affected
15 11 1 3
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit.

Click here to see the affected tests
  • TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
❌ Error · Log - TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

Caution

Issues requiring attention before PR completion

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@ScottSuarez VCR tests complete for de6a047!

@modular-magician

modular-magician commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 9433 insertions(+)
google-beta provider View Diff 8 files changed, 9433 insertions(+)
terraform-google-conversion View Diff 2 files changed, 2853 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 410 insertions(+)

Missing test report

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

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

resource "google_integrations_integration_version" "primary" {
  cloud_kms_key = # value needed
  cloud_logging_details {
    cloud_logging_severity = # value needed
    enable_cloud_logging   = # value needed
  }
  create_sample_integrations  = # value needed
  created_from_template       = # value needed
  database_persistence_policy = # value needed
  enable_variable_masking     = # value needed
  error_catcher_configs {
    description          = # value needed
    error_catcher_id     = # value needed
    error_catcher_number = # value needed
    label                = # value needed
    position {
      x = # value needed
      y = # value needed
    }
    start_error_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
      task_id        = # value needed
    }
  }
  integration_config_parameters {
    parameter {
      contains_large_data = # value needed
      data_type           = # value needed
      default_value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
        string_value = # value needed
      }
      description       = # value needed
      display_name      = # value needed
      input_output_type = # value needed
      is_transient      = # value needed
      json_schema       = # value needed
      key               = # value needed
      masked            = # value needed
      producer          = # value needed
      searchable        = # value needed
    }
    value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
      string_value = # value needed
    }
  }
  integration_parameters {
    contains_large_data = # value needed
    default_value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
    }
    description  = # value needed
    is_transient = # value needed
    json_schema  = # value needed
    masked       = # value needed
    producer     = # value needed
    searchable   = # value needed
  }
  new_integration        = # value needed
  parent_template_id     = # value needed
  run_as_service_account = # value needed
  task_configs {
    conditional_failure_policies {
      default_failure_policy {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
      failure_policies {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
    }
    description      = # value needed
    display_name     = # value needed
    error_catcher_id = # value needed
    failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    json_validation_option = # value needed
    next_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
      task_id        = # value needed
    }
    next_tasks_execution_policy = # value needed
    parameters {
      value {
        boolean_array {
          boolean_values = # value needed
        }
        double_array {
          double_values = # value needed
        }
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
      }
    }
    position {
      x = # value needed
      y = # value needed
    }
    success_policy {
      final_state = # value needed
    }
    synchronous_call_failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    task_template = # value needed
  }
  trigger_configs {
    alert_config {
      aggregation_period = # value needed
      alert_threshold    = # value needed
      disable_alert      = # value needed
      display_name       = # value needed
      duration_threshold = # value needed
      metric_type        = # value needed
      only_final_attempt = # value needed
      threshold_type     = # value needed
      threshold_value {
        absolute   = # value needed
        percentage = # value needed
      }
    }
    cloud_scheduler_config {
      cron_tab              = # value needed
      error_message         = # value needed
      location              = # value needed
      service_account_email = # value needed
    }
    description      = # value needed
    error_catcher_id = # value needed
    input_variables {
      names = # value needed
    }
    next_tasks_execution_policy = # value needed
    output_variables {
      names = # value needed
    }
    position {
      x = # value needed
      y = # value needed
    }
    start_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
    }
    trigger = # value needed
  }
  user_label = # value needed
}

Multiple resources added

This PR adds multiple new resources: google_integrations_integration_version, google_integrations_integration_version_deployment. 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.

Test report

Analytics

Total Tests Passed Skipped Affected
15 11 1 3
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit.

Click here to see the affected tests
  • TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
❌ Error · Log - TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

Caution

Issues requiring attention before PR completion

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@ScottSuarez VCR tests complete for dd18a2e!

@modular-magician

modular-magician commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 9677 insertions(+)
google-beta provider View Diff 8 files changed, 9677 insertions(+)
terraform-google-conversion View Diff 2 files changed, 2853 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 532 insertions(+)

Missing test report

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

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

resource "google_integrations_integration_version" "primary" {
  cloud_kms_key              = # value needed
  create_sample_integrations = # value needed
  created_from_template      = # value needed
  error_catcher_configs {
    start_error_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
    }
  }
  integration_config_parameters {
    parameter {
      contains_large_data = # value needed
      data_type           = # value needed
      default_value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
        string_value = # value needed
      }
      description       = # value needed
      display_name      = # value needed
      input_output_type = # value needed
      is_transient      = # value needed
      json_schema       = # value needed
      key               = # value needed
      masked            = # value needed
      producer          = # value needed
      searchable        = # value needed
    }
    value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
      string_value = # value needed
    }
  }
  integration_parameters {
    contains_large_data = # value needed
    default_value {
      boolean_array {
        boolean_values = # value needed
      }
      double_array {
        double_values = # value needed
      }
      int_array {
        int_values = # value needed
      }
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
    }
    is_transient = # value needed
    json_schema  = # value needed
    producer     = # value needed
  }
  new_integration        = # value needed
  parent_template_id     = # value needed
  run_as_service_account = # value needed
  task_configs {
    conditional_failure_policies {
      default_failure_policy {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
    }
    error_catcher_id = # value needed
    failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    next_tasks {
      description    = # value needed
      task_config_id = # value needed
    }
    parameters {
      value {
        boolean_array {
          boolean_values = # value needed
        }
        double_array {
          double_values = # value needed
        }
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
      }
    }
    success_policy {
      final_state = # value needed
    }
    synchronous_call_failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    task_template = # value needed
  }
  trigger_configs {
    alert_config {
      aggregation_period = # value needed
      alert_threshold    = # value needed
      disable_alert      = # value needed
      display_name       = # value needed
      duration_threshold = # value needed
      metric_type        = # value needed
      only_final_attempt = # value needed
      threshold_type     = # value needed
      threshold_value {
        absolute   = # value needed
        percentage = # value needed
      }
    }
    cloud_scheduler_config {
      cron_tab              = # value needed
      error_message         = # value needed
      location              = # value needed
      service_account_email = # value needed
    }
    error_catcher_id = # value needed
    input_variables {
      names = # value needed
    }
    next_tasks_execution_policy = # value needed
    output_variables {
      names = # value needed
    }
    start_tasks {
      condition      = # value needed
      description    = # value needed
      task_config_id = # value needed
    }
    trigger = # value needed
  }
}

Multiple resources added

This PR adds multiple new resources: google_integrations_integration_version, google_integrations_integration_version_deployment. 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.

Errors

google provider:

  • The diff processor failed to build. This is usually due to the downstream provider failing to compile.

Test report

Analytics

Total Tests Passed Skipped Affected
15 11 1 3
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit.

Click here to see the affected tests
  • TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
❌ Error · Log - TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

Caution

Issues requiring attention before PR completion

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@ScottSuarez VCR tests complete for b5c4abf!

@modular-magician

modular-magician commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 8 files changed, 9711 insertions(+)
google-beta provider View Diff 8 files changed, 9711 insertions(+)
terraform-google-conversion View Diff 2 files changed, 2853 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 549 insertions(+)

Missing test report

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

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

resource "google_integrations_integration_version" "primary" {
  cloud_kms_key              = # value needed
  create_sample_integrations = # value needed
  created_from_template      = # value needed
  error_catcher_configs {
    start_error_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
    }
  }
  integration_config_parameters {
    parameter {
      contains_large_data = # value needed
      data_type           = # value needed
      default_value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
        string_value = # value needed
      }
      description       = # value needed
      display_name      = # value needed
      input_output_type = # value needed
      is_transient      = # value needed
      json_schema       = # value needed
      key               = # value needed
      masked            = # value needed
      producer          = # value needed
      searchable        = # value needed
    }
    value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
      string_value = # value needed
    }
  }
  integration_parameters {
    contains_large_data = # value needed
    default_value {
      boolean_array {
        boolean_values = # value needed
      }
      double_array {
        double_values = # value needed
      }
      int_array {
        int_values = # value needed
      }
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
    }
    is_transient = # value needed
    json_schema  = # value needed
    producer     = # value needed
  }
  new_integration        = # value needed
  parent_template_id     = # value needed
  run_as_service_account = # value needed
  task_configs {
    conditional_failure_policies {
      default_failure_policy {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
    }
    error_catcher_id = # value needed
    failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    next_tasks {
      description    = # value needed
      task_config_id = # value needed
    }
    parameters {
      value {
        boolean_array {
          boolean_values = # value needed
        }
        double_array {
          double_values = # value needed
        }
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
      }
    }
    success_policy {
      final_state = # value needed
    }
    synchronous_call_failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    task_template = # value needed
  }
  trigger_configs {
    alert_config {
      aggregation_period = # value needed
      alert_threshold    = # value needed
      disable_alert      = # value needed
      display_name       = # value needed
      duration_threshold = # value needed
      metric_type        = # value needed
      only_final_attempt = # value needed
      threshold_type     = # value needed
      threshold_value {
        absolute   = # value needed
        percentage = # value needed
      }
    }
    cloud_scheduler_config {
      cron_tab              = # value needed
      error_message         = # value needed
      location              = # value needed
      service_account_email = # value needed
    }
    error_catcher_id = # value needed
    input_variables {
      names = # value needed
    }
    next_tasks_execution_policy = # value needed
    output_variables {
      names = # value needed
    }
    start_tasks {
      condition      = # value needed
      description    = # value needed
      task_config_id = # value needed
    }
    trigger = # value needed
  }
}

Missing ResourceIdentity coverage

Your PR includes resources that declare ResourceIdentity but are missing identity handling.

Resource: google_integrations_integration_version

  • Missing SetResourceIdentityAttributes in: Create, Read, Update
  • Missing import identity test (TestAcc..._importBlockWithResourceIdentity)

Resource: google_integrations_integration_version_deployment

  • Missing SetResourceIdentityAttributes in: Create, Read, Update
  • Missing import identity test (TestAcc..._importBlockWithResourceIdentity)

An override-missing-identity label can be added to allow merging.

Multiple resources added

This PR adds multiple new resources: google_integrations_integration_version, google_integrations_integration_version_deployment. 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.

Test report

Analytics

Total Tests Passed Skipped Affected
15 11 1 3
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit.

Click here to see the affected tests
  • TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
✅ Log TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
✅ Log TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

Caution

Issues requiring attention before PR completion

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@ScottSuarez VCR tests complete for 8e8771a!

@modular-magician

modular-magician commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 9 files changed, 9691 insertions(+), 5 deletions(-)
google-beta provider View Diff 9 files changed, 9691 insertions(+), 5 deletions(-)
terraform-google-conversion View Diff 2 files changed, 2853 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 532 insertions(+)

Missing test report

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

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

resource "google_integrations_integration_version" "primary" {
  cloud_kms_key              = # value needed
  create_sample_integrations = # value needed
  created_from_template      = # value needed
  error_catcher_configs {
    start_error_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
    }
  }
  integration_config_parameters {
    parameter {
      contains_large_data = # value needed
      data_type           = # value needed
      default_value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
        string_value = # value needed
      }
      description       = # value needed
      display_name      = # value needed
      input_output_type = # value needed
      is_transient      = # value needed
      json_schema       = # value needed
      key               = # value needed
      masked            = # value needed
      producer          = # value needed
      searchable        = # value needed
    }
    value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
      string_value = # value needed
    }
  }
  integration_parameters {
    contains_large_data = # value needed
    default_value {
      boolean_array {
        boolean_values = # value needed
      }
      double_array {
        double_values = # value needed
      }
      int_array {
        int_values = # value needed
      }
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
    }
    is_transient = # value needed
    json_schema  = # value needed
    producer     = # value needed
  }
  new_integration        = # value needed
  parent_template_id     = # value needed
  run_as_service_account = # value needed
  task_configs {
    conditional_failure_policies {
      default_failure_policy {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
    }
    error_catcher_id = # value needed
    failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    next_tasks {
      description    = # value needed
      task_config_id = # value needed
    }
    parameters {
      value {
        boolean_array {
          boolean_values = # value needed
        }
        double_array {
          double_values = # value needed
        }
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
      }
    }
    success_policy {
      final_state = # value needed
    }
    synchronous_call_failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    task_template = # value needed
  }
  trigger_configs {
    alert_config {
      aggregation_period = # value needed
      alert_threshold    = # value needed
      disable_alert      = # value needed
      display_name       = # value needed
      duration_threshold = # value needed
      metric_type        = # value needed
      only_final_attempt = # value needed
      threshold_type     = # value needed
      threshold_value {
        absolute   = # value needed
        percentage = # value needed
      }
    }
    cloud_scheduler_config {
      cron_tab              = # value needed
      error_message         = # value needed
      location              = # value needed
      service_account_email = # value needed
    }
    error_catcher_id = # value needed
    input_variables {
      names = # value needed
    }
    next_tasks_execution_policy = # value needed
    output_variables {
      names = # value needed
    }
    start_tasks {
      condition      = # value needed
      description    = # value needed
      task_config_id = # value needed
    }
    trigger = # value needed
  }
}

Missing ResourceIdentity coverage

Your PR includes resources that declare ResourceIdentity but are missing identity handling.

Resource: google_integrations_integration_version

  • Missing SetResourceIdentityAttributes in: Create, Read, Update
  • Missing import identity test (TestAcc..._importBlockWithResourceIdentity)

Resource: google_integrations_integration_version_deployment

  • Missing SetResourceIdentityAttributes in: Create, Read, Update
  • Missing import identity test (TestAcc..._importBlockWithResourceIdentity)

An override-missing-identity label can be added to allow merging.

Multiple resources added

This PR adds multiple new resources: google_integrations_integration_version, google_integrations_integration_version_deployment. 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.

Test report

Analytics

Total Tests Passed Skipped Affected
15 11 1 3
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 3 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit.

Click here to see the affected tests
  • TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
✅ Log TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionFullExample
❌ Error · Log - TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
❌ Error · Log - TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample

Caution

Issues requiring attention before PR completion

🔴 Initial Recording Failed: Some tests failed during the recording step. See the table above for details.

Please address these issues to complete your PR. If you believe these detections are incorrect or unrelated to your change, please raise the concern with your reviewer.

View the recording VCR build log or the debug logs folder for detailed results.

@ScottSuarez VCR tests complete for c27a1b9!

@modular-magician

modular-magician commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 9 files changed, 9689 insertions(+), 2 deletions(-)
google-beta provider View Diff 9 files changed, 9689 insertions(+), 2 deletions(-)
terraform-google-conversion View Diff 2 files changed, 2853 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 532 insertions(+)

Errors

google provider:

  • The diff processor failed to build. This is usually due to the downstream provider failing to compile.

google-beta provider:

  • The diff processor failed to build. This is usually due to the downstream provider failing to compile.

Test report

Analytics

Total Tests Passed Skipped Affected
15 12 1 2
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

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
  • TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
  • TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample

View the replaying VCR build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
✅ Log TestAccIntegrationsIntegrationVersionDeployment_integrationsIntegrationVersionDeploymentBasicExample
✅ Log TestAccIntegrationsIntegrationVersion_integrationsIntegrationVersionBasicExample

🟢 All tests passed!

View the recording VCR build log or the debug logs folder for detailed results.

@ScottSuarez VCR tests complete for ff3e339!

@modular-magician

modular-magician commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

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

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 9 files changed, 9689 insertions(+), 2 deletions(-)
google-beta provider View Diff 9 files changed, 9689 insertions(+), 2 deletions(-)
terraform-google-conversion View Diff 2 files changed, 2853 insertions(+)
Open in Cloud Shell View Diff 12 files changed, 532 insertions(+)

Missing test report

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

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

resource "google_integrations_integration_version" "primary" {
  cloud_kms_key              = # value needed
  create_sample_integrations = # value needed
  created_from_template      = # value needed
  error_catcher_configs {
    start_error_tasks {
      condition      = # value needed
      description    = # value needed
      display_name   = # value needed
      task_config_id = # value needed
    }
  }
  integration_config_parameters {
    parameter {
      contains_large_data = # value needed
      data_type           = # value needed
      default_value {
        boolean_array {
          boolean_values = # value needed
        }
        boolean_value = # value needed
        double_array {
          double_values = # value needed
        }
        double_value = # value needed
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
        string_value = # value needed
      }
      description       = # value needed
      display_name      = # value needed
      input_output_type = # value needed
      is_transient      = # value needed
      json_schema       = # value needed
      key               = # value needed
      masked            = # value needed
      producer          = # value needed
      searchable        = # value needed
    }
    value {
      boolean_array {
        boolean_values = # value needed
      }
      boolean_value = # value needed
      double_array {
        double_values = # value needed
      }
      double_value = # value needed
      int_array {
        int_values = # value needed
      }
      int_value  = # value needed
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
      string_value = # value needed
    }
  }
  integration_parameters {
    contains_large_data = # value needed
    default_value {
      boolean_array {
        boolean_values = # value needed
      }
      double_array {
        double_values = # value needed
      }
      int_array {
        int_values = # value needed
      }
      json_value = # value needed
      string_array {
        string_values = # value needed
      }
    }
    is_transient = # value needed
    json_schema  = # value needed
    producer     = # value needed
  }
  new_integration        = # value needed
  parent_template_id     = # value needed
  run_as_service_account = # value needed
  task_configs {
    conditional_failure_policies {
      default_failure_policy {
        condition      = # value needed
        interval_time  = # value needed
        max_retries    = # value needed
        retry_strategy = # value needed
      }
    }
    error_catcher_id = # value needed
    failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    next_tasks {
      description    = # value needed
      task_config_id = # value needed
    }
    parameters {
      value {
        boolean_array {
          boolean_values = # value needed
        }
        double_array {
          double_values = # value needed
        }
        int_array {
          int_values = # value needed
        }
        int_value  = # value needed
        json_value = # value needed
        string_array {
          string_values = # value needed
        }
      }
    }
    success_policy {
      final_state = # value needed
    }
    synchronous_call_failure_policy {
      condition      = # value needed
      interval_time  = # value needed
      max_retries    = # value needed
      retry_strategy = # value needed
    }
    task_template = # value needed
  }
  trigger_configs {
    alert_config {
      aggregation_period = # value needed
      alert_threshold    = # value needed
      disable_alert      = # value needed
      display_name       = # value needed
      duration_threshold = # value needed
      metric_type        = # value needed
      only_final_attempt = # value needed
      threshold_type     = # value needed
      threshold_value {
        absolute   = # value needed
        percentage = # value needed
      }
    }
    cloud_scheduler_config {
      cron_tab              = # value needed
      error_message         = # value needed
      location              = # value needed
      service_account_email = # value needed
    }
    error_catcher_id = # value needed
    input_variables {
      names = # value needed
    }
    next_tasks_execution_policy = # value needed
    output_variables {
      names = # value needed
    }
    start_tasks {
      condition      = # value needed
      description    = # value needed
      task_config_id = # value needed
    }
    trigger = # value needed
  }
}

Multiple resources added

This PR adds multiple new resources: google_integrations_integration_version, google_integrations_integration_version_deployment. 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.

Test report

Analytics

Total Tests Passed Skipped Affected
15 14 1 0
Affected Service Packages
  • integrations

Learn how VCR tests work


Step 1: Replaying Mode

🟢 All tests passed in Replaying mode! No Recording was needed.

View the replaying VCR build log

@ScottSuarez VCR tests complete for ef83724!

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.

Add support for managing and deploying Application Integration - Integration Versions

2 participants