def METHOD_NAME(self) -> list:
    resource_group = os.environ.get('AML_RESOURCE_GROUP')
    configs_base64 = os.environ.get('AML_CONFIGS')
    if not resource_group or not configs_base64:
        self._logger.debug(
            f'missed nessesary args. configs_base64: {configs_base64}, resourceGroup: {resource_group}')
        raise BuildCommandError()
    self._base_command.extend([
        '--resource-group',
        resource_group,
    ])
    # decode configs environment variable
    try:
        configs_raw = base64.b64decode(configs_base64).decode('utf-8')
        configs = json.loads(configs_raw)
    except Exception as e:
        self._logger.debug(
            f'Failed to extract configs environment variable, configs_base64: {configs_base64}', exc_info=True
        )
        raise BuildCommandError()
    clusterName = configs.get('clusterObject', {}).get('name')
    extensionName = configs.get('extensionName')
    if not clusterName or not extensionName:
        self._logger.debug(
            f'missed nessesary args. clusterName: {clusterName}, extensionName: {extensionName}')
        raise BuildCommandError()
    auto_upgrade = configs.get('autoUpgrade', False)
    self._base_command.extend([
        '--name',
        extensionName,
        '--cluster-name',
        clusterName,
        '--auto-upgrade',
        'true' if auto_upgrade else 'false'
    ])
    generator = self.ConfigSettingsGenerator(configs)
    config_settings = generator \
        .gen_node_selector() \
        .gen_basic_settings() \
        .generate()
    command = self._base_command + config_settings
    return command