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);
}