in modular_sdk/services/impl/maestro_credentials_service.py [0:0]
def _get_azure_credentials(self, application: Application,
tenant: Optional[Tenant] = None,
) -> Optional[AZURECredentials]:
if not application.secret:
_LOG.warning(f'Application {application.application_id} does not '
f'contain secret')
return
secret = self._ssm_service.get_parameter(application.secret)
if not secret:
_LOG.warning(f'Secret {application.secret} exists in application,'
f' but not in SSM')
return
if isinstance(secret, str):
meta = AZURECredentialsApplicationMeta.from_dict(
application.meta.as_dict()
)
tenant_id = meta.tenantId
client_id = meta.clientId
api_key = secret
else: # isinstance(secret, dict)
secret = AZURECredentialsApplicationSecret.from_dict(secret)
tenant_id = secret.tenant_id
client_id = secret.client_id
api_key = secret.api_key
return AZURECredentials(
AZURE_TENANT_ID=tenant_id,
AZURE_CLIENT_ID=client_id,
AZURE_CLIENT_SECRET=api_key,
AZURE_SUBSCRIPTION_ID=tenant.project if tenant else None
)