def execute(self, context: 'Context'): hook = CloudComposerHook( gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain, delegate_to=self.delegate_to, ) result = hook.delete_environment( project_id=self.project_id, region=self.region, environment_id=self.environment_id, retry=self.retry, timeout=self.timeout, metadata=self.metadata, ) if not self.deferrable: hook.wait_for_operation(timeout=self.timeout, operation=result) else: self.defer( trigger=CloudComposerExecutionTrigger( project_id=self.project_id, region=self.region, operation_name=result.operation.name, gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain, delegate_to=self.delegate_to, pooling_period_seconds=self.pooling_period_seconds, ), method_name=GOOGLE_DEFAULT_DEFERRABLE_METHOD_NAME, )
def execute(self, context: 'Context'): hook = CloudComposerHook( gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain, delegate_to=self.delegate_to, ) name = hook.get_environment_name(self.project_id, self.region, self.environment_id) if isinstance(self.environment, Environment): self.environment.name = name else: self.environment["name"] = name CloudComposerEnvironmentLink.persist(operator_instance=self, context=context) try: result = hook.create_environment( project_id=self.project_id, region=self.region, environment=self.environment, retry=self.retry, timeout=self.timeout, metadata=self.metadata, ) if not self.deferrable: environment = hook.wait_for_operation(timeout=self.timeout, operation=result) return Environment.to_dict(environment) else: self.defer( trigger=CloudComposerExecutionTrigger( project_id=self.project_id, region=self.region, operation_name=result.operation.name, gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain, delegate_to=self.delegate_to, pooling_period_seconds=self.pooling_period_seconds, ), method_name=GOOGLE_DEFAULT_DEFERRABLE_METHOD_NAME, ) except AlreadyExists: environment = hook.get_environment( project_id=self.project_id, region=self.region, environment_id=self.environment_id, retry=self.retry, timeout=self.timeout, metadata=self.metadata, ) return Environment.to_dict(environment)