Skip to content
Snippets Groups Projects
Commit ce871db4 authored by xiaohua guan's avatar xiaohua guan Committed by Yas Naoi
Browse files

Issue #3252183 by Xiaohua Guan, yas: Delete and bulk delete several resource...

Issue #3252183 by Xiaohua Guan, yas: Delete and bulk delete several resource types from Cloud Orchestrator master to workers (AWS Cloud)
parent ecf57523
No related branches found
No related tags found
No related merge requests found
......@@ -21,22 +21,33 @@ class NetworkInterfaceDeleteForm extends AwsDeleteUpdateEntityForm {
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteNetworkInterface([
'NetworkInterfaceId' => $entity->getNetworkInterfaceId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteNetworkInterface([
'NetworkInterfaceId' => $entity->getNetworkInterfaceId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
else {
$this->processOperationErrorStatus($entity, 'deleted');
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
......@@ -19,23 +19,33 @@ class SnapshotDeleteForm extends AwsDeleteUpdateEntityForm {
$entity = $this->entity;
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteSnapshot([
'SnapshotId' => $entity->getSnapshotId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteSnapshot([
'SnapshotId' => $entity->getSnapshotId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
else {
$this->processOperationErrorStatus($entity, 'deleted');
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
......@@ -20,23 +20,33 @@ class CarrierGatewayDeleteForm extends AwsDeleteUpdateEntityForm {
$entity = $this->entity;
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteCarrierGateway([
'CarrierGatewayId' => $entity->getCarrierGatewayId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteCarrierGateway([
'CarrierGatewayId' => $entity->getCarrierGatewayId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
else {
$this->processOperationErrorStatus($entity, 'deleted');
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$form_state->setRedirect('view.aws_cloud_carrier_gateway.list', ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
......@@ -20,23 +20,33 @@ class InternetGatewayDeleteForm extends AwsDeleteUpdateEntityForm {
$entity = $this->entity;
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteInternetGateway([
'InternetGatewayId' => $entity->getInternetGatewayId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteInternetGateway([
'InternetGatewayId' => $entity->getInternetGatewayId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
else {
$this->processOperationErrorStatus($entity, 'deleted');
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$form_state->setRedirect('view.aws_cloud_internet_gateway.list', ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
......@@ -20,22 +20,33 @@ class SubnetDeleteForm extends AwsDeleteUpdateEntityForm {
$entity = $this->entity;
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteSubnet([
'SubnetId' => $entity->getSubnetId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteSubnet([
'SubnetId' => $entity->getSubnetId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
else {
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
$form_state->setRedirect('view.aws_cloud_subnet.list', ['cloud_context' => $entity->getCloudContext()]);
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
......@@ -20,23 +20,33 @@ class TransitGatewayDeleteForm extends AwsDeleteUpdateEntityForm {
$entity = $this->entity;
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteTransitGateway([
'TransitGatewayId' => $entity->getTransitGatewayId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteTransitGateway([
'TransitGatewayId' => $entity->getTransitGatewayId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
else {
$this->processOperationErrorStatus($entity, 'deleted');
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$form_state->setRedirect('view.aws_cloud_transit_gateway.list', ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
......@@ -20,22 +20,33 @@ class VpcPeeringConnectionDeleteForm extends AwsDeleteUpdateEntityForm {
$entity = $this->entity;
$this->ec2Service->setCloudContext($entity->getCloudContext());
if ($this->ec2Service->deleteVpcPeeringConnection([
'VpcPeeringConnectionId' => $entity->getVpcPeeringConnectionId(),
]) !== NULL) {
$form_state->setRedirect("view.{$entity->getEntityTypeId()}.list", ['cloud_context' => $entity->getCloudContext()]);
$entity->delete();
$result = $this->ec2Service->deleteVpcPeeringConnection([
'VpcPeeringConnectionId' => $entity->getVpcPeeringConnectionId(),
]);
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
else {
// If $result is NULL, some error should have occurred
// when calling the AWS API.
if ($result === NULL) {
$this->processOperationErrorStatus($entity, 'deleted');
return;
}
$form_state->setRedirect('view.aws_cloud_vpc_peering_connection.list', ['cloud_context' => $entity->getCloudContext()]);
if (!empty($result['SendToWorker'])) {
$this->messenger->addStatus($this->t('The @type @label has been deleted remotely.', [
'@type' => $entity->getEntityType()->getSingularLabel(),
'@label' => $entity->getName(),
]));
return;
}
$entity->delete();
$this->messenger->addStatus($this->getDeletionMessage());
$this->logDeletionMessage();
$this->clearCacheValues($entity->getCacheTags());
$this->dispatchSubmitEvent($entity);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment