def __init__()

in alibabacloud_credentials/providers.py [0:0]


    def __init__(self, role_session_name=None, role_arn=None,
                 oidc_provider_arn=None,
                 oidc_token_file_path=None,
                 region_id=None,
                 policy=None, config=None):
        self._verify_empty_args(role_arn, oidc_provider_arn, oidc_token_file_path, config=config)
        super().__init__(config)
        self._set_arg('role_arn', role_arn)
        self._set_arg('oidc_provider_arn', oidc_provider_arn)
        if oidc_token_file_path is not None:
            self._set_arg('oidc_token_file_path', oidc_token_file_path)
        elif config.oidc_token_file_path is not None:
            self._set_arg('oidc_token_file_path', oidc_token_file_path)
        elif au.environment_oidc_token_file is not None:
            self._set_arg('oidc_token_file_path', au.environment_oidc_token_file)
        else:
            raise CredentialException(
                'The oidc_token_file_path does not exist and env ALIBABA_CLOUD_OIDC_TOKEN_FILE is none.')
        self._set_arg('region_id', region_id)
        self._set_arg('role_session_name', role_session_name)
        self._set_arg('policy', policy)
        if region_id is None and au.environment_sts_region is not None:
            self._set_arg('region_id', au.environment_sts_region)
        if self.region_id is not None:
            self._set_arg('sts_endpoint', f'sts.{self.region_id}.aliyuncs.com')
        else:
            self._set_arg('sts_endpoint',
                          'sts.aliyuncs.com' if config is None or config.sts_endpoint is None else config.sts_endpoint)