// DO NOT EDIT MANUALLY - Generated file
//
// Cluster metadata information for cluster WaterValveData (cluster code:
// 4294048769/0xFFF1FC01) based on
// /home/champon/Develop/Products/GV1/src/default_zap/GV1.matter
#pragma once

#include <app/data-model-provider/MetadataTypes.h>
#include <lib/core/DataModelTypes.h>

#include <cstdint>

#include <clusters/WaterValveData/Ids.h>

namespace chip {
namespace app {
namespace Clusters {
namespace WaterValveData {

inline constexpr uint32_t kRevision = 1;

namespace Attributes {
namespace Volume {
inline constexpr DataModel::AttributeEntry
    kMetadataEntry(Volume::Id, BitFlags<DataModel::AttributeQualityFlags>(),
                   Access::Privilege::kView, Access::Privilege::kOperate);
} // namespace Volume
namespace VolumeRemaining {
inline constexpr DataModel::AttributeEntry
    kMetadataEntry(VolumeRemaining::Id,
                   BitFlags<DataModel::AttributeQualityFlags>(),
                   Access::Privilege::kView, Access::Privilege::kOperate);
} // namespace VolumeRemaining
namespace AquaValue {
inline constexpr DataModel::AttributeEntry
    kMetadataEntry(AquaValue::Id, BitFlags<DataModel::AttributeQualityFlags>(),
                   Access::Privilege::kView, Access::Privilege::kOperate);
} // namespace AquaValue
namespace ChildLock {
inline constexpr DataModel::AttributeEntry
    kMetadataEntry(ChildLock::Id, BitFlags<DataModel::AttributeQualityFlags>(),
                   Access::Privilege::kView, Access::Privilege::kOperate);
} // namespace ChildLock
namespace TemperatureAdjust {
inline constexpr DataModel::AttributeEntry
    kMetadataEntry(TemperatureAdjust::Id,
                   BitFlags<DataModel::AttributeQualityFlags>(),
                   Access::Privilege::kView, Access::Privilege::kOperate);
} // namespace TemperatureAdjust
namespace FreezeThreshold {
inline constexpr DataModel::AttributeEntry
    kMetadataEntry(FreezeThreshold::Id,
                   BitFlags<DataModel::AttributeQualityFlags>(),
                   Access::Privilege::kView, Access::Privilege::kOperate);
} // namespace FreezeThreshold

} // namespace Attributes

namespace Commands {
namespace GetValveSessionLogs {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(GetValveSessionLogs::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace GetValveSessionLogs
namespace SetValveSession {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(SetValveSession::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace SetValveSession
namespace GetAllValveSession {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(GetAllValveSession::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace GetAllValveSession
namespace GetWaterUsage {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(GetWaterUsage::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace GetWaterUsage
namespace GetWaterStats {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(GetWaterStats::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace GetWaterStats
namespace GetValveFreezeRecord {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(GetValveFreezeRecord::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace GetValveFreezeRecord
namespace GetValveTemperatureRecord {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(GetValveTemperatureRecord::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace GetValveTemperatureRecord
namespace OpenValveWithVolume {
inline constexpr DataModel::AcceptedCommandEntry
    kMetadataEntry(OpenValveWithVolume::Id,
                   BitFlags<DataModel::CommandQualityFlags>(),
                   Access::Privilege::kOperate);
} // namespace OpenValveWithVolume

} // namespace Commands
} // namespace WaterValveData
} // namespace Clusters
} // namespace app
} // namespace chip
