def _get_config_with_production_and_tier(self, cluster, config): tier_configurations = self._get_tier_configurations(cluster) def to_bool(value): return Boolean.coerce(value) task = config.job().taskConfig if task.tier is None: backfill_args = { 'tier': String( next((t.name for t in tier_configurations.tiers if not to_bool(t.settings['preemptible']) == task. production and not to_bool(t.settings['revocable'])), tier_configurations.defaultTierName)) } else: backfill_args = { 'production': Boolean( next((not to_bool(t.settings['preemptible']) for t in tier_configurations.tiers if t.name == task.tier), task.production)) } config.update_job(config.raw()(**backfill_args)) return config
def to_bool(value): return Boolean.coerce(value)