diff --git a/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/api/GcpBatchRequestFactoryImpl.scala b/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/api/GcpBatchRequestFactoryImpl.scala index c779e2073d..2c654a2d35 100644 --- a/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/api/GcpBatchRequestFactoryImpl.scala +++ b/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/api/GcpBatchRequestFactoryImpl.scala @@ -57,7 +57,7 @@ class GcpBatchRequestFactoryImpl()(implicit gcsTransferConfiguration: GcsTransfe .setNetwork(vpcAndSubnetworkProjectLabelValues.networkName(data.createParameters.projectId)) vpcAndSubnetworkProjectLabelValues - .subnetNameOption(projectId=data.createParameters.projectId, region=data.gcpBatchParameters.region) + .subnetNameOption(projectId=data.createParameters.projectId, region=zonesToRegion(data.createParameters.runtimeAttributes.zones)) .foreach(network.setSubnetwork) network diff --git a/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/models/VpcAndSubnetworkProjectLabelValues.scala b/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/models/VpcAndSubnetworkProjectLabelValues.scala index 89c8eabb53..fbbed22551 100644 --- a/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/models/VpcAndSubnetworkProjectLabelValues.scala +++ b/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/models/VpcAndSubnetworkProjectLabelValues.scala @@ -19,11 +19,10 @@ final case class VpcAndSubnetworkProjectLabelValues(vpcName: String, subnetNameO } /** - * Replaces the string `\${projectId}` in the subnet name if found. + * Replaces the string `\${projectId}` in the subnet name if found. Replace wildcard character used in terra configuration for subnetworks with appropriate region */ def subnetNameOption(projectId: String, region: String): Option[String] = { subnetNameOpt map { _.replace(ProjectIdToken, projectId) } - //replace wildcard character used in terra configuration for subnetworks with appropriate region subnetNameOpt map { _.replace(regionWildcard, "regions/"+ region) } } } diff --git a/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/util/BatchUtilityConversions.scala b/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/util/BatchUtilityConversions.scala index 65ef5a5e04..b286124915 100644 --- a/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/util/BatchUtilityConversions.scala +++ b/supportedBackends/google/batch/src/main/scala/cromwell/backend/google/batch/util/BatchUtilityConversions.scala @@ -12,6 +12,12 @@ trait BatchUtilityConversions { def toZonesPath(zones: Vector[String]): String = zones.map(zone => "zones/" + zone).mkString(" ") + // Gets first zone in vector and removes last two characters of zone to construct region + def zonesToRegion(zones: Vector[String]): String = { + val regionFromZone = zones.head.dropRight(2) + regionFromZone + } + // lowercase text to match gcp label requirements def toLabel(text: String): String = text.toLowerCase