def register_providers()

in azext_edge/edge/providers/orchestration/rp_namespace.py [0:0]


def register_providers(subscription_id: str, resource_provider: Optional[str] = None):
    resource_client = get_resource_client(subscription_id=subscription_id)
    providers_list = resource_client.providers.list()
    required_providers = [resource_provider] if resource_provider else RP_NAMESPACE_SET
    for provider in providers_list:
        if "namespace" in provider and provider["namespace"] in required_providers:
            if provider["registrationState"] == "Registered":
                logger.debug("RP %s is already registered.", provider["namespace"])
                continue
            logger.debug("Registering RP %s.", provider["namespace"])
            resource_client.providers.register(provider["namespace"])