diff options
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.py | 46 |
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) |