Skip to content

Adding magic module config for osconfigv2 #13120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Mar 19, 2025

Conversation

yerniyazN
Copy link
Member

@yerniyazN yerniyazN commented Feb 19, 2025

Release Note Template for Downstream PRs (will be copied)

See Write release notes for guidance.

`google_os_config_v2_policy_orchestrator`

Copy link

Hello! I am a robot. Tests will require approval from a repository maintainer to run.

@slevenick, a repository maintainer, has been assigned to review your changes. If you have not received review feedback within 2 business days, please leave a comment on this PR asking them to take a look.

You can help make sure that review is quick by doing a self-review and by running impacted tests locally.

@modular-magician
Copy link
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 ( 12 files changed, 4747 insertions(+))
google-beta provider: Diff ( 23 files changed, 23630 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 3 files changed, 6837 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_folder" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_organization" "primary" {
  description = # value needed
  labels      = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3938
Passed tests: 3513
Skipped tests: 413
Affected tests: 12

Click here to see the affected service packages

All service packages are affected

Action taken

Found 12 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccAccessContextManager
  • TestAccApigeeEnvironmentAddonsConfig_apigeeEnvAddonsAnalyticsTestExample
  • TestAccCloudbuildWorkerPool_basic
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_basic
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample
  • TestAccOSConfigV2PolicyOrchestrator_basic
  • TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample
  • TestAccSpannerInstance_spannerInstanceWithAutoscaling

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccAccessContextManager [Debug log]
TestAccApigeeEnvironmentAddonsConfig_apigeeEnvAddonsAnalyticsTestExample [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccDataSourceGoogleGkeHubFeature_basic [Error message] [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [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:
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample [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
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 ( 12 files changed, 4368 insertions(+))
google-beta provider: Diff ( 23 files changed, 23630 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 3 files changed, 6837 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_folder" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_organization" "primary" {
  description = # value needed
  labels      = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3949
Passed tests: 3524
Skipped tests: 414
Affected tests: 11

Click here to see the affected service packages

All service packages are affected

Action taken

Found 11 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccAccessContextManager
  • TestAccCloudbuildWorkerPool_basic
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_basic
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample
  • TestAccOSConfigV2PolicyOrchestrator_basic
  • TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample
  • TestAccSpannerInstance_spannerInstanceWithAutoscaling

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccDataSourceGoogleGkeHubFeature_basic [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccDataSourceGoogleGkeHubFeature_basic [Error message] [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [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:
TestAccAccessContextManager [Error message] [Debug log]
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample [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

Copy link
Contributor

@slevenick slevenick left a comment

Choose a reason for hiding this comment

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

I'm seeing a lot of permission errors on these tests. Do we need specific permissions on our CI environment to be able to use this? Or does it require the project or user to be allowlisted?

@github-actions github-actions bot requested a review from slevenick February 20, 2025 15:55
@yerniyazN yerniyazN closed this Feb 20, 2025
@yerniyazN yerniyazN reopened this Feb 20, 2025
@yerniyazN
Copy link
Member Author

I'm seeing a lot of permission errors on these tests. Do we need specific permissions on our CI environment to be able to use this? Or does it require the project or user to be allowlisted?

Yes, we need to enable Ripple API. Do you have permission for enabling Ripple API for the project 1067888929963 ?
https://console.developers.google.com/apis/api/progressiverollout.googleapis.com/overview?project=1067888929963

@yerniyazN
Copy link
Member Author

I have used env variable ORG_ID to get organization, but how I can get it for folder?
TestAccOSConfigV2PolicyOrchestratorForFolder is failing because I hard coded my own folder.

@modular-magician
Copy link
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 ( 12 files changed, 4368 insertions(+))
google-beta provider: Diff ( 23 files changed, 23630 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 3 files changed, 6837 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_folder" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_organization" "primary" {
  description = # value needed
  labels      = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@slevenick
Copy link
Contributor

I have used env variable ORG_ID to get organization, but how I can get it for folder? TestAccOSConfigV2PolicyOrchestratorForFolder is failing because I hard coded my own folder.

Generally we create new folders within the test to put things inside of. I don't think there is a static parent folder like there is for org

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 4612
Passed tests: 4175
Skipped tests: 426
Affected tests: 11

Click here to see the affected service packages

All service packages are affected

Action taken

Found 11 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccAccessContextManager
  • TestAccCloudbuildWorkerPool_basic
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_basic
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample
  • TestAccOSConfigV2PolicyOrchestrator_basic
  • TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample
  • TestAccSpannerInstance_spannerInstanceWithAutoscaling

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccAccessContextManager [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccAccessContextManager [Error message] [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [Error message] [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [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:
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample [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
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 ( 14 files changed, 4378 insertions(+))
google-beta provider: Diff ( 23 files changed, 23630 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 3 files changed, 6837 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_folder" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_organization" "primary" {
  description = # value needed
  labels      = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 4614
Passed tests: 4171
Skipped tests: 432
Affected tests: 11

Click here to see the affected service packages

All service packages are affected

Action taken

Found 11 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccAccessContextManager
  • TestAccCloudbuildWorkerPool_basic
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_basic
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample
  • TestAccOSConfigV2PolicyOrchestrator_basic
  • TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample
  • TestAccSpannerInstance_spannerInstanceWithAutoscaling

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccAccessContextManager [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [Debug log]
TestAccSpannerInstance_spannerInstanceWithAutoscaling [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccDataSourceGoogleGkeHubFeature_basic [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:
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample [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
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 ( 14 files changed, 4380 insertions(+))
google-beta provider: Diff ( 23 files changed, 23641 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 3 files changed, 6837 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_folder" "primary" {
  labels = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

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

resource "google_os_config_v2_policy_orchestrator_for_organization" "primary" {
  description = # value needed
  labels      = # value needed
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      etag        = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 4614
Passed tests: 4172
Skipped tests: 432
Affected tests: 10

Click here to see the affected service packages

All service packages are affected

Action taken

Found 10 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccAccessContextManager
  • TestAccCloudbuildWorkerPool_basic
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_basic
  • TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_basic
  • TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample
  • TestAccOSConfigV2PolicyOrchestrator_basic
  • TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccAccessContextManager [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccDataSourceGoogleGkeHubFeature_basic [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:
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForFolder_osconfigv2PolicyOrchestratorForFolderBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestratorForOrganization_osconfigv2PolicyOrchestratorForOrganizationBasicExample [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_basic [Error message] [Debug log]
TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample [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

@yerniyazN yerniyazN marked this pull request as draft March 14, 2025 11:23
@yerniyazN
Copy link
Member Author

Waiting for the API change cl/736500429 to be in prod. It might affect this PR

Copy link
Contributor

@slevenick slevenick left a comment

Choose a reason for hiding this comment

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

Sounds good, unmark as draft when this is ready

@modular-magician
Copy link
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 ( 10 files changed, 1531 insertions(+))
google-beta provider: Diff ( 13 files changed, 8076 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 2268 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 4701
Passed tests: 4250
Skipped tests: 436
Affected tests: 15

Click here to see the affected service packages

All service packages are affected

Action taken

Found 15 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccAccessContextManager
  • TestAccCloudbuildWorkerPool_basic
  • TestAccComputeInstanceFromMachineImage_terminationTime
  • TestAccComputeInstanceFromTemplate_TerminationTime
  • TestAccComputeInstanceTemplate_instanceTerminationAction_terminationTime
  • TestAccComputeInstance_schedulingTerminationTime
  • TestAccComputeRegionInstanceTemplate_instanceTerminationAction_terminationTime
  • TestAccDNSRecordSet_routingPolicy
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccManagedKafkaConnectCluster_managedkafkaConnectClusterBasicExample
  • TestAccManagedKafkaConnector_managedkafkaConnectorBasicExample
  • TestAccOSConfigV2PolicyOrchestrator_basic
  • TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample
  • TestAccRedisCluster_updateClusterEndpoints

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

🟢 Tests passed during RECORDING mode:
TestAccAccessContextManager [Debug log]
TestAccComputeInstanceFromMachineImage_terminationTime [Debug log]
TestAccComputeInstanceFromTemplate_TerminationTime [Debug log]
TestAccComputeInstanceTemplate_instanceTerminationAction_terminationTime [Debug log]
TestAccComputeInstance_schedulingTerminationTime [Debug log]
TestAccComputeRegionInstanceTemplate_instanceTerminationAction_terminationTime [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [Debug log]
TestAccOSConfigV2PolicyOrchestrator_basic [Debug log]
TestAccOSConfigV2PolicyOrchestrator_osconfigv2PolicyOrchestratorBasicExample [Debug log]

🔴 Tests failed when rerunning REPLAYING mode:
TestAccAccessContextManager [Error message] [Debug log]
TestAccDataSourceGoogleGkeHubFeature_basic [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:
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccDNSRecordSet_routingPolicy [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccManagedKafkaConnectCluster_managedkafkaConnectClusterBasicExample [Error message] [Debug log]
TestAccManagedKafkaConnector_managedkafkaConnectorBasicExample [Error message] [Debug log]
TestAccRedisCluster_updateClusterEndpoints [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

@yerniyazN yerniyazN marked this pull request as ready for review March 18, 2025 08:45
@yerniyazN
Copy link
Member Author

Sounds good, unmark as draft when this is ready

ready

Copy link
Contributor

@slevenick slevenick left a comment

Choose a reason for hiding this comment

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

Couple small questions, overall looks good

@github-actions github-actions bot requested a review from slevenick March 18, 2025 21:50
@modular-magician
Copy link
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 ( 10 files changed, 1533 insertions(+))
google-beta provider: Diff ( 13 files changed, 8084 insertions(+), 2 deletions(-))
terraform-google-conversion: Diff ( 1 file changed, 2268 insertions(+))

Missing test report

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

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

resource "google_os_config_v2_policy_orchestrator" "primary" {
  orchestrated_resource {
    os_policy_assignment_v1_payload {
      description = # value needed
      instance_filter {
        all = # value needed
        exclusion_labels {
          labels = # value needed
        }
        inclusion_labels {
          labels = # value needed
        }
        inventories {
          os_version = # value needed
        }
      }
      name = # value needed
      os_policies {
        allow_no_resource_group_match = # value needed
        description                   = # value needed
        resource_groups {
          inventory_filters {
            os_short_name = # value needed
            os_version    = # value needed
          }
          resources {
            exec {
              enforce {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
              validate {
                args = # value needed
                file {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
                interpreter      = # value needed
                output_file_path = # value needed
                script           = # value needed
              }
            }
            file {
              file {
                allow_insecure = # value needed
                gcs {
                  bucket     = # value needed
                  generation = # value needed
                  object     = # value needed
                }
                local_path = # value needed
                remote {
                  sha256_checksum = # value needed
                  uri             = # value needed
                }
              }
              permissions = # value needed
            }
            pkg {
              apt {
                name = # value needed
              }
              deb {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              desired_state = # value needed
              googet {
                name = # value needed
              }
              msi {
                properties = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              rpm {
                pull_deps = # value needed
                source {
                  allow_insecure = # value needed
                  gcs {
                    bucket     = # value needed
                    generation = # value needed
                    object     = # value needed
                  }
                  local_path = # value needed
                  remote {
                    sha256_checksum = # value needed
                    uri             = # value needed
                  }
                }
              }
              yum {
                name = # value needed
              }
              zypper {
                name = # value needed
              }
            }
            repository {
              apt {
                archive_type = # value needed
                components   = # value needed
                distribution = # value needed
                gpg_key      = # value needed
                uri          = # value needed
              }
              goo {
                name = # value needed
                url  = # value needed
              }
              yum {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
              zypper {
                base_url     = # value needed
                display_name = # value needed
                gpg_keys     = # value needed
                id           = # value needed
              }
            }
          }
        }
      }
      rollout {
        disruption_budget {
          fixed = # value needed
        }
      }
    }
  }
  orchestration_scope {
    selectors {
      location_selector {
        included_locations = # value needed
      }
      resource_hierarchy_selector {
        included_folders  = # value needed
        included_projects = # value needed
      }
    }
  }
  orchestration_state {
    current_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
    previous_iteration_state {
      error {
        code = # value needed
        details {
          type_url = # value needed
          value    = # value needed
        }
        message = # value needed
      }
    }
  }
}

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 4709
Passed tests: 4266
Skipped tests: 436
Affected tests: 7

Click here to see the affected service packages

All service packages are affected

Action taken

Found 7 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccCloudbuildWorkerPool_basic
  • TestAccDNSRecordSet_routingPolicy
  • TestAccDataSourceGoogleGkeHubFeature_basic
  • TestAccEphemeralServiceAccountKey_basic
  • TestAccManagedKafkaConnectCluster_managedkafkaConnectClusterBasicExample
  • TestAccManagedKafkaConnector_managedkafkaConnectorBasicExample
  • TestAccRedisCluster_updateClusterEndpoints

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

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

🔴 Tests failed when rerunning REPLAYING mode:
TestAccDataSourceGoogleGkeHubFeature_basic [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:
TestAccCloudbuildWorkerPool_basic [Error message] [Debug log]
TestAccDNSRecordSet_routingPolicy [Error message] [Debug log]
TestAccEphemeralServiceAccountKey_basic [Error message] [Debug log]
TestAccManagedKafkaConnectCluster_managedkafkaConnectClusterBasicExample [Error message] [Debug log]
TestAccManagedKafkaConnector_managedkafkaConnectorBasicExample [Error message] [Debug log]
TestAccRedisCluster_updateClusterEndpoints [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

Copy link
Contributor

@slevenick slevenick left a comment

Choose a reason for hiding this comment

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

Thanks!

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