aboutsummaryrefslogtreecommitdiffstats
path: root/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py')
-rw-r--r--src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py b/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py
new file mode 100644
index 0000000..23ba994
--- /dev/null
+++ b/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py
@@ -0,0 +1,46 @@
+from onapsdk.aai.business import Customer, ServiceSubscription
+from onapsdk.aai.cloud_infrastructure import CloudRegion, Tenant
+from onapsdk.configuration import settings
+
+from ..base import BaseStep
+from .customer_service_subscription_create import CustomerServiceSubscriptionCreateStep
+from .link_cloud_to_complex import LinkCloudRegionToComplexStep
+from .register_cloud_to_multicloud import RegisterCloudRegionToMulticloudStep
+
+
+class ConnectServiceSubToCloudRegionStep(BaseStep):
+ """Connect service subscription to cloud region step."""
+
+ def __init__(self, cleanup=False):
+ """Initialize step.
+
+ Substeps:
+ - LinkCloudRegionToComplexStep,
+ - RegisterCloudRegionToMulticloudStep,
+ - CustomerServiceSubscriptionCreateStep.
+
+ """
+ super().__init__(cleanup=cleanup)
+ self.add_step(LinkCloudRegionToComplexStep(cleanup=cleanup))
+ self.add_step(RegisterCloudRegionToMulticloudStep(cleanup=cleanup))
+ self.add_step(CustomerServiceSubscriptionCreateStep(cleanup=cleanup))
+
+ def execute(self):
+ """Connect service subsription to cloud region and tenant.
+
+ Use settings values:
+ - GLOBAL_CUSTOMER_ID,
+ - SERVICE_NAME,
+ - CLOUD_REGION_CLOUD_OWNER,
+ - CLOUD_REGION_ID.
+
+ """
+ super().execute()
+ customer: Customer = Customer.get_by_global_customer_id(settings.GLOBAL_CUSTOMER_ID)
+ service_subscription: ServiceSubscription = customer.get_service_subscription_by_service_type(settings.SERVICE_NAME)
+ cloud_region: CloudRegion = CloudRegion.get_by_id(
+ cloud_owner=settings.CLOUD_REGION_CLOUD_OWNER,
+ cloud_region_id=settings.CLOUD_REGION_ID,
+ )
+ tenant: Tenant = cloud_region.get_tenant(settings.TENANT_ID)
+ service_subscription.link_to_cloud_region_and_tenant(cloud_region=cloud_region, tenant=tenant)