async getSecretManifestData ({
    spec: {
      // Use properties to be backwards compatible.
      properties = [],
      data = properties,
      dataFrom = [],
      dataFromWithOptions = [],
      ...specOptions
    }
  }) {
    const [dataFromValues, dataFromValuesWithOptions, dataValues] = await Promise.all([
      this._fetchDataFromValues({ dataFrom, specOptions }),
      this._fetchDataFromValuesWithOptions({ dataFromWithOptions, specOptions }),
      this._fetchDataValues({ data, specOptions })
    ])

    const plainValues = dataFromValues.concat(dataFromValuesWithOptions).concat(dataValues)
      .reduce((acc, parsedValue) => ({
        ...acc,
        ...parsedValue
      }), {})

    const encodedEntries = Object.entries(plainValues)
      .map(([name, plainValue]) => [
        name,
        this._toBuffer(plainValue).toString('base64')
      ])

    return Object.fromEntries(encodedEntries)
  }
Fetch Kubernetes secret manifest data.
@param {ExternalSecretSpec} spec - Kubernetes ExternalSecret spec.
@returns {Promise} Promise object representing Kubernetes secret manifest data.