function queryFunction()

in dialogflow-cx/vpc-sc-demo/frontend/src/AssetPollToggle.js [542:597]


  function queryFunction() {
    let destroy = asset.current === true ? true : false;
    props.dataModel.validAccessPolicy.set(true);
    if (
      props.isModuleSwitch &&
      props.dataModel.invertAssetCollectionSwitches.current &&
      !ResourceCollectionIsAllSame(props.target, props.dataModel)
    ) {
      destroy = !destroy;
    }

    let target;
    if (props.target === 'module.services' && destroy) {
      target = [
        props.target,
        'google_project_service.dialogflow',
        'google_project_service.cloudfunctions',
        'google_project_service.compute',
        'google_project_service.servicedirectory',
        'google_project_service.cloudbuild',
        'google_project_service.accesscontextmanager',
        'google_project_service.cloudbilling',
        'google_project_service.iam',
      ];
    } else if (props.target === 'module.service_directory') {
      target = [
        props.target,
        'module.service_perimeter.google_access_context_manager_service_perimeter.service_perimeter[0]',
      ];
    } else if (props.target === 'module.webhook_agent' && destroy) {
      target = [props.target, 'google_storage_bucket.bucket'];
    } else {
      target = [props.target];
    }

    props.dataModel.terraformLocked.set(true);
    return axios
      .post(
        '/update_target',
        {
          targets: target,
          destroy: destroy,
        },
        {
          params: {
            project_id: props.dataModel.projectData.project_id.current,
            bucket: getBucket(props.dataModel),
            region: props.dataModel.projectData.region.current,
            access_policy_title:
              props.dataModel.projectData.accessPolicyTitle.current,
            debug: false,
          },
        }
      )
      .then(res => res.data);
  }