def _get_azure_certificate()

in modular_sdk/services/impl/maestro_credentials_service.py [0:0]


    def _get_azure_certificate(self, application: Application,
                               tenant: Optional[Tenant] = None,
                               ) -> Optional[AZURECertificate]:
        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
        meta = AZURECertificateApplicationMeta.from_dict(
            application.meta.as_dict()
        )
        secret = AZURECertificateApplicationSecret.from_dict(secret)
        with tempfile.NamedTemporaryFile('wb', delete=False) as fp:
            fp.write(base64.b64decode(secret.certificate_base64))

        return AZURECertificate(
            AZURE_TENANT_ID=meta.tenantId,
            AZURE_CLIENT_ID=meta.clientId,
            AZURE_CLIENT_CERTIFICATE_PATH=Path(fp.name),
            AZURE_CLIENT_CERTIFICATE_PASSWORD=secret.certificate_password
        )