// Code generated by go-queryset. DO NOT EDIT.
package model

import (
	"errors"
	"fmt"
	"strings"
	"time"

	"gorm.io/gorm"
)

// ===== BEGIN of all query sets

// ===== BEGIN of query set APIKeyQuerySet

// APIKeyQuerySet is an queryset type for APIKey
type APIKeyQuerySet struct {
	db *gorm.DB
}

// NewAPIKeyQuerySet constructs new APIKeyQuerySet
func NewAPIKeyQuerySet(db *gorm.DB) APIKeyQuerySet {
	return APIKeyQuerySet{
		db: db.Model(&APIKey{}),
	}
}

func (qs APIKeyQuerySet) w(db *gorm.DB) APIKeyQuerySet {
	return NewAPIKeyQuerySet(db)
}

func (qs APIKeyQuerySet) Select(fields ...APIKeyDBSchemaField) APIKeyQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *APIKey) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *APIKey) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) All(ret *[]APIKey) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtEq(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtGt(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtGte(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtLt(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtLte(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedAtNe(createdAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// CreatedByIDEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDEq(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id = ?", createdByID))
}

// CreatedByIDGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDGt(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id > ?", createdByID))
}

// CreatedByIDGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDGte(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id >= ?", createdByID))
}

// CreatedByIDIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDIn(createdByID ...ID) APIKeyQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id IN (?)", createdByID))
}

// CreatedByIDLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDLt(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id < ?", createdByID))
}

// CreatedByIDLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDLte(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id <= ?", createdByID))
}

// CreatedByIDNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDNe(createdByID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("created_by_id != ?", createdByID))
}

// CreatedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) CreatedByIDNotIn(createdByID ...ID) APIKeyQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id NOT IN (?)", createdByID))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Delete() error {
	return qs.db.Delete(&APIKey{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&APIKey{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&APIKey{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) GetUpdater() APIKeyUpdater {
	return NewAPIKeyUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDEq(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDGt(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDGte(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDIn(ID ...ID) APIKeyQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDLt(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDLte(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDNe(ID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) IDNotIn(ID ...ID) APIKeyQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// KeyHashEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashEq(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash = ?", keyHash))
}

// KeyHashGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashGt(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash > ?", keyHash))
}

// KeyHashGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashGte(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash >= ?", keyHash))
}

// KeyHashIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashIn(keyHash ...string) APIKeyQuerySet {
	if len(keyHash) == 0 {
		qs.db.AddError(errors.New("must at least pass one keyHash in KeyHashIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("key_hash IN (?)", keyHash))
}

// KeyHashLike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashLike(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash LIKE ?", keyHash))
}

// KeyHashLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashLt(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash < ?", keyHash))
}

// KeyHashLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashLte(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash <= ?", keyHash))
}

// KeyHashNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashNe(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash != ?", keyHash))
}

// KeyHashNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashNotIn(keyHash ...string) APIKeyQuerySet {
	if len(keyHash) == 0 {
		qs.db.AddError(errors.New("must at least pass one keyHash in KeyHashNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("key_hash NOT IN (?)", keyHash))
}

// KeyHashNotlike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) KeyHashNotlike(keyHash string) APIKeyQuerySet {
	return qs.w(qs.db.Where("key_hash NOT LIKE ?", keyHash))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Limit(limit int) APIKeyQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameEq(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameGt(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameGte(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameIn(name ...string) APIKeyQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameLike(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameLt(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameLte(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameNe(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameNotIn(name ...string) APIKeyQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) NameNotlike(name string) APIKeyQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) Offset(offset int) APIKeyQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs APIKeyQuerySet) One(ret *APIKey) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByCreatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByCreatedByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByCreatedByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_by_id ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByKeyHash is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByKeyHash() APIKeyQuerySet {
	return qs.w(qs.db.Order("key_hash ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByName() APIKeyQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByTenantID() APIKeyQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderAscByUpdatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByCreatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByCreatedByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByCreatedByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("created_by_id DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByID() APIKeyQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByKeyHash is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByKeyHash() APIKeyQuerySet {
	return qs.w(qs.db.Order("key_hash DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByName() APIKeyQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByTenantID() APIKeyQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) OrderDescByUpdatedAt() APIKeyQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDEq(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDGt(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDGte(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDIn(tenantID ...ID) APIKeyQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDLt(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDLte(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDNe(tenantID ID) APIKeyQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) TenantIDNotIn(tenantID ...ID) APIKeyQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtEq(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtGt(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtGte(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtIsNotNull() APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtIsNull() APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtLt(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtLte(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs APIKeyQuerySet) UpdatedAtNe(updatedAt time.Time) APIKeyQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetCreatedAt(createdAt time.Time) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.CreatedAt)] = createdAt
	return u
}

// SetCreatedByID is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetCreatedByID(createdByID ID) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.CreatedByID)] = createdByID
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetID(ID ID) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.ID)] = ID
	return u
}

// SetKeyHash is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetKeyHash(keyHash string) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.KeyHash)] = keyHash
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetName(name string) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.Name)] = name
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetTenantID(tenantID ID) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) SetUpdatedAt(updatedAt *time.Time) APIKeyUpdater {
	u.fields[string(APIKeyDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u APIKeyUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set APIKeyQuerySet

// ===== BEGIN of APIKey modifiers

// APIKeyDBSchemaField describes database schema field. It requires for method 'Update'
type APIKeyDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f APIKeyDBSchemaField) String() string {
	return string(f)
}

// APIKeyDBSchema stores db field names of APIKey
var APIKeyDBSchema = struct {
	ID          APIKeyDBSchemaField
	CreatedAt   APIKeyDBSchemaField
	UpdatedAt   APIKeyDBSchemaField
	TenantID    APIKeyDBSchemaField
	CreatedByID APIKeyDBSchemaField
	Name        APIKeyDBSchemaField
	KeyHash     APIKeyDBSchemaField
}{

	ID:          APIKeyDBSchemaField("id"),
	CreatedAt:   APIKeyDBSchemaField("created_at"),
	UpdatedAt:   APIKeyDBSchemaField("updated_at"),
	TenantID:    APIKeyDBSchemaField("tenant_id"),
	CreatedByID: APIKeyDBSchemaField("created_by_id"),
	Name:        APIKeyDBSchemaField("name"),
	KeyHash:     APIKeyDBSchemaField("key_hash"),
}

// Update updates APIKey fields by primary key
// nolint: dupl
func (o *APIKey) Update(db *gorm.DB, fields ...APIKeyDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"updated_at":    o.UpdatedAt,
		"tenant_id":     o.TenantID,
		"created_by_id": o.CreatedByID,
		"name":          o.Name,
		"key_hash":      o.KeyHash,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update APIKey %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// APIKeyUpdater is an APIKey updates manager
type APIKeyUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAPIKeyUpdater creates new APIKey updater
// nolint: dupl
func NewAPIKeyUpdater(db *gorm.DB) APIKeyUpdater {
	return APIKeyUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&APIKey{}),
	}
}

// ===== END of APIKey modifiers

// ===== BEGIN of query set AwsCmekQuerySet

// AwsCmekQuerySet is an queryset type for AwsCmek
type AwsCmekQuerySet struct {
	db *gorm.DB
}

// NewAwsCmekQuerySet constructs new AwsCmekQuerySet
func NewAwsCmekQuerySet(db *gorm.DB) AwsCmekQuerySet {
	return AwsCmekQuerySet{
		db: db.Model(&AwsCmek{}),
	}
}

func (qs AwsCmekQuerySet) w(db *gorm.DB) AwsCmekQuerySet {
	return NewAwsCmekQuerySet(db)
}

func (qs AwsCmekQuerySet) Select(fields ...AwsCmekDBSchemaField) AwsCmekQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *AwsCmek) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *AwsCmek) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) All(ret *[]AwsCmek) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) CreatedAtEq(createdAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) CreatedAtGt(createdAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) CreatedAtGte(createdAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) CreatedAtLt(createdAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) CreatedAtLte(createdAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) CreatedAtNe(createdAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) Delete() error {
	return qs.db.Delete(&AwsCmek{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&AwsCmek{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&AwsCmek{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) GetUpdater() AwsCmekUpdater {
	return NewAwsCmekUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDEq(ID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDGt(ID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDGte(ID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDIn(ID ...ID) AwsCmekQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDLt(ID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDLte(ID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDNe(ID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) IDNotIn(ID ...ID) AwsCmekQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// KmsArnEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnEq(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn = ?", kmsArn))
}

// KmsArnGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnGt(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn > ?", kmsArn))
}

// KmsArnGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnGte(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn >= ?", kmsArn))
}

// KmsArnIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnIn(kmsArn ...string) AwsCmekQuerySet {
	if len(kmsArn) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsArn in KmsArnIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_arn IN (?)", kmsArn))
}

// KmsArnLike is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnLike(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn LIKE ?", kmsArn))
}

// KmsArnLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnLt(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn < ?", kmsArn))
}

// KmsArnLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnLte(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn <= ?", kmsArn))
}

// KmsArnNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnNe(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn != ?", kmsArn))
}

// KmsArnNotIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnNotIn(kmsArn ...string) AwsCmekQuerySet {
	if len(kmsArn) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsArn in KmsArnNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_arn NOT IN (?)", kmsArn))
}

// KmsArnNotlike is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) KmsArnNotlike(kmsArn string) AwsCmekQuerySet {
	return qs.w(qs.db.Where("kms_arn NOT LIKE ?", kmsArn))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) Limit(limit int) AwsCmekQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) Offset(offset int) AwsCmekQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs AwsCmekQuerySet) One(ret *AwsCmek) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByCreatedAt() AwsCmekQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByID() AwsCmekQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByKmsArn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByKmsArn() AwsCmekQuerySet {
	return qs.w(qs.db.Order("kms_arn ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByProjectID() AwsCmekQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByRegionID() AwsCmekQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByUpdatedAt() AwsCmekQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderAscByVersioning() AwsCmekQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByCreatedAt() AwsCmekQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByID() AwsCmekQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByKmsArn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByKmsArn() AwsCmekQuerySet {
	return qs.w(qs.db.Order("kms_arn DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByProjectID() AwsCmekQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByRegionID() AwsCmekQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByUpdatedAt() AwsCmekQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) OrderDescByVersioning() AwsCmekQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) PreloadRegion() AwsCmekQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDEq(projectID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDGt(projectID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDGte(projectID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDIn(projectID ...ID) AwsCmekQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDLt(projectID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDLte(projectID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDNe(projectID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) ProjectIDNotIn(projectID ...ID) AwsCmekQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDEq(regionID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDGt(regionID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDGte(regionID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDIn(regionID ...ID) AwsCmekQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDLt(regionID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDLte(regionID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDNe(regionID ID) AwsCmekQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIDNotIn(regionID ...ID) AwsCmekQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIsNotNull() AwsCmekQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) RegionIsNull() AwsCmekQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtEq(updatedAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtGt(updatedAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtGte(updatedAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtIsNotNull() AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtIsNull() AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtLt(updatedAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtLte(updatedAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) UpdatedAtNe(updatedAt time.Time) AwsCmekQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningEq(versioning int) AwsCmekQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningGt(versioning int) AwsCmekQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningGte(versioning int) AwsCmekQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningIn(versioning ...int) AwsCmekQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningLt(versioning int) AwsCmekQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningLte(versioning int) AwsCmekQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningNe(versioning int) AwsCmekQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs AwsCmekQuerySet) VersioningNotIn(versioning ...int) AwsCmekQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetCreatedAt(createdAt time.Time) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetID(ID ID) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.ID)] = ID
	return u
}

// SetKmsArn is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetKmsArn(kmsArn string) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.KmsArn)] = kmsArn
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetProjectID(projectID ID) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.ProjectID)] = projectID
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetRegionID(regionID ID) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.RegionID)] = regionID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetUpdatedAt(updatedAt *time.Time) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) SetVersioning(versioning int) AwsCmekUpdater {
	u.fields[string(AwsCmekDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u AwsCmekUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set AwsCmekQuerySet

// ===== BEGIN of AwsCmek modifiers

// AwsCmekDBSchemaField describes database schema field. It requires for method 'Update'
type AwsCmekDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f AwsCmekDBSchemaField) String() string {
	return string(f)
}

// AwsCmekDBSchema stores db field names of AwsCmek
var AwsCmekDBSchema = struct {
	ID         AwsCmekDBSchemaField
	CreatedAt  AwsCmekDBSchemaField
	UpdatedAt  AwsCmekDBSchemaField
	Versioning AwsCmekDBSchemaField
	ProjectID  AwsCmekDBSchemaField
	RegionID   AwsCmekDBSchemaField
	Region     AwsCmekDBSchemaField
	KmsArn     AwsCmekDBSchemaField
}{

	ID:         AwsCmekDBSchemaField("id"),
	CreatedAt:  AwsCmekDBSchemaField("created_at"),
	UpdatedAt:  AwsCmekDBSchemaField("updated_at"),
	Versioning: AwsCmekDBSchemaField("versioning"),
	ProjectID:  AwsCmekDBSchemaField("project_id"),
	RegionID:   AwsCmekDBSchemaField("region_id"),
	Region:     AwsCmekDBSchemaField("region"),
	KmsArn:     AwsCmekDBSchemaField("kms_arn"),
}

// Update updates AwsCmek fields by primary key
// nolint: dupl
func (o *AwsCmek) Update(db *gorm.DB, fields ...AwsCmekDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"versioning": o.Versioning,
		"project_id": o.ProjectID,
		"region_id":  o.RegionID,
		"region":     o.Region,
		"kms_arn":    o.KmsArn,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update AwsCmek %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// AwsCmekUpdater is an AwsCmek updates manager
type AwsCmekUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAwsCmekUpdater creates new AwsCmek updater
// nolint: dupl
func NewAwsCmekUpdater(db *gorm.DB) AwsCmekUpdater {
	return AwsCmekUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&AwsCmek{}),
	}
}

// ===== END of AwsCmek modifiers

// ===== BEGIN of query set AwsPrivateLinkEndpointQuerySet

// AwsPrivateLinkEndpointQuerySet is an queryset type for AwsPrivateLinkEndpoint
type AwsPrivateLinkEndpointQuerySet struct {
	db *gorm.DB
}

// NewAwsPrivateLinkEndpointQuerySet constructs new AwsPrivateLinkEndpointQuerySet
func NewAwsPrivateLinkEndpointQuerySet(db *gorm.DB) AwsPrivateLinkEndpointQuerySet {
	return AwsPrivateLinkEndpointQuerySet{
		db: db.Model(&AwsPrivateLinkEndpoint{}),
	}
}

func (qs AwsPrivateLinkEndpointQuerySet) w(db *gorm.DB) AwsPrivateLinkEndpointQuerySet {
	return NewAwsPrivateLinkEndpointQuerySet(db)
}

func (qs AwsPrivateLinkEndpointQuerySet) Select(fields ...AwsPrivateLinkEndpointDBSchemaField) AwsPrivateLinkEndpointQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *AwsPrivateLinkEndpoint) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *AwsPrivateLinkEndpoint) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) All(ret *[]AwsPrivateLinkEndpoint) error {
	return qs.db.Find(ret).Error
}

// CloudProviderEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderEq(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider = ?", cloudProvider))
}

// CloudProviderGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderGt(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider > ?", cloudProvider))
}

// CloudProviderGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderGte(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider >= ?", cloudProvider))
}

// CloudProviderIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderIn(cloudProvider ...string) AwsPrivateLinkEndpointQuerySet {
	if len(cloudProvider) == 0 {
		qs.db.AddError(errors.New("must at least pass one cloudProvider in CloudProviderIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cloud_provider IN (?)", cloudProvider))
}

// CloudProviderLike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderLike(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider LIKE ?", cloudProvider))
}

// CloudProviderLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderLt(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider < ?", cloudProvider))
}

// CloudProviderLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderLte(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider <= ?", cloudProvider))
}

// CloudProviderNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderNe(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider != ?", cloudProvider))
}

// CloudProviderNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderNotIn(cloudProvider ...string) AwsPrivateLinkEndpointQuerySet {
	if len(cloudProvider) == 0 {
		qs.db.AddError(errors.New("must at least pass one cloudProvider in CloudProviderNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cloud_provider NOT IN (?)", cloudProvider))
}

// CloudProviderNotlike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CloudProviderNotlike(cloudProvider string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cloud_provider NOT LIKE ?", cloudProvider))
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDEq(clusterID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDGt(clusterID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDGte(clusterID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDIn(clusterID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDLt(clusterID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDLte(clusterID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDNe(clusterID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ClusterIDNotIn(clusterID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// Count is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CreatedAtEq(createdAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CreatedAtGt(createdAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CreatedAtGte(createdAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CreatedAtLt(createdAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CreatedAtLte(createdAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) CreatedAtNe(createdAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) Delete() error {
	return qs.db.Delete(&AwsPrivateLinkEndpoint{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&AwsPrivateLinkEndpoint{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&AwsPrivateLinkEndpoint{})
	return db.RowsAffected, db.Error
}

// EndpointIDEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDEq(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id = ?", endpointID))
}

// EndpointIDGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDGt(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id > ?", endpointID))
}

// EndpointIDGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDGte(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id >= ?", endpointID))
}

// EndpointIDIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDIn(endpointID ...string) AwsPrivateLinkEndpointQuerySet {
	if len(endpointID) == 0 {
		qs.db.AddError(errors.New("must at least pass one endpointID in EndpointIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("endpoint_id IN (?)", endpointID))
}

// EndpointIDLike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDLike(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id LIKE ?", endpointID))
}

// EndpointIDLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDLt(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id < ?", endpointID))
}

// EndpointIDLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDLte(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id <= ?", endpointID))
}

// EndpointIDNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDNe(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id != ?", endpointID))
}

// EndpointIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDNotIn(endpointID ...string) AwsPrivateLinkEndpointQuerySet {
	if len(endpointID) == 0 {
		qs.db.AddError(errors.New("must at least pass one endpointID in EndpointIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("endpoint_id NOT IN (?)", endpointID))
}

// EndpointIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointIDNotlike(endpointID string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_id NOT LIKE ?", endpointID))
}

// EndpointTypeEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeEq(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type = ?", endpointType))
}

// EndpointTypeGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeGt(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type > ?", endpointType))
}

// EndpointTypeGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeGte(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type >= ?", endpointType))
}

// EndpointTypeIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeIn(endpointType ...PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	if len(endpointType) == 0 {
		qs.db.AddError(errors.New("must at least pass one endpointType in EndpointTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("endpoint_type IN (?)", endpointType))
}

// EndpointTypeLike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeLike(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type LIKE ?", endpointType))
}

// EndpointTypeLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeLt(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type < ?", endpointType))
}

// EndpointTypeLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeLte(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type <= ?", endpointType))
}

// EndpointTypeNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeNe(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type != ?", endpointType))
}

// EndpointTypeNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeNotIn(endpointType ...PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	if len(endpointType) == 0 {
		qs.db.AddError(errors.New("must at least pass one endpointType in EndpointTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("endpoint_type NOT IN (?)", endpointType))
}

// EndpointTypeNotlike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) EndpointTypeNotlike(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("endpoint_type NOT LIKE ?", endpointType))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) GetUpdater() AwsPrivateLinkEndpointUpdater {
	return NewAwsPrivateLinkEndpointUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDEq(ID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDGt(ID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDGte(ID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDIn(ID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDLt(ID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDLte(ID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDNe(ID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) IDNotIn(ID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) Limit(limit int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) Offset(offset int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs AwsPrivateLinkEndpointQuerySet) One(ret *AwsPrivateLinkEndpoint) error {
	return qs.db.First(ret).Error
}

// OrderAscByCloudProvider is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByCloudProvider() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("cloud_provider ASC"))
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByClusterID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByCreatedAt() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEndpointID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByEndpointID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("endpoint_id ASC"))
}

// OrderAscByEndpointType is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByEndpointType() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("endpoint_type ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByProjectID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByServiceName is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByServiceName() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("service_name ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByTenantID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByUpdatedAt() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByVersioning() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderAscByWorkPoolID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderAscByWorkPoolID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("work_pool_id ASC"))
}

// OrderDescByCloudProvider is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByCloudProvider() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("cloud_provider DESC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByClusterID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByCreatedAt() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEndpointID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByEndpointID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("endpoint_id DESC"))
}

// OrderDescByEndpointType is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByEndpointType() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("endpoint_type DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByProjectID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByServiceName is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByServiceName() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("service_name DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByTenantID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByUpdatedAt() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByVersioning() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// OrderDescByWorkPoolID is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) OrderDescByWorkPoolID() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Order("work_pool_id DESC"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDEq(projectID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDGt(projectID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDGte(projectID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDIn(projectID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDLt(projectID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDLte(projectID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDNe(projectID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ProjectIDNotIn(projectID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ServiceNameEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameEq(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name = ?", serviceName))
}

// ServiceNameGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameGt(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name > ?", serviceName))
}

// ServiceNameGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameGte(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name >= ?", serviceName))
}

// ServiceNameIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameIn(serviceName ...string) AwsPrivateLinkEndpointQuerySet {
	if len(serviceName) == 0 {
		qs.db.AddError(errors.New("must at least pass one serviceName in ServiceNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("service_name IN (?)", serviceName))
}

// ServiceNameLike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameLike(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name LIKE ?", serviceName))
}

// ServiceNameLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameLt(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name < ?", serviceName))
}

// ServiceNameLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameLte(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name <= ?", serviceName))
}

// ServiceNameNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameNe(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name != ?", serviceName))
}

// ServiceNameNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameNotIn(serviceName ...string) AwsPrivateLinkEndpointQuerySet {
	if len(serviceName) == 0 {
		qs.db.AddError(errors.New("must at least pass one serviceName in ServiceNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("service_name NOT IN (?)", serviceName))
}

// ServiceNameNotlike is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) ServiceNameNotlike(serviceName string) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("service_name NOT LIKE ?", serviceName))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDEq(tenantID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDGt(tenantID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDGte(tenantID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDIn(tenantID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDLt(tenantID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDLte(tenantID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDNe(tenantID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) TenantIDNotIn(tenantID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtEq(updatedAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtGt(updatedAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtGte(updatedAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtIsNotNull() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtIsNull() AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtLt(updatedAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtLte(updatedAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) UpdatedAtNe(updatedAt time.Time) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningEq(versioning int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningGt(versioning int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningGte(versioning int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningIn(versioning ...int) AwsPrivateLinkEndpointQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningLt(versioning int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningLte(versioning int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningNe(versioning int) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) VersioningNotIn(versioning ...int) AwsPrivateLinkEndpointQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// WorkPoolIDEq is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDEq(workPoolID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("work_pool_id = ?", workPoolID))
}

// WorkPoolIDGt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDGt(workPoolID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("work_pool_id > ?", workPoolID))
}

// WorkPoolIDGte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDGte(workPoolID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("work_pool_id >= ?", workPoolID))
}

// WorkPoolIDIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDIn(workPoolID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(workPoolID) == 0 {
		qs.db.AddError(errors.New("must at least pass one workPoolID in WorkPoolIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("work_pool_id IN (?)", workPoolID))
}

// WorkPoolIDLt is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDLt(workPoolID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("work_pool_id < ?", workPoolID))
}

// WorkPoolIDLte is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDLte(workPoolID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("work_pool_id <= ?", workPoolID))
}

// WorkPoolIDNe is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDNe(workPoolID ID) AwsPrivateLinkEndpointQuerySet {
	return qs.w(qs.db.Where("work_pool_id != ?", workPoolID))
}

// WorkPoolIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsPrivateLinkEndpointQuerySet) WorkPoolIDNotIn(workPoolID ...ID) AwsPrivateLinkEndpointQuerySet {
	if len(workPoolID) == 0 {
		qs.db.AddError(errors.New("must at least pass one workPoolID in WorkPoolIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("work_pool_id NOT IN (?)", workPoolID))
}

// SetCloudProvider is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetCloudProvider(cloudProvider string) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.CloudProvider)] = cloudProvider
	return u
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetClusterID(clusterID ID) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetCreatedAt(createdAt time.Time) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEndpointID is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetEndpointID(endpointID string) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.EndpointID)] = endpointID
	return u
}

// SetEndpointType is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetEndpointType(endpointType PrivateLinkEndpointType) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.EndpointType)] = endpointType
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetID(ID ID) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetProjectID(projectID ID) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.ProjectID)] = projectID
	return u
}

// SetServiceName is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetServiceName(serviceName string) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.ServiceName)] = serviceName
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetTenantID(tenantID ID) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetUpdatedAt(updatedAt *time.Time) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetVersioning(versioning int) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.Versioning)] = versioning
	return u
}

// SetWorkPoolID is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) SetWorkPoolID(workPoolID ID) AwsPrivateLinkEndpointUpdater {
	u.fields[string(AwsPrivateLinkEndpointDBSchema.WorkPoolID)] = workPoolID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u AwsPrivateLinkEndpointUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set AwsPrivateLinkEndpointQuerySet

// ===== BEGIN of AwsPrivateLinkEndpoint modifiers

// AwsPrivateLinkEndpointDBSchemaField describes database schema field. It requires for method 'Update'
type AwsPrivateLinkEndpointDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f AwsPrivateLinkEndpointDBSchemaField) String() string {
	return string(f)
}

// AwsPrivateLinkEndpointDBSchema stores db field names of AwsPrivateLinkEndpoint
var AwsPrivateLinkEndpointDBSchema = struct {
	ID            AwsPrivateLinkEndpointDBSchemaField
	CreatedAt     AwsPrivateLinkEndpointDBSchemaField
	UpdatedAt     AwsPrivateLinkEndpointDBSchemaField
	Versioning    AwsPrivateLinkEndpointDBSchemaField
	TenantID      AwsPrivateLinkEndpointDBSchemaField
	ProjectID     AwsPrivateLinkEndpointDBSchemaField
	ClusterID     AwsPrivateLinkEndpointDBSchemaField
	ServiceName   AwsPrivateLinkEndpointDBSchemaField
	EndpointID    AwsPrivateLinkEndpointDBSchemaField
	EndpointType  AwsPrivateLinkEndpointDBSchemaField
	CloudProvider AwsPrivateLinkEndpointDBSchemaField
	WorkPoolID    AwsPrivateLinkEndpointDBSchemaField
}{

	ID:            AwsPrivateLinkEndpointDBSchemaField("id"),
	CreatedAt:     AwsPrivateLinkEndpointDBSchemaField("created_at"),
	UpdatedAt:     AwsPrivateLinkEndpointDBSchemaField("updated_at"),
	Versioning:    AwsPrivateLinkEndpointDBSchemaField("versioning"),
	TenantID:      AwsPrivateLinkEndpointDBSchemaField("tenant_id"),
	ProjectID:     AwsPrivateLinkEndpointDBSchemaField("project_id"),
	ClusterID:     AwsPrivateLinkEndpointDBSchemaField("cluster_id"),
	ServiceName:   AwsPrivateLinkEndpointDBSchemaField("service_name"),
	EndpointID:    AwsPrivateLinkEndpointDBSchemaField("endpoint_id"),
	EndpointType:  AwsPrivateLinkEndpointDBSchemaField("endpoint_type"),
	CloudProvider: AwsPrivateLinkEndpointDBSchemaField("cloud_provider"),
	WorkPoolID:    AwsPrivateLinkEndpointDBSchemaField("work_pool_id"),
}

// Update updates AwsPrivateLinkEndpoint fields by primary key
// nolint: dupl
func (o *AwsPrivateLinkEndpoint) Update(db *gorm.DB, fields ...AwsPrivateLinkEndpointDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"versioning":     o.Versioning,
		"tenant_id":      o.TenantID,
		"project_id":     o.ProjectID,
		"cluster_id":     o.ClusterID,
		"service_name":   o.ServiceName,
		"endpoint_id":    o.EndpointID,
		"endpoint_type":  o.EndpointType,
		"cloud_provider": o.CloudProvider,
		"work_pool_id":   o.WorkPoolID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update AwsPrivateLinkEndpoint %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// AwsPrivateLinkEndpointUpdater is an AwsPrivateLinkEndpoint updates manager
type AwsPrivateLinkEndpointUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAwsPrivateLinkEndpointUpdater creates new AwsPrivateLinkEndpoint updater
// nolint: dupl
func NewAwsPrivateLinkEndpointUpdater(db *gorm.DB) AwsPrivateLinkEndpointUpdater {
	return AwsPrivateLinkEndpointUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&AwsPrivateLinkEndpoint{}),
	}
}

// ===== END of AwsPrivateLinkEndpoint modifiers

// ===== BEGIN of query set AwsVpcPeeringQuerySet

// AwsVpcPeeringQuerySet is an queryset type for AwsVpcPeering
type AwsVpcPeeringQuerySet struct {
	db *gorm.DB
}

// NewAwsVpcPeeringQuerySet constructs new AwsVpcPeeringQuerySet
func NewAwsVpcPeeringQuerySet(db *gorm.DB) AwsVpcPeeringQuerySet {
	return AwsVpcPeeringQuerySet{
		db: db.Model(&AwsVpcPeering{}),
	}
}

func (qs AwsVpcPeeringQuerySet) w(db *gorm.DB) AwsVpcPeeringQuerySet {
	return NewAwsVpcPeeringQuerySet(db)
}

func (qs AwsVpcPeeringQuerySet) Select(fields ...AwsVpcPeeringDBSchemaField) AwsVpcPeeringQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *AwsVpcPeering) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *AwsVpcPeering) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) All(ret *[]AwsVpcPeering) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtEq(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtGt(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtGte(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtLt(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtLte(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) CreatedAtNe(createdAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Delete() error {
	return qs.db.Delete(&AwsVpcPeering{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&AwsVpcPeering{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&AwsVpcPeering{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) GetUpdater() AwsVpcPeeringUpdater {
	return NewAwsVpcPeeringUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDEq(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDGt(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDGte(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDIn(ID ...ID) AwsVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDLt(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDLte(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDNe(ID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) IDNotIn(ID ...ID) AwsVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Limit(limit int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) Offset(offset int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs AwsVpcPeeringQuerySet) One(ret *AwsVpcPeering) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByCreatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByPeeringType is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByPeeringType() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("peering_type ASC"))
}

// OrderAscByPrivateHostZone is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByPrivateHostZone() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("private_host_zone ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByProjectID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByStatus() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantAccountID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantAccountID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_account_id ASC"))
}

// OrderAscByTenantRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_region ASC"))
}

// OrderAscByTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantVpcCIDR() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_c_id_r ASC"))
}

// OrderAscByTenantVpcID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByTenantVpcID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByUpdatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByVersioning() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderAscByVpcPeeringID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderAscByVpcPeeringID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("vpc_peering_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByCreatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByPeeringType is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByPeeringType() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("peering_type DESC"))
}

// OrderDescByPrivateHostZone is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByPrivateHostZone() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("private_host_zone DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByProjectID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByStatus() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantAccountID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantAccountID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_account_id DESC"))
}

// OrderDescByTenantRegion is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantRegion() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_region DESC"))
}

// OrderDescByTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantVpcCIDR() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_c_id_r DESC"))
}

// OrderDescByTenantVpcID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByTenantVpcID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByUpdatedAt() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByVersioning() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// OrderDescByVpcPeeringID is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) OrderDescByVpcPeeringID() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Order("vpc_peering_id DESC"))
}

// PeeringTypeEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeEq(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type = ?", peeringType))
}

// PeeringTypeGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeGt(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type > ?", peeringType))
}

// PeeringTypeGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeGte(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type >= ?", peeringType))
}

// PeeringTypeIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeIn(peeringType ...PeeringType) AwsVpcPeeringQuerySet {
	if len(peeringType) == 0 {
		qs.db.AddError(errors.New("must at least pass one peeringType in PeeringTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("peering_type IN (?)", peeringType))
}

// PeeringTypeLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeLike(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type LIKE ?", peeringType))
}

// PeeringTypeLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeLt(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type < ?", peeringType))
}

// PeeringTypeLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeLte(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type <= ?", peeringType))
}

// PeeringTypeNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeNe(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type != ?", peeringType))
}

// PeeringTypeNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeNotIn(peeringType ...PeeringType) AwsVpcPeeringQuerySet {
	if len(peeringType) == 0 {
		qs.db.AddError(errors.New("must at least pass one peeringType in PeeringTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("peering_type NOT IN (?)", peeringType))
}

// PeeringTypeNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PeeringTypeNotlike(peeringType PeeringType) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type NOT LIKE ?", peeringType))
}

// PrivateHostZoneEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneEq(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone = ?", privateHostZone))
}

// PrivateHostZoneGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneGt(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone > ?", privateHostZone))
}

// PrivateHostZoneGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneGte(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone >= ?", privateHostZone))
}

// PrivateHostZoneIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneIn(privateHostZone ...string) AwsVpcPeeringQuerySet {
	if len(privateHostZone) == 0 {
		qs.db.AddError(errors.New("must at least pass one privateHostZone in PrivateHostZoneIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("private_host_zone IN (?)", privateHostZone))
}

// PrivateHostZoneLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneLike(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone LIKE ?", privateHostZone))
}

// PrivateHostZoneLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneLt(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone < ?", privateHostZone))
}

// PrivateHostZoneLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneLte(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone <= ?", privateHostZone))
}

// PrivateHostZoneNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneNe(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone != ?", privateHostZone))
}

// PrivateHostZoneNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneNotIn(privateHostZone ...string) AwsVpcPeeringQuerySet {
	if len(privateHostZone) == 0 {
		qs.db.AddError(errors.New("must at least pass one privateHostZone in PrivateHostZoneNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("private_host_zone NOT IN (?)", privateHostZone))
}

// PrivateHostZoneNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) PrivateHostZoneNotlike(privateHostZone string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("private_host_zone NOT LIKE ?", privateHostZone))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDEq(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDGt(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDGte(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDIn(projectID ...ID) AwsVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDLt(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDLte(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDNe(projectID ID) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) ProjectIDNotIn(projectID ...ID) AwsVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// RegionEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionEq(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region = ?", region))
}

// RegionGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionGt(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region > ?", region))
}

// RegionGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionGte(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region >= ?", region))
}

// RegionIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionIn(region ...string) AwsVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region IN (?)", region))
}

// RegionLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionLike(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region LIKE ?", region))
}

// RegionLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionLt(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region < ?", region))
}

// RegionLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionLte(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region <= ?", region))
}

// RegionNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionNe(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region != ?", region))
}

// RegionNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionNotIn(region ...string) AwsVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region NOT IN (?)", region))
}

// RegionNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) RegionNotlike(region string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region NOT LIKE ?", region))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusEq(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusGt(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusGte(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusIn(status ...string) AwsVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusLike(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusLt(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusLte(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusNe(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusNotIn(status ...string) AwsVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) StatusNotlike(status string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantAccountIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDEq(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id = ?", tenantAccountID))
}

// TenantAccountIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDGt(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id > ?", tenantAccountID))
}

// TenantAccountIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDGte(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id >= ?", tenantAccountID))
}

// TenantAccountIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDIn(tenantAccountID ...string) AwsVpcPeeringQuerySet {
	if len(tenantAccountID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantAccountID in TenantAccountIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_account_id IN (?)", tenantAccountID))
}

// TenantAccountIDLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDLike(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id LIKE ?", tenantAccountID))
}

// TenantAccountIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDLt(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id < ?", tenantAccountID))
}

// TenantAccountIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDLte(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id <= ?", tenantAccountID))
}

// TenantAccountIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDNe(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id != ?", tenantAccountID))
}

// TenantAccountIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDNotIn(tenantAccountID ...string) AwsVpcPeeringQuerySet {
	if len(tenantAccountID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantAccountID in TenantAccountIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_account_id NOT IN (?)", tenantAccountID))
}

// TenantAccountIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantAccountIDNotlike(tenantAccountID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_account_id NOT LIKE ?", tenantAccountID))
}

// TenantRegionEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionEq(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region = ?", tenantRegion))
}

// TenantRegionGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionGt(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region > ?", tenantRegion))
}

// TenantRegionGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionGte(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region >= ?", tenantRegion))
}

// TenantRegionIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionIn(tenantRegion ...string) AwsVpcPeeringQuerySet {
	if len(tenantRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantRegion in TenantRegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_region IN (?)", tenantRegion))
}

// TenantRegionLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionLike(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region LIKE ?", tenantRegion))
}

// TenantRegionLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionLt(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region < ?", tenantRegion))
}

// TenantRegionLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionLte(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region <= ?", tenantRegion))
}

// TenantRegionNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionNe(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region != ?", tenantRegion))
}

// TenantRegionNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionNotIn(tenantRegion ...string) AwsVpcPeeringQuerySet {
	if len(tenantRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantRegion in TenantRegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_region NOT IN (?)", tenantRegion))
}

// TenantRegionNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantRegionNotlike(tenantRegion string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_region NOT LIKE ?", tenantRegion))
}

// TenantVpcCIDREq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDREq(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r = ?", tenantVpcCIDR))
}

// TenantVpcCIDRGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRGt(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r > ?", tenantVpcCIDR))
}

// TenantVpcCIDRGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRGte(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r >= ?", tenantVpcCIDR))
}

// TenantVpcCIDRIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRIn(tenantVpcCIDR ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcCIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcCIDR in TenantVpcCIDRIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_c_id_r IN (?)", tenantVpcCIDR))
}

// TenantVpcCIDRLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRLike(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r LIKE ?", tenantVpcCIDR))
}

// TenantVpcCIDRLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRLt(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r < ?", tenantVpcCIDR))
}

// TenantVpcCIDRLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRLte(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r <= ?", tenantVpcCIDR))
}

// TenantVpcCIDRNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRNe(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r != ?", tenantVpcCIDR))
}

// TenantVpcCIDRNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRNotIn(tenantVpcCIDR ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcCIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcCIDR in TenantVpcCIDRNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_c_id_r NOT IN (?)", tenantVpcCIDR))
}

// TenantVpcCIDRNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcCIDRNotlike(tenantVpcCIDR string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r NOT LIKE ?", tenantVpcCIDR))
}

// TenantVpcIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDEq(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id = ?", tenantVpcID))
}

// TenantVpcIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDGt(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id > ?", tenantVpcID))
}

// TenantVpcIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDGte(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id >= ?", tenantVpcID))
}

// TenantVpcIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDIn(tenantVpcID ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcID in TenantVpcIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_id IN (?)", tenantVpcID))
}

// TenantVpcIDLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDLike(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id LIKE ?", tenantVpcID))
}

// TenantVpcIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDLt(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id < ?", tenantVpcID))
}

// TenantVpcIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDLte(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id <= ?", tenantVpcID))
}

// TenantVpcIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDNe(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id != ?", tenantVpcID))
}

// TenantVpcIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDNotIn(tenantVpcID ...string) AwsVpcPeeringQuerySet {
	if len(tenantVpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcID in TenantVpcIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_id NOT IN (?)", tenantVpcID))
}

// TenantVpcIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) TenantVpcIDNotlike(tenantVpcID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_id NOT LIKE ?", tenantVpcID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtEq(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtGt(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtGte(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtIsNotNull() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtIsNull() AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtLt(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtLte(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) UpdatedAtNe(updatedAt time.Time) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningEq(versioning int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningGt(versioning int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningGte(versioning int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningIn(versioning ...int) AwsVpcPeeringQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningLt(versioning int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningLte(versioning int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningNe(versioning int) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VersioningNotIn(versioning ...int) AwsVpcPeeringQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// VpcPeeringIDEq is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDEq(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id = ?", vpcPeeringID))
}

// VpcPeeringIDGt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDGt(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id > ?", vpcPeeringID))
}

// VpcPeeringIDGte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDGte(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id >= ?", vpcPeeringID))
}

// VpcPeeringIDIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDIn(vpcPeeringID ...string) AwsVpcPeeringQuerySet {
	if len(vpcPeeringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcPeeringID in VpcPeeringIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_peering_id IN (?)", vpcPeeringID))
}

// VpcPeeringIDLike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDLike(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id LIKE ?", vpcPeeringID))
}

// VpcPeeringIDLt is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDLt(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id < ?", vpcPeeringID))
}

// VpcPeeringIDLte is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDLte(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id <= ?", vpcPeeringID))
}

// VpcPeeringIDNe is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDNe(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id != ?", vpcPeeringID))
}

// VpcPeeringIDNotIn is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDNotIn(vpcPeeringID ...string) AwsVpcPeeringQuerySet {
	if len(vpcPeeringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcPeeringID in VpcPeeringIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_peering_id NOT IN (?)", vpcPeeringID))
}

// VpcPeeringIDNotlike is an autogenerated method
// nolint: dupl
func (qs AwsVpcPeeringQuerySet) VpcPeeringIDNotlike(vpcPeeringID string) AwsVpcPeeringQuerySet {
	return qs.w(qs.db.Where("vpc_peering_id NOT LIKE ?", vpcPeeringID))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetCreatedAt(createdAt time.Time) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetID(ID ID) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.ID)] = ID
	return u
}

// SetPeeringType is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetPeeringType(peeringType PeeringType) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.PeeringType)] = peeringType
	return u
}

// SetPrivateHostZone is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetPrivateHostZone(privateHostZone string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.PrivateHostZone)] = privateHostZone
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetProjectID(projectID ID) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.ProjectID)] = projectID
	return u
}

// SetRegion is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetRegion(region string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.Region)] = region
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetStatus(status string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.Status)] = status
	return u
}

// SetTenantAccountID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantAccountID(tenantAccountID string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantAccountID)] = tenantAccountID
	return u
}

// SetTenantRegion is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantRegion(tenantRegion string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantRegion)] = tenantRegion
	return u
}

// SetTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantVpcCIDR(tenantVpcCIDR string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantVpcCIDR)] = tenantVpcCIDR
	return u
}

// SetTenantVpcID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetTenantVpcID(tenantVpcID string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.TenantVpcID)] = tenantVpcID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetUpdatedAt(updatedAt *time.Time) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetVersioning(versioning int) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.Versioning)] = versioning
	return u
}

// SetVpcPeeringID is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) SetVpcPeeringID(vpcPeeringID string) AwsVpcPeeringUpdater {
	u.fields[string(AwsVpcPeeringDBSchema.VpcPeeringID)] = vpcPeeringID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u AwsVpcPeeringUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set AwsVpcPeeringQuerySet

// ===== BEGIN of AwsVpcPeering modifiers

// AwsVpcPeeringDBSchemaField describes database schema field. It requires for method 'Update'
type AwsVpcPeeringDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f AwsVpcPeeringDBSchemaField) String() string {
	return string(f)
}

// AwsVpcPeeringDBSchema stores db field names of AwsVpcPeering
var AwsVpcPeeringDBSchema = struct {
	ID              AwsVpcPeeringDBSchemaField
	CreatedAt       AwsVpcPeeringDBSchemaField
	UpdatedAt       AwsVpcPeeringDBSchemaField
	Versioning      AwsVpcPeeringDBSchemaField
	Region          AwsVpcPeeringDBSchemaField
	TenantAccountID AwsVpcPeeringDBSchemaField
	TenantRegion    AwsVpcPeeringDBSchemaField
	TenantVpcID     AwsVpcPeeringDBSchemaField
	TenantVpcCIDR   AwsVpcPeeringDBSchemaField
	VpcPeeringID    AwsVpcPeeringDBSchemaField
	PrivateHostZone AwsVpcPeeringDBSchemaField
	Status          AwsVpcPeeringDBSchemaField
	ProjectID       AwsVpcPeeringDBSchemaField
	PeeringType     AwsVpcPeeringDBSchemaField
}{

	ID:              AwsVpcPeeringDBSchemaField("id"),
	CreatedAt:       AwsVpcPeeringDBSchemaField("created_at"),
	UpdatedAt:       AwsVpcPeeringDBSchemaField("updated_at"),
	Versioning:      AwsVpcPeeringDBSchemaField("versioning"),
	Region:          AwsVpcPeeringDBSchemaField("region"),
	TenantAccountID: AwsVpcPeeringDBSchemaField("tenant_account_id"),
	TenantRegion:    AwsVpcPeeringDBSchemaField("tenant_region"),
	TenantVpcID:     AwsVpcPeeringDBSchemaField("tenant_vpc_id"),
	TenantVpcCIDR:   AwsVpcPeeringDBSchemaField("tenant_vpc_c_id_r"),
	VpcPeeringID:    AwsVpcPeeringDBSchemaField("vpc_peering_id"),
	PrivateHostZone: AwsVpcPeeringDBSchemaField("private_host_zone"),
	Status:          AwsVpcPeeringDBSchemaField("status"),
	ProjectID:       AwsVpcPeeringDBSchemaField("project_id"),
	PeeringType:     AwsVpcPeeringDBSchemaField("peering_type"),
}

// Update updates AwsVpcPeering fields by primary key
// nolint: dupl
func (o *AwsVpcPeering) Update(db *gorm.DB, fields ...AwsVpcPeeringDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"versioning":        o.Versioning,
		"region":            o.Region,
		"tenant_account_id": o.TenantAccountID,
		"tenant_region":     o.TenantRegion,
		"tenant_vpc_id":     o.TenantVpcID,
		"tenant_vpc_c_id_r": o.TenantVpcCIDR,
		"vpc_peering_id":    o.VpcPeeringID,
		"private_host_zone": o.PrivateHostZone,
		"status":            o.Status,
		"project_id":        o.ProjectID,
		"peering_type":      o.PeeringType,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update AwsVpcPeering %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// AwsVpcPeeringUpdater is an AwsVpcPeering updates manager
type AwsVpcPeeringUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewAwsVpcPeeringUpdater creates new AwsVpcPeering updater
// nolint: dupl
func NewAwsVpcPeeringUpdater(db *gorm.DB) AwsVpcPeeringUpdater {
	return AwsVpcPeeringUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&AwsVpcPeering{}),
	}
}

// ===== END of AwsVpcPeering modifiers

// ===== BEGIN of query set BillingReportRecordQuerySet

// BillingReportRecordQuerySet is an queryset type for BillingReportRecord
type BillingReportRecordQuerySet struct {
	db *gorm.DB
}

// NewBillingReportRecordQuerySet constructs new BillingReportRecordQuerySet
func NewBillingReportRecordQuerySet(db *gorm.DB) BillingReportRecordQuerySet {
	return BillingReportRecordQuerySet{
		db: db.Model(&BillingReportRecord{}),
	}
}

func (qs BillingReportRecordQuerySet) w(db *gorm.DB) BillingReportRecordQuerySet {
	return NewBillingReportRecordQuerySet(db)
}

func (qs BillingReportRecordQuerySet) Select(fields ...BillingReportRecordDBSchemaField) BillingReportRecordQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *BillingReportRecord) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *BillingReportRecord) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) All(ret *[]BillingReportRecord) error {
	return qs.db.Find(ret).Error
}

// ClusterMeteringIDEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDEq(clusterMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("cluster_metering_id = ?", clusterMeteringID))
}

// ClusterMeteringIDGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDGt(clusterMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("cluster_metering_id > ?", clusterMeteringID))
}

// ClusterMeteringIDGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDGte(clusterMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("cluster_metering_id >= ?", clusterMeteringID))
}

// ClusterMeteringIDIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDIn(clusterMeteringID ...ID) BillingReportRecordQuerySet {
	if len(clusterMeteringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterMeteringID in ClusterMeteringIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_metering_id IN (?)", clusterMeteringID))
}

// ClusterMeteringIDLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDLt(clusterMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("cluster_metering_id < ?", clusterMeteringID))
}

// ClusterMeteringIDLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDLte(clusterMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("cluster_metering_id <= ?", clusterMeteringID))
}

// ClusterMeteringIDNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDNe(clusterMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("cluster_metering_id != ?", clusterMeteringID))
}

// ClusterMeteringIDNotIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ClusterMeteringIDNotIn(clusterMeteringID ...ID) BillingReportRecordQuerySet {
	if len(clusterMeteringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterMeteringID in ClusterMeteringIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_metering_id NOT IN (?)", clusterMeteringID))
}

// Count is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) CreatedAtEq(createdAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) CreatedAtGt(createdAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) CreatedAtGte(createdAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) CreatedAtLt(createdAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) CreatedAtLte(createdAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) CreatedAtNe(createdAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) Delete() error {
	return qs.db.Delete(&BillingReportRecord{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&BillingReportRecord{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&BillingReportRecord{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) GetUpdater() BillingReportRecordUpdater {
	return NewBillingReportRecordUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDEq(ID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDGt(ID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDGte(ID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDIn(ID ...ID) BillingReportRecordQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDLt(ID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDLte(ID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDNe(ID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) IDNotIn(ID ...ID) BillingReportRecordQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) Limit(limit int) BillingReportRecordQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) Offset(offset int) BillingReportRecordQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs BillingReportRecordQuerySet) One(ret *BillingReportRecord) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterMeteringID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByClusterMeteringID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("cluster_metering_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByCreatedAt() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectMeteringID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByProjectMeteringID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("project_metering_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByStatus() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByTenantID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderAscByUpdatedAt() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterMeteringID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByClusterMeteringID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("cluster_metering_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByCreatedAt() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectMeteringID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByProjectMeteringID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("project_metering_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByStatus() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByTenantID() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) OrderDescByUpdatedAt() BillingReportRecordQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadData is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) PreloadData() BillingReportRecordQuerySet {
	return qs.w(qs.db.Preload("Data"))
}

// ProjectMeteringIDEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDEq(projectMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("project_metering_id = ?", projectMeteringID))
}

// ProjectMeteringIDGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDGt(projectMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("project_metering_id > ?", projectMeteringID))
}

// ProjectMeteringIDGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDGte(projectMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("project_metering_id >= ?", projectMeteringID))
}

// ProjectMeteringIDIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDIn(projectMeteringID ...ID) BillingReportRecordQuerySet {
	if len(projectMeteringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectMeteringID in ProjectMeteringIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_metering_id IN (?)", projectMeteringID))
}

// ProjectMeteringIDLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDLt(projectMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("project_metering_id < ?", projectMeteringID))
}

// ProjectMeteringIDLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDLte(projectMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("project_metering_id <= ?", projectMeteringID))
}

// ProjectMeteringIDNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDNe(projectMeteringID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("project_metering_id != ?", projectMeteringID))
}

// ProjectMeteringIDNotIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) ProjectMeteringIDNotIn(projectMeteringID ...ID) BillingReportRecordQuerySet {
	if len(projectMeteringID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectMeteringID in ProjectMeteringIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_metering_id NOT IN (?)", projectMeteringID))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusEq(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusGt(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusGte(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusIn(status ...string) BillingReportRecordQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusLike(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusLt(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusLte(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusNe(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusNotIn(status ...string) BillingReportRecordQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) StatusNotlike(status string) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDEq(tenantID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDGt(tenantID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDGte(tenantID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDIn(tenantID ...ID) BillingReportRecordQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDLt(tenantID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDLte(tenantID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDNe(tenantID ID) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) TenantIDNotIn(tenantID ...ID) BillingReportRecordQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtEq(updatedAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtGt(updatedAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtGte(updatedAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtIsNotNull() BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtIsNull() BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtLt(updatedAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtLte(updatedAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs BillingReportRecordQuerySet) UpdatedAtNe(updatedAt time.Time) BillingReportRecordQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterMeteringID is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetClusterMeteringID(clusterMeteringID ID) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.ClusterMeteringID)] = clusterMeteringID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetCreatedAt(createdAt time.Time) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.CreatedAt)] = createdAt
	return u
}

// SetData is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetData(data MeteringReportData) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.Data)] = data
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetID(ID ID) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.ID)] = ID
	return u
}

// SetProjectMeteringID is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetProjectMeteringID(projectMeteringID ID) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.ProjectMeteringID)] = projectMeteringID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetStatus(status string) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.Status)] = status
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetTenantID(tenantID ID) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) SetUpdatedAt(updatedAt *time.Time) BillingReportRecordUpdater {
	u.fields[string(BillingReportRecordDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u BillingReportRecordUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set BillingReportRecordQuerySet

// ===== BEGIN of BillingReportRecord modifiers

// BillingReportRecordDBSchemaField describes database schema field. It requires for method 'Update'
type BillingReportRecordDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f BillingReportRecordDBSchemaField) String() string {
	return string(f)
}

// BillingReportRecordDBSchema stores db field names of BillingReportRecord
var BillingReportRecordDBSchema = struct {
	ID                BillingReportRecordDBSchemaField
	CreatedAt         BillingReportRecordDBSchemaField
	UpdatedAt         BillingReportRecordDBSchemaField
	Data              BillingReportRecordDBSchemaField
	Status            BillingReportRecordDBSchemaField
	ProjectMeteringID BillingReportRecordDBSchemaField
	ClusterMeteringID BillingReportRecordDBSchemaField
	TenantID          BillingReportRecordDBSchemaField
}{

	ID:                BillingReportRecordDBSchemaField("id"),
	CreatedAt:         BillingReportRecordDBSchemaField("created_at"),
	UpdatedAt:         BillingReportRecordDBSchemaField("updated_at"),
	Data:              BillingReportRecordDBSchemaField("data"),
	Status:            BillingReportRecordDBSchemaField("status"),
	ProjectMeteringID: BillingReportRecordDBSchemaField("project_metering_id"),
	ClusterMeteringID: BillingReportRecordDBSchemaField("cluster_metering_id"),
	TenantID:          BillingReportRecordDBSchemaField("tenant_id"),
}

// Update updates BillingReportRecord fields by primary key
// nolint: dupl
func (o *BillingReportRecord) Update(db *gorm.DB, fields ...BillingReportRecordDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                  o.ID,
		"created_at":          o.CreatedAt,
		"updated_at":          o.UpdatedAt,
		"data":                o.Data,
		"status":              o.Status,
		"project_metering_id": o.ProjectMeteringID,
		"cluster_metering_id": o.ClusterMeteringID,
		"tenant_id":           o.TenantID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update BillingReportRecord %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// BillingReportRecordUpdater is an BillingReportRecord updates manager
type BillingReportRecordUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewBillingReportRecordUpdater creates new BillingReportRecord updater
// nolint: dupl
func NewBillingReportRecordUpdater(db *gorm.DB) BillingReportRecordUpdater {
	return BillingReportRecordUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&BillingReportRecord{}),
	}
}

// ===== END of BillingReportRecord modifiers

// ===== BEGIN of query set CidrQuerySet

// CidrQuerySet is an queryset type for Cidr
type CidrQuerySet struct {
	db *gorm.DB
}

// NewCidrQuerySet constructs new CidrQuerySet
func NewCidrQuerySet(db *gorm.DB) CidrQuerySet {
	return CidrQuerySet{
		db: db.Model(&Cidr{}),
	}
}

func (qs CidrQuerySet) w(db *gorm.DB) CidrQuerySet {
	return NewCidrQuerySet(db)
}

func (qs CidrQuerySet) Select(fields ...CidrDBSchemaField) CidrQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Cidr) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Cidr) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) All(ret *[]Cidr) error {
	return qs.db.Find(ret).Error
}

// CIDREq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDREq(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr = ?", cIDR))
}

// CIDRGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRGt(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr > ?", cIDR))
}

// CIDRGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRGte(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr >= ?", cIDR))
}

// CIDRIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRIn(cIDR ...string) CidrQuerySet {
	if len(cIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one cIDR in CIDRIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr IN (?)", cIDR))
}

// CIDRLike is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRLike(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr LIKE ?", cIDR))
}

// CIDRLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRLt(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr < ?", cIDR))
}

// CIDRLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRLte(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr <= ?", cIDR))
}

// CIDRNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRNe(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr != ?", cIDR))
}

// CIDRNotIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRNotIn(cIDR ...string) CidrQuerySet {
	if len(cIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one cIDR in CIDRNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr NOT IN (?)", cIDR))
}

// CIDRNotlike is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CIDRNotlike(cIDR string) CidrQuerySet {
	return qs.w(qs.db.Where("cidr NOT LIKE ?", cIDR))
}

// Count is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CreatedAtEq(createdAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CreatedAtGt(createdAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CreatedAtGte(createdAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CreatedAtLt(createdAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CreatedAtLte(createdAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) CreatedAtNe(createdAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) Delete() error {
	return qs.db.Delete(&Cidr{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Cidr{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Cidr{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) GetUpdater() CidrUpdater {
	return NewCidrUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDEq(ID ID) CidrQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDGt(ID ID) CidrQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDGte(ID ID) CidrQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDIn(ID ...ID) CidrQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDLt(ID ID) CidrQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDLte(ID ID) CidrQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDNe(ID ID) CidrQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) IDNotIn(ID ...ID) CidrQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) Limit(limit int) CidrQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) Offset(offset int) CidrQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs CidrQuerySet) One(ret *Cidr) error {
	return qs.db.First(ret).Error
}

// OrderAscByCIDR is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByCIDR() CidrQuerySet {
	return qs.w(qs.db.Order("cidr ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByCreatedAt() CidrQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByID() CidrQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByProjectID() CidrQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByProviderID() CidrQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByRegionID() CidrQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderAscByUpdatedAt() CidrQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCIDR is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByCIDR() CidrQuerySet {
	return qs.w(qs.db.Order("cidr DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByCreatedAt() CidrQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByID() CidrQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByProjectID() CidrQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByProviderID() CidrQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByRegionID() CidrQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) OrderDescByUpdatedAt() CidrQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadDeletedAt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) PreloadDeletedAt() CidrQuerySet {
	return qs.w(qs.db.Preload("DeletedAt"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) PreloadRegion() CidrQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDEq(projectID ID) CidrQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDGt(projectID ID) CidrQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDGte(projectID ID) CidrQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDIn(projectID ...ID) CidrQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDLt(projectID ID) CidrQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDLte(projectID ID) CidrQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDNe(projectID ID) CidrQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProjectIDNotIn(projectID ...ID) CidrQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDEq(providerID ID) CidrQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDGt(providerID ID) CidrQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDGte(providerID ID) CidrQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDIn(providerID ...ID) CidrQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDLt(providerID ID) CidrQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDLte(providerID ID) CidrQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDNe(providerID ID) CidrQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) ProviderIDNotIn(providerID ...ID) CidrQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDEq(regionID ID) CidrQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDGt(regionID ID) CidrQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDGte(regionID ID) CidrQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDIn(regionID ...ID) CidrQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDLt(regionID ID) CidrQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDLte(regionID ID) CidrQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDNe(regionID ID) CidrQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIDNotIn(regionID ...ID) CidrQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIsNotNull() CidrQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) RegionIsNull() CidrQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtEq(updatedAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtGt(updatedAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtGte(updatedAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtIsNotNull() CidrQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtIsNull() CidrQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtLt(updatedAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtLte(updatedAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs CidrQuerySet) UpdatedAtNe(updatedAt time.Time) CidrQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCIDR is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetCIDR(cIDR string) CidrUpdater {
	u.fields[string(CidrDBSchema.CIDR)] = cIDR
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetCreatedAt(createdAt time.Time) CidrUpdater {
	u.fields[string(CidrDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDeletedAt is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetDeletedAt(deletedAt gorm.DeletedAt) CidrUpdater {
	u.fields[string(CidrDBSchema.DeletedAt)] = deletedAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetID(ID ID) CidrUpdater {
	u.fields[string(CidrDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetProjectID(projectID ID) CidrUpdater {
	u.fields[string(CidrDBSchema.ProjectID)] = projectID
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetProviderID(providerID ID) CidrUpdater {
	u.fields[string(CidrDBSchema.ProviderID)] = providerID
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetRegionID(regionID ID) CidrUpdater {
	u.fields[string(CidrDBSchema.RegionID)] = regionID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u CidrUpdater) SetUpdatedAt(updatedAt *time.Time) CidrUpdater {
	u.fields[string(CidrDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u CidrUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u CidrUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set CidrQuerySet

// ===== BEGIN of Cidr modifiers

// CidrDBSchemaField describes database schema field. It requires for method 'Update'
type CidrDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f CidrDBSchemaField) String() string {
	return string(f)
}

// CidrDBSchema stores db field names of Cidr
var CidrDBSchema = struct {
	ID         CidrDBSchemaField
	CreatedAt  CidrDBSchemaField
	UpdatedAt  CidrDBSchemaField
	DeletedAt  CidrDBSchemaField
	ProjectID  CidrDBSchemaField
	RegionID   CidrDBSchemaField
	Region     CidrDBSchemaField
	CIDR       CidrDBSchemaField
	ProviderID CidrDBSchemaField
}{

	ID:         CidrDBSchemaField("id"),
	CreatedAt:  CidrDBSchemaField("created_at"),
	UpdatedAt:  CidrDBSchemaField("updated_at"),
	DeletedAt:  CidrDBSchemaField("deleted_at"),
	ProjectID:  CidrDBSchemaField("project_id"),
	RegionID:   CidrDBSchemaField("region_id"),
	Region:     CidrDBSchemaField("region"),
	CIDR:       CidrDBSchemaField("cidr"),
	ProviderID: CidrDBSchemaField("provider_id"),
}

// Update updates Cidr fields by primary key
// nolint: dupl
func (o *Cidr) Update(db *gorm.DB, fields ...CidrDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"updated_at":  o.UpdatedAt,
		"deleted_at":  o.DeletedAt,
		"project_id":  o.ProjectID,
		"region_id":   o.RegionID,
		"region":      o.Region,
		"cidr":        o.CIDR,
		"provider_id": o.ProviderID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Cidr %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// CidrUpdater is an Cidr updates manager
type CidrUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewCidrUpdater creates new Cidr updater
// nolint: dupl
func NewCidrUpdater(db *gorm.DB) CidrUpdater {
	return CidrUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Cidr{}),
	}
}

// ===== END of Cidr modifiers

// ===== BEGIN of query set ClusterAttributesQuerySet

// ClusterAttributesQuerySet is an queryset type for ClusterAttributes
type ClusterAttributesQuerySet struct {
	db *gorm.DB
}

// NewClusterAttributesQuerySet constructs new ClusterAttributesQuerySet
func NewClusterAttributesQuerySet(db *gorm.DB) ClusterAttributesQuerySet {
	return ClusterAttributesQuerySet{
		db: db.Model(&ClusterAttributes{}),
	}
}

func (qs ClusterAttributesQuerySet) w(db *gorm.DB) ClusterAttributesQuerySet {
	return NewClusterAttributesQuerySet(db)
}

func (qs ClusterAttributesQuerySet) Select(fields ...ClusterAttributesDBSchemaField) ClusterAttributesQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterAttributes) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterAttributes) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) All(ret *[]ClusterAttributes) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) Delete() error {
	return qs.db.Delete(&ClusterAttributes{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterAttributes{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterAttributes{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) GetUpdater() ClusterAttributesUpdater {
	return NewClusterAttributesUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) Limit(limit int) ClusterAttributesQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) Offset(offset int) ClusterAttributesQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterAttributesQuerySet) One(ret *ClusterAttributes) error {
	return qs.db.First(ret).Error
}

// OrderAscByTokenBasedAuthEnabled is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) OrderAscByTokenBasedAuthEnabled() ClusterAttributesQuerySet {
	return qs.w(qs.db.Order("token_based_auth_enabled ASC"))
}

// OrderAscByWithBuiltinCDCAdminRole is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) OrderAscByWithBuiltinCDCAdminRole() ClusterAttributesQuerySet {
	return qs.w(qs.db.Order("with_builtin_cdc_admin_role ASC"))
}

// OrderDescByTokenBasedAuthEnabled is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) OrderDescByTokenBasedAuthEnabled() ClusterAttributesQuerySet {
	return qs.w(qs.db.Order("token_based_auth_enabled DESC"))
}

// OrderDescByWithBuiltinCDCAdminRole is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) OrderDescByWithBuiltinCDCAdminRole() ClusterAttributesQuerySet {
	return qs.w(qs.db.Order("with_builtin_cdc_admin_role DESC"))
}

// TokenBasedAuthEnabledEq is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) TokenBasedAuthEnabledEq(tokenBasedAuthEnabled bool) ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("token_based_auth_enabled = ?", tokenBasedAuthEnabled))
}

// TokenBasedAuthEnabledIn is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) TokenBasedAuthEnabledIn(tokenBasedAuthEnabled ...bool) ClusterAttributesQuerySet {
	if len(tokenBasedAuthEnabled) == 0 {
		qs.db.AddError(errors.New("must at least pass one tokenBasedAuthEnabled in TokenBasedAuthEnabledIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("token_based_auth_enabled IN (?)", tokenBasedAuthEnabled))
}

// TokenBasedAuthEnabledIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) TokenBasedAuthEnabledIsNotNull() ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("token_based_auth_enabled IS NOT NULL"))
}

// TokenBasedAuthEnabledIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) TokenBasedAuthEnabledIsNull() ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("token_based_auth_enabled IS NULL"))
}

// TokenBasedAuthEnabledNe is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) TokenBasedAuthEnabledNe(tokenBasedAuthEnabled bool) ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("token_based_auth_enabled != ?", tokenBasedAuthEnabled))
}

// TokenBasedAuthEnabledNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) TokenBasedAuthEnabledNotIn(tokenBasedAuthEnabled ...bool) ClusterAttributesQuerySet {
	if len(tokenBasedAuthEnabled) == 0 {
		qs.db.AddError(errors.New("must at least pass one tokenBasedAuthEnabled in TokenBasedAuthEnabledNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("token_based_auth_enabled NOT IN (?)", tokenBasedAuthEnabled))
}

// WithBuiltinCDCAdminRoleEq is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) WithBuiltinCDCAdminRoleEq(withBuiltinCDCAdminRole bool) ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("with_builtin_cdc_admin_role = ?", withBuiltinCDCAdminRole))
}

// WithBuiltinCDCAdminRoleIn is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) WithBuiltinCDCAdminRoleIn(withBuiltinCDCAdminRole ...bool) ClusterAttributesQuerySet {
	if len(withBuiltinCDCAdminRole) == 0 {
		qs.db.AddError(errors.New("must at least pass one withBuiltinCDCAdminRole in WithBuiltinCDCAdminRoleIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("with_builtin_cdc_admin_role IN (?)", withBuiltinCDCAdminRole))
}

// WithBuiltinCDCAdminRoleIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) WithBuiltinCDCAdminRoleIsNotNull() ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("with_builtin_cdc_admin_role IS NOT NULL"))
}

// WithBuiltinCDCAdminRoleIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) WithBuiltinCDCAdminRoleIsNull() ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("with_builtin_cdc_admin_role IS NULL"))
}

// WithBuiltinCDCAdminRoleNe is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) WithBuiltinCDCAdminRoleNe(withBuiltinCDCAdminRole bool) ClusterAttributesQuerySet {
	return qs.w(qs.db.Where("with_builtin_cdc_admin_role != ?", withBuiltinCDCAdminRole))
}

// WithBuiltinCDCAdminRoleNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterAttributesQuerySet) WithBuiltinCDCAdminRoleNotIn(withBuiltinCDCAdminRole ...bool) ClusterAttributesQuerySet {
	if len(withBuiltinCDCAdminRole) == 0 {
		qs.db.AddError(errors.New("must at least pass one withBuiltinCDCAdminRole in WithBuiltinCDCAdminRoleNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("with_builtin_cdc_admin_role NOT IN (?)", withBuiltinCDCAdminRole))
}

// SetTokenBasedAuthEnabled is an autogenerated method
// nolint: dupl
func (u ClusterAttributesUpdater) SetTokenBasedAuthEnabled(tokenBasedAuthEnabled *bool) ClusterAttributesUpdater {
	u.fields[string(ClusterAttributesDBSchema.TokenBasedAuthEnabled)] = tokenBasedAuthEnabled
	return u
}

// SetWithBuiltinCDCAdminRole is an autogenerated method
// nolint: dupl
func (u ClusterAttributesUpdater) SetWithBuiltinCDCAdminRole(withBuiltinCDCAdminRole *bool) ClusterAttributesUpdater {
	u.fields[string(ClusterAttributesDBSchema.WithBuiltinCDCAdminRole)] = withBuiltinCDCAdminRole
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterAttributesUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterAttributesUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterAttributesQuerySet

// ===== BEGIN of ClusterAttributes modifiers

// ClusterAttributesDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterAttributesDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterAttributesDBSchemaField) String() string {
	return string(f)
}

// ClusterAttributesDBSchema stores db field names of ClusterAttributes
var ClusterAttributesDBSchema = struct {
	TokenBasedAuthEnabled   ClusterAttributesDBSchemaField
	WithBuiltinCDCAdminRole ClusterAttributesDBSchemaField
}{

	TokenBasedAuthEnabled:   ClusterAttributesDBSchemaField("token_based_auth_enabled"),
	WithBuiltinCDCAdminRole: ClusterAttributesDBSchemaField("with_builtin_cdc_admin_role"),
}

// Update updates ClusterAttributes fields by primary key
// nolint: dupl
func (o *ClusterAttributes) Update(db *gorm.DB, fields ...ClusterAttributesDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"token_based_auth_enabled":    o.TokenBasedAuthEnabled,
		"with_builtin_cdc_admin_role": o.WithBuiltinCDCAdminRole,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterAttributes %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterAttributesUpdater is an ClusterAttributes updates manager
type ClusterAttributesUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterAttributesUpdater creates new ClusterAttributes updater
// nolint: dupl
func NewClusterAttributesUpdater(db *gorm.DB) ClusterAttributesUpdater {
	return ClusterAttributesUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterAttributes{}),
	}
}

// ===== END of ClusterAttributes modifiers

// ===== BEGIN of query set ClusterCidrQuerySet

// ClusterCidrQuerySet is an queryset type for ClusterCidr
type ClusterCidrQuerySet struct {
	db *gorm.DB
}

// NewClusterCidrQuerySet constructs new ClusterCidrQuerySet
func NewClusterCidrQuerySet(db *gorm.DB) ClusterCidrQuerySet {
	return ClusterCidrQuerySet{
		db: db.Model(&ClusterCidr{}),
	}
}

func (qs ClusterCidrQuerySet) w(db *gorm.DB) ClusterCidrQuerySet {
	return NewClusterCidrQuerySet(db)
}

func (qs ClusterCidrQuerySet) Select(fields ...ClusterCidrDBSchemaField) ClusterCidrQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterCidr) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterCidr) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) All(ret *[]ClusterCidr) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDEq(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDGt(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDGte(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDIn(clusterID ...ID) ClusterCidrQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDLt(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDLte(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDNe(clusterID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterCidrQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtEq(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtGt(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtGte(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtLt(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtLte(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) CreatedAtNe(createdAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Delete() error {
	return qs.db.Delete(&ClusterCidr{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterCidr{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterCidr{})
	return db.RowsAffected, db.Error
}

// DisablePublicLBEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DisablePublicLBEq(disablePublicLB bool) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("disable_public_lb = ?", disablePublicLB))
}

// DisablePublicLBIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DisablePublicLBIn(disablePublicLB ...bool) ClusterCidrQuerySet {
	if len(disablePublicLB) == 0 {
		qs.db.AddError(errors.New("must at least pass one disablePublicLB in DisablePublicLBIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("disable_public_lb IN (?)", disablePublicLB))
}

// DisablePublicLBIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DisablePublicLBIsNotNull() ClusterCidrQuerySet {
	return qs.w(qs.db.Where("disable_public_lb IS NOT NULL"))
}

// DisablePublicLBIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DisablePublicLBIsNull() ClusterCidrQuerySet {
	return qs.w(qs.db.Where("disable_public_lb IS NULL"))
}

// DisablePublicLBNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DisablePublicLBNe(disablePublicLB bool) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("disable_public_lb != ?", disablePublicLB))
}

// DisablePublicLBNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) DisablePublicLBNotIn(disablePublicLB ...bool) ClusterCidrQuerySet {
	if len(disablePublicLB) == 0 {
		qs.db.AddError(errors.New("must at least pass one disablePublicLB in DisablePublicLBNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("disable_public_lb NOT IN (?)", disablePublicLB))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) GetUpdater() ClusterCidrUpdater {
	return NewClusterCidrUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDEq(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDGt(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDGte(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDIn(ID ...ID) ClusterCidrQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDLt(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDLte(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDNe(ID ID) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) IDNotIn(ID ...ID) ClusterCidrQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Limit(limit int) ClusterCidrQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) Offset(offset int) ClusterCidrQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterCidrQuerySet) One(ret *ClusterCidr) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByClusterID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByCreatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDisablePublicLB is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByDisablePublicLB() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("disable_public_lb ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByStatus() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderAscByUpdatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByClusterID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByCreatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDisablePublicLB is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByDisablePublicLB() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("disable_public_lb DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByID() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByStatus() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) OrderDescByUpdatedAt() ClusterCidrQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCidr is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) PreloadCidr() ClusterCidrQuerySet {
	return qs.w(qs.db.Preload("Cidr"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusEq(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusGt(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusGte(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusIn(status ...TrafficFilterStatus) ClusterCidrQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusLike(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusLt(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusLte(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusNe(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusNotIn(status ...TrafficFilterStatus) ClusterCidrQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) StatusNotlike(status TrafficFilterStatus) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtIsNotNull() ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtIsNull() ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterCidrQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterCidrQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCidr is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetCidr(cidr TrafficFilters) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.Cidr)] = cidr
	return u
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetClusterID(clusterID ID) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetCreatedAt(createdAt time.Time) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDisablePublicLB is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetDisablePublicLB(disablePublicLB *bool) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.DisablePublicLB)] = disablePublicLB
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetID(ID ID) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.ID)] = ID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetStatus(status TrafficFilterStatus) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterCidrUpdater {
	u.fields[string(ClusterCidrDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterCidrUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterCidrQuerySet

// ===== BEGIN of ClusterCidr modifiers

// ClusterCidrDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterCidrDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterCidrDBSchemaField) String() string {
	return string(f)
}

// ClusterCidrDBSchema stores db field names of ClusterCidr
var ClusterCidrDBSchema = struct {
	ID              ClusterCidrDBSchemaField
	CreatedAt       ClusterCidrDBSchemaField
	UpdatedAt       ClusterCidrDBSchemaField
	ClusterID       ClusterCidrDBSchemaField
	DisablePublicLB ClusterCidrDBSchemaField
	Cidr            ClusterCidrDBSchemaField
	Status          ClusterCidrDBSchemaField
}{

	ID:              ClusterCidrDBSchemaField("id"),
	CreatedAt:       ClusterCidrDBSchemaField("created_at"),
	UpdatedAt:       ClusterCidrDBSchemaField("updated_at"),
	ClusterID:       ClusterCidrDBSchemaField("cluster_id"),
	DisablePublicLB: ClusterCidrDBSchemaField("disable_public_lb"),
	Cidr:            ClusterCidrDBSchemaField("cidr"),
	Status:          ClusterCidrDBSchemaField("status"),
}

// Update updates ClusterCidr fields by primary key
// nolint: dupl
func (o *ClusterCidr) Update(db *gorm.DB, fields ...ClusterCidrDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"cluster_id":        o.ClusterID,
		"disable_public_lb": o.DisablePublicLB,
		"cidr":              o.Cidr,
		"status":            o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterCidr %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterCidrUpdater is an ClusterCidr updates manager
type ClusterCidrUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterCidrUpdater creates new ClusterCidr updater
// nolint: dupl
func NewClusterCidrUpdater(db *gorm.DB) ClusterCidrUpdater {
	return ClusterCidrUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterCidr{}),
	}
}

// ===== END of ClusterCidr modifiers

// ===== BEGIN of query set ClusterComponentQuerySet

// ClusterComponentQuerySet is an queryset type for ClusterComponent
type ClusterComponentQuerySet struct {
	db *gorm.DB
}

// NewClusterComponentQuerySet constructs new ClusterComponentQuerySet
func NewClusterComponentQuerySet(db *gorm.DB) ClusterComponentQuerySet {
	return ClusterComponentQuerySet{
		db: db.Model(&ClusterComponent{}),
	}
}

func (qs ClusterComponentQuerySet) w(db *gorm.DB) ClusterComponentQuerySet {
	return NewClusterComponentQuerySet(db)
}

func (qs ClusterComponentQuerySet) Select(fields ...ClusterComponentDBSchemaField) ClusterComponentQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterComponent) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterComponent) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) All(ret *[]ClusterComponent) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDEq(clusterID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDGt(clusterID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDGte(clusterID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDIn(clusterID ...ID) ClusterComponentQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDLt(clusterID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDLte(clusterID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDNe(clusterID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterComponentQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIsNotNull() ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ClusterIsNull() ClusterComponentQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// ComponentTypeEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeEq(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type = ?", componentType))
}

// ComponentTypeGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeGt(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type > ?", componentType))
}

// ComponentTypeGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeGte(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type >= ?", componentType))
}

// ComponentTypeIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeIn(componentType ...ComponentName) ClusterComponentQuerySet {
	if len(componentType) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentType in ComponentTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_type IN (?)", componentType))
}

// ComponentTypeLike is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeLike(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type LIKE ?", componentType))
}

// ComponentTypeLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeLt(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type < ?", componentType))
}

// ComponentTypeLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeLte(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type <= ?", componentType))
}

// ComponentTypeNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeNe(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type != ?", componentType))
}

// ComponentTypeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeNotIn(componentType ...ComponentName) ClusterComponentQuerySet {
	if len(componentType) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentType in ComponentTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_type NOT IN (?)", componentType))
}

// ComponentTypeNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ComponentTypeNotlike(componentType ComponentName) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("component_type NOT LIKE ?", componentType))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) CreatedAtEq(createdAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) CreatedAtGt(createdAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) CreatedAtGte(createdAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) CreatedAtLt(createdAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) CreatedAtLte(createdAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) CreatedAtNe(createdAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) Delete() error {
	return qs.db.Delete(&ClusterComponent{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterComponent{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterComponent{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) GetUpdater() ClusterComponentUpdater {
	return NewClusterComponentUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDEq(ID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDGt(ID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDGte(ID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDIn(ID ...ID) ClusterComponentQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDLt(ID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDLte(ID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDNe(ID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) IDNotIn(ID ...ID) ClusterComponentQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) Limit(limit int) ClusterComponentQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) Offset(offset int) ClusterComponentQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterComponentQuerySet) One(ret *ClusterComponent) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByClusterID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByComponentType is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByComponentType() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("component_type ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByCreatedAt() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByProjectID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByRegionID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByReplicas is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByReplicas() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("replicas ASC"))
}

// OrderAscByStorageIOPS is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByStorageIOPS() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("storage_iops ASC"))
}

// OrderAscByStorageSizeGi is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByStorageSizeGi() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("storage_size_gi ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByTenantID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByTierKey is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByTierKey() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("tier_key ASC"))
}

// OrderAscByTierUnitKey is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByTierUnitKey() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("tier_unit_key ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderAscByUpdatedAt() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByClusterID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByComponentType is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByComponentType() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("component_type DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByCreatedAt() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByProjectID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByRegionID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByReplicas is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByReplicas() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("replicas DESC"))
}

// OrderDescByStorageIOPS is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByStorageIOPS() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("storage_iops DESC"))
}

// OrderDescByStorageSizeGi is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByStorageSizeGi() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("storage_size_gi DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByTenantID() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByTierKey is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByTierKey() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("tier_key DESC"))
}

// OrderDescByTierUnitKey is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByTierUnitKey() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("tier_unit_key DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) OrderDescByUpdatedAt() ClusterComponentQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) PreloadCluster() ClusterComponentQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) PreloadRegion() ClusterComponentQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDEq(projectID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDGt(projectID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDGte(projectID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDIn(projectID ...ID) ClusterComponentQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDLt(projectID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDLte(projectID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDNe(projectID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ProjectIDNotIn(projectID ...ID) ClusterComponentQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDEq(regionID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDGt(regionID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDGte(regionID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDIn(regionID ...ID) ClusterComponentQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDLt(regionID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDLte(regionID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDNe(regionID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIDNotIn(regionID ...ID) ClusterComponentQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIsNotNull() ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) RegionIsNull() ClusterComponentQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// ReplicasEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasEq(replicas uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("replicas = ?", replicas))
}

// ReplicasGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasGt(replicas uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("replicas > ?", replicas))
}

// ReplicasGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasGte(replicas uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("replicas >= ?", replicas))
}

// ReplicasIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasIn(replicas ...uint32) ClusterComponentQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas IN (?)", replicas))
}

// ReplicasLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasLt(replicas uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("replicas < ?", replicas))
}

// ReplicasLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasLte(replicas uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("replicas <= ?", replicas))
}

// ReplicasNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasNe(replicas uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("replicas != ?", replicas))
}

// ReplicasNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) ReplicasNotIn(replicas ...uint32) ClusterComponentQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas NOT IN (?)", replicas))
}

// StorageIOPSEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSEq(storageIOPS uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_iops = ?", storageIOPS))
}

// StorageIOPSGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSGt(storageIOPS uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_iops > ?", storageIOPS))
}

// StorageIOPSGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSGte(storageIOPS uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_iops >= ?", storageIOPS))
}

// StorageIOPSIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSIn(storageIOPS ...uint32) ClusterComponentQuerySet {
	if len(storageIOPS) == 0 {
		qs.db.AddError(errors.New("must at least pass one storageIOPS in StorageIOPSIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("storage_iops IN (?)", storageIOPS))
}

// StorageIOPSLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSLt(storageIOPS uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_iops < ?", storageIOPS))
}

// StorageIOPSLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSLte(storageIOPS uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_iops <= ?", storageIOPS))
}

// StorageIOPSNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSNe(storageIOPS uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_iops != ?", storageIOPS))
}

// StorageIOPSNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageIOPSNotIn(storageIOPS ...uint32) ClusterComponentQuerySet {
	if len(storageIOPS) == 0 {
		qs.db.AddError(errors.New("must at least pass one storageIOPS in StorageIOPSNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("storage_iops NOT IN (?)", storageIOPS))
}

// StorageSizeGiEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiEq(storageSizeGi uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_size_gi = ?", storageSizeGi))
}

// StorageSizeGiGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiGt(storageSizeGi uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_size_gi > ?", storageSizeGi))
}

// StorageSizeGiGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiGte(storageSizeGi uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_size_gi >= ?", storageSizeGi))
}

// StorageSizeGiIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiIn(storageSizeGi ...uint32) ClusterComponentQuerySet {
	if len(storageSizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one storageSizeGi in StorageSizeGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("storage_size_gi IN (?)", storageSizeGi))
}

// StorageSizeGiLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiLt(storageSizeGi uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_size_gi < ?", storageSizeGi))
}

// StorageSizeGiLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiLte(storageSizeGi uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_size_gi <= ?", storageSizeGi))
}

// StorageSizeGiNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiNe(storageSizeGi uint32) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("storage_size_gi != ?", storageSizeGi))
}

// StorageSizeGiNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) StorageSizeGiNotIn(storageSizeGi ...uint32) ClusterComponentQuerySet {
	if len(storageSizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one storageSizeGi in StorageSizeGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("storage_size_gi NOT IN (?)", storageSizeGi))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDEq(tenantID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDGt(tenantID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDGte(tenantID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDIn(tenantID ...ID) ClusterComponentQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDLt(tenantID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDLte(tenantID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDNe(tenantID ID) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TenantIDNotIn(tenantID ...ID) ClusterComponentQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TierKeyEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyEq(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key = ?", tierKey))
}

// TierKeyGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyGt(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key > ?", tierKey))
}

// TierKeyGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyGte(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key >= ?", tierKey))
}

// TierKeyIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyIn(tierKey ...string) ClusterComponentQuerySet {
	if len(tierKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierKey in TierKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_key IN (?)", tierKey))
}

// TierKeyLike is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyLike(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key LIKE ?", tierKey))
}

// TierKeyLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyLt(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key < ?", tierKey))
}

// TierKeyLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyLte(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key <= ?", tierKey))
}

// TierKeyNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyNe(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key != ?", tierKey))
}

// TierKeyNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyNotIn(tierKey ...string) ClusterComponentQuerySet {
	if len(tierKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierKey in TierKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_key NOT IN (?)", tierKey))
}

// TierKeyNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierKeyNotlike(tierKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_key NOT LIKE ?", tierKey))
}

// TierUnitKeyEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyEq(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key = ?", tierUnitKey))
}

// TierUnitKeyGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyGt(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key > ?", tierUnitKey))
}

// TierUnitKeyGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyGte(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key >= ?", tierUnitKey))
}

// TierUnitKeyIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyIn(tierUnitKey ...string) ClusterComponentQuerySet {
	if len(tierUnitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierUnitKey in TierUnitKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_unit_key IN (?)", tierUnitKey))
}

// TierUnitKeyLike is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyLike(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key LIKE ?", tierUnitKey))
}

// TierUnitKeyLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyLt(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key < ?", tierUnitKey))
}

// TierUnitKeyLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyLte(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key <= ?", tierUnitKey))
}

// TierUnitKeyNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyNe(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key != ?", tierUnitKey))
}

// TierUnitKeyNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyNotIn(tierUnitKey ...string) ClusterComponentQuerySet {
	if len(tierUnitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierUnitKey in TierUnitKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_unit_key NOT IN (?)", tierUnitKey))
}

// TierUnitKeyNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) TierUnitKeyNotlike(tierUnitKey string) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("tier_unit_key NOT LIKE ?", tierUnitKey))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtIsNotNull() ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtIsNull() ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterComponentQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterComponentQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetClusterID(clusterID ID) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.ClusterID)] = clusterID
	return u
}

// SetComponentType is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetComponentType(componentType ComponentName) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.ComponentType)] = componentType
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetCreatedAt(createdAt time.Time) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetID(ID ID) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetProjectID(projectID ID) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.ProjectID)] = projectID
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetRegionID(regionID ID) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.RegionID)] = regionID
	return u
}

// SetReplicas is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetReplicas(replicas uint32) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.Replicas)] = replicas
	return u
}

// SetStorageIOPS is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetStorageIOPS(storageIOPS uint32) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.StorageIOPS)] = storageIOPS
	return u
}

// SetStorageSizeGi is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetStorageSizeGi(storageSizeGi uint32) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.StorageSizeGi)] = storageSizeGi
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetTenantID(tenantID ID) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.TenantID)] = tenantID
	return u
}

// SetTierKey is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetTierKey(tierKey string) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.TierKey)] = tierKey
	return u
}

// SetTierUnitKey is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetTierUnitKey(tierUnitKey string) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.TierUnitKey)] = tierUnitKey
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterComponentUpdater {
	u.fields[string(ClusterComponentDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterComponentUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterComponentQuerySet

// ===== BEGIN of ClusterComponent modifiers

// ClusterComponentDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterComponentDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterComponentDBSchemaField) String() string {
	return string(f)
}

// ClusterComponentDBSchema stores db field names of ClusterComponent
var ClusterComponentDBSchema = struct {
	ID            ClusterComponentDBSchemaField
	CreatedAt     ClusterComponentDBSchemaField
	UpdatedAt     ClusterComponentDBSchemaField
	TenantID      ClusterComponentDBSchemaField
	ProjectID     ClusterComponentDBSchemaField
	ClusterID     ClusterComponentDBSchemaField
	Cluster       ClusterComponentDBSchemaField
	ComponentType ClusterComponentDBSchemaField
	RegionID      ClusterComponentDBSchemaField
	Region        ClusterComponentDBSchemaField
	StorageSizeGi ClusterComponentDBSchemaField
	StorageIOPS   ClusterComponentDBSchemaField
	Replicas      ClusterComponentDBSchemaField
	TierKey       ClusterComponentDBSchemaField
	TierUnitKey   ClusterComponentDBSchemaField
}{

	ID:            ClusterComponentDBSchemaField("id"),
	CreatedAt:     ClusterComponentDBSchemaField("created_at"),
	UpdatedAt:     ClusterComponentDBSchemaField("updated_at"),
	TenantID:      ClusterComponentDBSchemaField("tenant_id"),
	ProjectID:     ClusterComponentDBSchemaField("project_id"),
	ClusterID:     ClusterComponentDBSchemaField("cluster_id"),
	Cluster:       ClusterComponentDBSchemaField("cluster"),
	ComponentType: ClusterComponentDBSchemaField("component_type"),
	RegionID:      ClusterComponentDBSchemaField("region_id"),
	Region:        ClusterComponentDBSchemaField("region"),
	StorageSizeGi: ClusterComponentDBSchemaField("storage_size_gi"),
	StorageIOPS:   ClusterComponentDBSchemaField("storage_iops"),
	Replicas:      ClusterComponentDBSchemaField("replicas"),
	TierKey:       ClusterComponentDBSchemaField("tier_key"),
	TierUnitKey:   ClusterComponentDBSchemaField("tier_unit_key"),
}

// Update updates ClusterComponent fields by primary key
// nolint: dupl
func (o *ClusterComponent) Update(db *gorm.DB, fields ...ClusterComponentDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":              o.ID,
		"created_at":      o.CreatedAt,
		"updated_at":      o.UpdatedAt,
		"tenant_id":       o.TenantID,
		"project_id":      o.ProjectID,
		"cluster_id":      o.ClusterID,
		"cluster":         o.Cluster,
		"component_type":  o.ComponentType,
		"region_id":       o.RegionID,
		"region":          o.Region,
		"storage_size_gi": o.StorageSizeGi,
		"storage_iops":    o.StorageIOPS,
		"replicas":        o.Replicas,
		"tier_key":        o.TierKey,
		"tier_unit_key":   o.TierUnitKey,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterComponent %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterComponentUpdater is an ClusterComponent updates manager
type ClusterComponentUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterComponentUpdater creates new ClusterComponent updater
// nolint: dupl
func NewClusterComponentUpdater(db *gorm.DB) ClusterComponentUpdater {
	return ClusterComponentUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterComponent{}),
	}
}

// ===== END of ClusterComponent modifiers

// ===== BEGIN of query set ClusterConfigQuerySet

// ClusterConfigQuerySet is an queryset type for ClusterConfig
type ClusterConfigQuerySet struct {
	db *gorm.DB
}

// NewClusterConfigQuerySet constructs new ClusterConfigQuerySet
func NewClusterConfigQuerySet(db *gorm.DB) ClusterConfigQuerySet {
	return ClusterConfigQuerySet{
		db: db.Model(&ClusterConfig{}),
	}
}

func (qs ClusterConfigQuerySet) w(db *gorm.DB) ClusterConfigQuerySet {
	return NewClusterConfigQuerySet(db)
}

func (qs ClusterConfigQuerySet) Select(fields ...ClusterConfigDBSchemaField) ClusterConfigQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterConfig) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterConfig) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) All(ret *[]ClusterConfig) error {
	return qs.db.Find(ret).Error
}

// AuditLogConfigEq is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigEq(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config = ?", auditLogConfig))
}

// AuditLogConfigGt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigGt(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config > ?", auditLogConfig))
}

// AuditLogConfigGte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigGte(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config >= ?", auditLogConfig))
}

// AuditLogConfigIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigIn(auditLogConfig ...string) ClusterConfigQuerySet {
	if len(auditLogConfig) == 0 {
		qs.db.AddError(errors.New("must at least pass one auditLogConfig in AuditLogConfigIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("audit_log_config IN (?)", auditLogConfig))
}

// AuditLogConfigLike is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigLike(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config LIKE ?", auditLogConfig))
}

// AuditLogConfigLt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigLt(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config < ?", auditLogConfig))
}

// AuditLogConfigLte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigLte(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config <= ?", auditLogConfig))
}

// AuditLogConfigNe is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigNe(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config != ?", auditLogConfig))
}

// AuditLogConfigNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigNotIn(auditLogConfig ...string) ClusterConfigQuerySet {
	if len(auditLogConfig) == 0 {
		qs.db.AddError(errors.New("must at least pass one auditLogConfig in AuditLogConfigNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("audit_log_config NOT IN (?)", auditLogConfig))
}

// AuditLogConfigNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) AuditLogConfigNotlike(auditLogConfig string) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("audit_log_config NOT LIKE ?", auditLogConfig))
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDEq(clusterID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDGt(clusterID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDGte(clusterID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDIn(clusterID ...ID) ClusterConfigQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDLt(clusterID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDLte(clusterID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDNe(clusterID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterConfigQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIsNotNull() ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) ClusterIsNull() ClusterConfigQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) CreatedAtEq(createdAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) CreatedAtGt(createdAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) CreatedAtGte(createdAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) CreatedAtLt(createdAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) CreatedAtLte(createdAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) CreatedAtNe(createdAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) Delete() error {
	return qs.db.Delete(&ClusterConfig{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterConfig{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterConfig{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) GetUpdater() ClusterConfigUpdater {
	return NewClusterConfigUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDEq(ID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDGt(ID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDGte(ID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDIn(ID ...ID) ClusterConfigQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDLt(ID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDLte(ID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDNe(ID ID) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IDNotIn(ID ...ID) ClusterConfigQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// IsAuditLogOnEq is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IsAuditLogOnEq(isAuditLogOn bool) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("is_audit_log_on = ?", isAuditLogOn))
}

// IsAuditLogOnIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IsAuditLogOnIn(isAuditLogOn ...bool) ClusterConfigQuerySet {
	if len(isAuditLogOn) == 0 {
		qs.db.AddError(errors.New("must at least pass one isAuditLogOn in IsAuditLogOnIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_audit_log_on IN (?)", isAuditLogOn))
}

// IsAuditLogOnNe is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IsAuditLogOnNe(isAuditLogOn bool) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("is_audit_log_on != ?", isAuditLogOn))
}

// IsAuditLogOnNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) IsAuditLogOnNotIn(isAuditLogOn ...bool) ClusterConfigQuerySet {
	if len(isAuditLogOn) == 0 {
		qs.db.AddError(errors.New("must at least pass one isAuditLogOn in IsAuditLogOnNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_audit_log_on NOT IN (?)", isAuditLogOn))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) Limit(limit int) ClusterConfigQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) Offset(offset int) ClusterConfigQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterConfigQuerySet) One(ret *ClusterConfig) error {
	return qs.db.First(ret).Error
}

// OrderAscByAuditLogConfig is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderAscByAuditLogConfig() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("audit_log_config ASC"))
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderAscByClusterID() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderAscByCreatedAt() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderAscByID() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByIsAuditLogOn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderAscByIsAuditLogOn() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("is_audit_log_on ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderAscByUpdatedAt() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByAuditLogConfig is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderDescByAuditLogConfig() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("audit_log_config DESC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderDescByClusterID() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderDescByCreatedAt() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderDescByID() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByIsAuditLogOn is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderDescByIsAuditLogOn() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("is_audit_log_on DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) OrderDescByUpdatedAt() ClusterConfigQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) PreloadCluster() ClusterConfigQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtIsNotNull() ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtIsNull() ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterConfigQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterConfigQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetAuditLogConfig is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) SetAuditLogConfig(auditLogConfig string) ClusterConfigUpdater {
	u.fields[string(ClusterConfigDBSchema.AuditLogConfig)] = auditLogConfig
	return u
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) SetClusterID(clusterID ID) ClusterConfigUpdater {
	u.fields[string(ClusterConfigDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) SetCreatedAt(createdAt time.Time) ClusterConfigUpdater {
	u.fields[string(ClusterConfigDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) SetID(ID ID) ClusterConfigUpdater {
	u.fields[string(ClusterConfigDBSchema.ID)] = ID
	return u
}

// SetIsAuditLogOn is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) SetIsAuditLogOn(isAuditLogOn bool) ClusterConfigUpdater {
	u.fields[string(ClusterConfigDBSchema.IsAuditLogOn)] = isAuditLogOn
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterConfigUpdater {
	u.fields[string(ClusterConfigDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterConfigUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterConfigQuerySet

// ===== BEGIN of ClusterConfig modifiers

// ClusterConfigDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterConfigDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterConfigDBSchemaField) String() string {
	return string(f)
}

// ClusterConfigDBSchema stores db field names of ClusterConfig
var ClusterConfigDBSchema = struct {
	ID             ClusterConfigDBSchemaField
	CreatedAt      ClusterConfigDBSchemaField
	UpdatedAt      ClusterConfigDBSchemaField
	ClusterID      ClusterConfigDBSchemaField
	Cluster        ClusterConfigDBSchemaField
	IsAuditLogOn   ClusterConfigDBSchemaField
	AuditLogConfig ClusterConfigDBSchemaField
}{

	ID:             ClusterConfigDBSchemaField("id"),
	CreatedAt:      ClusterConfigDBSchemaField("created_at"),
	UpdatedAt:      ClusterConfigDBSchemaField("updated_at"),
	ClusterID:      ClusterConfigDBSchemaField("cluster_id"),
	Cluster:        ClusterConfigDBSchemaField("cluster"),
	IsAuditLogOn:   ClusterConfigDBSchemaField("is_audit_log_on"),
	AuditLogConfig: ClusterConfigDBSchemaField("audit_log_config"),
}

// Update updates ClusterConfig fields by primary key
// nolint: dupl
func (o *ClusterConfig) Update(db *gorm.DB, fields ...ClusterConfigDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":               o.ID,
		"created_at":       o.CreatedAt,
		"updated_at":       o.UpdatedAt,
		"cluster_id":       o.ClusterID,
		"cluster":          o.Cluster,
		"is_audit_log_on":  o.IsAuditLogOn,
		"audit_log_config": o.AuditLogConfig,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterConfig %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterConfigUpdater is an ClusterConfig updates manager
type ClusterConfigUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterConfigUpdater creates new ClusterConfig updater
// nolint: dupl
func NewClusterConfigUpdater(db *gorm.DB) ClusterConfigUpdater {
	return ClusterConfigUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterConfig{}),
	}
}

// ===== END of ClusterConfig modifiers

// ===== BEGIN of query set ClusterJobQuerySet

// ClusterJobQuerySet is an queryset type for ClusterJob
type ClusterJobQuerySet struct {
	db *gorm.DB
}

// NewClusterJobQuerySet constructs new ClusterJobQuerySet
func NewClusterJobQuerySet(db *gorm.DB) ClusterJobQuerySet {
	return ClusterJobQuerySet{
		db: db.Model(&ClusterJob{}),
	}
}

func (qs ClusterJobQuerySet) w(db *gorm.DB) ClusterJobQuerySet {
	return NewClusterJobQuerySet(db)
}

func (qs ClusterJobQuerySet) Select(fields ...ClusterJobDBSchemaField) ClusterJobQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterJob) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterJob) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) All(ret *[]ClusterJob) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDEq(clusterID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDGt(clusterID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDGte(clusterID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDIn(clusterID ...ID) ClusterJobQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDLt(clusterID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDLte(clusterID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDNe(clusterID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterJobQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIsNotNull() ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) ClusterIsNull() ClusterJobQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) CreatedAtEq(createdAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) CreatedAtGt(createdAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) CreatedAtGte(createdAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) CreatedAtLt(createdAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) CreatedAtLte(createdAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) CreatedAtNe(createdAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) Delete() error {
	return qs.db.Delete(&ClusterJob{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterJob{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterJob{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) GetUpdater() ClusterJobUpdater {
	return NewClusterJobUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDEq(ID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDGt(ID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDGte(ID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDIn(ID ...ID) ClusterJobQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDLt(ID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDLte(ID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDNe(ID ID) ClusterJobQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) IDNotIn(ID ...ID) ClusterJobQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// JobTypeEq is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeEq(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type = ?", jobType))
}

// JobTypeGt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeGt(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type > ?", jobType))
}

// JobTypeGte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeGte(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type >= ?", jobType))
}

// JobTypeIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeIn(jobType ...string) ClusterJobQuerySet {
	if len(jobType) == 0 {
		qs.db.AddError(errors.New("must at least pass one jobType in JobTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("job_type IN (?)", jobType))
}

// JobTypeLike is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeLike(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type LIKE ?", jobType))
}

// JobTypeLt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeLt(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type < ?", jobType))
}

// JobTypeLte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeLte(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type <= ?", jobType))
}

// JobTypeNe is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeNe(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type != ?", jobType))
}

// JobTypeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeNotIn(jobType ...string) ClusterJobQuerySet {
	if len(jobType) == 0 {
		qs.db.AddError(errors.New("must at least pass one jobType in JobTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("job_type NOT IN (?)", jobType))
}

// JobTypeNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) JobTypeNotlike(jobType string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("job_type NOT LIKE ?", jobType))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) Limit(limit int) ClusterJobQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameEq(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameGt(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameGte(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameIn(name ...string) ClusterJobQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameLike(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameLt(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameLte(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameNe(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameNotIn(name ...string) ClusterJobQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) NameNotlike(name string) ClusterJobQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) Offset(offset int) ClusterJobQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterJobQuerySet) One(ret *ClusterJob) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderAscByClusterID() ClusterJobQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderAscByCreatedAt() ClusterJobQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderAscByID() ClusterJobQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByJobType is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderAscByJobType() ClusterJobQuerySet {
	return qs.w(qs.db.Order("job_type ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderAscByName() ClusterJobQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderAscByUpdatedAt() ClusterJobQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderDescByClusterID() ClusterJobQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderDescByCreatedAt() ClusterJobQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderDescByID() ClusterJobQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByJobType is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderDescByJobType() ClusterJobQuerySet {
	return qs.w(qs.db.Order("job_type DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderDescByName() ClusterJobQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) OrderDescByUpdatedAt() ClusterJobQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) PreloadCluster() ClusterJobQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtIsNotNull() ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtIsNull() ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterJobQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterJobQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) SetClusterID(clusterID ID) ClusterJobUpdater {
	u.fields[string(ClusterJobDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) SetCreatedAt(createdAt time.Time) ClusterJobUpdater {
	u.fields[string(ClusterJobDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) SetID(ID ID) ClusterJobUpdater {
	u.fields[string(ClusterJobDBSchema.ID)] = ID
	return u
}

// SetJobType is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) SetJobType(jobType string) ClusterJobUpdater {
	u.fields[string(ClusterJobDBSchema.JobType)] = jobType
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) SetName(name string) ClusterJobUpdater {
	u.fields[string(ClusterJobDBSchema.Name)] = name
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterJobUpdater {
	u.fields[string(ClusterJobDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterJobUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterJobQuerySet

// ===== BEGIN of ClusterJob modifiers

// ClusterJobDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterJobDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterJobDBSchemaField) String() string {
	return string(f)
}

// ClusterJobDBSchema stores db field names of ClusterJob
var ClusterJobDBSchema = struct {
	ID        ClusterJobDBSchemaField
	CreatedAt ClusterJobDBSchemaField
	UpdatedAt ClusterJobDBSchemaField
	ClusterID ClusterJobDBSchemaField
	Cluster   ClusterJobDBSchemaField
	JobType   ClusterJobDBSchemaField
	Name      ClusterJobDBSchemaField
}{

	ID:        ClusterJobDBSchemaField("id"),
	CreatedAt: ClusterJobDBSchemaField("created_at"),
	UpdatedAt: ClusterJobDBSchemaField("updated_at"),
	ClusterID: ClusterJobDBSchemaField("cluster_id"),
	Cluster:   ClusterJobDBSchemaField("cluster"),
	JobType:   ClusterJobDBSchemaField("job_type"),
	Name:      ClusterJobDBSchemaField("name"),
}

// Update updates ClusterJob fields by primary key
// nolint: dupl
func (o *ClusterJob) Update(db *gorm.DB, fields ...ClusterJobDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"cluster_id": o.ClusterID,
		"cluster":    o.Cluster,
		"job_type":   o.JobType,
		"name":       o.Name,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterJob %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterJobUpdater is an ClusterJob updates manager
type ClusterJobUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterJobUpdater creates new ClusterJob updater
// nolint: dupl
func NewClusterJobUpdater(db *gorm.DB) ClusterJobUpdater {
	return ClusterJobUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterJob{}),
	}
}

// ===== END of ClusterJob modifiers

// ===== BEGIN of query set ClusterOperationQuerySet

// ClusterOperationQuerySet is an queryset type for ClusterOperation
type ClusterOperationQuerySet struct {
	db *gorm.DB
}

// NewClusterOperationQuerySet constructs new ClusterOperationQuerySet
func NewClusterOperationQuerySet(db *gorm.DB) ClusterOperationQuerySet {
	return ClusterOperationQuerySet{
		db: db.Model(&ClusterOperation{}),
	}
}

func (qs ClusterOperationQuerySet) w(db *gorm.DB) ClusterOperationQuerySet {
	return NewClusterOperationQuerySet(db)
}

func (qs ClusterOperationQuerySet) Select(fields ...ClusterOperationDBSchemaField) ClusterOperationQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterOperation) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterOperation) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) All(ret *[]ClusterOperation) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDEq(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDGt(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDGte(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDIn(clusterID ...ID) ClusterOperationQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDLt(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDLte(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDNe(clusterID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterOperationQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIsNotNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ClusterIsNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// CompletedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtEq(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at = ?", completedAt))
}

// CompletedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtGt(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at > ?", completedAt))
}

// CompletedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtGte(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at >= ?", completedAt))
}

// CompletedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtIsNotNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at IS NOT NULL"))
}

// CompletedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtIsNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at IS NULL"))
}

// CompletedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtLt(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at < ?", completedAt))
}

// CompletedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtLte(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at <= ?", completedAt))
}

// CompletedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CompletedAtNe(completedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("completed_at != ?", completedAt))
}

// ContentEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentEq(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content = ?", content))
}

// ContentGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentGt(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content > ?", content))
}

// ContentGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentGte(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content >= ?", content))
}

// ContentIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentIn(content ...string) ClusterOperationQuerySet {
	if len(content) == 0 {
		qs.db.AddError(errors.New("must at least pass one content in ContentIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("content IN (?)", content))
}

// ContentLike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentLike(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content LIKE ?", content))
}

// ContentLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentLt(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content < ?", content))
}

// ContentLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentLte(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content <= ?", content))
}

// ContentNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentNe(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content != ?", content))
}

// ContentNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentNotIn(content ...string) ClusterOperationQuerySet {
	if len(content) == 0 {
		qs.db.AddError(errors.New("must at least pass one content in ContentNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("content NOT IN (?)", content))
}

// ContentNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) ContentNotlike(content string) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("content NOT LIKE ?", content))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtEq(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtGt(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtGte(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtLt(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtLte(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) CreatedAtNe(createdAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Delete() error {
	return qs.db.Delete(&ClusterOperation{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterOperation{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterOperation{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) GetUpdater() ClusterOperationUpdater {
	return NewClusterOperationUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDEq(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDGt(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDGte(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDIn(ID ...ID) ClusterOperationQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDLt(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDLte(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDNe(ID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) IDNotIn(ID ...ID) ClusterOperationQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Limit(limit int) ClusterOperationQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) Offset(offset int) ClusterOperationQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterOperationQuerySet) One(ret *ClusterOperation) error {
	return qs.db.First(ret).Error
}

// OperatorIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDEq(operatorID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("operator_id = ?", operatorID))
}

// OperatorIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDGt(operatorID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("operator_id > ?", operatorID))
}

// OperatorIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDGte(operatorID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("operator_id >= ?", operatorID))
}

// OperatorIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDIn(operatorID ...ID) ClusterOperationQuerySet {
	if len(operatorID) == 0 {
		qs.db.AddError(errors.New("must at least pass one operatorID in OperatorIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("operator_id IN (?)", operatorID))
}

// OperatorIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDLt(operatorID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("operator_id < ?", operatorID))
}

// OperatorIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDLte(operatorID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("operator_id <= ?", operatorID))
}

// OperatorIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDNe(operatorID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("operator_id != ?", operatorID))
}

// OperatorIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OperatorIDNotIn(operatorID ...ID) ClusterOperationQuerySet {
	if len(operatorID) == 0 {
		qs.db.AddError(errors.New("must at least pass one operatorID in OperatorIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("operator_id NOT IN (?)", operatorID))
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByClusterID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCompletedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByCompletedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("completed_at ASC"))
}

// OrderAscByContent is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByContent() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("content ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByCreatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByOperatorID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByOperatorID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("operator_id ASC"))
}

// OrderAscBySnapshotID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscBySnapshotID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("snapshot_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByStatus() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByType() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderAscByUpdatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByClusterID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCompletedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByCompletedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("completed_at DESC"))
}

// OrderDescByContent is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByContent() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("content DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByCreatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByOperatorID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByOperatorID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("operator_id DESC"))
}

// OrderDescBySnapshotID is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescBySnapshotID() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("snapshot_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByStatus() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByType() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) OrderDescByUpdatedAt() ClusterOperationQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) PreloadCluster() ClusterOperationQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// SnapshotIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDEq(snapshotID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("snapshot_id = ?", snapshotID))
}

// SnapshotIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDGt(snapshotID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("snapshot_id > ?", snapshotID))
}

// SnapshotIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDGte(snapshotID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("snapshot_id >= ?", snapshotID))
}

// SnapshotIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDIn(snapshotID ...ID) ClusterOperationQuerySet {
	if len(snapshotID) == 0 {
		qs.db.AddError(errors.New("must at least pass one snapshotID in SnapshotIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("snapshot_id IN (?)", snapshotID))
}

// SnapshotIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDLt(snapshotID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("snapshot_id < ?", snapshotID))
}

// SnapshotIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDLte(snapshotID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("snapshot_id <= ?", snapshotID))
}

// SnapshotIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDNe(snapshotID ID) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("snapshot_id != ?", snapshotID))
}

// SnapshotIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) SnapshotIDNotIn(snapshotID ...ID) ClusterOperationQuerySet {
	if len(snapshotID) == 0 {
		qs.db.AddError(errors.New("must at least pass one snapshotID in SnapshotIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("snapshot_id NOT IN (?)", snapshotID))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusEq(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusGt(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusGte(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusIn(status ...ClusterOperationStatus) ClusterOperationQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusLike(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusLt(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusLte(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusNe(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusNotIn(status ...ClusterOperationStatus) ClusterOperationQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) StatusNotlike(status ClusterOperationStatus) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeEq(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeGt(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeGte(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeIn(typeValue ...ClusterOperationType) ClusterOperationQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeLike(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeLt(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeLte(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeNe(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeNotIn(typeValue ...ClusterOperationType) ClusterOperationQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) TypeNotlike(typeValue ClusterOperationType) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtIsNotNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtIsNull() ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterOperationQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterOperationQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetClusterID(clusterID ID) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.ClusterID)] = clusterID
	return u
}

// SetCompletedAt is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetCompletedAt(completedAt *time.Time) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.CompletedAt)] = completedAt
	return u
}

// SetContent is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetContent(content string) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.Content)] = content
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetCreatedAt(createdAt time.Time) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetID(ID ID) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.ID)] = ID
	return u
}

// SetOperatorID is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetOperatorID(operatorID ID) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.OperatorID)] = operatorID
	return u
}

// SetSnapshotID is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetSnapshotID(snapshotID ID) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.SnapshotID)] = snapshotID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetStatus(status ClusterOperationStatus) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.Status)] = status
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetType(typeValue ClusterOperationType) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.Type)] = typeValue
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterOperationUpdater {
	u.fields[string(ClusterOperationDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterOperationUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterOperationQuerySet

// ===== BEGIN of ClusterOperation modifiers

// ClusterOperationDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterOperationDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterOperationDBSchemaField) String() string {
	return string(f)
}

// ClusterOperationDBSchema stores db field names of ClusterOperation
var ClusterOperationDBSchema = struct {
	ID          ClusterOperationDBSchemaField
	CreatedAt   ClusterOperationDBSchemaField
	UpdatedAt   ClusterOperationDBSchemaField
	ClusterID   ClusterOperationDBSchemaField
	Cluster     ClusterOperationDBSchemaField
	OperatorID  ClusterOperationDBSchemaField
	Type        ClusterOperationDBSchemaField
	CompletedAt ClusterOperationDBSchemaField
	Status      ClusterOperationDBSchemaField
	Content     ClusterOperationDBSchemaField
	SnapshotID  ClusterOperationDBSchemaField
}{

	ID:          ClusterOperationDBSchemaField("id"),
	CreatedAt:   ClusterOperationDBSchemaField("created_at"),
	UpdatedAt:   ClusterOperationDBSchemaField("updated_at"),
	ClusterID:   ClusterOperationDBSchemaField("cluster_id"),
	Cluster:     ClusterOperationDBSchemaField("cluster"),
	OperatorID:  ClusterOperationDBSchemaField("operator_id"),
	Type:        ClusterOperationDBSchemaField("type"),
	CompletedAt: ClusterOperationDBSchemaField("completed_at"),
	Status:      ClusterOperationDBSchemaField("status"),
	Content:     ClusterOperationDBSchemaField("content"),
	SnapshotID:  ClusterOperationDBSchemaField("snapshot_id"),
}

// Update updates ClusterOperation fields by primary key
// nolint: dupl
func (o *ClusterOperation) Update(db *gorm.DB, fields ...ClusterOperationDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"cluster_id":   o.ClusterID,
		"cluster":      o.Cluster,
		"operator_id":  o.OperatorID,
		"type":         o.Type,
		"completed_at": o.CompletedAt,
		"status":       o.Status,
		"content":      o.Content,
		"snapshot_id":  o.SnapshotID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterOperation %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterOperationUpdater is an ClusterOperation updates manager
type ClusterOperationUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterOperationUpdater creates new ClusterOperation updater
// nolint: dupl
func NewClusterOperationUpdater(db *gorm.DB) ClusterOperationUpdater {
	return ClusterOperationUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterOperation{}),
	}
}

// ===== END of ClusterOperation modifiers

// ===== BEGIN of query set ClusterQuerySet

// ClusterQuerySet is an queryset type for Cluster
type ClusterQuerySet struct {
	db *gorm.DB
}

// NewClusterQuerySet constructs new ClusterQuerySet
func NewClusterQuerySet(db *gorm.DB) ClusterQuerySet {
	return ClusterQuerySet{
		db: db.Model(&Cluster{}),
	}
}

func (qs ClusterQuerySet) w(db *gorm.DB) ClusterQuerySet {
	return NewClusterQuerySet(db)
}

func (qs ClusterQuerySet) Select(fields ...ClusterDBSchemaField) ClusterQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Cluster) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Cluster) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) All(ret *[]Cluster) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtEq(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtGt(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtGte(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtLt(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtLte(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedAtNe(createdAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// CreatedByIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDEq(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id = ?", createdByID))
}

// CreatedByIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDGt(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id > ?", createdByID))
}

// CreatedByIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDGte(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id >= ?", createdByID))
}

// CreatedByIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDIn(createdByID ...ID) ClusterQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id IN (?)", createdByID))
}

// CreatedByIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDLt(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id < ?", createdByID))
}

// CreatedByIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDLte(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id <= ?", createdByID))
}

// CreatedByIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDNe(createdByID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("created_by_id != ?", createdByID))
}

// CreatedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreatedByIDNotIn(createdByID ...ID) ClusterQuerySet {
	if len(createdByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one createdByID in CreatedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("created_by_id NOT IN (?)", createdByID))
}

// CreationFinishedTimeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeEq(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time = ?", creationFinishedTime))
}

// CreationFinishedTimeGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeGt(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time > ?", creationFinishedTime))
}

// CreationFinishedTimeGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeGte(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time >= ?", creationFinishedTime))
}

// CreationFinishedTimeIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time IS NOT NULL"))
}

// CreationFinishedTimeIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time IS NULL"))
}

// CreationFinishedTimeLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeLt(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time < ?", creationFinishedTime))
}

// CreationFinishedTimeLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeLte(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time <= ?", creationFinishedTime))
}

// CreationFinishedTimeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CreationFinishedTimeNe(creationFinishedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("creation_finished_time != ?", creationFinishedTime))
}

// CrossAccountDeploymentIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDEq(crossAccountDeploymentID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment_id = ?", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDGt(crossAccountDeploymentID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment_id > ?", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDGte(crossAccountDeploymentID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment_id >= ?", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDIn(crossAccountDeploymentID ...ID) ClusterQuerySet {
	if len(crossAccountDeploymentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one crossAccountDeploymentID in CrossAccountDeploymentIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cross_account_deployment_id IN (?)", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDLt(crossAccountDeploymentID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment_id < ?", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDLte(crossAccountDeploymentID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment_id <= ?", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDNe(crossAccountDeploymentID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment_id != ?", crossAccountDeploymentID))
}

// CrossAccountDeploymentIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIDNotIn(crossAccountDeploymentID ...ID) ClusterQuerySet {
	if len(crossAccountDeploymentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one crossAccountDeploymentID in CrossAccountDeploymentIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cross_account_deployment_id NOT IN (?)", crossAccountDeploymentID))
}

// CrossAccountDeploymentIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment IS NOT NULL"))
}

// CrossAccountDeploymentIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) CrossAccountDeploymentIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment IS NULL"))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Delete() error {
	return qs.db.Delete(&Cluster{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Cluster{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Cluster{})
	return db.RowsAffected, db.Error
}

// DeletedTimeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeEq(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time = ?", deletedTime))
}

// DeletedTimeGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeGt(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time > ?", deletedTime))
}

// DeletedTimeGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeGte(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time >= ?", deletedTime))
}

// DeletedTimeIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time IS NOT NULL"))
}

// DeletedTimeIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time IS NULL"))
}

// DeletedTimeLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeLt(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time < ?", deletedTime))
}

// DeletedTimeLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeLte(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time <= ?", deletedTime))
}

// DeletedTimeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeletedTimeNe(deletedTime time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("deleted_time != ?", deletedTime))
}

// DeployTypeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeEq(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type = ?", deployType))
}

// DeployTypeGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeGt(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type > ?", deployType))
}

// DeployTypeGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeGte(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type >= ?", deployType))
}

// DeployTypeIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeIn(deployType ...DeployType) ClusterQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type IN (?)", deployType))
}

// DeployTypeLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeLike(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type LIKE ?", deployType))
}

// DeployTypeLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeLt(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type < ?", deployType))
}

// DeployTypeLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeLte(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type <= ?", deployType))
}

// DeployTypeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeNe(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type != ?", deployType))
}

// DeployTypeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeNotIn(deployType ...DeployType) ClusterQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type NOT IN (?)", deployType))
}

// DeployTypeNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) DeployTypeNotlike(deployType DeployType) ClusterQuerySet {
	return qs.w(qs.db.Where("deploy_type NOT LIKE ?", deployType))
}

// EncryptedCloudAdminPasswordEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordEq(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password = ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordGt(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password > ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordGte(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password >= ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordIn(encryptedCloudAdminPassword ...string) ClusterQuerySet {
	if len(encryptedCloudAdminPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one encryptedCloudAdminPassword in EncryptedCloudAdminPasswordIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("encrypted_cloud_admin_password IN (?)", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordLike(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password LIKE ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordLt(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password < ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordLte(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password <= ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordNe(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password != ?", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordNotIn(encryptedCloudAdminPassword ...string) ClusterQuerySet {
	if len(encryptedCloudAdminPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one encryptedCloudAdminPassword in EncryptedCloudAdminPasswordNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("encrypted_cloud_admin_password NOT IN (?)", encryptedCloudAdminPassword))
}

// EncryptedCloudAdminPasswordNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedCloudAdminPasswordNotlike(encryptedCloudAdminPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_cloud_admin_password NOT LIKE ?", encryptedCloudAdminPassword))
}

// EncryptedRootPasswordEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordEq(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password = ?", encryptedRootPassword))
}

// EncryptedRootPasswordGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordGt(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password > ?", encryptedRootPassword))
}

// EncryptedRootPasswordGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordGte(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password >= ?", encryptedRootPassword))
}

// EncryptedRootPasswordIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordIn(encryptedRootPassword ...string) ClusterQuerySet {
	if len(encryptedRootPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one encryptedRootPassword in EncryptedRootPasswordIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("encrypted_root_password IN (?)", encryptedRootPassword))
}

// EncryptedRootPasswordLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordLike(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password LIKE ?", encryptedRootPassword))
}

// EncryptedRootPasswordLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordLt(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password < ?", encryptedRootPassword))
}

// EncryptedRootPasswordLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordLte(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password <= ?", encryptedRootPassword))
}

// EncryptedRootPasswordNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordNe(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password != ?", encryptedRootPassword))
}

// EncryptedRootPasswordNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordNotIn(encryptedRootPassword ...string) ClusterQuerySet {
	if len(encryptedRootPassword) == 0 {
		qs.db.AddError(errors.New("must at least pass one encryptedRootPassword in EncryptedRootPasswordNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("encrypted_root_password NOT IN (?)", encryptedRootPassword))
}

// EncryptedRootPasswordNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) EncryptedRootPasswordNotlike(encryptedRootPassword string) ClusterQuerySet {
	return qs.w(qs.db.Where("encrypted_root_password NOT LIKE ?", encryptedRootPassword))
}

// FinalBackupBeforeDeleteEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FinalBackupBeforeDeleteEq(finalBackupBeforeDelete bool) ClusterQuerySet {
	return qs.w(qs.db.Where("poc_deleted = ?", finalBackupBeforeDelete))
}

// FinalBackupBeforeDeleteIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FinalBackupBeforeDeleteIn(finalBackupBeforeDelete ...bool) ClusterQuerySet {
	if len(finalBackupBeforeDelete) == 0 {
		qs.db.AddError(errors.New("must at least pass one finalBackupBeforeDelete in FinalBackupBeforeDeleteIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("poc_deleted IN (?)", finalBackupBeforeDelete))
}

// FinalBackupBeforeDeleteNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FinalBackupBeforeDeleteNe(finalBackupBeforeDelete bool) ClusterQuerySet {
	return qs.w(qs.db.Where("poc_deleted != ?", finalBackupBeforeDelete))
}

// FinalBackupBeforeDeleteNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FinalBackupBeforeDeleteNotIn(finalBackupBeforeDelete ...bool) ClusterQuerySet {
	if len(finalBackupBeforeDelete) == 0 {
		qs.db.AddError(errors.New("must at least pass one finalBackupBeforeDelete in FinalBackupBeforeDeleteNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("poc_deleted NOT IN (?)", finalBackupBeforeDelete))
}

// FirstClusterInProjectRegionEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FirstClusterInProjectRegionEq(firstClusterInProjectRegion bool) ClusterQuerySet {
	return qs.w(qs.db.Where("first_cluster_in_project_region = ?", firstClusterInProjectRegion))
}

// FirstClusterInProjectRegionIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FirstClusterInProjectRegionIn(firstClusterInProjectRegion ...bool) ClusterQuerySet {
	if len(firstClusterInProjectRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one firstClusterInProjectRegion in FirstClusterInProjectRegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("first_cluster_in_project_region IN (?)", firstClusterInProjectRegion))
}

// FirstClusterInProjectRegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FirstClusterInProjectRegionIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("first_cluster_in_project_region IS NOT NULL"))
}

// FirstClusterInProjectRegionIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FirstClusterInProjectRegionIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("first_cluster_in_project_region IS NULL"))
}

// FirstClusterInProjectRegionNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FirstClusterInProjectRegionNe(firstClusterInProjectRegion bool) ClusterQuerySet {
	return qs.w(qs.db.Where("first_cluster_in_project_region != ?", firstClusterInProjectRegion))
}

// FirstClusterInProjectRegionNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FirstClusterInProjectRegionNotIn(firstClusterInProjectRegion ...bool) ClusterQuerySet {
	if len(firstClusterInProjectRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one firstClusterInProjectRegion in FirstClusterInProjectRegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("first_cluster_in_project_region NOT IN (?)", firstClusterInProjectRegion))
}

// FreeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FreeEq(free bool) ClusterQuerySet {
	return qs.w(qs.db.Where("free = ?", free))
}

// FreeIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FreeIn(free ...bool) ClusterQuerySet {
	if len(free) == 0 {
		qs.db.AddError(errors.New("must at least pass one free in FreeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("free IN (?)", free))
}

// FreeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FreeNe(free bool) ClusterQuerySet {
	return qs.w(qs.db.Where("free != ?", free))
}

// FreeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) FreeNotIn(free ...bool) ClusterQuerySet {
	if len(free) == 0 {
		qs.db.AddError(errors.New("must at least pass one free in FreeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("free NOT IN (?)", free))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) GetUpdater() ClusterUpdater {
	return NewClusterUpdater(qs.db)
}

// HasSetPwdEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) HasSetPwdEq(hasSetPwd bool) ClusterQuerySet {
	return qs.w(qs.db.Where("has_set_pwd = ?", hasSetPwd))
}

// HasSetPwdIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) HasSetPwdIn(hasSetPwd ...bool) ClusterQuerySet {
	if len(hasSetPwd) == 0 {
		qs.db.AddError(errors.New("must at least pass one hasSetPwd in HasSetPwdIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("has_set_pwd IN (?)", hasSetPwd))
}

// HasSetPwdIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) HasSetPwdIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("has_set_pwd IS NOT NULL"))
}

// HasSetPwdIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) HasSetPwdIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("has_set_pwd IS NULL"))
}

// HasSetPwdNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) HasSetPwdNe(hasSetPwd bool) ClusterQuerySet {
	return qs.w(qs.db.Where("has_set_pwd != ?", hasSetPwd))
}

// HasSetPwdNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) HasSetPwdNotIn(hasSetPwd ...bool) ClusterQuerySet {
	if len(hasSetPwd) == 0 {
		qs.db.AddError(errors.New("must at least pass one hasSetPwd in HasSetPwdNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("has_set_pwd NOT IN (?)", hasSetPwd))
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDEq(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDGt(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDGte(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDIn(ID ...ID) ClusterQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDLt(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDLte(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDNe(ID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) IDNotIn(ID ...ID) ClusterQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// ImportIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDEq(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id = ?", importID))
}

// ImportIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDGt(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id > ?", importID))
}

// ImportIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDGte(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id >= ?", importID))
}

// ImportIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDIn(importID ...uint64) ClusterQuerySet {
	if len(importID) == 0 {
		qs.db.AddError(errors.New("must at least pass one importID in ImportIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("import_id IN (?)", importID))
}

// ImportIDIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("import_id IS NOT NULL"))
}

// ImportIDIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("import_id IS NULL"))
}

// ImportIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDLt(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id < ?", importID))
}

// ImportIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDLte(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id <= ?", importID))
}

// ImportIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDNe(importID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("import_id != ?", importID))
}

// ImportIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ImportIDNotIn(importID ...uint64) ClusterQuerySet {
	if len(importID) == 0 {
		qs.db.AddError(errors.New("must at least pass one importID in ImportIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("import_id NOT IN (?)", importID))
}

// InitialVersionEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionEq(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version = ?", initialVersion))
}

// InitialVersionGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionGt(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version > ?", initialVersion))
}

// InitialVersionGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionGte(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version >= ?", initialVersion))
}

// InitialVersionIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionIn(initialVersion ...string) ClusterQuerySet {
	if len(initialVersion) == 0 {
		qs.db.AddError(errors.New("must at least pass one initialVersion in InitialVersionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("initial_version IN (?)", initialVersion))
}

// InitialVersionLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionLike(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version LIKE ?", initialVersion))
}

// InitialVersionLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionLt(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version < ?", initialVersion))
}

// InitialVersionLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionLte(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version <= ?", initialVersion))
}

// InitialVersionNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionNe(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version != ?", initialVersion))
}

// InitialVersionNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionNotIn(initialVersion ...string) ClusterQuerySet {
	if len(initialVersion) == 0 {
		qs.db.AddError(errors.New("must at least pass one initialVersion in InitialVersionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("initial_version NOT IN (?)", initialVersion))
}

// InitialVersionNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) InitialVersionNotlike(initialVersion string) ClusterQuerySet {
	return qs.w(qs.db.Where("initial_version NOT LIKE ?", initialVersion))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Limit(limit int) ClusterQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameEq(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameGt(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameGte(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameIn(name ...string) ClusterQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameLike(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameLt(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameLte(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameNe(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameNotIn(name ...string) ClusterQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) NameNotlike(name string) ClusterQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) Offset(offset int) ClusterQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// OnNewArchEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OnNewArchEq(onNewArch bool) ClusterQuerySet {
	return qs.w(qs.db.Where("on_new_arch = ?", onNewArch))
}

// OnNewArchIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OnNewArchIn(onNewArch ...bool) ClusterQuerySet {
	if len(onNewArch) == 0 {
		qs.db.AddError(errors.New("must at least pass one onNewArch in OnNewArchIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("on_new_arch IN (?)", onNewArch))
}

// OnNewArchNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OnNewArchNe(onNewArch bool) ClusterQuerySet {
	return qs.w(qs.db.Where("on_new_arch != ?", onNewArch))
}

// OnNewArchNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OnNewArchNotIn(onNewArch ...bool) ClusterQuerySet {
	if len(onNewArch) == 0 {
		qs.db.AddError(errors.New("must at least pass one onNewArch in OnNewArchNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("on_new_arch NOT IN (?)", onNewArch))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterQuerySet) One(ret *Cluster) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCreatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByCreatedByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCreatedByID() ClusterQuerySet {
	return qs.w(qs.db.Order("created_by_id ASC"))
}

// OrderAscByCreationFinishedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCreationFinishedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("creation_finished_time ASC"))
}

// OrderAscByCrossAccountDeploymentID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByCrossAccountDeploymentID() ClusterQuerySet {
	return qs.w(qs.db.Order("cross_account_deployment_id ASC"))
}

// OrderAscByDeletedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByDeletedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("deleted_time ASC"))
}

// OrderAscByDeployType is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByDeployType() ClusterQuerySet {
	return qs.w(qs.db.Order("deploy_type ASC"))
}

// OrderAscByEncryptedCloudAdminPassword is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByEncryptedCloudAdminPassword() ClusterQuerySet {
	return qs.w(qs.db.Order("encrypted_cloud_admin_password ASC"))
}

// OrderAscByEncryptedRootPassword is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByEncryptedRootPassword() ClusterQuerySet {
	return qs.w(qs.db.Order("encrypted_root_password ASC"))
}

// OrderAscByFinalBackupBeforeDelete is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByFinalBackupBeforeDelete() ClusterQuerySet {
	return qs.w(qs.db.Order("poc_deleted ASC"))
}

// OrderAscByFirstClusterInProjectRegion is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByFirstClusterInProjectRegion() ClusterQuerySet {
	return qs.w(qs.db.Order("first_cluster_in_project_region ASC"))
}

// OrderAscByFree is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByFree() ClusterQuerySet {
	return qs.w(qs.db.Order("free ASC"))
}

// OrderAscByHasSetPwd is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByHasSetPwd() ClusterQuerySet {
	return qs.w(qs.db.Order("has_set_pwd ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByID() ClusterQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByImportID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByImportID() ClusterQuerySet {
	return qs.w(qs.db.Order("import_id ASC"))
}

// OrderAscByInitialVersion is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByInitialVersion() ClusterQuerySet {
	return qs.w(qs.db.Order("initial_version ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByName() ClusterQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByOnNewArch is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByOnNewArch() ClusterQuerySet {
	return qs.w(qs.db.Order("on_new_arch ASC"))
}

// OrderAscByPasswordProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByPasswordProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("password_provider_id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByProjectID() ClusterQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByReadOnly is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByReadOnly() ClusterQuerySet {
	return qs.w(qs.db.Order("read_only ASC"))
}

// OrderAscByRecoveryMode is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByRecoveryMode() ClusterQuerySet {
	return qs.w(qs.db.Order("recovery_mode ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByRegionID() ClusterQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByReplicas is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByReplicas() ClusterQuerySet {
	return qs.w(qs.db.Order("replicas ASC"))
}

// OrderAscByReplicationID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByReplicationID() ClusterQuerySet {
	return qs.w(qs.db.Order("replication_id ASC"))
}

// OrderAscByRestoreID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByRestoreID() ClusterQuerySet {
	return qs.w(qs.db.Order("restore_id ASC"))
}

// OrderAscBySalt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscBySalt() ClusterQuerySet {
	return qs.w(qs.db.Order("salt ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByStatus() ClusterQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByTenantID() ClusterQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByUpdatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderAscByVersioning() ClusterQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCreatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByCreatedByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCreatedByID() ClusterQuerySet {
	return qs.w(qs.db.Order("created_by_id DESC"))
}

// OrderDescByCreationFinishedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCreationFinishedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("creation_finished_time DESC"))
}

// OrderDescByCrossAccountDeploymentID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByCrossAccountDeploymentID() ClusterQuerySet {
	return qs.w(qs.db.Order("cross_account_deployment_id DESC"))
}

// OrderDescByDeletedTime is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByDeletedTime() ClusterQuerySet {
	return qs.w(qs.db.Order("deleted_time DESC"))
}

// OrderDescByDeployType is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByDeployType() ClusterQuerySet {
	return qs.w(qs.db.Order("deploy_type DESC"))
}

// OrderDescByEncryptedCloudAdminPassword is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByEncryptedCloudAdminPassword() ClusterQuerySet {
	return qs.w(qs.db.Order("encrypted_cloud_admin_password DESC"))
}

// OrderDescByEncryptedRootPassword is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByEncryptedRootPassword() ClusterQuerySet {
	return qs.w(qs.db.Order("encrypted_root_password DESC"))
}

// OrderDescByFinalBackupBeforeDelete is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByFinalBackupBeforeDelete() ClusterQuerySet {
	return qs.w(qs.db.Order("poc_deleted DESC"))
}

// OrderDescByFirstClusterInProjectRegion is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByFirstClusterInProjectRegion() ClusterQuerySet {
	return qs.w(qs.db.Order("first_cluster_in_project_region DESC"))
}

// OrderDescByFree is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByFree() ClusterQuerySet {
	return qs.w(qs.db.Order("free DESC"))
}

// OrderDescByHasSetPwd is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByHasSetPwd() ClusterQuerySet {
	return qs.w(qs.db.Order("has_set_pwd DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByID() ClusterQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByImportID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByImportID() ClusterQuerySet {
	return qs.w(qs.db.Order("import_id DESC"))
}

// OrderDescByInitialVersion is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByInitialVersion() ClusterQuerySet {
	return qs.w(qs.db.Order("initial_version DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByName() ClusterQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByOnNewArch is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByOnNewArch() ClusterQuerySet {
	return qs.w(qs.db.Order("on_new_arch DESC"))
}

// OrderDescByPasswordProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByPasswordProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("password_provider_id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByProjectID() ClusterQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByProviderID() ClusterQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByReadOnly is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByReadOnly() ClusterQuerySet {
	return qs.w(qs.db.Order("read_only DESC"))
}

// OrderDescByRecoveryMode is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByRecoveryMode() ClusterQuerySet {
	return qs.w(qs.db.Order("recovery_mode DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByRegionID() ClusterQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByReplicas is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByReplicas() ClusterQuerySet {
	return qs.w(qs.db.Order("replicas DESC"))
}

// OrderDescByReplicationID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByReplicationID() ClusterQuerySet {
	return qs.w(qs.db.Order("replication_id DESC"))
}

// OrderDescByRestoreID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByRestoreID() ClusterQuerySet {
	return qs.w(qs.db.Order("restore_id DESC"))
}

// OrderDescBySalt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescBySalt() ClusterQuerySet {
	return qs.w(qs.db.Order("salt DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByStatus() ClusterQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByTenantID() ClusterQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByUpdatedAt() ClusterQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) OrderDescByVersioning() ClusterQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PasswordProviderIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDEq(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id = ?", passwordProviderID))
}

// PasswordProviderIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDGt(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id > ?", passwordProviderID))
}

// PasswordProviderIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDGte(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id >= ?", passwordProviderID))
}

// PasswordProviderIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDIn(passwordProviderID ...string) ClusterQuerySet {
	if len(passwordProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one passwordProviderID in PasswordProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("password_provider_id IN (?)", passwordProviderID))
}

// PasswordProviderIDLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDLike(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id LIKE ?", passwordProviderID))
}

// PasswordProviderIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDLt(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id < ?", passwordProviderID))
}

// PasswordProviderIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDLte(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id <= ?", passwordProviderID))
}

// PasswordProviderIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDNe(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id != ?", passwordProviderID))
}

// PasswordProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDNotIn(passwordProviderID ...string) ClusterQuerySet {
	if len(passwordProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one passwordProviderID in PasswordProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("password_provider_id NOT IN (?)", passwordProviderID))
}

// PasswordProviderIDNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PasswordProviderIDNotlike(passwordProviderID string) ClusterQuerySet {
	return qs.w(qs.db.Where("password_provider_id NOT LIKE ?", passwordProviderID))
}

// PreloadAttributes is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadAttributes() ClusterQuerySet {
	return qs.w(qs.db.Preload("Attributes"))
}

// PreloadCrossAccountDeployment is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadCrossAccountDeployment() ClusterQuerySet {
	return qs.w(qs.db.Preload("CrossAccountDeployment"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadProvider() ClusterQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) PreloadRegion() ClusterQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDEq(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDGt(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDGte(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDIn(projectID ...ID) ClusterQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDLt(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDLte(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDNe(projectID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProjectIDNotIn(projectID ...ID) ClusterQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDEq(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDGt(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDGte(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDIn(providerID ...ID) ClusterQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDLt(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDLte(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDNe(providerID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIDNotIn(providerID ...ID) ClusterQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ProviderIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// ReadOnlyEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyEq(readOnly uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("read_only = ?", readOnly))
}

// ReadOnlyGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyGt(readOnly uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("read_only > ?", readOnly))
}

// ReadOnlyGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyGte(readOnly uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("read_only >= ?", readOnly))
}

// ReadOnlyIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyIn(readOnly ...uint64) ClusterQuerySet {
	if len(readOnly) == 0 {
		qs.db.AddError(errors.New("must at least pass one readOnly in ReadOnlyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("read_only IN (?)", readOnly))
}

// ReadOnlyLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyLt(readOnly uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("read_only < ?", readOnly))
}

// ReadOnlyLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyLte(readOnly uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("read_only <= ?", readOnly))
}

// ReadOnlyNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyNe(readOnly uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("read_only != ?", readOnly))
}

// ReadOnlyNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReadOnlyNotIn(readOnly ...uint64) ClusterQuerySet {
	if len(readOnly) == 0 {
		qs.db.AddError(errors.New("must at least pass one readOnly in ReadOnlyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("read_only NOT IN (?)", readOnly))
}

// RecoveryModeEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RecoveryModeEq(recoveryMode bool) ClusterQuerySet {
	return qs.w(qs.db.Where("recovery_mode = ?", recoveryMode))
}

// RecoveryModeIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RecoveryModeIn(recoveryMode ...bool) ClusterQuerySet {
	if len(recoveryMode) == 0 {
		qs.db.AddError(errors.New("must at least pass one recoveryMode in RecoveryModeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("recovery_mode IN (?)", recoveryMode))
}

// RecoveryModeNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RecoveryModeNe(recoveryMode bool) ClusterQuerySet {
	return qs.w(qs.db.Where("recovery_mode != ?", recoveryMode))
}

// RecoveryModeNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RecoveryModeNotIn(recoveryMode ...bool) ClusterQuerySet {
	if len(recoveryMode) == 0 {
		qs.db.AddError(errors.New("must at least pass one recoveryMode in RecoveryModeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("recovery_mode NOT IN (?)", recoveryMode))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDEq(regionID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDGt(regionID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDGte(regionID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDIn(regionID ...ID) ClusterQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDLt(regionID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDLte(regionID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDNe(regionID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIDNotIn(regionID ...ID) ClusterQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RegionIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// ReplicasEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasEq(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas = ?", replicas))
}

// ReplicasGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasGt(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas > ?", replicas))
}

// ReplicasGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasGte(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas >= ?", replicas))
}

// ReplicasIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasIn(replicas ...uint) ClusterQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas IN (?)", replicas))
}

// ReplicasLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasLt(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas < ?", replicas))
}

// ReplicasLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasLte(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas <= ?", replicas))
}

// ReplicasNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasNe(replicas uint) ClusterQuerySet {
	return qs.w(qs.db.Where("replicas != ?", replicas))
}

// ReplicasNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicasNotIn(replicas ...uint) ClusterQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas NOT IN (?)", replicas))
}

// ReplicationIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDEq(replicationID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id = ?", replicationID))
}

// ReplicationIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDGt(replicationID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id > ?", replicationID))
}

// ReplicationIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDGte(replicationID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id >= ?", replicationID))
}

// ReplicationIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDIn(replicationID ...uint64) ClusterQuerySet {
	if len(replicationID) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicationID in ReplicationIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replication_id IN (?)", replicationID))
}

// ReplicationIDIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id IS NOT NULL"))
}

// ReplicationIDIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id IS NULL"))
}

// ReplicationIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDLt(replicationID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id < ?", replicationID))
}

// ReplicationIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDLte(replicationID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id <= ?", replicationID))
}

// ReplicationIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDNe(replicationID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("replication_id != ?", replicationID))
}

// ReplicationIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) ReplicationIDNotIn(replicationID ...uint64) ClusterQuerySet {
	if len(replicationID) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicationID in ReplicationIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replication_id NOT IN (?)", replicationID))
}

// RestoreIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDEq(restoreID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id = ?", restoreID))
}

// RestoreIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDGt(restoreID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id > ?", restoreID))
}

// RestoreIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDGte(restoreID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id >= ?", restoreID))
}

// RestoreIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDIn(restoreID ...uint64) ClusterQuerySet {
	if len(restoreID) == 0 {
		qs.db.AddError(errors.New("must at least pass one restoreID in RestoreIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("restore_id IN (?)", restoreID))
}

// RestoreIDIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id IS NOT NULL"))
}

// RestoreIDIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id IS NULL"))
}

// RestoreIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDLt(restoreID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id < ?", restoreID))
}

// RestoreIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDLte(restoreID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id <= ?", restoreID))
}

// RestoreIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDNe(restoreID uint64) ClusterQuerySet {
	return qs.w(qs.db.Where("restore_id != ?", restoreID))
}

// RestoreIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) RestoreIDNotIn(restoreID ...uint64) ClusterQuerySet {
	if len(restoreID) == 0 {
		qs.db.AddError(errors.New("must at least pass one restoreID in RestoreIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("restore_id NOT IN (?)", restoreID))
}

// SaltEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) SaltEq(salt []byte) ClusterQuerySet {
	return qs.w(qs.db.Where("salt = ?", salt))
}

// SaltIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) SaltIn(salt ...[]byte) ClusterQuerySet {
	if len(salt) == 0 {
		qs.db.AddError(errors.New("must at least pass one salt in SaltIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("salt IN (?)", salt))
}

// SaltNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) SaltNe(salt []byte) ClusterQuerySet {
	return qs.w(qs.db.Where("salt != ?", salt))
}

// SaltNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) SaltNotIn(salt ...[]byte) ClusterQuerySet {
	if len(salt) == 0 {
		qs.db.AddError(errors.New("must at least pass one salt in SaltNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("salt NOT IN (?)", salt))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusEq(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusGt(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusGte(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusIn(status ...ClusterStatus) ClusterQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusLike(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusLt(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusLte(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusNe(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusNotIn(status ...ClusterStatus) ClusterQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) StatusNotlike(status ClusterStatus) ClusterQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDEq(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDGt(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDGte(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDIn(tenantID ...ID) ClusterQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDLt(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDLte(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDNe(tenantID ID) ClusterQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) TenantIDNotIn(tenantID ...ID) ClusterQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtIsNotNull() ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtIsNull() ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningEq(versioning int) ClusterQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningGt(versioning int) ClusterQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningGte(versioning int) ClusterQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningIn(versioning ...int) ClusterQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningLt(versioning int) ClusterQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningLte(versioning int) ClusterQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningNe(versioning int) ClusterQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterQuerySet) VersioningNotIn(versioning ...int) ClusterQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetAttributes is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetAttributes(attributes ClusterAttributes) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Attributes)] = attributes
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCreatedAt(createdAt time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CreatedAt)] = createdAt
	return u
}

// SetCreatedByID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCreatedByID(createdByID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CreatedByID)] = createdByID
	return u
}

// SetCreationFinishedTime is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCreationFinishedTime(creationFinishedTime *time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CreationFinishedTime)] = creationFinishedTime
	return u
}

// SetCrossAccountDeploymentID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetCrossAccountDeploymentID(crossAccountDeploymentID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.CrossAccountDeploymentID)] = crossAccountDeploymentID
	return u
}

// SetDeletedTime is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetDeletedTime(deletedTime *time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.DeletedTime)] = deletedTime
	return u
}

// SetDeployType is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetDeployType(deployType DeployType) ClusterUpdater {
	u.fields[string(ClusterDBSchema.DeployType)] = deployType
	return u
}

// SetEncryptedCloudAdminPassword is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetEncryptedCloudAdminPassword(encryptedCloudAdminPassword string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.EncryptedCloudAdminPassword)] = encryptedCloudAdminPassword
	return u
}

// SetEncryptedRootPassword is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetEncryptedRootPassword(encryptedRootPassword string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.EncryptedRootPassword)] = encryptedRootPassword
	return u
}

// SetFinalBackupBeforeDelete is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetFinalBackupBeforeDelete(finalBackupBeforeDelete bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.FinalBackupBeforeDelete)] = finalBackupBeforeDelete
	return u
}

// SetFirstClusterInProjectRegion is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetFirstClusterInProjectRegion(firstClusterInProjectRegion *bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.FirstClusterInProjectRegion)] = firstClusterInProjectRegion
	return u
}

// SetFree is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetFree(free bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Free)] = free
	return u
}

// SetHasSetPwd is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetHasSetPwd(hasSetPwd *bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.HasSetPwd)] = hasSetPwd
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetID(ID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ID)] = ID
	return u
}

// SetImportID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetImportID(importID *uint64) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ImportID)] = importID
	return u
}

// SetInitialVersion is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetInitialVersion(initialVersion string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.InitialVersion)] = initialVersion
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetName(name string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Name)] = name
	return u
}

// SetOnNewArch is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetOnNewArch(onNewArch bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.OnNewArch)] = onNewArch
	return u
}

// SetPasswordProviderID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetPasswordProviderID(passwordProviderID string) ClusterUpdater {
	u.fields[string(ClusterDBSchema.PasswordProviderID)] = passwordProviderID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetProjectID(projectID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ProjectID)] = projectID
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetProviderID(providerID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ProviderID)] = providerID
	return u
}

// SetReadOnly is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetReadOnly(readOnly uint64) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ReadOnly)] = readOnly
	return u
}

// SetRecoveryMode is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetRecoveryMode(recoveryMode bool) ClusterUpdater {
	u.fields[string(ClusterDBSchema.RecoveryMode)] = recoveryMode
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetRegionID(regionID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.RegionID)] = regionID
	return u
}

// SetReplicas is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetReplicas(replicas uint) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Replicas)] = replicas
	return u
}

// SetReplicationID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetReplicationID(replicationID *uint64) ClusterUpdater {
	u.fields[string(ClusterDBSchema.ReplicationID)] = replicationID
	return u
}

// SetRestoreID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetRestoreID(restoreID *uint64) ClusterUpdater {
	u.fields[string(ClusterDBSchema.RestoreID)] = restoreID
	return u
}

// SetSalt is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetSalt(salt []byte) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Salt)] = salt
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetStatus(status ClusterStatus) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Status)] = status
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetTenantID(tenantID ID) ClusterUpdater {
	u.fields[string(ClusterDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterUpdater {
	u.fields[string(ClusterDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) SetVersioning(versioning int) ClusterUpdater {
	u.fields[string(ClusterDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterQuerySet

// ===== BEGIN of Cluster modifiers

// ClusterDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterDBSchemaField) String() string {
	return string(f)
}

// ClusterDBSchema stores db field names of Cluster
var ClusterDBSchema = struct {
	ID                          ClusterDBSchemaField
	CreatedAt                   ClusterDBSchemaField
	UpdatedAt                   ClusterDBSchemaField
	Versioning                  ClusterDBSchemaField
	DeletedTime                 ClusterDBSchemaField
	CreationFinishedTime        ClusterDBSchemaField
	Name                        ClusterDBSchemaField
	TenantID                    ClusterDBSchemaField
	CreatedByID                 ClusterDBSchemaField
	Status                      ClusterDBSchemaField
	EncryptedRootPassword       ClusterDBSchemaField
	EncryptedCloudAdminPassword ClusterDBSchemaField
	PasswordProviderID          ClusterDBSchemaField
	Replicas                    ClusterDBSchemaField
	ProviderID                  ClusterDBSchemaField
	Provider                    ClusterDBSchemaField
	RegionID                    ClusterDBSchemaField
	Region                      ClusterDBSchemaField
	DeployType                  ClusterDBSchemaField
	FinalBackupBeforeDelete     ClusterDBSchemaField
	Free                        ClusterDBSchemaField
	ProjectID                   ClusterDBSchemaField
	HasSetPwd                   ClusterDBSchemaField
	FirstClusterInProjectRegion ClusterDBSchemaField
	ImportID                    ClusterDBSchemaField
	ReplicationID               ClusterDBSchemaField
	ReadOnly                    ClusterDBSchemaField
	Salt                        ClusterDBSchemaField
	CrossAccountDeploymentID    ClusterDBSchemaField
	CrossAccountDeployment      ClusterDBSchemaField
	RestoreID                   ClusterDBSchemaField
	RecoveryMode                ClusterDBSchemaField
	OnNewArch                   ClusterDBSchemaField
	InitialVersion              ClusterDBSchemaField
	Attributes                  ClusterDBSchemaField
}{

	ID:                          ClusterDBSchemaField("id"),
	CreatedAt:                   ClusterDBSchemaField("created_at"),
	UpdatedAt:                   ClusterDBSchemaField("updated_at"),
	Versioning:                  ClusterDBSchemaField("versioning"),
	DeletedTime:                 ClusterDBSchemaField("deleted_time"),
	CreationFinishedTime:        ClusterDBSchemaField("creation_finished_time"),
	Name:                        ClusterDBSchemaField("name"),
	TenantID:                    ClusterDBSchemaField("tenant_id"),
	CreatedByID:                 ClusterDBSchemaField("created_by_id"),
	Status:                      ClusterDBSchemaField("status"),
	EncryptedRootPassword:       ClusterDBSchemaField("encrypted_root_password"),
	EncryptedCloudAdminPassword: ClusterDBSchemaField("encrypted_cloud_admin_password"),
	PasswordProviderID:          ClusterDBSchemaField("password_provider_id"),
	Replicas:                    ClusterDBSchemaField("replicas"),
	ProviderID:                  ClusterDBSchemaField("provider_id"),
	Provider:                    ClusterDBSchemaField("provider"),
	RegionID:                    ClusterDBSchemaField("region_id"),
	Region:                      ClusterDBSchemaField("region"),
	DeployType:                  ClusterDBSchemaField("deploy_type"),
	FinalBackupBeforeDelete:     ClusterDBSchemaField("poc_deleted"),
	Free:                        ClusterDBSchemaField("free"),
	ProjectID:                   ClusterDBSchemaField("project_id"),
	HasSetPwd:                   ClusterDBSchemaField("has_set_pwd"),
	FirstClusterInProjectRegion: ClusterDBSchemaField("first_cluster_in_project_region"),
	ImportID:                    ClusterDBSchemaField("import_id"),
	ReplicationID:               ClusterDBSchemaField("replication_id"),
	ReadOnly:                    ClusterDBSchemaField("read_only"),
	Salt:                        ClusterDBSchemaField("salt"),
	CrossAccountDeploymentID:    ClusterDBSchemaField("cross_account_deployment_id"),
	CrossAccountDeployment:      ClusterDBSchemaField("cross_account_deployment"),
	RestoreID:                   ClusterDBSchemaField("restore_id"),
	RecoveryMode:                ClusterDBSchemaField("recovery_mode"),
	OnNewArch:                   ClusterDBSchemaField("on_new_arch"),
	InitialVersion:              ClusterDBSchemaField("initial_version"),
	Attributes:                  ClusterDBSchemaField("attributes"),
}

// Update updates Cluster fields by primary key
// nolint: dupl
func (o *Cluster) Update(db *gorm.DB, fields ...ClusterDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                              o.ID,
		"created_at":                      o.CreatedAt,
		"updated_at":                      o.UpdatedAt,
		"versioning":                      o.Versioning,
		"deleted_time":                    o.DeletedTime,
		"creation_finished_time":          o.CreationFinishedTime,
		"name":                            o.Name,
		"tenant_id":                       o.TenantID,
		"created_by_id":                   o.CreatedByID,
		"status":                          o.Status,
		"encrypted_root_password":         o.EncryptedRootPassword,
		"encrypted_cloud_admin_password":  o.EncryptedCloudAdminPassword,
		"password_provider_id":            o.PasswordProviderID,
		"replicas":                        o.Replicas,
		"provider_id":                     o.ProviderID,
		"provider":                        o.Provider,
		"region_id":                       o.RegionID,
		"region":                          o.Region,
		"deploy_type":                     o.DeployType,
		"poc_deleted":                     o.FinalBackupBeforeDelete,
		"free":                            o.Free,
		"project_id":                      o.ProjectID,
		"has_set_pwd":                     o.HasSetPwd,
		"first_cluster_in_project_region": o.FirstClusterInProjectRegion,
		"import_id":                       o.ImportID,
		"replication_id":                  o.ReplicationID,
		"read_only":                       o.ReadOnly,
		"salt":                            o.Salt,
		"cross_account_deployment_id":     o.CrossAccountDeploymentID,
		"cross_account_deployment":        o.CrossAccountDeployment,
		"restore_id":                      o.RestoreID,
		"recovery_mode":                   o.RecoveryMode,
		"on_new_arch":                     o.OnNewArch,
		"initial_version":                 o.InitialVersion,
		"attributes":                      o.Attributes,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Cluster %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterUpdater is an Cluster updates manager
type ClusterUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterUpdater creates new Cluster updater
// nolint: dupl
func NewClusterUpdater(db *gorm.DB) ClusterUpdater {
	return ClusterUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Cluster{}),
	}
}

// ===== END of Cluster modifiers

// ===== BEGIN of query set ClusterSnapshotQuerySet

// ClusterSnapshotQuerySet is an queryset type for ClusterSnapshot
type ClusterSnapshotQuerySet struct {
	db *gorm.DB
}

// NewClusterSnapshotQuerySet constructs new ClusterSnapshotQuerySet
func NewClusterSnapshotQuerySet(db *gorm.DB) ClusterSnapshotQuerySet {
	return ClusterSnapshotQuerySet{
		db: db.Model(&ClusterSnapshot{}),
	}
}

func (qs ClusterSnapshotQuerySet) w(db *gorm.DB) ClusterSnapshotQuerySet {
	return NewClusterSnapshotQuerySet(db)
}

func (qs ClusterSnapshotQuerySet) Select(fields ...ClusterSnapshotDBSchemaField) ClusterSnapshotQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ClusterSnapshot) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ClusterSnapshot) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) All(ret *[]ClusterSnapshot) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDEq(clusterID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDGt(clusterID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDGte(clusterID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDIn(clusterID ...ID) ClusterSnapshotQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDLt(clusterID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDLte(clusterID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDNe(clusterID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIDNotIn(clusterID ...ID) ClusterSnapshotQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIsNotNull() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ClusterIsNull() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) CreatedAtEq(createdAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) CreatedAtGt(createdAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) CreatedAtGte(createdAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) CreatedAtLt(createdAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) CreatedAtLte(createdAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) CreatedAtNe(createdAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) Delete() error {
	return qs.db.Delete(&ClusterSnapshot{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ClusterSnapshot{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ClusterSnapshot{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) GetUpdater() ClusterSnapshotUpdater {
	return NewClusterSnapshotUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDEq(ID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDGt(ID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDGte(ID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDIn(ID ...ID) ClusterSnapshotQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDLt(ID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDLte(ID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDNe(ID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) IDNotIn(ID ...ID) ClusterSnapshotQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) Limit(limit int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) Offset(offset int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ClusterSnapshotQuerySet) One(ret *ClusterSnapshot) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByClusterID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByCreatedAt() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByProjectID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByTenantID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByUpdatedAt() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderAscByVersioning() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByClusterID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByCreatedAt() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByProjectID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByTenantID() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByUpdatedAt() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) OrderDescByVersioning() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) PreloadCluster() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// PreloadComponentStates is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) PreloadComponentStates() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Preload("ComponentStates"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDEq(projectID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDGt(projectID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDGte(projectID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDIn(projectID ...ID) ClusterSnapshotQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDLt(projectID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDLte(projectID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDNe(projectID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) ProjectIDNotIn(projectID ...ID) ClusterSnapshotQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDEq(tenantID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDGt(tenantID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDGte(tenantID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDIn(tenantID ...ID) ClusterSnapshotQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDLt(tenantID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDLte(tenantID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDNe(tenantID ID) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) TenantIDNotIn(tenantID ...ID) ClusterSnapshotQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtEq(updatedAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtGt(updatedAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtGte(updatedAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtIsNotNull() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtIsNull() ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtLt(updatedAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtLte(updatedAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) UpdatedAtNe(updatedAt time.Time) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningEq(versioning int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningGt(versioning int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningGte(versioning int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningIn(versioning ...int) ClusterSnapshotQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningLt(versioning int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningLte(versioning int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningNe(versioning int) ClusterSnapshotQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs ClusterSnapshotQuerySet) VersioningNotIn(versioning ...int) ClusterSnapshotQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetClusterID(clusterID ID) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.ClusterID)] = clusterID
	return u
}

// SetComponentStates is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetComponentStates(componentStates ComponentStates) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.ComponentStates)] = componentStates
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetCreatedAt(createdAt time.Time) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetID(ID ID) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetProjectID(projectID ID) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.ProjectID)] = projectID
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetTenantID(tenantID ID) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetUpdatedAt(updatedAt *time.Time) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) SetVersioning(versioning int) ClusterSnapshotUpdater {
	u.fields[string(ClusterSnapshotDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ClusterSnapshotUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ClusterSnapshotQuerySet

// ===== BEGIN of ClusterSnapshot modifiers

// ClusterSnapshotDBSchemaField describes database schema field. It requires for method 'Update'
type ClusterSnapshotDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ClusterSnapshotDBSchemaField) String() string {
	return string(f)
}

// ClusterSnapshotDBSchema stores db field names of ClusterSnapshot
var ClusterSnapshotDBSchema = struct {
	ID              ClusterSnapshotDBSchemaField
	CreatedAt       ClusterSnapshotDBSchemaField
	UpdatedAt       ClusterSnapshotDBSchemaField
	Versioning      ClusterSnapshotDBSchemaField
	TenantID        ClusterSnapshotDBSchemaField
	ProjectID       ClusterSnapshotDBSchemaField
	ClusterID       ClusterSnapshotDBSchemaField
	Cluster         ClusterSnapshotDBSchemaField
	ComponentStates ClusterSnapshotDBSchemaField
}{

	ID:              ClusterSnapshotDBSchemaField("id"),
	CreatedAt:       ClusterSnapshotDBSchemaField("created_at"),
	UpdatedAt:       ClusterSnapshotDBSchemaField("updated_at"),
	Versioning:      ClusterSnapshotDBSchemaField("versioning"),
	TenantID:        ClusterSnapshotDBSchemaField("tenant_id"),
	ProjectID:       ClusterSnapshotDBSchemaField("project_id"),
	ClusterID:       ClusterSnapshotDBSchemaField("cluster_id"),
	Cluster:         ClusterSnapshotDBSchemaField("cluster"),
	ComponentStates: ClusterSnapshotDBSchemaField("component_states"),
}

// Update updates ClusterSnapshot fields by primary key
// nolint: dupl
func (o *ClusterSnapshot) Update(db *gorm.DB, fields ...ClusterSnapshotDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":               o.ID,
		"created_at":       o.CreatedAt,
		"updated_at":       o.UpdatedAt,
		"versioning":       o.Versioning,
		"tenant_id":        o.TenantID,
		"project_id":       o.ProjectID,
		"cluster_id":       o.ClusterID,
		"cluster":          o.Cluster,
		"component_states": o.ComponentStates,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ClusterSnapshot %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ClusterSnapshotUpdater is an ClusterSnapshot updates manager
type ClusterSnapshotUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewClusterSnapshotUpdater creates new ClusterSnapshot updater
// nolint: dupl
func NewClusterSnapshotUpdater(db *gorm.DB) ClusterSnapshotUpdater {
	return ClusterSnapshotUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ClusterSnapshot{}),
	}
}

// ===== END of ClusterSnapshot modifiers

// ===== BEGIN of query set ConnectionQuerySet

// ConnectionQuerySet is an queryset type for Connection
type ConnectionQuerySet struct {
	db *gorm.DB
}

// NewConnectionQuerySet constructs new ConnectionQuerySet
func NewConnectionQuerySet(db *gorm.DB) ConnectionQuerySet {
	return ConnectionQuerySet{
		db: db.Model(&Connection{}),
	}
}

func (qs ConnectionQuerySet) w(db *gorm.DB) ConnectionQuerySet {
	return NewConnectionQuerySet(db)
}

func (qs ConnectionQuerySet) Select(fields ...ConnectionDBSchemaField) ConnectionQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Connection) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Connection) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) All(ret *[]Connection) error {
	return qs.db.Find(ret).Error
}

// ClusterIDEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDEq(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id = ?", clusterID))
}

// ClusterIDGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDGt(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id > ?", clusterID))
}

// ClusterIDGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDGte(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id >= ?", clusterID))
}

// ClusterIDIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDIn(clusterID ...ID) ConnectionQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id IN (?)", clusterID))
}

// ClusterIDLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDLt(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id < ?", clusterID))
}

// ClusterIDLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDLte(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id <= ?", clusterID))
}

// ClusterIDNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDNe(clusterID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster_id != ?", clusterID))
}

// ClusterIDNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIDNotIn(clusterID ...ID) ConnectionQuerySet {
	if len(clusterID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterID in ClusterIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_id NOT IN (?)", clusterID))
}

// ClusterIsNotNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIsNotNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster IS NOT NULL"))
}

// ClusterIsNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) ClusterIsNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("cluster IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreateSuccessEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessEq(createSuccess bool) ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success = ?", createSuccess))
}

// CreateSuccessIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessIn(createSuccess ...bool) ConnectionQuerySet {
	if len(createSuccess) == 0 {
		qs.db.AddError(errors.New("must at least pass one createSuccess in CreateSuccessIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("create_success IN (?)", createSuccess))
}

// CreateSuccessIsNotNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessIsNotNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success IS NOT NULL"))
}

// CreateSuccessIsNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessIsNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success IS NULL"))
}

// CreateSuccessNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessNe(createSuccess bool) ConnectionQuerySet {
	return qs.w(qs.db.Where("create_success != ?", createSuccess))
}

// CreateSuccessNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreateSuccessNotIn(createSuccess ...bool) ConnectionQuerySet {
	if len(createSuccess) == 0 {
		qs.db.AddError(errors.New("must at least pass one createSuccess in CreateSuccessNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("create_success NOT IN (?)", createSuccess))
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtEq(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtGt(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtGte(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtLt(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtLte(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) CreatedAtNe(createdAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// DSNEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNEq(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn = ?", dSN))
}

// DSNGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNGt(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn > ?", dSN))
}

// DSNGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNGte(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn >= ?", dSN))
}

// DSNIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNIn(dSN ...string) ConnectionQuerySet {
	if len(dSN) == 0 {
		qs.db.AddError(errors.New("must at least pass one dSN in DSNIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("dsn IN (?)", dSN))
}

// DSNLike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNLike(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn LIKE ?", dSN))
}

// DSNLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNLt(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn < ?", dSN))
}

// DSNLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNLte(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn <= ?", dSN))
}

// DSNNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNNe(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn != ?", dSN))
}

// DSNNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNNotIn(dSN ...string) ConnectionQuerySet {
	if len(dSN) == 0 {
		qs.db.AddError(errors.New("must at least pass one dSN in DSNNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("dsn NOT IN (?)", dSN))
}

// DSNNotlike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DSNNotlike(dSN string) ConnectionQuerySet {
	return qs.w(qs.db.Where("dsn NOT LIKE ?", dSN))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Delete() error {
	return qs.db.Delete(&Connection{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Connection{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Connection{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) GetUpdater() ConnectionUpdater {
	return NewConnectionUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDEq(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDGt(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDGte(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDIn(ID ...ID) ConnectionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDLt(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDLte(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDNe(ID ID) ConnectionQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) IDNotIn(ID ...ID) ConnectionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Limit(limit int) ConnectionQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) Offset(offset int) ConnectionQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ConnectionQuerySet) One(ret *Connection) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByClusterID() ConnectionQuerySet {
	return qs.w(qs.db.Order("cluster_id ASC"))
}

// OrderAscByCreateSuccess is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByCreateSuccess() ConnectionQuerySet {
	return qs.w(qs.db.Order("create_success ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByCreatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDSN is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByDSN() ConnectionQuerySet {
	return qs.w(qs.db.Order("dsn ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByID() ConnectionQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByPort is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByPort() ConnectionQuerySet {
	return qs.w(qs.db.Order("port ASC"))
}

// OrderAscByType is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByType() ConnectionQuerySet {
	return qs.w(qs.db.Order("type ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderAscByUpdatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByClusterID() ConnectionQuerySet {
	return qs.w(qs.db.Order("cluster_id DESC"))
}

// OrderDescByCreateSuccess is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByCreateSuccess() ConnectionQuerySet {
	return qs.w(qs.db.Order("create_success DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByCreatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDSN is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByDSN() ConnectionQuerySet {
	return qs.w(qs.db.Order("dsn DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByID() ConnectionQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByPort is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByPort() ConnectionQuerySet {
	return qs.w(qs.db.Order("port DESC"))
}

// OrderDescByType is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByType() ConnectionQuerySet {
	return qs.w(qs.db.Order("type DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) OrderDescByUpdatedAt() ConnectionQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PortEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortEq(port int32) ConnectionQuerySet {
	return qs.w(qs.db.Where("port = ?", port))
}

// PortGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortGt(port int32) ConnectionQuerySet {
	return qs.w(qs.db.Where("port > ?", port))
}

// PortGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortGte(port int32) ConnectionQuerySet {
	return qs.w(qs.db.Where("port >= ?", port))
}

// PortIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortIn(port ...int32) ConnectionQuerySet {
	if len(port) == 0 {
		qs.db.AddError(errors.New("must at least pass one port in PortIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("port IN (?)", port))
}

// PortLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortLt(port int32) ConnectionQuerySet {
	return qs.w(qs.db.Where("port < ?", port))
}

// PortLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortLte(port int32) ConnectionQuerySet {
	return qs.w(qs.db.Where("port <= ?", port))
}

// PortNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortNe(port int32) ConnectionQuerySet {
	return qs.w(qs.db.Where("port != ?", port))
}

// PortNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PortNotIn(port ...int32) ConnectionQuerySet {
	if len(port) == 0 {
		qs.db.AddError(errors.New("must at least pass one port in PortNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("port NOT IN (?)", port))
}

// PreloadCluster is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) PreloadCluster() ConnectionQuerySet {
	return qs.w(qs.db.Preload("Cluster"))
}

// TypeEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeEq(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type = ?", typeValue))
}

// TypeGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeGt(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type > ?", typeValue))
}

// TypeGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeGte(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type >= ?", typeValue))
}

// TypeIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeIn(typeValue ...ClusterConnectionType) ConnectionQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type IN (?)", typeValue))
}

// TypeLike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeLike(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type LIKE ?", typeValue))
}

// TypeLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeLt(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type < ?", typeValue))
}

// TypeLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeLte(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type <= ?", typeValue))
}

// TypeNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeNe(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type != ?", typeValue))
}

// TypeNotIn is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeNotIn(typeValue ...ClusterConnectionType) ConnectionQuerySet {
	if len(typeValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one typeValue in TypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("type NOT IN (?)", typeValue))
}

// TypeNotlike is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) TypeNotlike(typeValue ClusterConnectionType) ConnectionQuerySet {
	return qs.w(qs.db.Where("type NOT LIKE ?", typeValue))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtEq(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtGt(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtGte(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtIsNotNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtIsNull() ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtLt(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtLte(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ConnectionQuerySet) UpdatedAtNe(updatedAt time.Time) ConnectionQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterID is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetClusterID(clusterID ID) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.ClusterID)] = clusterID
	return u
}

// SetCreateSuccess is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetCreateSuccess(createSuccess *bool) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.CreateSuccess)] = createSuccess
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetCreatedAt(createdAt time.Time) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDSN is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetDSN(dSN string) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.DSN)] = dSN
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetID(ID ID) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.ID)] = ID
	return u
}

// SetPort is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetPort(port int32) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.Port)] = port
	return u
}

// SetType is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetType(typeValue ClusterConnectionType) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.Type)] = typeValue
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) SetUpdatedAt(updatedAt *time.Time) ConnectionUpdater {
	u.fields[string(ConnectionDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ConnectionUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ConnectionQuerySet

// ===== BEGIN of Connection modifiers

// ConnectionDBSchemaField describes database schema field. It requires for method 'Update'
type ConnectionDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ConnectionDBSchemaField) String() string {
	return string(f)
}

// ConnectionDBSchema stores db field names of Connection
var ConnectionDBSchema = struct {
	ID            ConnectionDBSchemaField
	CreatedAt     ConnectionDBSchemaField
	UpdatedAt     ConnectionDBSchemaField
	ClusterID     ConnectionDBSchemaField
	Cluster       ConnectionDBSchemaField
	Type          ConnectionDBSchemaField
	DSN           ConnectionDBSchemaField
	Port          ConnectionDBSchemaField
	CreateSuccess ConnectionDBSchemaField
}{

	ID:            ConnectionDBSchemaField("id"),
	CreatedAt:     ConnectionDBSchemaField("created_at"),
	UpdatedAt:     ConnectionDBSchemaField("updated_at"),
	ClusterID:     ConnectionDBSchemaField("cluster_id"),
	Cluster:       ConnectionDBSchemaField("cluster"),
	Type:          ConnectionDBSchemaField("type"),
	DSN:           ConnectionDBSchemaField("dsn"),
	Port:          ConnectionDBSchemaField("port"),
	CreateSuccess: ConnectionDBSchemaField("create_success"),
}

// Update updates Connection fields by primary key
// nolint: dupl
func (o *Connection) Update(db *gorm.DB, fields ...ConnectionDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"cluster_id":     o.ClusterID,
		"cluster":        o.Cluster,
		"type":           o.Type,
		"dsn":            o.DSN,
		"port":           o.Port,
		"create_success": o.CreateSuccess,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Connection %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ConnectionUpdater is an Connection updates manager
type ConnectionUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewConnectionUpdater creates new Connection updater
// nolint: dupl
func NewConnectionUpdater(db *gorm.DB) ConnectionUpdater {
	return ConnectionUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Connection{}),
	}
}

// ===== END of Connection modifiers

// ===== BEGIN of query set CrossAccountDeploymentQuerySet

// CrossAccountDeploymentQuerySet is an queryset type for CrossAccountDeployment
type CrossAccountDeploymentQuerySet struct {
	db *gorm.DB
}

// NewCrossAccountDeploymentQuerySet constructs new CrossAccountDeploymentQuerySet
func NewCrossAccountDeploymentQuerySet(db *gorm.DB) CrossAccountDeploymentQuerySet {
	return CrossAccountDeploymentQuerySet{
		db: db.Model(&CrossAccountDeployment{}),
	}
}

func (qs CrossAccountDeploymentQuerySet) w(db *gorm.DB) CrossAccountDeploymentQuerySet {
	return NewCrossAccountDeploymentQuerySet(db)
}

func (qs CrossAccountDeploymentQuerySet) Select(fields ...CrossAccountDeploymentDBSchemaField) CrossAccountDeploymentQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *CrossAccountDeployment) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *CrossAccountDeployment) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) All(ret *[]CrossAccountDeployment) error {
	return qs.db.Find(ret).Error
}

// BucketNameEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameEq(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name = ?", bucketName))
}

// BucketNameGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameGt(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name > ?", bucketName))
}

// BucketNameGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameGte(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name >= ?", bucketName))
}

// BucketNameIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameIn(bucketName ...string) CrossAccountDeploymentQuerySet {
	if len(bucketName) == 0 {
		qs.db.AddError(errors.New("must at least pass one bucketName in BucketNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("bucket_name IN (?)", bucketName))
}

// BucketNameLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameLike(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name LIKE ?", bucketName))
}

// BucketNameLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameLt(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name < ?", bucketName))
}

// BucketNameLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameLte(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name <= ?", bucketName))
}

// BucketNameNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameNe(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name != ?", bucketName))
}

// BucketNameNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameNotIn(bucketName ...string) CrossAccountDeploymentQuerySet {
	if len(bucketName) == 0 {
		qs.db.AddError(errors.New("must at least pass one bucketName in BucketNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("bucket_name NOT IN (?)", bucketName))
}

// BucketNameNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) BucketNameNotlike(bucketName string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("bucket_name NOT LIKE ?", bucketName))
}

// CACertEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertEq(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert = ?", cACert))
}

// CACertGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertGt(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert > ?", cACert))
}

// CACertGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertGte(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert >= ?", cACert))
}

// CACertIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertIn(cACert ...string) CrossAccountDeploymentQuerySet {
	if len(cACert) == 0 {
		qs.db.AddError(errors.New("must at least pass one cACert in CACertIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("ca_cert IN (?)", cACert))
}

// CACertLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertLike(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert LIKE ?", cACert))
}

// CACertLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertLt(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert < ?", cACert))
}

// CACertLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertLte(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert <= ?", cACert))
}

// CACertNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertNe(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert != ?", cACert))
}

// CACertNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertNotIn(cACert ...string) CrossAccountDeploymentQuerySet {
	if len(cACert) == 0 {
		qs.db.AddError(errors.New("must at least pass one cACert in CACertNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("ca_cert NOT IN (?)", cACert))
}

// CACertNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CACertNotlike(cACert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("ca_cert NOT LIKE ?", cACert))
}

// CertEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertEq(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert = ?", cert))
}

// CertGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertGt(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert > ?", cert))
}

// CertGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertGte(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert >= ?", cert))
}

// CertIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertIn(cert ...string) CrossAccountDeploymentQuerySet {
	if len(cert) == 0 {
		qs.db.AddError(errors.New("must at least pass one cert in CertIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cert IN (?)", cert))
}

// CertLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertLike(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert LIKE ?", cert))
}

// CertLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertLt(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert < ?", cert))
}

// CertLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertLte(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert <= ?", cert))
}

// CertNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertNe(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert != ?", cert))
}

// CertNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertNotIn(cert ...string) CrossAccountDeploymentQuerySet {
	if len(cert) == 0 {
		qs.db.AddError(errors.New("must at least pass one cert in CertNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cert NOT IN (?)", cert))
}

// CertNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CertNotlike(cert string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("cert NOT LIKE ?", cert))
}

// Count is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CreatedAtEq(createdAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CreatedAtGt(createdAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CreatedAtGte(createdAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CreatedAtLt(createdAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CreatedAtLte(createdAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) CreatedAtNe(createdAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) Delete() error {
	return qs.db.Delete(&CrossAccountDeployment{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&CrossAccountDeployment{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&CrossAccountDeployment{})
	return db.RowsAffected, db.Error
}

// EKSRoleIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDEq(eKSRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role_id = ?", eKSRoleID))
}

// EKSRoleIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDGt(eKSRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role_id > ?", eKSRoleID))
}

// EKSRoleIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDGte(eKSRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role_id >= ?", eKSRoleID))
}

// EKSRoleIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDIn(eKSRoleID ...ID) CrossAccountDeploymentQuerySet {
	if len(eKSRoleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one eKSRoleID in EKSRoleIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("eks_role_id IN (?)", eKSRoleID))
}

// EKSRoleIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDLt(eKSRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role_id < ?", eKSRoleID))
}

// EKSRoleIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDLte(eKSRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role_id <= ?", eKSRoleID))
}

// EKSRoleIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDNe(eKSRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role_id != ?", eKSRoleID))
}

// EKSRoleIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIDNotIn(eKSRoleID ...ID) CrossAccountDeploymentQuerySet {
	if len(eKSRoleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one eKSRoleID in EKSRoleIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("eks_role_id NOT IN (?)", eKSRoleID))
}

// EKSRoleIsNotNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIsNotNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role IS NOT NULL"))
}

// EKSRoleIsNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) EKSRoleIsNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("eks_role IS NULL"))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) GetUpdater() CrossAccountDeploymentUpdater {
	return NewCrossAccountDeploymentUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDEq(ID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDGt(ID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDGte(ID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDIn(ID ...ID) CrossAccountDeploymentQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDLt(ID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDLte(ID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDNe(ID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IDNotIn(ID ...ID) CrossAccountDeploymentQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// IsMTLSOnEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IsMTLSOnEq(isMTLSOn bool) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("is_m_tls_on = ?", isMTLSOn))
}

// IsMTLSOnIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IsMTLSOnIn(isMTLSOn ...bool) CrossAccountDeploymentQuerySet {
	if len(isMTLSOn) == 0 {
		qs.db.AddError(errors.New("must at least pass one isMTLSOn in IsMTLSOnIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_m_tls_on IN (?)", isMTLSOn))
}

// IsMTLSOnNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IsMTLSOnNe(isMTLSOn bool) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("is_m_tls_on != ?", isMTLSOn))
}

// IsMTLSOnNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) IsMTLSOnNotIn(isMTLSOn ...bool) CrossAccountDeploymentQuerySet {
	if len(isMTLSOn) == 0 {
		qs.db.AddError(errors.New("must at least pass one isMTLSOn in IsMTLSOnNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_m_tls_on NOT IN (?)", isMTLSOn))
}

// KeyEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyEq(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key = ?", key))
}

// KeyGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyGt(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key > ?", key))
}

// KeyGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyGte(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key >= ?", key))
}

// KeyIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyIn(key ...string) CrossAccountDeploymentQuerySet {
	if len(key) == 0 {
		qs.db.AddError(errors.New("must at least pass one key in KeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("key IN (?)", key))
}

// KeyLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyLike(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key LIKE ?", key))
}

// KeyLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyLt(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key < ?", key))
}

// KeyLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyLte(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key <= ?", key))
}

// KeyNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyNe(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key != ?", key))
}

// KeyNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyNotIn(key ...string) CrossAccountDeploymentQuerySet {
	if len(key) == 0 {
		qs.db.AddError(errors.New("must at least pass one key in KeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("key NOT IN (?)", key))
}

// KeyNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KeyNotlike(key string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("key NOT LIKE ?", key))
}

// KmsKeyArnEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnEq(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn = ?", kmsKeyArn))
}

// KmsKeyArnGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnGt(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn > ?", kmsKeyArn))
}

// KmsKeyArnGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnGte(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn >= ?", kmsKeyArn))
}

// KmsKeyArnIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnIn(kmsKeyArn ...string) CrossAccountDeploymentQuerySet {
	if len(kmsKeyArn) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsKeyArn in KmsKeyArnIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_key_arn IN (?)", kmsKeyArn))
}

// KmsKeyArnLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnLike(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn LIKE ?", kmsKeyArn))
}

// KmsKeyArnLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnLt(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn < ?", kmsKeyArn))
}

// KmsKeyArnLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnLte(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn <= ?", kmsKeyArn))
}

// KmsKeyArnNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnNe(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn != ?", kmsKeyArn))
}

// KmsKeyArnNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnNotIn(kmsKeyArn ...string) CrossAccountDeploymentQuerySet {
	if len(kmsKeyArn) == 0 {
		qs.db.AddError(errors.New("must at least pass one kmsKeyArn in KmsKeyArnNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("kms_key_arn NOT IN (?)", kmsKeyArn))
}

// KmsKeyArnNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) KmsKeyArnNotlike(kmsKeyArn string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("kms_key_arn NOT LIKE ?", kmsKeyArn))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) Limit(limit int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NodeRoleIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDEq(nodeRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role_id = ?", nodeRoleID))
}

// NodeRoleIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDGt(nodeRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role_id > ?", nodeRoleID))
}

// NodeRoleIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDGte(nodeRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role_id >= ?", nodeRoleID))
}

// NodeRoleIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDIn(nodeRoleID ...ID) CrossAccountDeploymentQuerySet {
	if len(nodeRoleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one nodeRoleID in NodeRoleIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("node_role_id IN (?)", nodeRoleID))
}

// NodeRoleIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDLt(nodeRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role_id < ?", nodeRoleID))
}

// NodeRoleIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDLte(nodeRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role_id <= ?", nodeRoleID))
}

// NodeRoleIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDNe(nodeRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role_id != ?", nodeRoleID))
}

// NodeRoleIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIDNotIn(nodeRoleID ...ID) CrossAccountDeploymentQuerySet {
	if len(nodeRoleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one nodeRoleID in NodeRoleIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("node_role_id NOT IN (?)", nodeRoleID))
}

// NodeRoleIsNotNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIsNotNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role IS NOT NULL"))
}

// NodeRoleIsNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) NodeRoleIsNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("node_role IS NULL"))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) Offset(offset int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs CrossAccountDeploymentQuerySet) One(ret *CrossAccountDeployment) error {
	return qs.db.First(ret).Error
}

// OrderAscByBucketName is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByBucketName() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("bucket_name ASC"))
}

// OrderAscByCACert is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByCACert() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("ca_cert ASC"))
}

// OrderAscByCert is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByCert() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("cert ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByCreatedAt() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByEKSRoleID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByEKSRoleID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("eks_role_id ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByIsMTLSOn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByIsMTLSOn() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("is_m_tls_on ASC"))
}

// OrderAscByKey is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByKey() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("key ASC"))
}

// OrderAscByKmsKeyArn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByKmsKeyArn() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("kms_key_arn ASC"))
}

// OrderAscByNodeRoleID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByNodeRoleID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("node_role_id ASC"))
}

// OrderAscByPcaArnClient is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByPcaArnClient() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("pca_arn_client ASC"))
}

// OrderAscByPcaArnClusterComponents is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByPcaArnClusterComponents() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("pca_arn_cluster_components ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByProjectID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByProviderID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByRegionID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscBySecurityGroupID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscBySecurityGroupID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("security_group_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByStatus() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByTenantID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByTidbServiceRoleID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByTidbServiceRoleID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("tidb_service_role_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByUpdatedAt() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByVersioning() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderAscByVpcID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderAscByVpcID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("vpc_id ASC"))
}

// OrderDescByBucketName is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByBucketName() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("bucket_name DESC"))
}

// OrderDescByCACert is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByCACert() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("ca_cert DESC"))
}

// OrderDescByCert is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByCert() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("cert DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByCreatedAt() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByEKSRoleID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByEKSRoleID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("eks_role_id DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByIsMTLSOn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByIsMTLSOn() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("is_m_tls_on DESC"))
}

// OrderDescByKey is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByKey() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("key DESC"))
}

// OrderDescByKmsKeyArn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByKmsKeyArn() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("kms_key_arn DESC"))
}

// OrderDescByNodeRoleID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByNodeRoleID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("node_role_id DESC"))
}

// OrderDescByPcaArnClient is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByPcaArnClient() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("pca_arn_client DESC"))
}

// OrderDescByPcaArnClusterComponents is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByPcaArnClusterComponents() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("pca_arn_cluster_components DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByProjectID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByProviderID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByRegionID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescBySecurityGroupID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescBySecurityGroupID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("security_group_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByStatus() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByTenantID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByTidbServiceRoleID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByTidbServiceRoleID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("tidb_service_role_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByUpdatedAt() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByVersioning() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// OrderDescByVpcID is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) OrderDescByVpcID() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Order("vpc_id DESC"))
}

// PcaArnClientEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientEq(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client = ?", pcaArnClient))
}

// PcaArnClientGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientGt(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client > ?", pcaArnClient))
}

// PcaArnClientGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientGte(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client >= ?", pcaArnClient))
}

// PcaArnClientIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientIn(pcaArnClient ...string) CrossAccountDeploymentQuerySet {
	if len(pcaArnClient) == 0 {
		qs.db.AddError(errors.New("must at least pass one pcaArnClient in PcaArnClientIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("pca_arn_client IN (?)", pcaArnClient))
}

// PcaArnClientLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientLike(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client LIKE ?", pcaArnClient))
}

// PcaArnClientLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientLt(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client < ?", pcaArnClient))
}

// PcaArnClientLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientLte(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client <= ?", pcaArnClient))
}

// PcaArnClientNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientNe(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client != ?", pcaArnClient))
}

// PcaArnClientNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientNotIn(pcaArnClient ...string) CrossAccountDeploymentQuerySet {
	if len(pcaArnClient) == 0 {
		qs.db.AddError(errors.New("must at least pass one pcaArnClient in PcaArnClientNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("pca_arn_client NOT IN (?)", pcaArnClient))
}

// PcaArnClientNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClientNotlike(pcaArnClient string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_client NOT LIKE ?", pcaArnClient))
}

// PcaArnClusterComponentsEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsEq(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components = ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsGt(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components > ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsGte(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components >= ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsIn(pcaArnClusterComponents ...string) CrossAccountDeploymentQuerySet {
	if len(pcaArnClusterComponents) == 0 {
		qs.db.AddError(errors.New("must at least pass one pcaArnClusterComponents in PcaArnClusterComponentsIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("pca_arn_cluster_components IN (?)", pcaArnClusterComponents))
}

// PcaArnClusterComponentsLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsLike(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components LIKE ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsLt(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components < ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsLte(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components <= ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsNe(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components != ?", pcaArnClusterComponents))
}

// PcaArnClusterComponentsNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsNotIn(pcaArnClusterComponents ...string) CrossAccountDeploymentQuerySet {
	if len(pcaArnClusterComponents) == 0 {
		qs.db.AddError(errors.New("must at least pass one pcaArnClusterComponents in PcaArnClusterComponentsNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("pca_arn_cluster_components NOT IN (?)", pcaArnClusterComponents))
}

// PcaArnClusterComponentsNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PcaArnClusterComponentsNotlike(pcaArnClusterComponents string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("pca_arn_cluster_components NOT LIKE ?", pcaArnClusterComponents))
}

// PreloadEKSRole is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PreloadEKSRole() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Preload("EKSRole"))
}

// PreloadNodeRole is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PreloadNodeRole() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Preload("NodeRole"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PreloadProvider() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PreloadRegion() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// PreloadSubnetIDs is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PreloadSubnetIDs() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Preload("SubnetIDs"))
}

// PreloadTidbServiceRole is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) PreloadTidbServiceRole() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Preload("TidbServiceRole"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDEq(projectID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDGt(projectID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDGte(projectID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDIn(projectID ...ID) CrossAccountDeploymentQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDLt(projectID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDLte(projectID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDNe(projectID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProjectIDNotIn(projectID ...ID) CrossAccountDeploymentQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDEq(providerID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDGt(providerID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDGte(providerID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDIn(providerID ...ID) CrossAccountDeploymentQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDLt(providerID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDLte(providerID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDNe(providerID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIDNotIn(providerID ...ID) CrossAccountDeploymentQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIsNotNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) ProviderIsNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDEq(regionID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDGt(regionID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDGte(regionID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDIn(regionID ...ID) CrossAccountDeploymentQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDLt(regionID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDLte(regionID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDNe(regionID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIDNotIn(regionID ...ID) CrossAccountDeploymentQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIsNotNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) RegionIsNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// SecurityGroupIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDEq(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id = ?", securityGroupID))
}

// SecurityGroupIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDGt(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id > ?", securityGroupID))
}

// SecurityGroupIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDGte(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id >= ?", securityGroupID))
}

// SecurityGroupIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDIn(securityGroupID ...string) CrossAccountDeploymentQuerySet {
	if len(securityGroupID) == 0 {
		qs.db.AddError(errors.New("must at least pass one securityGroupID in SecurityGroupIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("security_group_id IN (?)", securityGroupID))
}

// SecurityGroupIDLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDLike(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id LIKE ?", securityGroupID))
}

// SecurityGroupIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDLt(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id < ?", securityGroupID))
}

// SecurityGroupIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDLte(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id <= ?", securityGroupID))
}

// SecurityGroupIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDNe(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id != ?", securityGroupID))
}

// SecurityGroupIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDNotIn(securityGroupID ...string) CrossAccountDeploymentQuerySet {
	if len(securityGroupID) == 0 {
		qs.db.AddError(errors.New("must at least pass one securityGroupID in SecurityGroupIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("security_group_id NOT IN (?)", securityGroupID))
}

// SecurityGroupIDNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) SecurityGroupIDNotlike(securityGroupID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("security_group_id NOT LIKE ?", securityGroupID))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusEq(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusGt(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusGte(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusIn(status ...XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusLike(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusLt(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusLte(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusNe(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusNotIn(status ...XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) StatusNotlike(status XAccountDeployStatus) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDEq(tenantID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDGt(tenantID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDGte(tenantID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDIn(tenantID ...ID) CrossAccountDeploymentQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDLt(tenantID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDLte(tenantID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDNe(tenantID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TenantIDNotIn(tenantID ...ID) CrossAccountDeploymentQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// TidbServiceRoleIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDEq(tidbServiceRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role_id = ?", tidbServiceRoleID))
}

// TidbServiceRoleIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDGt(tidbServiceRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role_id > ?", tidbServiceRoleID))
}

// TidbServiceRoleIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDGte(tidbServiceRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role_id >= ?", tidbServiceRoleID))
}

// TidbServiceRoleIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDIn(tidbServiceRoleID ...ID) CrossAccountDeploymentQuerySet {
	if len(tidbServiceRoleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tidbServiceRoleID in TidbServiceRoleIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tidb_service_role_id IN (?)", tidbServiceRoleID))
}

// TidbServiceRoleIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDLt(tidbServiceRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role_id < ?", tidbServiceRoleID))
}

// TidbServiceRoleIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDLte(tidbServiceRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role_id <= ?", tidbServiceRoleID))
}

// TidbServiceRoleIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDNe(tidbServiceRoleID ID) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role_id != ?", tidbServiceRoleID))
}

// TidbServiceRoleIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIDNotIn(tidbServiceRoleID ...ID) CrossAccountDeploymentQuerySet {
	if len(tidbServiceRoleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tidbServiceRoleID in TidbServiceRoleIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tidb_service_role_id NOT IN (?)", tidbServiceRoleID))
}

// TidbServiceRoleIsNotNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIsNotNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role IS NOT NULL"))
}

// TidbServiceRoleIsNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) TidbServiceRoleIsNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("tidb_service_role IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtEq(updatedAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtGt(updatedAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtGte(updatedAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtIsNotNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtIsNull() CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtLt(updatedAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtLte(updatedAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) UpdatedAtNe(updatedAt time.Time) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningEq(versioning int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningGt(versioning int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningGte(versioning int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningIn(versioning ...int) CrossAccountDeploymentQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningLt(versioning int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningLte(versioning int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningNe(versioning int) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VersioningNotIn(versioning ...int) CrossAccountDeploymentQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// VpcIDEq is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDEq(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id = ?", vpcID))
}

// VpcIDGt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDGt(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id > ?", vpcID))
}

// VpcIDGte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDGte(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id >= ?", vpcID))
}

// VpcIDIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDIn(vpcID ...string) CrossAccountDeploymentQuerySet {
	if len(vpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcID in VpcIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_id IN (?)", vpcID))
}

// VpcIDLike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDLike(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id LIKE ?", vpcID))
}

// VpcIDLt is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDLt(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id < ?", vpcID))
}

// VpcIDLte is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDLte(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id <= ?", vpcID))
}

// VpcIDNe is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDNe(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id != ?", vpcID))
}

// VpcIDNotIn is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDNotIn(vpcID ...string) CrossAccountDeploymentQuerySet {
	if len(vpcID) == 0 {
		qs.db.AddError(errors.New("must at least pass one vpcID in VpcIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("vpc_id NOT IN (?)", vpcID))
}

// VpcIDNotlike is an autogenerated method
// nolint: dupl
func (qs CrossAccountDeploymentQuerySet) VpcIDNotlike(vpcID string) CrossAccountDeploymentQuerySet {
	return qs.w(qs.db.Where("vpc_id NOT LIKE ?", vpcID))
}

// SetBucketName is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetBucketName(bucketName string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.BucketName)] = bucketName
	return u
}

// SetCACert is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetCACert(cACert string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.CACert)] = cACert
	return u
}

// SetCert is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetCert(cert string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.Cert)] = cert
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetCreatedAt(createdAt time.Time) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.CreatedAt)] = createdAt
	return u
}

// SetEKSRoleID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetEKSRoleID(eKSRoleID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.EKSRoleID)] = eKSRoleID
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetID(ID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.ID)] = ID
	return u
}

// SetIsMTLSOn is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetIsMTLSOn(isMTLSOn bool) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.IsMTLSOn)] = isMTLSOn
	return u
}

// SetKey is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetKey(key string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.Key)] = key
	return u
}

// SetKmsKeyArn is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetKmsKeyArn(kmsKeyArn string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.KmsKeyArn)] = kmsKeyArn
	return u
}

// SetNodeRoleID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetNodeRoleID(nodeRoleID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.NodeRoleID)] = nodeRoleID
	return u
}

// SetPcaArnClient is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetPcaArnClient(pcaArnClient string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.PcaArnClient)] = pcaArnClient
	return u
}

// SetPcaArnClusterComponents is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetPcaArnClusterComponents(pcaArnClusterComponents string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.PcaArnClusterComponents)] = pcaArnClusterComponents
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetProjectID(projectID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.ProjectID)] = projectID
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetProviderID(providerID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.ProviderID)] = providerID
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetRegionID(regionID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.RegionID)] = regionID
	return u
}

// SetSecurityGroupID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetSecurityGroupID(securityGroupID string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.SecurityGroupID)] = securityGroupID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetStatus(status XAccountDeployStatus) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.Status)] = status
	return u
}

// SetSubnetIDs is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetSubnetIDs(subnetIDs SubnetIDs) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.SubnetIDs)] = subnetIDs
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetTenantID(tenantID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.TenantID)] = tenantID
	return u
}

// SetTidbServiceRoleID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetTidbServiceRoleID(tidbServiceRoleID ID) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.TidbServiceRoleID)] = tidbServiceRoleID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetUpdatedAt(updatedAt *time.Time) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetVersioning(versioning int) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.Versioning)] = versioning
	return u
}

// SetVpcID is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) SetVpcID(vpcID string) CrossAccountDeploymentUpdater {
	u.fields[string(CrossAccountDeploymentDBSchema.VpcID)] = vpcID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u CrossAccountDeploymentUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set CrossAccountDeploymentQuerySet

// ===== BEGIN of CrossAccountDeployment modifiers

// CrossAccountDeploymentDBSchemaField describes database schema field. It requires for method 'Update'
type CrossAccountDeploymentDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f CrossAccountDeploymentDBSchemaField) String() string {
	return string(f)
}

// CrossAccountDeploymentDBSchema stores db field names of CrossAccountDeployment
var CrossAccountDeploymentDBSchema = struct {
	ID                      CrossAccountDeploymentDBSchemaField
	CreatedAt               CrossAccountDeploymentDBSchemaField
	UpdatedAt               CrossAccountDeploymentDBSchemaField
	Versioning              CrossAccountDeploymentDBSchemaField
	TenantID                CrossAccountDeploymentDBSchemaField
	ProjectID               CrossAccountDeploymentDBSchemaField
	ProviderID              CrossAccountDeploymentDBSchemaField
	Provider                CrossAccountDeploymentDBSchemaField
	RegionID                CrossAccountDeploymentDBSchemaField
	Region                  CrossAccountDeploymentDBSchemaField
	Status                  CrossAccountDeploymentDBSchemaField
	VpcID                   CrossAccountDeploymentDBSchemaField
	SecurityGroupID         CrossAccountDeploymentDBSchemaField
	SubnetIDs               CrossAccountDeploymentDBSchemaField
	BucketName              CrossAccountDeploymentDBSchemaField
	KmsKeyArn               CrossAccountDeploymentDBSchemaField
	PcaArnClusterComponents CrossAccountDeploymentDBSchemaField
	PcaArnClient            CrossAccountDeploymentDBSchemaField
	NodeRoleID              CrossAccountDeploymentDBSchemaField
	NodeRole                CrossAccountDeploymentDBSchemaField
	EKSRoleID               CrossAccountDeploymentDBSchemaField
	EKSRole                 CrossAccountDeploymentDBSchemaField
	TidbServiceRoleID       CrossAccountDeploymentDBSchemaField
	TidbServiceRole         CrossAccountDeploymentDBSchemaField
	IsMTLSOn                CrossAccountDeploymentDBSchemaField
	CACert                  CrossAccountDeploymentDBSchemaField
	Cert                    CrossAccountDeploymentDBSchemaField
	Key                     CrossAccountDeploymentDBSchemaField
}{

	ID:                      CrossAccountDeploymentDBSchemaField("id"),
	CreatedAt:               CrossAccountDeploymentDBSchemaField("created_at"),
	UpdatedAt:               CrossAccountDeploymentDBSchemaField("updated_at"),
	Versioning:              CrossAccountDeploymentDBSchemaField("versioning"),
	TenantID:                CrossAccountDeploymentDBSchemaField("tenant_id"),
	ProjectID:               CrossAccountDeploymentDBSchemaField("project_id"),
	ProviderID:              CrossAccountDeploymentDBSchemaField("provider_id"),
	Provider:                CrossAccountDeploymentDBSchemaField("provider"),
	RegionID:                CrossAccountDeploymentDBSchemaField("region_id"),
	Region:                  CrossAccountDeploymentDBSchemaField("region"),
	Status:                  CrossAccountDeploymentDBSchemaField("status"),
	VpcID:                   CrossAccountDeploymentDBSchemaField("vpc_id"),
	SecurityGroupID:         CrossAccountDeploymentDBSchemaField("security_group_id"),
	SubnetIDs:               CrossAccountDeploymentDBSchemaField("subnet_ids"),
	BucketName:              CrossAccountDeploymentDBSchemaField("bucket_name"),
	KmsKeyArn:               CrossAccountDeploymentDBSchemaField("kms_key_arn"),
	PcaArnClusterComponents: CrossAccountDeploymentDBSchemaField("pca_arn_cluster_components"),
	PcaArnClient:            CrossAccountDeploymentDBSchemaField("pca_arn_client"),
	NodeRoleID:              CrossAccountDeploymentDBSchemaField("node_role_id"),
	NodeRole:                CrossAccountDeploymentDBSchemaField("node_role"),
	EKSRoleID:               CrossAccountDeploymentDBSchemaField("eks_role_id"),
	EKSRole:                 CrossAccountDeploymentDBSchemaField("eks_role"),
	TidbServiceRoleID:       CrossAccountDeploymentDBSchemaField("tidb_service_role_id"),
	TidbServiceRole:         CrossAccountDeploymentDBSchemaField("tidb_service_role"),
	IsMTLSOn:                CrossAccountDeploymentDBSchemaField("is_m_tls_on"),
	CACert:                  CrossAccountDeploymentDBSchemaField("ca_cert"),
	Cert:                    CrossAccountDeploymentDBSchemaField("cert"),
	Key:                     CrossAccountDeploymentDBSchemaField("key"),
}

// Update updates CrossAccountDeployment fields by primary key
// nolint: dupl
func (o *CrossAccountDeployment) Update(db *gorm.DB, fields ...CrossAccountDeploymentDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                         o.ID,
		"created_at":                 o.CreatedAt,
		"updated_at":                 o.UpdatedAt,
		"versioning":                 o.Versioning,
		"tenant_id":                  o.TenantID,
		"project_id":                 o.ProjectID,
		"provider_id":                o.ProviderID,
		"provider":                   o.Provider,
		"region_id":                  o.RegionID,
		"region":                     o.Region,
		"status":                     o.Status,
		"vpc_id":                     o.VpcID,
		"security_group_id":          o.SecurityGroupID,
		"subnet_ids":                 o.SubnetIDs,
		"bucket_name":                o.BucketName,
		"kms_key_arn":                o.KmsKeyArn,
		"pca_arn_cluster_components": o.PcaArnClusterComponents,
		"pca_arn_client":             o.PcaArnClient,
		"node_role_id":               o.NodeRoleID,
		"node_role":                  o.NodeRole,
		"eks_role_id":                o.EKSRoleID,
		"eks_role":                   o.EKSRole,
		"tidb_service_role_id":       o.TidbServiceRoleID,
		"tidb_service_role":          o.TidbServiceRole,
		"is_m_tls_on":                o.IsMTLSOn,
		"ca_cert":                    o.CACert,
		"cert":                       o.Cert,
		"key":                        o.Key,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update CrossAccountDeployment %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// CrossAccountDeploymentUpdater is an CrossAccountDeployment updates manager
type CrossAccountDeploymentUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewCrossAccountDeploymentUpdater creates new CrossAccountDeployment updater
// nolint: dupl
func NewCrossAccountDeploymentUpdater(db *gorm.DB) CrossAccountDeploymentUpdater {
	return CrossAccountDeploymentUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&CrossAccountDeployment{}),
	}
}

// ===== END of CrossAccountDeployment modifiers

// ===== BEGIN of query set GcpVpcPeeringQuerySet

// GcpVpcPeeringQuerySet is an queryset type for GcpVpcPeering
type GcpVpcPeeringQuerySet struct {
	db *gorm.DB
}

// NewGcpVpcPeeringQuerySet constructs new GcpVpcPeeringQuerySet
func NewGcpVpcPeeringQuerySet(db *gorm.DB) GcpVpcPeeringQuerySet {
	return GcpVpcPeeringQuerySet{
		db: db.Model(&GcpVpcPeering{}),
	}
}

func (qs GcpVpcPeeringQuerySet) w(db *gorm.DB) GcpVpcPeeringQuerySet {
	return NewGcpVpcPeeringQuerySet(db)
}

func (qs GcpVpcPeeringQuerySet) Select(fields ...GcpVpcPeeringDBSchemaField) GcpVpcPeeringQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *GcpVpcPeering) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *GcpVpcPeering) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) All(ret *[]GcpVpcPeering) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtEq(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtGt(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtGte(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtLt(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtLte(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) CreatedAtNe(createdAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Delete() error {
	return qs.db.Delete(&GcpVpcPeering{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&GcpVpcPeering{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&GcpVpcPeering{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) GetUpdater() GcpVpcPeeringUpdater {
	return NewGcpVpcPeeringUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDEq(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDGt(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDGte(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDIn(ID ...ID) GcpVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDLt(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDLte(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDNe(ID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) IDNotIn(ID ...ID) GcpVpcPeeringQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Limit(limit int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NetworkNameEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameEq(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name = ?", networkName))
}

// NetworkNameGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameGt(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name > ?", networkName))
}

// NetworkNameGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameGte(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name >= ?", networkName))
}

// NetworkNameIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameIn(networkName ...string) GcpVpcPeeringQuerySet {
	if len(networkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one networkName in NetworkNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("network_name IN (?)", networkName))
}

// NetworkNameLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameLike(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name LIKE ?", networkName))
}

// NetworkNameLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameLt(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name < ?", networkName))
}

// NetworkNameLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameLte(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name <= ?", networkName))
}

// NetworkNameNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameNe(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name != ?", networkName))
}

// NetworkNameNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameNotIn(networkName ...string) GcpVpcPeeringQuerySet {
	if len(networkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one networkName in NetworkNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("network_name NOT IN (?)", networkName))
}

// NetworkNameNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) NetworkNameNotlike(networkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("network_name NOT LIKE ?", networkName))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) Offset(offset int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs GcpVpcPeeringQuerySet) One(ret *GcpVpcPeering) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByCreatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("network_name ASC"))
}

// OrderAscByPeeringType is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByPeeringType() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("peering_type ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByStatus() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByTenantNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_network_name ASC"))
}

// OrderAscByTenantProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_project_id ASC"))
}

// OrderAscByTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantVpcCIDR() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_c_id_r ASC"))
}

// OrderAscByTenantVpcRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByTenantVpcRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_region ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByUpdatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderAscByVersioning() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByCreatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("network_name DESC"))
}

// OrderDescByPeeringType is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByPeeringType() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("peering_type DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("region DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByStatus() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByTenantNetworkName is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantNetworkName() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_network_name DESC"))
}

// OrderDescByTenantProjectID is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantProjectID() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_project_id DESC"))
}

// OrderDescByTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantVpcCIDR() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_c_id_r DESC"))
}

// OrderDescByTenantVpcRegion is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByTenantVpcRegion() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("tenant_vpc_region DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByUpdatedAt() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) OrderDescByVersioning() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PeeringTypeEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeEq(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type = ?", peeringType))
}

// PeeringTypeGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeGt(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type > ?", peeringType))
}

// PeeringTypeGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeGte(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type >= ?", peeringType))
}

// PeeringTypeIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeIn(peeringType ...PeeringType) GcpVpcPeeringQuerySet {
	if len(peeringType) == 0 {
		qs.db.AddError(errors.New("must at least pass one peeringType in PeeringTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("peering_type IN (?)", peeringType))
}

// PeeringTypeLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeLike(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type LIKE ?", peeringType))
}

// PeeringTypeLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeLt(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type < ?", peeringType))
}

// PeeringTypeLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeLte(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type <= ?", peeringType))
}

// PeeringTypeNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeNe(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type != ?", peeringType))
}

// PeeringTypeNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeNotIn(peeringType ...PeeringType) GcpVpcPeeringQuerySet {
	if len(peeringType) == 0 {
		qs.db.AddError(errors.New("must at least pass one peeringType in PeeringTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("peering_type NOT IN (?)", peeringType))
}

// PeeringTypeNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) PeeringTypeNotlike(peeringType PeeringType) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("peering_type NOT LIKE ?", peeringType))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDEq(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDGt(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDGte(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDIn(projectID ...ID) GcpVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDLt(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDLte(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDNe(projectID ID) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) ProjectIDNotIn(projectID ...ID) GcpVpcPeeringQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// RegionEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionEq(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region = ?", region))
}

// RegionGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionGt(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region > ?", region))
}

// RegionGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionGte(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region >= ?", region))
}

// RegionIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionIn(region ...string) GcpVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region IN (?)", region))
}

// RegionLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionLike(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region LIKE ?", region))
}

// RegionLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionLt(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region < ?", region))
}

// RegionLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionLte(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region <= ?", region))
}

// RegionNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionNe(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region != ?", region))
}

// RegionNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionNotIn(region ...string) GcpVpcPeeringQuerySet {
	if len(region) == 0 {
		qs.db.AddError(errors.New("must at least pass one region in RegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region NOT IN (?)", region))
}

// RegionNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) RegionNotlike(region string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("region NOT LIKE ?", region))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusEq(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusGt(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusGte(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusIn(status ...string) GcpVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusLike(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusLt(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusLte(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusNe(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusNotIn(status ...string) GcpVpcPeeringQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) StatusNotlike(status string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// TenantNetworkNameEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameEq(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name = ?", tenantNetworkName))
}

// TenantNetworkNameGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameGt(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name > ?", tenantNetworkName))
}

// TenantNetworkNameGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameGte(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name >= ?", tenantNetworkName))
}

// TenantNetworkNameIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameIn(tenantNetworkName ...string) GcpVpcPeeringQuerySet {
	if len(tenantNetworkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantNetworkName in TenantNetworkNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_network_name IN (?)", tenantNetworkName))
}

// TenantNetworkNameLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameLike(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name LIKE ?", tenantNetworkName))
}

// TenantNetworkNameLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameLt(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name < ?", tenantNetworkName))
}

// TenantNetworkNameLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameLte(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name <= ?", tenantNetworkName))
}

// TenantNetworkNameNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameNe(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name != ?", tenantNetworkName))
}

// TenantNetworkNameNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameNotIn(tenantNetworkName ...string) GcpVpcPeeringQuerySet {
	if len(tenantNetworkName) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantNetworkName in TenantNetworkNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_network_name NOT IN (?)", tenantNetworkName))
}

// TenantNetworkNameNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantNetworkNameNotlike(tenantNetworkName string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_network_name NOT LIKE ?", tenantNetworkName))
}

// TenantProjectIDEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDEq(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id = ?", tenantProjectID))
}

// TenantProjectIDGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDGt(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id > ?", tenantProjectID))
}

// TenantProjectIDGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDGte(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id >= ?", tenantProjectID))
}

// TenantProjectIDIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDIn(tenantProjectID ...string) GcpVpcPeeringQuerySet {
	if len(tenantProjectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantProjectID in TenantProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_project_id IN (?)", tenantProjectID))
}

// TenantProjectIDLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDLike(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id LIKE ?", tenantProjectID))
}

// TenantProjectIDLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDLt(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id < ?", tenantProjectID))
}

// TenantProjectIDLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDLte(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id <= ?", tenantProjectID))
}

// TenantProjectIDNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDNe(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id != ?", tenantProjectID))
}

// TenantProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDNotIn(tenantProjectID ...string) GcpVpcPeeringQuerySet {
	if len(tenantProjectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantProjectID in TenantProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_project_id NOT IN (?)", tenantProjectID))
}

// TenantProjectIDNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantProjectIDNotlike(tenantProjectID string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_project_id NOT LIKE ?", tenantProjectID))
}

// TenantVpcCIDREq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDREq(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r = ?", tenantVpcCIDR))
}

// TenantVpcCIDRGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRGt(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r > ?", tenantVpcCIDR))
}

// TenantVpcCIDRGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRGte(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r >= ?", tenantVpcCIDR))
}

// TenantVpcCIDRIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRIn(tenantVpcCIDR ...string) GcpVpcPeeringQuerySet {
	if len(tenantVpcCIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcCIDR in TenantVpcCIDRIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_c_id_r IN (?)", tenantVpcCIDR))
}

// TenantVpcCIDRLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRLike(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r LIKE ?", tenantVpcCIDR))
}

// TenantVpcCIDRLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRLt(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r < ?", tenantVpcCIDR))
}

// TenantVpcCIDRLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRLte(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r <= ?", tenantVpcCIDR))
}

// TenantVpcCIDRNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRNe(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r != ?", tenantVpcCIDR))
}

// TenantVpcCIDRNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRNotIn(tenantVpcCIDR ...string) GcpVpcPeeringQuerySet {
	if len(tenantVpcCIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcCIDR in TenantVpcCIDRNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_c_id_r NOT IN (?)", tenantVpcCIDR))
}

// TenantVpcCIDRNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcCIDRNotlike(tenantVpcCIDR string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_c_id_r NOT LIKE ?", tenantVpcCIDR))
}

// TenantVpcRegionEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionEq(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region = ?", tenantVpcRegion))
}

// TenantVpcRegionGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionGt(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region > ?", tenantVpcRegion))
}

// TenantVpcRegionGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionGte(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region >= ?", tenantVpcRegion))
}

// TenantVpcRegionIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionIn(tenantVpcRegion ...string) GcpVpcPeeringQuerySet {
	if len(tenantVpcRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcRegion in TenantVpcRegionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_region IN (?)", tenantVpcRegion))
}

// TenantVpcRegionLike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionLike(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region LIKE ?", tenantVpcRegion))
}

// TenantVpcRegionLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionLt(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region < ?", tenantVpcRegion))
}

// TenantVpcRegionLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionLte(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region <= ?", tenantVpcRegion))
}

// TenantVpcRegionNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionNe(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region != ?", tenantVpcRegion))
}

// TenantVpcRegionNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionNotIn(tenantVpcRegion ...string) GcpVpcPeeringQuerySet {
	if len(tenantVpcRegion) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantVpcRegion in TenantVpcRegionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_vpc_region NOT IN (?)", tenantVpcRegion))
}

// TenantVpcRegionNotlike is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) TenantVpcRegionNotlike(tenantVpcRegion string) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("tenant_vpc_region NOT LIKE ?", tenantVpcRegion))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtEq(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtGt(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtGte(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtIsNotNull() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtIsNull() GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtLt(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtLte(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) UpdatedAtNe(updatedAt time.Time) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningEq(versioning int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningGt(versioning int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningGte(versioning int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningIn(versioning ...int) GcpVpcPeeringQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningLt(versioning int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningLte(versioning int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningNe(versioning int) GcpVpcPeeringQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs GcpVpcPeeringQuerySet) VersioningNotIn(versioning ...int) GcpVpcPeeringQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetCreatedAt(createdAt time.Time) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetID(ID ID) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.ID)] = ID
	return u
}

// SetNetworkName is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetNetworkName(networkName string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.NetworkName)] = networkName
	return u
}

// SetPeeringType is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetPeeringType(peeringType PeeringType) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.PeeringType)] = peeringType
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetProjectID(projectID ID) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.ProjectID)] = projectID
	return u
}

// SetRegion is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetRegion(region string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.Region)] = region
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetStatus(status string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.Status)] = status
	return u
}

// SetTenantNetworkName is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantNetworkName(tenantNetworkName string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantNetworkName)] = tenantNetworkName
	return u
}

// SetTenantProjectID is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantProjectID(tenantProjectID string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantProjectID)] = tenantProjectID
	return u
}

// SetTenantVpcCIDR is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantVpcCIDR(tenantVpcCIDR string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantVpcCIDR)] = tenantVpcCIDR
	return u
}

// SetTenantVpcRegion is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetTenantVpcRegion(tenantVpcRegion string) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.TenantVpcRegion)] = tenantVpcRegion
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetUpdatedAt(updatedAt *time.Time) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) SetVersioning(versioning int) GcpVpcPeeringUpdater {
	u.fields[string(GcpVpcPeeringDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u GcpVpcPeeringUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set GcpVpcPeeringQuerySet

// ===== BEGIN of GcpVpcPeering modifiers

// GcpVpcPeeringDBSchemaField describes database schema field. It requires for method 'Update'
type GcpVpcPeeringDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f GcpVpcPeeringDBSchemaField) String() string {
	return string(f)
}

// GcpVpcPeeringDBSchema stores db field names of GcpVpcPeering
var GcpVpcPeeringDBSchema = struct {
	ID                GcpVpcPeeringDBSchemaField
	CreatedAt         GcpVpcPeeringDBSchemaField
	UpdatedAt         GcpVpcPeeringDBSchemaField
	Versioning        GcpVpcPeeringDBSchemaField
	Region            GcpVpcPeeringDBSchemaField
	TenantProjectID   GcpVpcPeeringDBSchemaField
	TenantNetworkName GcpVpcPeeringDBSchemaField
	TenantVpcRegion   GcpVpcPeeringDBSchemaField
	TenantVpcCIDR     GcpVpcPeeringDBSchemaField
	NetworkName       GcpVpcPeeringDBSchemaField
	Status            GcpVpcPeeringDBSchemaField
	ProjectID         GcpVpcPeeringDBSchemaField
	PeeringType       GcpVpcPeeringDBSchemaField
}{

	ID:                GcpVpcPeeringDBSchemaField("id"),
	CreatedAt:         GcpVpcPeeringDBSchemaField("created_at"),
	UpdatedAt:         GcpVpcPeeringDBSchemaField("updated_at"),
	Versioning:        GcpVpcPeeringDBSchemaField("versioning"),
	Region:            GcpVpcPeeringDBSchemaField("region"),
	TenantProjectID:   GcpVpcPeeringDBSchemaField("tenant_project_id"),
	TenantNetworkName: GcpVpcPeeringDBSchemaField("tenant_network_name"),
	TenantVpcRegion:   GcpVpcPeeringDBSchemaField("tenant_vpc_region"),
	TenantVpcCIDR:     GcpVpcPeeringDBSchemaField("tenant_vpc_c_id_r"),
	NetworkName:       GcpVpcPeeringDBSchemaField("network_name"),
	Status:            GcpVpcPeeringDBSchemaField("status"),
	ProjectID:         GcpVpcPeeringDBSchemaField("project_id"),
	PeeringType:       GcpVpcPeeringDBSchemaField("peering_type"),
}

// Update updates GcpVpcPeering fields by primary key
// nolint: dupl
func (o *GcpVpcPeering) Update(db *gorm.DB, fields ...GcpVpcPeeringDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                  o.ID,
		"created_at":          o.CreatedAt,
		"updated_at":          o.UpdatedAt,
		"versioning":          o.Versioning,
		"region":              o.Region,
		"tenant_project_id":   o.TenantProjectID,
		"tenant_network_name": o.TenantNetworkName,
		"tenant_vpc_region":   o.TenantVpcRegion,
		"tenant_vpc_c_id_r":   o.TenantVpcCIDR,
		"network_name":        o.NetworkName,
		"status":              o.Status,
		"project_id":          o.ProjectID,
		"peering_type":        o.PeeringType,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update GcpVpcPeering %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// GcpVpcPeeringUpdater is an GcpVpcPeering updates manager
type GcpVpcPeeringUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewGcpVpcPeeringUpdater creates new GcpVpcPeering updater
// nolint: dupl
func NewGcpVpcPeeringUpdater(db *gorm.DB) GcpVpcPeeringUpdater {
	return GcpVpcPeeringUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&GcpVpcPeering{}),
	}
}

// ===== END of GcpVpcPeering modifiers

// ===== BEGIN of query set IamRoleQuerySet

// IamRoleQuerySet is an queryset type for IamRole
type IamRoleQuerySet struct {
	db *gorm.DB
}

// NewIamRoleQuerySet constructs new IamRoleQuerySet
func NewIamRoleQuerySet(db *gorm.DB) IamRoleQuerySet {
	return IamRoleQuerySet{
		db: db.Model(&IamRole{}),
	}
}

func (qs IamRoleQuerySet) w(db *gorm.DB) IamRoleQuerySet {
	return NewIamRoleQuerySet(db)
}

func (qs IamRoleQuerySet) Select(fields ...IamRoleDBSchemaField) IamRoleQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *IamRole) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *IamRole) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) All(ret *[]IamRole) error {
	return qs.db.Find(ret).Error
}

// ArnEq is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnEq(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn = ?", arn))
}

// ArnGt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnGt(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn > ?", arn))
}

// ArnGte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnGte(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn >= ?", arn))
}

// ArnIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnIn(arn ...string) IamRoleQuerySet {
	if len(arn) == 0 {
		qs.db.AddError(errors.New("must at least pass one arn in ArnIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("arn IN (?)", arn))
}

// ArnLike is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnLike(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn LIKE ?", arn))
}

// ArnLt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnLt(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn < ?", arn))
}

// ArnLte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnLte(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn <= ?", arn))
}

// ArnNe is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnNe(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn != ?", arn))
}

// ArnNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnNotIn(arn ...string) IamRoleQuerySet {
	if len(arn) == 0 {
		qs.db.AddError(errors.New("must at least pass one arn in ArnNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("arn NOT IN (?)", arn))
}

// ArnNotlike is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ArnNotlike(arn string) IamRoleQuerySet {
	return qs.w(qs.db.Where("arn NOT LIKE ?", arn))
}

// Count is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) CreatedAtEq(createdAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) CreatedAtGt(createdAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) CreatedAtGte(createdAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) CreatedAtLt(createdAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) CreatedAtLte(createdAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) CreatedAtNe(createdAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) Delete() error {
	return qs.db.Delete(&IamRole{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&IamRole{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&IamRole{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) GetUpdater() IamRoleUpdater {
	return NewIamRoleUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDEq(ID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDGt(ID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDGte(ID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDIn(ID ...ID) IamRoleQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDLt(ID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDLte(ID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDNe(ID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) IDNotIn(ID ...ID) IamRoleQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) Limit(limit int) IamRoleQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) Offset(offset int) IamRoleQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs IamRoleQuerySet) One(ret *IamRole) error {
	return qs.db.First(ret).Error
}

// OrderAscByArn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderAscByArn() IamRoleQuerySet {
	return qs.w(qs.db.Order("arn ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderAscByCreatedAt() IamRoleQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderAscByID() IamRoleQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderAscByProjectID() IamRoleQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderAscByUpdatedAt() IamRoleQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderAscByVersioning() IamRoleQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByArn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderDescByArn() IamRoleQuerySet {
	return qs.w(qs.db.Order("arn DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderDescByCreatedAt() IamRoleQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderDescByID() IamRoleQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderDescByProjectID() IamRoleQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderDescByUpdatedAt() IamRoleQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) OrderDescByVersioning() IamRoleQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDEq(projectID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDGt(projectID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDGte(projectID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDIn(projectID ...ID) IamRoleQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDLt(projectID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDLte(projectID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDNe(projectID ID) IamRoleQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) ProjectIDNotIn(projectID ...ID) IamRoleQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtEq(updatedAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtGt(updatedAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtGte(updatedAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtIsNotNull() IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtIsNull() IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtLt(updatedAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtLte(updatedAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) UpdatedAtNe(updatedAt time.Time) IamRoleQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningEq(versioning int) IamRoleQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningGt(versioning int) IamRoleQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningGte(versioning int) IamRoleQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningIn(versioning ...int) IamRoleQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningLt(versioning int) IamRoleQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningLte(versioning int) IamRoleQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningNe(versioning int) IamRoleQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleQuerySet) VersioningNotIn(versioning ...int) IamRoleQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetArn is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) SetArn(arn string) IamRoleUpdater {
	u.fields[string(IamRoleDBSchema.Arn)] = arn
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) SetCreatedAt(createdAt time.Time) IamRoleUpdater {
	u.fields[string(IamRoleDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) SetID(ID ID) IamRoleUpdater {
	u.fields[string(IamRoleDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) SetProjectID(projectID ID) IamRoleUpdater {
	u.fields[string(IamRoleDBSchema.ProjectID)] = projectID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) SetUpdatedAt(updatedAt *time.Time) IamRoleUpdater {
	u.fields[string(IamRoleDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) SetVersioning(versioning int) IamRoleUpdater {
	u.fields[string(IamRoleDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u IamRoleUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set IamRoleQuerySet

// ===== BEGIN of IamRole modifiers

// IamRoleDBSchemaField describes database schema field. It requires for method 'Update'
type IamRoleDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f IamRoleDBSchemaField) String() string {
	return string(f)
}

// IamRoleDBSchema stores db field names of IamRole
var IamRoleDBSchema = struct {
	ID         IamRoleDBSchemaField
	CreatedAt  IamRoleDBSchemaField
	UpdatedAt  IamRoleDBSchemaField
	Versioning IamRoleDBSchemaField
	ProjectID  IamRoleDBSchemaField
	Arn        IamRoleDBSchemaField
}{

	ID:         IamRoleDBSchemaField("id"),
	CreatedAt:  IamRoleDBSchemaField("created_at"),
	UpdatedAt:  IamRoleDBSchemaField("updated_at"),
	Versioning: IamRoleDBSchemaField("versioning"),
	ProjectID:  IamRoleDBSchemaField("project_id"),
	Arn:        IamRoleDBSchemaField("arn"),
}

// Update updates IamRole fields by primary key
// nolint: dupl
func (o *IamRole) Update(db *gorm.DB, fields ...IamRoleDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"versioning": o.Versioning,
		"project_id": o.ProjectID,
		"arn":        o.Arn,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update IamRole %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// IamRoleUpdater is an IamRole updates manager
type IamRoleUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewIamRoleUpdater creates new IamRole updater
// nolint: dupl
func NewIamRoleUpdater(db *gorm.DB) IamRoleUpdater {
	return IamRoleUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&IamRole{}),
	}
}

// ===== END of IamRole modifiers

// ===== BEGIN of query set IamRoleUsageQuerySet

// IamRoleUsageQuerySet is an queryset type for IamRoleUsage
type IamRoleUsageQuerySet struct {
	db *gorm.DB
}

// NewIamRoleUsageQuerySet constructs new IamRoleUsageQuerySet
func NewIamRoleUsageQuerySet(db *gorm.DB) IamRoleUsageQuerySet {
	return IamRoleUsageQuerySet{
		db: db.Model(&IamRoleUsage{}),
	}
}

func (qs IamRoleUsageQuerySet) w(db *gorm.DB) IamRoleUsageQuerySet {
	return NewIamRoleUsageQuerySet(db)
}

func (qs IamRoleUsageQuerySet) Select(fields ...IamRoleUsageDBSchemaField) IamRoleUsageQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *IamRoleUsage) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *IamRoleUsage) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) All(ret *[]IamRoleUsage) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CreatedAtEq(createdAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CreatedAtGt(createdAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CreatedAtGte(createdAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CreatedAtLt(createdAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CreatedAtLte(createdAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CreatedAtNe(createdAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// CrossAccountDeploymentIsNotNull is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CrossAccountDeploymentIsNotNull() IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment IS NOT NULL"))
}

// CrossAccountDeploymentIsNull is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) CrossAccountDeploymentIsNull() IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("cross_account_deployment IS NULL"))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) Delete() error {
	return qs.db.Delete(&IamRoleUsage{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&IamRoleUsage{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&IamRoleUsage{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) GetUpdater() IamRoleUsageUpdater {
	return NewIamRoleUsageUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDEq(ID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDGt(ID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDGte(ID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDIn(ID ...ID) IamRoleUsageQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDLt(ID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDLte(ID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDNe(ID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) IDNotIn(ID ...ID) IamRoleUsageQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) Limit(limit int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) Offset(offset int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs IamRoleUsageQuerySet) One(ret *IamRoleUsage) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByCreatedAt() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByProjectID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByRoleID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByRoleID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("role_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByUpdatedAt() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByUsedByID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByUsedByID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("used_by_id ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderAscByVersioning() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByCreatedAt() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByProjectID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByRoleID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByRoleID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("role_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByUpdatedAt() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByUsedByID is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByUsedByID() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("used_by_id DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) OrderDescByVersioning() IamRoleUsageQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadCrossAccountDeployment is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) PreloadCrossAccountDeployment() IamRoleUsageQuerySet {
	return qs.w(qs.db.Preload("CrossAccountDeployment"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDEq(projectID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDGt(projectID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDGte(projectID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDIn(projectID ...ID) IamRoleUsageQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDLt(projectID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDLte(projectID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDNe(projectID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) ProjectIDNotIn(projectID ...ID) IamRoleUsageQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// RoleIDEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDEq(roleID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("role_id = ?", roleID))
}

// RoleIDGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDGt(roleID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("role_id > ?", roleID))
}

// RoleIDGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDGte(roleID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("role_id >= ?", roleID))
}

// RoleIDIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDIn(roleID ...ID) IamRoleUsageQuerySet {
	if len(roleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one roleID in RoleIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("role_id IN (?)", roleID))
}

// RoleIDLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDLt(roleID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("role_id < ?", roleID))
}

// RoleIDLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDLte(roleID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("role_id <= ?", roleID))
}

// RoleIDNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDNe(roleID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("role_id != ?", roleID))
}

// RoleIDNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) RoleIDNotIn(roleID ...ID) IamRoleUsageQuerySet {
	if len(roleID) == 0 {
		qs.db.AddError(errors.New("must at least pass one roleID in RoleIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("role_id NOT IN (?)", roleID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtEq(updatedAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtGt(updatedAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtGte(updatedAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtIsNotNull() IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtIsNull() IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtLt(updatedAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtLte(updatedAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UpdatedAtNe(updatedAt time.Time) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// UsedByIDEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDEq(usedByID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("used_by_id = ?", usedByID))
}

// UsedByIDGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDGt(usedByID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("used_by_id > ?", usedByID))
}

// UsedByIDGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDGte(usedByID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("used_by_id >= ?", usedByID))
}

// UsedByIDIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDIn(usedByID ...ID) IamRoleUsageQuerySet {
	if len(usedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one usedByID in UsedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("used_by_id IN (?)", usedByID))
}

// UsedByIDLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDLt(usedByID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("used_by_id < ?", usedByID))
}

// UsedByIDLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDLte(usedByID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("used_by_id <= ?", usedByID))
}

// UsedByIDNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDNe(usedByID ID) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("used_by_id != ?", usedByID))
}

// UsedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) UsedByIDNotIn(usedByID ...ID) IamRoleUsageQuerySet {
	if len(usedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one usedByID in UsedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("used_by_id NOT IN (?)", usedByID))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningEq(versioning int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningGt(versioning int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningGte(versioning int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningIn(versioning ...int) IamRoleUsageQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningLt(versioning int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningLte(versioning int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningNe(versioning int) IamRoleUsageQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs IamRoleUsageQuerySet) VersioningNotIn(versioning ...int) IamRoleUsageQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetCreatedAt(createdAt time.Time) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetID(ID ID) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetProjectID(projectID ID) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.ProjectID)] = projectID
	return u
}

// SetRoleID is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetRoleID(roleID ID) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.RoleID)] = roleID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetUpdatedAt(updatedAt *time.Time) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetUsedByID is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetUsedByID(usedByID ID) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.UsedByID)] = usedByID
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) SetVersioning(versioning int) IamRoleUsageUpdater {
	u.fields[string(IamRoleUsageDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u IamRoleUsageUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set IamRoleUsageQuerySet

// ===== BEGIN of IamRoleUsage modifiers

// IamRoleUsageDBSchemaField describes database schema field. It requires for method 'Update'
type IamRoleUsageDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f IamRoleUsageDBSchemaField) String() string {
	return string(f)
}

// IamRoleUsageDBSchema stores db field names of IamRoleUsage
var IamRoleUsageDBSchema = struct {
	ID                     IamRoleUsageDBSchemaField
	CreatedAt              IamRoleUsageDBSchemaField
	UpdatedAt              IamRoleUsageDBSchemaField
	Versioning             IamRoleUsageDBSchemaField
	ProjectID              IamRoleUsageDBSchemaField
	RoleID                 IamRoleUsageDBSchemaField
	UsedByID               IamRoleUsageDBSchemaField
	CrossAccountDeployment IamRoleUsageDBSchemaField
}{

	ID:                     IamRoleUsageDBSchemaField("id"),
	CreatedAt:              IamRoleUsageDBSchemaField("created_at"),
	UpdatedAt:              IamRoleUsageDBSchemaField("updated_at"),
	Versioning:             IamRoleUsageDBSchemaField("versioning"),
	ProjectID:              IamRoleUsageDBSchemaField("project_id"),
	RoleID:                 IamRoleUsageDBSchemaField("role_id"),
	UsedByID:               IamRoleUsageDBSchemaField("used_by_id"),
	CrossAccountDeployment: IamRoleUsageDBSchemaField("cross_account_deployment"),
}

// Update updates IamRoleUsage fields by primary key
// nolint: dupl
func (o *IamRoleUsage) Update(db *gorm.DB, fields ...IamRoleUsageDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                       o.ID,
		"created_at":               o.CreatedAt,
		"updated_at":               o.UpdatedAt,
		"versioning":               o.Versioning,
		"project_id":               o.ProjectID,
		"role_id":                  o.RoleID,
		"used_by_id":               o.UsedByID,
		"cross_account_deployment": o.CrossAccountDeployment,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update IamRoleUsage %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// IamRoleUsageUpdater is an IamRoleUsage updates manager
type IamRoleUsageUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewIamRoleUsageUpdater creates new IamRoleUsage updater
// nolint: dupl
func NewIamRoleUsageUpdater(db *gorm.DB) IamRoleUsageUpdater {
	return IamRoleUsageUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&IamRoleUsage{}),
	}
}

// ===== END of IamRoleUsage modifiers

// ===== BEGIN of query set InfraComputeQuerySet

// InfraComputeQuerySet is an queryset type for InfraCompute
type InfraComputeQuerySet struct {
	db *gorm.DB
}

// NewInfraComputeQuerySet constructs new InfraComputeQuerySet
func NewInfraComputeQuerySet(db *gorm.DB) InfraComputeQuerySet {
	return InfraComputeQuerySet{
		db: db.Model(&InfraCompute{}),
	}
}

func (qs InfraComputeQuerySet) w(db *gorm.DB) InfraComputeQuerySet {
	return NewInfraComputeQuerySet(db)
}

func (qs InfraComputeQuerySet) Select(fields ...InfraComputeDBSchemaField) InfraComputeQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *InfraCompute) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *InfraCompute) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) All(ret *[]InfraCompute) error {
	return qs.db.Find(ret).Error
}

// CPUNumEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumEq(cPUNum uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_num = ?", cPUNum))
}

// CPUNumGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumGt(cPUNum uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_num > ?", cPUNum))
}

// CPUNumGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumGte(cPUNum uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_num >= ?", cPUNum))
}

// CPUNumIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumIn(cPUNum ...uint32) InfraComputeQuerySet {
	if len(cPUNum) == 0 {
		qs.db.AddError(errors.New("must at least pass one cPUNum in CPUNumIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu_num IN (?)", cPUNum))
}

// CPUNumLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumLt(cPUNum uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_num < ?", cPUNum))
}

// CPUNumLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumLte(cPUNum uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_num <= ?", cPUNum))
}

// CPUNumNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumNe(cPUNum uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_num != ?", cPUNum))
}

// CPUNumNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CPUNumNotIn(cPUNum ...uint32) InfraComputeQuerySet {
	if len(cPUNum) == 0 {
		qs.db.AddError(errors.New("must at least pass one cPUNum in CPUNumNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu_num NOT IN (?)", cPUNum))
}

// Count is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CpuArchEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchEq(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch = ?", cpuArch))
}

// CpuArchGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchGt(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch > ?", cpuArch))
}

// CpuArchGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchGte(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch >= ?", cpuArch))
}

// CpuArchIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchIn(cpuArch ...ArchType) InfraComputeQuerySet {
	if len(cpuArch) == 0 {
		qs.db.AddError(errors.New("must at least pass one cpuArch in CpuArchIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu_arch IN (?)", cpuArch))
}

// CpuArchLike is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchLike(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch LIKE ?", cpuArch))
}

// CpuArchLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchLt(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch < ?", cpuArch))
}

// CpuArchLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchLte(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch <= ?", cpuArch))
}

// CpuArchNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchNe(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch != ?", cpuArch))
}

// CpuArchNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchNotIn(cpuArch ...ArchType) InfraComputeQuerySet {
	if len(cpuArch) == 0 {
		qs.db.AddError(errors.New("must at least pass one cpuArch in CpuArchNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu_arch NOT IN (?)", cpuArch))
}

// CpuArchNotlike is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CpuArchNotlike(cpuArch ArchType) InfraComputeQuerySet {
	return qs.w(qs.db.Where("cpu_arch NOT LIKE ?", cpuArch))
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CreatedAtEq(createdAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CreatedAtGt(createdAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CreatedAtGte(createdAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CreatedAtLt(createdAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CreatedAtLte(createdAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) CreatedAtNe(createdAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) Delete() error {
	return qs.db.Delete(&InfraCompute{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&InfraCompute{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&InfraCompute{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) GetUpdater() InfraComputeUpdater {
	return NewInfraComputeUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDEq(ID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDGt(ID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDGte(ID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDIn(ID ...ID) InfraComputeQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDLt(ID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDLte(ID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDNe(ID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) IDNotIn(ID ...ID) InfraComputeQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// InfraProviderIDEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDEq(infraProviderID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider_id = ?", infraProviderID))
}

// InfraProviderIDGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDGt(infraProviderID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider_id > ?", infraProviderID))
}

// InfraProviderIDGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDGte(infraProviderID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider_id >= ?", infraProviderID))
}

// InfraProviderIDIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDIn(infraProviderID ...ID) InfraComputeQuerySet {
	if len(infraProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraProviderID in InfraProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_provider_id IN (?)", infraProviderID))
}

// InfraProviderIDLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDLt(infraProviderID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider_id < ?", infraProviderID))
}

// InfraProviderIDLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDLte(infraProviderID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider_id <= ?", infraProviderID))
}

// InfraProviderIDNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDNe(infraProviderID ID) InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider_id != ?", infraProviderID))
}

// InfraProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIDNotIn(infraProviderID ...ID) InfraComputeQuerySet {
	if len(infraProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraProviderID in InfraProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_provider_id NOT IN (?)", infraProviderID))
}

// InfraProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIsNotNull() InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider IS NOT NULL"))
}

// InfraProviderIsNull is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InfraProviderIsNull() InfraComputeQuerySet {
	return qs.w(qs.db.Where("infra_provider IS NULL"))
}

// InstanceTypeEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeEq(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type = ?", instanceType))
}

// InstanceTypeGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeGt(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type > ?", instanceType))
}

// InstanceTypeGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeGte(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type >= ?", instanceType))
}

// InstanceTypeIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeIn(instanceType ...string) InfraComputeQuerySet {
	if len(instanceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceType in InstanceTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_type IN (?)", instanceType))
}

// InstanceTypeLike is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeLike(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type LIKE ?", instanceType))
}

// InstanceTypeLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeLt(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type < ?", instanceType))
}

// InstanceTypeLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeLte(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type <= ?", instanceType))
}

// InstanceTypeNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeNe(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type != ?", instanceType))
}

// InstanceTypeNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeNotIn(instanceType ...string) InfraComputeQuerySet {
	if len(instanceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceType in InstanceTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_type NOT IN (?)", instanceType))
}

// InstanceTypeNotlike is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) InstanceTypeNotlike(instanceType string) InfraComputeQuerySet {
	return qs.w(qs.db.Where("instance_type NOT LIKE ?", instanceType))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) Limit(limit int) InfraComputeQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// LocalStorageSizeGiEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiEq(localStorageSizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("local_storage_size_gi = ?", localStorageSizeGi))
}

// LocalStorageSizeGiGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiGt(localStorageSizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("local_storage_size_gi > ?", localStorageSizeGi))
}

// LocalStorageSizeGiGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiGte(localStorageSizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("local_storage_size_gi >= ?", localStorageSizeGi))
}

// LocalStorageSizeGiIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiIn(localStorageSizeGi ...uint32) InfraComputeQuerySet {
	if len(localStorageSizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one localStorageSizeGi in LocalStorageSizeGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("local_storage_size_gi IN (?)", localStorageSizeGi))
}

// LocalStorageSizeGiLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiLt(localStorageSizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("local_storage_size_gi < ?", localStorageSizeGi))
}

// LocalStorageSizeGiLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiLte(localStorageSizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("local_storage_size_gi <= ?", localStorageSizeGi))
}

// LocalStorageSizeGiNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiNe(localStorageSizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("local_storage_size_gi != ?", localStorageSizeGi))
}

// LocalStorageSizeGiNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) LocalStorageSizeGiNotIn(localStorageSizeGi ...uint32) InfraComputeQuerySet {
	if len(localStorageSizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one localStorageSizeGi in LocalStorageSizeGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("local_storage_size_gi NOT IN (?)", localStorageSizeGi))
}

// MemorySizeGiEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiEq(memorySizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("memory_size_gi = ?", memorySizeGi))
}

// MemorySizeGiGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiGt(memorySizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("memory_size_gi > ?", memorySizeGi))
}

// MemorySizeGiGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiGte(memorySizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("memory_size_gi >= ?", memorySizeGi))
}

// MemorySizeGiIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiIn(memorySizeGi ...uint32) InfraComputeQuerySet {
	if len(memorySizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one memorySizeGi in MemorySizeGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memory_size_gi IN (?)", memorySizeGi))
}

// MemorySizeGiLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiLt(memorySizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("memory_size_gi < ?", memorySizeGi))
}

// MemorySizeGiLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiLte(memorySizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("memory_size_gi <= ?", memorySizeGi))
}

// MemorySizeGiNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiNe(memorySizeGi uint32) InfraComputeQuerySet {
	return qs.w(qs.db.Where("memory_size_gi != ?", memorySizeGi))
}

// MemorySizeGiNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) MemorySizeGiNotIn(memorySizeGi ...uint32) InfraComputeQuerySet {
	if len(memorySizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one memorySizeGi in MemorySizeGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memory_size_gi NOT IN (?)", memorySizeGi))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) Offset(offset int) InfraComputeQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs InfraComputeQuerySet) One(ret *InfraCompute) error {
	return qs.db.First(ret).Error
}

// OrderAscByCPUNum is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByCPUNum() InfraComputeQuerySet {
	return qs.w(qs.db.Order("cpu_num ASC"))
}

// OrderAscByCpuArch is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByCpuArch() InfraComputeQuerySet {
	return qs.w(qs.db.Order("cpu_arch ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByCreatedAt() InfraComputeQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByID() InfraComputeQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByInfraProviderID is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByInfraProviderID() InfraComputeQuerySet {
	return qs.w(qs.db.Order("infra_provider_id ASC"))
}

// OrderAscByInstanceType is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByInstanceType() InfraComputeQuerySet {
	return qs.w(qs.db.Order("instance_type ASC"))
}

// OrderAscByLocalStorageSizeGi is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByLocalStorageSizeGi() InfraComputeQuerySet {
	return qs.w(qs.db.Order("local_storage_size_gi ASC"))
}

// OrderAscByMemorySizeGi is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByMemorySizeGi() InfraComputeQuerySet {
	return qs.w(qs.db.Order("memory_size_gi ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByUpdatedAt() InfraComputeQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderAscByVersioning() InfraComputeQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCPUNum is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByCPUNum() InfraComputeQuerySet {
	return qs.w(qs.db.Order("cpu_num DESC"))
}

// OrderDescByCpuArch is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByCpuArch() InfraComputeQuerySet {
	return qs.w(qs.db.Order("cpu_arch DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByCreatedAt() InfraComputeQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByID() InfraComputeQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByInfraProviderID is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByInfraProviderID() InfraComputeQuerySet {
	return qs.w(qs.db.Order("infra_provider_id DESC"))
}

// OrderDescByInstanceType is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByInstanceType() InfraComputeQuerySet {
	return qs.w(qs.db.Order("instance_type DESC"))
}

// OrderDescByLocalStorageSizeGi is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByLocalStorageSizeGi() InfraComputeQuerySet {
	return qs.w(qs.db.Order("local_storage_size_gi DESC"))
}

// OrderDescByMemorySizeGi is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByMemorySizeGi() InfraComputeQuerySet {
	return qs.w(qs.db.Order("memory_size_gi DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByUpdatedAt() InfraComputeQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) OrderDescByVersioning() InfraComputeQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadInfraProvider is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) PreloadInfraProvider() InfraComputeQuerySet {
	return qs.w(qs.db.Preload("InfraProvider"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtEq(updatedAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtGt(updatedAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtGte(updatedAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtIsNotNull() InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtIsNull() InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtLt(updatedAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtLte(updatedAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) UpdatedAtNe(updatedAt time.Time) InfraComputeQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningEq(versioning int) InfraComputeQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningGt(versioning int) InfraComputeQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningGte(versioning int) InfraComputeQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningIn(versioning ...int) InfraComputeQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningLt(versioning int) InfraComputeQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningLte(versioning int) InfraComputeQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningNe(versioning int) InfraComputeQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs InfraComputeQuerySet) VersioningNotIn(versioning ...int) InfraComputeQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCPUNum is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetCPUNum(cPUNum uint32) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.CPUNum)] = cPUNum
	return u
}

// SetCpuArch is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetCpuArch(cpuArch ArchType) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.CpuArch)] = cpuArch
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetCreatedAt(createdAt time.Time) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetID(ID ID) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.ID)] = ID
	return u
}

// SetInfraProviderID is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetInfraProviderID(infraProviderID ID) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.InfraProviderID)] = infraProviderID
	return u
}

// SetInstanceType is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetInstanceType(instanceType string) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.InstanceType)] = instanceType
	return u
}

// SetLocalStorageSizeGi is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetLocalStorageSizeGi(localStorageSizeGi uint32) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.LocalStorageSizeGi)] = localStorageSizeGi
	return u
}

// SetMemorySizeGi is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetMemorySizeGi(memorySizeGi uint32) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.MemorySizeGi)] = memorySizeGi
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetUpdatedAt(updatedAt *time.Time) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) SetVersioning(versioning int) InfraComputeUpdater {
	u.fields[string(InfraComputeDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u InfraComputeUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set InfraComputeQuerySet

// ===== BEGIN of InfraCompute modifiers

// InfraComputeDBSchemaField describes database schema field. It requires for method 'Update'
type InfraComputeDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f InfraComputeDBSchemaField) String() string {
	return string(f)
}

// InfraComputeDBSchema stores db field names of InfraCompute
var InfraComputeDBSchema = struct {
	ID                 InfraComputeDBSchemaField
	CreatedAt          InfraComputeDBSchemaField
	UpdatedAt          InfraComputeDBSchemaField
	Versioning         InfraComputeDBSchemaField
	InstanceType       InfraComputeDBSchemaField
	InfraProvider      InfraComputeDBSchemaField
	InfraProviderID    InfraComputeDBSchemaField
	CPUNum             InfraComputeDBSchemaField
	MemorySizeGi       InfraComputeDBSchemaField
	LocalStorageSizeGi InfraComputeDBSchemaField
	CpuArch            InfraComputeDBSchemaField
}{

	ID:                 InfraComputeDBSchemaField("id"),
	CreatedAt:          InfraComputeDBSchemaField("created_at"),
	UpdatedAt:          InfraComputeDBSchemaField("updated_at"),
	Versioning:         InfraComputeDBSchemaField("versioning"),
	InstanceType:       InfraComputeDBSchemaField("instance_type"),
	InfraProvider:      InfraComputeDBSchemaField("infra_provider"),
	InfraProviderID:    InfraComputeDBSchemaField("infra_provider_id"),
	CPUNum:             InfraComputeDBSchemaField("cpu_num"),
	MemorySizeGi:       InfraComputeDBSchemaField("memory_size_gi"),
	LocalStorageSizeGi: InfraComputeDBSchemaField("local_storage_size_gi"),
	CpuArch:            InfraComputeDBSchemaField("cpu_arch"),
}

// Update updates InfraCompute fields by primary key
// nolint: dupl
func (o *InfraCompute) Update(db *gorm.DB, fields ...InfraComputeDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                    o.ID,
		"created_at":            o.CreatedAt,
		"updated_at":            o.UpdatedAt,
		"versioning":            o.Versioning,
		"instance_type":         o.InstanceType,
		"infra_provider":        o.InfraProvider,
		"infra_provider_id":     o.InfraProviderID,
		"cpu_num":               o.CPUNum,
		"memory_size_gi":        o.MemorySizeGi,
		"local_storage_size_gi": o.LocalStorageSizeGi,
		"cpu_arch":              o.CpuArch,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update InfraCompute %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// InfraComputeUpdater is an InfraCompute updates manager
type InfraComputeUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewInfraComputeUpdater creates new InfraCompute updater
// nolint: dupl
func NewInfraComputeUpdater(db *gorm.DB) InfraComputeUpdater {
	return InfraComputeUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&InfraCompute{}),
	}
}

// ===== END of InfraCompute modifiers

// ===== BEGIN of query set InfraProviderQuerySet

// InfraProviderQuerySet is an queryset type for InfraProvider
type InfraProviderQuerySet struct {
	db *gorm.DB
}

// NewInfraProviderQuerySet constructs new InfraProviderQuerySet
func NewInfraProviderQuerySet(db *gorm.DB) InfraProviderQuerySet {
	return InfraProviderQuerySet{
		db: db.Model(&InfraProvider{}),
	}
}

func (qs InfraProviderQuerySet) w(db *gorm.DB) InfraProviderQuerySet {
	return NewInfraProviderQuerySet(db)
}

func (qs InfraProviderQuerySet) Select(fields ...InfraProviderDBSchemaField) InfraProviderQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *InfraProvider) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *InfraProvider) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) All(ret *[]InfraProvider) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) CreatedAtEq(createdAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) CreatedAtGt(createdAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) CreatedAtGte(createdAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) CreatedAtLt(createdAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) CreatedAtLte(createdAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) CreatedAtNe(createdAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) Delete() error {
	return qs.db.Delete(&InfraProvider{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&InfraProvider{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&InfraProvider{})
	return db.RowsAffected, db.Error
}

// DeployTypeEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeEq(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type = ?", deployType))
}

// DeployTypeGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeGt(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type > ?", deployType))
}

// DeployTypeGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeGte(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type >= ?", deployType))
}

// DeployTypeIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeIn(deployType ...DeployType) InfraProviderQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type IN (?)", deployType))
}

// DeployTypeLike is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeLike(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type LIKE ?", deployType))
}

// DeployTypeLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeLt(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type < ?", deployType))
}

// DeployTypeLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeLte(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type <= ?", deployType))
}

// DeployTypeNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeNe(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type != ?", deployType))
}

// DeployTypeNotIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeNotIn(deployType ...DeployType) InfraProviderQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type NOT IN (?)", deployType))
}

// DeployTypeNotlike is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) DeployTypeNotlike(deployType DeployType) InfraProviderQuerySet {
	return qs.w(qs.db.Where("deploy_type NOT LIKE ?", deployType))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) GetUpdater() InfraProviderUpdater {
	return NewInfraProviderUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDEq(ID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDGt(ID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDGte(ID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDIn(ID ...ID) InfraProviderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDLt(ID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDLte(ID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDNe(ID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) IDNotIn(ID ...ID) InfraProviderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) Limit(limit int) InfraProviderQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameEq(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameGt(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameGte(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameIn(name ...string) InfraProviderQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameLike(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameLt(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameLte(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameNe(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameNotIn(name ...string) InfraProviderQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) NameNotlike(name string) InfraProviderQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) Offset(offset int) InfraProviderQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs InfraProviderQuerySet) One(ret *InfraProvider) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByCreatedAt() InfraProviderQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDeployType is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByDeployType() InfraProviderQuerySet {
	return qs.w(qs.db.Order("deploy_type ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByID() InfraProviderQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByName() InfraProviderQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByProviderID() InfraProviderQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByUpdatedAt() InfraProviderQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderAscByVersioning() InfraProviderQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByCreatedAt() InfraProviderQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDeployType is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByDeployType() InfraProviderQuerySet {
	return qs.w(qs.db.Order("deploy_type DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByID() InfraProviderQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByName() InfraProviderQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByProviderID() InfraProviderQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByUpdatedAt() InfraProviderQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) OrderDescByVersioning() InfraProviderQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) PreloadProvider() InfraProviderQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDEq(providerID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDGt(providerID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDGte(providerID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDIn(providerID ...ID) InfraProviderQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDLt(providerID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDLte(providerID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDNe(providerID ID) InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIDNotIn(providerID ...ID) InfraProviderQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIsNotNull() InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) ProviderIsNull() InfraProviderQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtEq(updatedAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtGt(updatedAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtGte(updatedAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtIsNotNull() InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtIsNull() InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtLt(updatedAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtLte(updatedAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) UpdatedAtNe(updatedAt time.Time) InfraProviderQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningEq(versioning int) InfraProviderQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningGt(versioning int) InfraProviderQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningGte(versioning int) InfraProviderQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningIn(versioning ...int) InfraProviderQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningLt(versioning int) InfraProviderQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningLte(versioning int) InfraProviderQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningNe(versioning int) InfraProviderQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs InfraProviderQuerySet) VersioningNotIn(versioning ...int) InfraProviderQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetCreatedAt(createdAt time.Time) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDeployType is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetDeployType(deployType DeployType) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.DeployType)] = deployType
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetID(ID ID) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetName(name string) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.Name)] = name
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetProviderID(providerID ID) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.ProviderID)] = providerID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetUpdatedAt(updatedAt *time.Time) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) SetVersioning(versioning int) InfraProviderUpdater {
	u.fields[string(InfraProviderDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u InfraProviderUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set InfraProviderQuerySet

// ===== BEGIN of InfraProvider modifiers

// InfraProviderDBSchemaField describes database schema field. It requires for method 'Update'
type InfraProviderDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f InfraProviderDBSchemaField) String() string {
	return string(f)
}

// InfraProviderDBSchema stores db field names of InfraProvider
var InfraProviderDBSchema = struct {
	ID         InfraProviderDBSchemaField
	CreatedAt  InfraProviderDBSchemaField
	UpdatedAt  InfraProviderDBSchemaField
	Versioning InfraProviderDBSchemaField
	Name       InfraProviderDBSchemaField
	DeployType InfraProviderDBSchemaField
	ProviderID InfraProviderDBSchemaField
	Provider   InfraProviderDBSchemaField
}{

	ID:         InfraProviderDBSchemaField("id"),
	CreatedAt:  InfraProviderDBSchemaField("created_at"),
	UpdatedAt:  InfraProviderDBSchemaField("updated_at"),
	Versioning: InfraProviderDBSchemaField("versioning"),
	Name:       InfraProviderDBSchemaField("name"),
	DeployType: InfraProviderDBSchemaField("deploy_type"),
	ProviderID: InfraProviderDBSchemaField("provider_id"),
	Provider:   InfraProviderDBSchemaField("provider"),
}

// Update updates InfraProvider fields by primary key
// nolint: dupl
func (o *InfraProvider) Update(db *gorm.DB, fields ...InfraProviderDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"updated_at":  o.UpdatedAt,
		"versioning":  o.Versioning,
		"name":        o.Name,
		"deploy_type": o.DeployType,
		"provider_id": o.ProviderID,
		"provider":    o.Provider,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update InfraProvider %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// InfraProviderUpdater is an InfraProvider updates manager
type InfraProviderUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewInfraProviderUpdater creates new InfraProvider updater
// nolint: dupl
func NewInfraProviderUpdater(db *gorm.DB) InfraProviderUpdater {
	return InfraProviderUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&InfraProvider{}),
	}
}

// ===== END of InfraProvider modifiers

// ===== BEGIN of query set InfraStorageQuerySet

// InfraStorageQuerySet is an queryset type for InfraStorage
type InfraStorageQuerySet struct {
	db *gorm.DB
}

// NewInfraStorageQuerySet constructs new InfraStorageQuerySet
func NewInfraStorageQuerySet(db *gorm.DB) InfraStorageQuerySet {
	return InfraStorageQuerySet{
		db: db.Model(&InfraStorage{}),
	}
}

func (qs InfraStorageQuerySet) w(db *gorm.DB) InfraStorageQuerySet {
	return NewInfraStorageQuerySet(db)
}

func (qs InfraStorageQuerySet) Select(fields ...InfraStorageDBSchemaField) InfraStorageQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *InfraStorage) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *InfraStorage) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) All(ret *[]InfraStorage) error {
	return qs.db.Find(ret).Error
}

// ClassNameEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameEq(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name = ?", className))
}

// ClassNameGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameGt(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name > ?", className))
}

// ClassNameGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameGte(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name >= ?", className))
}

// ClassNameIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameIn(className ...string) InfraStorageQuerySet {
	if len(className) == 0 {
		qs.db.AddError(errors.New("must at least pass one className in ClassNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("class_name IN (?)", className))
}

// ClassNameLike is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameLike(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name LIKE ?", className))
}

// ClassNameLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameLt(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name < ?", className))
}

// ClassNameLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameLte(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name <= ?", className))
}

// ClassNameNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameNe(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name != ?", className))
}

// ClassNameNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameNotIn(className ...string) InfraStorageQuerySet {
	if len(className) == 0 {
		qs.db.AddError(errors.New("must at least pass one className in ClassNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("class_name NOT IN (?)", className))
}

// ClassNameNotlike is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ClassNameNotlike(className string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("class_name NOT LIKE ?", className))
}

// Count is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) CreatedAtEq(createdAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) CreatedAtGt(createdAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) CreatedAtGte(createdAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) CreatedAtLt(createdAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) CreatedAtLte(createdAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) CreatedAtNe(createdAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) Delete() error {
	return qs.db.Delete(&InfraStorage{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&InfraStorage{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&InfraStorage{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) GetUpdater() InfraStorageUpdater {
	return NewInfraStorageUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDEq(ID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDGt(ID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDGte(ID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDIn(ID ...ID) InfraStorageQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDLt(ID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDLte(ID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDNe(ID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IDNotIn(ID ...ID) InfraStorageQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// IOPSEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSEq(iOPS uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("iops = ?", iOPS))
}

// IOPSGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSGt(iOPS uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("iops > ?", iOPS))
}

// IOPSGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSGte(iOPS uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("iops >= ?", iOPS))
}

// IOPSIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSIn(iOPS ...uint32) InfraStorageQuerySet {
	if len(iOPS) == 0 {
		qs.db.AddError(errors.New("must at least pass one iOPS in IOPSIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("iops IN (?)", iOPS))
}

// IOPSLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSLt(iOPS uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("iops < ?", iOPS))
}

// IOPSLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSLte(iOPS uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("iops <= ?", iOPS))
}

// IOPSNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSNe(iOPS uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("iops != ?", iOPS))
}

// IOPSNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) IOPSNotIn(iOPS ...uint32) InfraStorageQuerySet {
	if len(iOPS) == 0 {
		qs.db.AddError(errors.New("must at least pass one iOPS in IOPSNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("iops NOT IN (?)", iOPS))
}

// InfraProviderIDEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDEq(infraProviderID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider_id = ?", infraProviderID))
}

// InfraProviderIDGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDGt(infraProviderID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider_id > ?", infraProviderID))
}

// InfraProviderIDGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDGte(infraProviderID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider_id >= ?", infraProviderID))
}

// InfraProviderIDIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDIn(infraProviderID ...ID) InfraStorageQuerySet {
	if len(infraProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraProviderID in InfraProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_provider_id IN (?)", infraProviderID))
}

// InfraProviderIDLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDLt(infraProviderID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider_id < ?", infraProviderID))
}

// InfraProviderIDLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDLte(infraProviderID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider_id <= ?", infraProviderID))
}

// InfraProviderIDNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDNe(infraProviderID ID) InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider_id != ?", infraProviderID))
}

// InfraProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIDNotIn(infraProviderID ...ID) InfraStorageQuerySet {
	if len(infraProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraProviderID in InfraProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_provider_id NOT IN (?)", infraProviderID))
}

// InfraProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIsNotNull() InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider IS NOT NULL"))
}

// InfraProviderIsNull is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InfraProviderIsNull() InfraStorageQuerySet {
	return qs.w(qs.db.Where("infra_provider IS NULL"))
}

// InstanceTypeEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeEq(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type = ?", instanceType))
}

// InstanceTypeGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeGt(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type > ?", instanceType))
}

// InstanceTypeGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeGte(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type >= ?", instanceType))
}

// InstanceTypeIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeIn(instanceType ...string) InfraStorageQuerySet {
	if len(instanceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceType in InstanceTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_type IN (?)", instanceType))
}

// InstanceTypeLike is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeLike(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type LIKE ?", instanceType))
}

// InstanceTypeLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeLt(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type < ?", instanceType))
}

// InstanceTypeLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeLte(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type <= ?", instanceType))
}

// InstanceTypeNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeNe(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type != ?", instanceType))
}

// InstanceTypeNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeNotIn(instanceType ...string) InfraStorageQuerySet {
	if len(instanceType) == 0 {
		qs.db.AddError(errors.New("must at least pass one instanceType in InstanceTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("instance_type NOT IN (?)", instanceType))
}

// InstanceTypeNotlike is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) InstanceTypeNotlike(instanceType string) InfraStorageQuerySet {
	return qs.w(qs.db.Where("instance_type NOT LIKE ?", instanceType))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) Limit(limit int) InfraStorageQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) Offset(offset int) InfraStorageQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs InfraStorageQuerySet) One(ret *InfraStorage) error {
	return qs.db.First(ret).Error
}

// OrderAscByClassName is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByClassName() InfraStorageQuerySet {
	return qs.w(qs.db.Order("class_name ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByCreatedAt() InfraStorageQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByID() InfraStorageQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByIOPS is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByIOPS() InfraStorageQuerySet {
	return qs.w(qs.db.Order("iops ASC"))
}

// OrderAscByInfraProviderID is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByInfraProviderID() InfraStorageQuerySet {
	return qs.w(qs.db.Order("infra_provider_id ASC"))
}

// OrderAscByInstanceType is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByInstanceType() InfraStorageQuerySet {
	return qs.w(qs.db.Order("instance_type ASC"))
}

// OrderAscByThroughputMi is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByThroughputMi() InfraStorageQuerySet {
	return qs.w(qs.db.Order("throughput_mi ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByUpdatedAt() InfraStorageQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderAscByVersioning() InfraStorageQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByClassName is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByClassName() InfraStorageQuerySet {
	return qs.w(qs.db.Order("class_name DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByCreatedAt() InfraStorageQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByID() InfraStorageQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByIOPS is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByIOPS() InfraStorageQuerySet {
	return qs.w(qs.db.Order("iops DESC"))
}

// OrderDescByInfraProviderID is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByInfraProviderID() InfraStorageQuerySet {
	return qs.w(qs.db.Order("infra_provider_id DESC"))
}

// OrderDescByInstanceType is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByInstanceType() InfraStorageQuerySet {
	return qs.w(qs.db.Order("instance_type DESC"))
}

// OrderDescByThroughputMi is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByThroughputMi() InfraStorageQuerySet {
	return qs.w(qs.db.Order("throughput_mi DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByUpdatedAt() InfraStorageQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) OrderDescByVersioning() InfraStorageQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadInfraProvider is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) PreloadInfraProvider() InfraStorageQuerySet {
	return qs.w(qs.db.Preload("InfraProvider"))
}

// ThroughputMiEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiEq(throughputMi uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("throughput_mi = ?", throughputMi))
}

// ThroughputMiGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiGt(throughputMi uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("throughput_mi > ?", throughputMi))
}

// ThroughputMiGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiGte(throughputMi uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("throughput_mi >= ?", throughputMi))
}

// ThroughputMiIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiIn(throughputMi ...uint32) InfraStorageQuerySet {
	if len(throughputMi) == 0 {
		qs.db.AddError(errors.New("must at least pass one throughputMi in ThroughputMiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("throughput_mi IN (?)", throughputMi))
}

// ThroughputMiLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiLt(throughputMi uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("throughput_mi < ?", throughputMi))
}

// ThroughputMiLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiLte(throughputMi uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("throughput_mi <= ?", throughputMi))
}

// ThroughputMiNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiNe(throughputMi uint32) InfraStorageQuerySet {
	return qs.w(qs.db.Where("throughput_mi != ?", throughputMi))
}

// ThroughputMiNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) ThroughputMiNotIn(throughputMi ...uint32) InfraStorageQuerySet {
	if len(throughputMi) == 0 {
		qs.db.AddError(errors.New("must at least pass one throughputMi in ThroughputMiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("throughput_mi NOT IN (?)", throughputMi))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtEq(updatedAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtGt(updatedAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtGte(updatedAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtIsNotNull() InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtIsNull() InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtLt(updatedAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtLte(updatedAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) UpdatedAtNe(updatedAt time.Time) InfraStorageQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningEq(versioning int) InfraStorageQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningGt(versioning int) InfraStorageQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningGte(versioning int) InfraStorageQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningIn(versioning ...int) InfraStorageQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningLt(versioning int) InfraStorageQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningLte(versioning int) InfraStorageQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningNe(versioning int) InfraStorageQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs InfraStorageQuerySet) VersioningNotIn(versioning ...int) InfraStorageQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetClassName is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetClassName(className string) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.ClassName)] = className
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetCreatedAt(createdAt time.Time) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetID(ID ID) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.ID)] = ID
	return u
}

// SetIOPS is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetIOPS(iOPS uint32) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.IOPS)] = iOPS
	return u
}

// SetInfraProviderID is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetInfraProviderID(infraProviderID ID) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.InfraProviderID)] = infraProviderID
	return u
}

// SetInstanceType is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetInstanceType(instanceType string) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.InstanceType)] = instanceType
	return u
}

// SetThroughputMi is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetThroughputMi(throughputMi uint32) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.ThroughputMi)] = throughputMi
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetUpdatedAt(updatedAt *time.Time) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) SetVersioning(versioning int) InfraStorageUpdater {
	u.fields[string(InfraStorageDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u InfraStorageUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set InfraStorageQuerySet

// ===== BEGIN of InfraStorage modifiers

// InfraStorageDBSchemaField describes database schema field. It requires for method 'Update'
type InfraStorageDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f InfraStorageDBSchemaField) String() string {
	return string(f)
}

// InfraStorageDBSchema stores db field names of InfraStorage
var InfraStorageDBSchema = struct {
	ID              InfraStorageDBSchemaField
	CreatedAt       InfraStorageDBSchemaField
	UpdatedAt       InfraStorageDBSchemaField
	Versioning      InfraStorageDBSchemaField
	InfraProvider   InfraStorageDBSchemaField
	InfraProviderID InfraStorageDBSchemaField
	ClassName       InfraStorageDBSchemaField
	InstanceType    InfraStorageDBSchemaField
	IOPS            InfraStorageDBSchemaField
	ThroughputMi    InfraStorageDBSchemaField
}{

	ID:              InfraStorageDBSchemaField("id"),
	CreatedAt:       InfraStorageDBSchemaField("created_at"),
	UpdatedAt:       InfraStorageDBSchemaField("updated_at"),
	Versioning:      InfraStorageDBSchemaField("versioning"),
	InfraProvider:   InfraStorageDBSchemaField("infra_provider"),
	InfraProviderID: InfraStorageDBSchemaField("infra_provider_id"),
	ClassName:       InfraStorageDBSchemaField("class_name"),
	InstanceType:    InfraStorageDBSchemaField("instance_type"),
	IOPS:            InfraStorageDBSchemaField("iops"),
	ThroughputMi:    InfraStorageDBSchemaField("throughput_mi"),
}

// Update updates InfraStorage fields by primary key
// nolint: dupl
func (o *InfraStorage) Update(db *gorm.DB, fields ...InfraStorageDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"versioning":        o.Versioning,
		"infra_provider":    o.InfraProvider,
		"infra_provider_id": o.InfraProviderID,
		"class_name":        o.ClassName,
		"instance_type":     o.InstanceType,
		"iops":              o.IOPS,
		"throughput_mi":     o.ThroughputMi,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update InfraStorage %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// InfraStorageUpdater is an InfraStorage updates manager
type InfraStorageUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewInfraStorageUpdater creates new InfraStorage updater
// nolint: dupl
func NewInfraStorageUpdater(db *gorm.DB) InfraStorageUpdater {
	return InfraStorageUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&InfraStorage{}),
	}
}

// ===== END of InfraStorage modifiers

// ===== BEGIN of query set ProjectNetworkQuerySet

// ProjectNetworkQuerySet is an queryset type for ProjectNetwork
type ProjectNetworkQuerySet struct {
	db *gorm.DB
}

// NewProjectNetworkQuerySet constructs new ProjectNetworkQuerySet
func NewProjectNetworkQuerySet(db *gorm.DB) ProjectNetworkQuerySet {
	return ProjectNetworkQuerySet{
		db: db.Model(&ProjectNetwork{}),
	}
}

func (qs ProjectNetworkQuerySet) w(db *gorm.DB) ProjectNetworkQuerySet {
	return NewProjectNetworkQuerySet(db)
}

func (qs ProjectNetworkQuerySet) Select(fields ...ProjectNetworkDBSchemaField) ProjectNetworkQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ProjectNetwork) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ProjectNetwork) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) All(ret *[]ProjectNetwork) error {
	return qs.db.Find(ret).Error
}

// CIDREq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDREq(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr = ?", cIDR))
}

// CIDRGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRGt(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr > ?", cIDR))
}

// CIDRGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRGte(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr >= ?", cIDR))
}

// CIDRIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRIn(cIDR ...string) ProjectNetworkQuerySet {
	if len(cIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one cIDR in CIDRIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr IN (?)", cIDR))
}

// CIDRLike is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRLike(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr LIKE ?", cIDR))
}

// CIDRLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRLt(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr < ?", cIDR))
}

// CIDRLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRLte(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr <= ?", cIDR))
}

// CIDRNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRNe(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr != ?", cIDR))
}

// CIDRNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRNotIn(cIDR ...string) ProjectNetworkQuerySet {
	if len(cIDR) == 0 {
		qs.db.AddError(errors.New("must at least pass one cIDR in CIDRNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr NOT IN (?)", cIDR))
}

// CIDRNotlike is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CIDRNotlike(cIDR string) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("cidr NOT LIKE ?", cIDR))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CreatedAtEq(createdAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CreatedAtGt(createdAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CreatedAtGte(createdAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CreatedAtLt(createdAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CreatedAtLte(createdAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) CreatedAtNe(createdAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) Delete() error {
	return qs.db.Delete(&ProjectNetwork{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ProjectNetwork{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ProjectNetwork{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) GetUpdater() ProjectNetworkUpdater {
	return NewProjectNetworkUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDEq(ID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDGt(ID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDGte(ID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDIn(ID ...ID) ProjectNetworkQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDLt(ID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDLte(ID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDNe(ID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) IDNotIn(ID ...ID) ProjectNetworkQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) Limit(limit int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) Offset(offset int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ProjectNetworkQuerySet) One(ret *ProjectNetwork) error {
	return qs.db.First(ret).Error
}

// OrderAscByCIDR is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByCIDR() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("cidr ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByCreatedAt() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByID() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByProjectID is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByProjectID() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("project_id ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByProviderID() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByUpdatedAt() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderAscByVersioning() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCIDR is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByCIDR() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("cidr DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByCreatedAt() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByID() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByProjectID is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByProjectID() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("project_id DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByProviderID() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByUpdatedAt() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) OrderDescByVersioning() ProjectNetworkQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) PreloadProvider() ProjectNetworkQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// ProjectIDEq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDEq(projectID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("project_id = ?", projectID))
}

// ProjectIDGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDGt(projectID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("project_id > ?", projectID))
}

// ProjectIDGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDGte(projectID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("project_id >= ?", projectID))
}

// ProjectIDIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDIn(projectID ...ID) ProjectNetworkQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id IN (?)", projectID))
}

// ProjectIDLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDLt(projectID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("project_id < ?", projectID))
}

// ProjectIDLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDLte(projectID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("project_id <= ?", projectID))
}

// ProjectIDNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDNe(projectID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("project_id != ?", projectID))
}

// ProjectIDNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProjectIDNotIn(projectID ...ID) ProjectNetworkQuerySet {
	if len(projectID) == 0 {
		qs.db.AddError(errors.New("must at least pass one projectID in ProjectIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("project_id NOT IN (?)", projectID))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDEq(providerID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDGt(providerID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDGte(providerID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDIn(providerID ...ID) ProjectNetworkQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDLt(providerID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDLte(providerID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDNe(providerID ID) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIDNotIn(providerID ...ID) ProjectNetworkQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIsNotNull() ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) ProviderIsNull() ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtEq(updatedAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtGt(updatedAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtGte(updatedAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtIsNotNull() ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtIsNull() ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtLt(updatedAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtLte(updatedAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) UpdatedAtNe(updatedAt time.Time) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningEq(versioning int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningGt(versioning int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningGte(versioning int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningIn(versioning ...int) ProjectNetworkQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningLt(versioning int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningLte(versioning int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningNe(versioning int) ProjectNetworkQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs ProjectNetworkQuerySet) VersioningNotIn(versioning ...int) ProjectNetworkQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCIDR is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetCIDR(cIDR string) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.CIDR)] = cIDR
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetCreatedAt(createdAt time.Time) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetID(ID ID) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.ID)] = ID
	return u
}

// SetProjectID is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetProjectID(projectID ID) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.ProjectID)] = projectID
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetProviderID(providerID ID) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.ProviderID)] = providerID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetUpdatedAt(updatedAt *time.Time) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) SetVersioning(versioning int) ProjectNetworkUpdater {
	u.fields[string(ProjectNetworkDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ProjectNetworkUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ProjectNetworkQuerySet

// ===== BEGIN of ProjectNetwork modifiers

// ProjectNetworkDBSchemaField describes database schema field. It requires for method 'Update'
type ProjectNetworkDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ProjectNetworkDBSchemaField) String() string {
	return string(f)
}

// ProjectNetworkDBSchema stores db field names of ProjectNetwork
var ProjectNetworkDBSchema = struct {
	ID         ProjectNetworkDBSchemaField
	CreatedAt  ProjectNetworkDBSchemaField
	UpdatedAt  ProjectNetworkDBSchemaField
	Versioning ProjectNetworkDBSchemaField
	ProjectID  ProjectNetworkDBSchemaField
	ProviderID ProjectNetworkDBSchemaField
	Provider   ProjectNetworkDBSchemaField
	CIDR       ProjectNetworkDBSchemaField
}{

	ID:         ProjectNetworkDBSchemaField("id"),
	CreatedAt:  ProjectNetworkDBSchemaField("created_at"),
	UpdatedAt:  ProjectNetworkDBSchemaField("updated_at"),
	Versioning: ProjectNetworkDBSchemaField("versioning"),
	ProjectID:  ProjectNetworkDBSchemaField("project_id"),
	ProviderID: ProjectNetworkDBSchemaField("provider_id"),
	Provider:   ProjectNetworkDBSchemaField("provider"),
	CIDR:       ProjectNetworkDBSchemaField("cidr"),
}

// Update updates ProjectNetwork fields by primary key
// nolint: dupl
func (o *ProjectNetwork) Update(db *gorm.DB, fields ...ProjectNetworkDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":          o.ID,
		"created_at":  o.CreatedAt,
		"updated_at":  o.UpdatedAt,
		"versioning":  o.Versioning,
		"project_id":  o.ProjectID,
		"provider_id": o.ProviderID,
		"provider":    o.Provider,
		"cidr":        o.CIDR,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ProjectNetwork %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ProjectNetworkUpdater is an ProjectNetwork updates manager
type ProjectNetworkUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewProjectNetworkUpdater creates new ProjectNetwork updater
// nolint: dupl
func NewProjectNetworkUpdater(db *gorm.DB) ProjectNetworkUpdater {
	return ProjectNetworkUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ProjectNetwork{}),
	}
}

// ===== END of ProjectNetwork modifiers

// ===== BEGIN of query set ProviderQuerySet

// ProviderQuerySet is an queryset type for Provider
type ProviderQuerySet struct {
	db *gorm.DB
}

// NewProviderQuerySet constructs new ProviderQuerySet
func NewProviderQuerySet(db *gorm.DB) ProviderQuerySet {
	return ProviderQuerySet{
		db: db.Model(&Provider{}),
	}
}

func (qs ProviderQuerySet) w(db *gorm.DB) ProviderQuerySet {
	return NewProviderQuerySet(db)
}

func (qs ProviderQuerySet) Select(fields ...ProviderDBSchemaField) ProviderQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Provider) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Provider) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) All(ret *[]Provider) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtEq(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtGt(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtGte(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtLt(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtLte(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) CreatedAtNe(createdAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Delete() error {
	return qs.db.Delete(&Provider{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Provider{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Provider{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) GetUpdater() ProviderUpdater {
	return NewProviderUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDEq(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDGt(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDGte(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDIn(ID ...ID) ProviderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDLt(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDLte(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDNe(ID ID) ProviderQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) IDNotIn(ID ...ID) ProviderQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Limit(limit int) ProviderQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameEq(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameGt(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameGte(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameIn(name ...Cloud) ProviderQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameLike(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameLt(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameLte(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameNe(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameNotIn(name ...Cloud) ProviderQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) NameNotlike(name Cloud) ProviderQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) Offset(offset int) ProviderQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ProviderQuerySet) One(ret *Provider) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByCreatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByID() ProviderQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByName() ProviderQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByStatus() ProviderQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByUpdatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderAscByVersioning() ProviderQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByCreatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByID() ProviderQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByName() ProviderQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByStatus() ProviderQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByUpdatedAt() ProviderQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) OrderDescByVersioning() ProviderQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusEq(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusGt(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusGte(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusIn(status ...CloudProviderStatus) ProviderQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusLike(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusLt(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusLte(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusNe(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusNotIn(status ...CloudProviderStatus) ProviderQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) StatusNotlike(status CloudProviderStatus) ProviderQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtEq(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtGt(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtGte(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtIsNotNull() ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtIsNull() ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtLt(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtLte(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) UpdatedAtNe(updatedAt time.Time) ProviderQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningEq(versioning int) ProviderQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningGt(versioning int) ProviderQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningGte(versioning int) ProviderQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningIn(versioning ...int) ProviderQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningLt(versioning int) ProviderQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningLte(versioning int) ProviderQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningNe(versioning int) ProviderQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs ProviderQuerySet) VersioningNotIn(versioning ...int) ProviderQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetCreatedAt(createdAt time.Time) ProviderUpdater {
	u.fields[string(ProviderDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetID(ID ID) ProviderUpdater {
	u.fields[string(ProviderDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetName(name Cloud) ProviderUpdater {
	u.fields[string(ProviderDBSchema.Name)] = name
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetStatus(status CloudProviderStatus) ProviderUpdater {
	u.fields[string(ProviderDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetUpdatedAt(updatedAt *time.Time) ProviderUpdater {
	u.fields[string(ProviderDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) SetVersioning(versioning int) ProviderUpdater {
	u.fields[string(ProviderDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ProviderUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ProviderQuerySet

// ===== BEGIN of Provider modifiers

// ProviderDBSchemaField describes database schema field. It requires for method 'Update'
type ProviderDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ProviderDBSchemaField) String() string {
	return string(f)
}

// ProviderDBSchema stores db field names of Provider
var ProviderDBSchema = struct {
	ID         ProviderDBSchemaField
	CreatedAt  ProviderDBSchemaField
	UpdatedAt  ProviderDBSchemaField
	Versioning ProviderDBSchemaField
	Name       ProviderDBSchemaField
	Status     ProviderDBSchemaField
}{

	ID:         ProviderDBSchemaField("id"),
	CreatedAt:  ProviderDBSchemaField("created_at"),
	UpdatedAt:  ProviderDBSchemaField("updated_at"),
	Versioning: ProviderDBSchemaField("versioning"),
	Name:       ProviderDBSchemaField("name"),
	Status:     ProviderDBSchemaField("status"),
}

// Update updates Provider fields by primary key
// nolint: dupl
func (o *Provider) Update(db *gorm.DB, fields ...ProviderDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"versioning": o.Versioning,
		"name":       o.Name,
		"status":     o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Provider %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ProviderUpdater is an Provider updates manager
type ProviderUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewProviderUpdater creates new Provider updater
// nolint: dupl
func NewProviderUpdater(db *gorm.DB) ProviderUpdater {
	return ProviderUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Provider{}),
	}
}

// ===== END of Provider modifiers

// ===== BEGIN of query set QuotaChangeLogQuerySet

// QuotaChangeLogQuerySet is an queryset type for QuotaChangeLog
type QuotaChangeLogQuerySet struct {
	db *gorm.DB
}

// NewQuotaChangeLogQuerySet constructs new QuotaChangeLogQuerySet
func NewQuotaChangeLogQuerySet(db *gorm.DB) QuotaChangeLogQuerySet {
	return QuotaChangeLogQuerySet{
		db: db.Model(&QuotaChangeLog{}),
	}
}

func (qs QuotaChangeLogQuerySet) w(db *gorm.DB) QuotaChangeLogQuerySet {
	return NewQuotaChangeLogQuerySet(db)
}

func (qs QuotaChangeLogQuerySet) Select(fields ...QuotaChangeLogDBSchemaField) QuotaChangeLogQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *QuotaChangeLog) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *QuotaChangeLog) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) All(ret *[]QuotaChangeLog) error {
	return qs.db.Find(ret).Error
}

// ChangedByIDEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDEq(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id = ?", changedByID))
}

// ChangedByIDGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDGt(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id > ?", changedByID))
}

// ChangedByIDGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDGte(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id >= ?", changedByID))
}

// ChangedByIDIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDIn(changedByID ...ID) QuotaChangeLogQuerySet {
	if len(changedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one changedByID in ChangedByIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("changed_by_id IN (?)", changedByID))
}

// ChangedByIDLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDLt(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id < ?", changedByID))
}

// ChangedByIDLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDLte(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id <= ?", changedByID))
}

// ChangedByIDNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDNe(changedByID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("changed_by_id != ?", changedByID))
}

// ChangedByIDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) ChangedByIDNotIn(changedByID ...ID) QuotaChangeLogQuerySet {
	if len(changedByID) == 0 {
		qs.db.AddError(errors.New("must at least pass one changedByID in ChangedByIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("changed_by_id NOT IN (?)", changedByID))
}

// Count is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtEq(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtGt(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtGte(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtLt(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtLte(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) CreatedAtNe(createdAt time.Time) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Delete() error {
	return qs.db.Delete(&QuotaChangeLog{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&QuotaChangeLog{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&QuotaChangeLog{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) GetUpdater() QuotaChangeLogUpdater {
	return NewQuotaChangeLogUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDEq(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDGt(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDGte(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDIn(ID ...ID) QuotaChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDLt(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDLte(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDNe(ID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) IDNotIn(ID ...ID) QuotaChangeLogQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Limit(limit int) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NewQuotaEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaEq(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota = ?", newQuota))
}

// NewQuotaGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaGt(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota > ?", newQuota))
}

// NewQuotaGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaGte(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota >= ?", newQuota))
}

// NewQuotaIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaIn(newQuota ...uint64) QuotaChangeLogQuerySet {
	if len(newQuota) == 0 {
		qs.db.AddError(errors.New("must at least pass one newQuota in NewQuotaIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("new_quota IN (?)", newQuota))
}

// NewQuotaLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaLt(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota < ?", newQuota))
}

// NewQuotaLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaLte(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota <= ?", newQuota))
}

// NewQuotaNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaNe(newQuota uint64) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("new_quota != ?", newQuota))
}

// NewQuotaNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) NewQuotaNotIn(newQuota ...uint64) QuotaChangeLogQuerySet {
	if len(newQuota) == 0 {
		qs.db.AddError(errors.New("must at least pass one newQuota in NewQuotaNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("new_quota NOT IN (?)", newQuota))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) Offset(offset int) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs QuotaChangeLogQuerySet) One(ret *QuotaChangeLog) error {
	return qs.db.First(ret).Error
}

// OrderAscByChangedByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByChangedByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("changed_by_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByCreatedAt() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByNewQuota is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByNewQuota() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("new_quota ASC"))
}

// OrderAscByQuotaID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderAscByQuotaID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("quota_id ASC"))
}

// OrderDescByChangedByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByChangedByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("changed_by_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByCreatedAt() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByNewQuota is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByNewQuota() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("new_quota DESC"))
}

// OrderDescByQuotaID is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) OrderDescByQuotaID() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Order("quota_id DESC"))
}

// PreloadQuota is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) PreloadQuota() QuotaChangeLogQuerySet {
	return qs.w(qs.db.Preload("Quota"))
}

// QuotaIDEq is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDEq(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id = ?", quotaID))
}

// QuotaIDGt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDGt(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id > ?", quotaID))
}

// QuotaIDGte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDGte(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id >= ?", quotaID))
}

// QuotaIDIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDIn(quotaID ...ID) QuotaChangeLogQuerySet {
	if len(quotaID) == 0 {
		qs.db.AddError(errors.New("must at least pass one quotaID in QuotaIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota_id IN (?)", quotaID))
}

// QuotaIDLt is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDLt(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id < ?", quotaID))
}

// QuotaIDLte is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDLte(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id <= ?", quotaID))
}

// QuotaIDNe is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDNe(quotaID ID) QuotaChangeLogQuerySet {
	return qs.w(qs.db.Where("quota_id != ?", quotaID))
}

// QuotaIDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaChangeLogQuerySet) QuotaIDNotIn(quotaID ...ID) QuotaChangeLogQuerySet {
	if len(quotaID) == 0 {
		qs.db.AddError(errors.New("must at least pass one quotaID in QuotaIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota_id NOT IN (?)", quotaID))
}

// SetChangedByID is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetChangedByID(changedByID ID) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.ChangedByID)] = changedByID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetCreatedAt(createdAt time.Time) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetID(ID ID) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.ID)] = ID
	return u
}

// SetNewQuota is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetNewQuota(newQuota uint64) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.NewQuota)] = newQuota
	return u
}

// SetQuota is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetQuota(quota Quota) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.Quota)] = quota
	return u
}

// SetQuotaID is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) SetQuotaID(quotaID ID) QuotaChangeLogUpdater {
	u.fields[string(QuotaChangeLogDBSchema.QuotaID)] = quotaID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u QuotaChangeLogUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set QuotaChangeLogQuerySet

// ===== BEGIN of QuotaChangeLog modifiers

// QuotaChangeLogDBSchemaField describes database schema field. It requires for method 'Update'
type QuotaChangeLogDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f QuotaChangeLogDBSchemaField) String() string {
	return string(f)
}

// QuotaChangeLogDBSchema stores db field names of QuotaChangeLog
var QuotaChangeLogDBSchema = struct {
	ID          QuotaChangeLogDBSchemaField
	CreatedAt   QuotaChangeLogDBSchemaField
	QuotaID     QuotaChangeLogDBSchemaField
	Quota       QuotaChangeLogDBSchemaField
	NewQuota    QuotaChangeLogDBSchemaField
	ChangedByID QuotaChangeLogDBSchemaField
}{

	ID:          QuotaChangeLogDBSchemaField("id"),
	CreatedAt:   QuotaChangeLogDBSchemaField("created_at"),
	QuotaID:     QuotaChangeLogDBSchemaField("quota_id"),
	Quota:       QuotaChangeLogDBSchemaField("quota"),
	NewQuota:    QuotaChangeLogDBSchemaField("new_quota"),
	ChangedByID: QuotaChangeLogDBSchemaField("changed_by_id"),
}

// Update updates QuotaChangeLog fields by primary key
// nolint: dupl
func (o *QuotaChangeLog) Update(db *gorm.DB, fields ...QuotaChangeLogDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":            o.ID,
		"created_at":    o.CreatedAt,
		"quota_id":      o.QuotaID,
		"quota":         o.Quota,
		"new_quota":     o.NewQuota,
		"changed_by_id": o.ChangedByID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update QuotaChangeLog %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// QuotaChangeLogUpdater is an QuotaChangeLog updates manager
type QuotaChangeLogUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewQuotaChangeLogUpdater creates new QuotaChangeLog updater
// nolint: dupl
func NewQuotaChangeLogUpdater(db *gorm.DB) QuotaChangeLogUpdater {
	return QuotaChangeLogUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&QuotaChangeLog{}),
	}
}

// ===== END of QuotaChangeLog modifiers

// ===== BEGIN of query set QuotaQuerySet

// QuotaQuerySet is an queryset type for Quota
type QuotaQuerySet struct {
	db *gorm.DB
}

// NewQuotaQuerySet constructs new QuotaQuerySet
func NewQuotaQuerySet(db *gorm.DB) QuotaQuerySet {
	return QuotaQuerySet{
		db: db.Model(&Quota{}),
	}
}

func (qs QuotaQuerySet) w(db *gorm.DB) QuotaQuerySet {
	return NewQuotaQuerySet(db)
}

func (qs QuotaQuerySet) Select(fields ...QuotaDBSchemaField) QuotaQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Quota) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Quota) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) All(ret *[]Quota) error {
	return qs.db.Find(ret).Error
}

// ComponentNameEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameEq(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name = ?", componentName))
}

// ComponentNameGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameGt(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name > ?", componentName))
}

// ComponentNameGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameGte(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name >= ?", componentName))
}

// ComponentNameIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameIn(componentName ...ComponentName) QuotaQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name IN (?)", componentName))
}

// ComponentNameLike is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameLike(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name LIKE ?", componentName))
}

// ComponentNameLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameLt(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name < ?", componentName))
}

// ComponentNameLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameLte(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name <= ?", componentName))
}

// ComponentNameNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameNe(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name != ?", componentName))
}

// ComponentNameNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameNotIn(componentName ...ComponentName) QuotaQuerySet {
	if len(componentName) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentName in ComponentNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_name NOT IN (?)", componentName))
}

// ComponentNameNotlike is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) ComponentNameNotlike(componentName ComponentName) QuotaQuerySet {
	return qs.w(qs.db.Where("component_name NOT LIKE ?", componentName))
}

// Count is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtEq(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtGt(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtGte(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtLt(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtLte(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) CreatedAtNe(createdAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Delete() error {
	return qs.db.Delete(&Quota{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Quota{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Quota{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) GetUpdater() QuotaUpdater {
	return NewQuotaUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDEq(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDGt(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDGte(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDIn(ID ...ID) QuotaQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDLt(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDLte(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDNe(ID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) IDNotIn(ID ...ID) QuotaQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Limit(limit int) QuotaQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) Offset(offset int) QuotaQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs QuotaQuerySet) One(ret *Quota) error {
	return qs.db.First(ret).Error
}

// OrderAscByComponentName is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByComponentName() QuotaQuerySet {
	return qs.w(qs.db.Order("component_name ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByCreatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByID() QuotaQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByQuota is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByQuota() QuotaQuerySet {
	return qs.w(qs.db.Order("quota ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByTenantID() QuotaQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderAscByUpdatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByComponentName is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByComponentName() QuotaQuerySet {
	return qs.w(qs.db.Order("component_name DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByCreatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByID() QuotaQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByQuota is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByQuota() QuotaQuerySet {
	return qs.w(qs.db.Order("quota DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByTenantID() QuotaQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) OrderDescByUpdatedAt() QuotaQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// QuotaEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaEq(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota = ?", quota))
}

// QuotaGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaGt(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota > ?", quota))
}

// QuotaGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaGte(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota >= ?", quota))
}

// QuotaIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaIn(quota ...uint32) QuotaQuerySet {
	if len(quota) == 0 {
		qs.db.AddError(errors.New("must at least pass one quota in QuotaIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota IN (?)", quota))
}

// QuotaLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaLt(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota < ?", quota))
}

// QuotaLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaLte(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota <= ?", quota))
}

// QuotaNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaNe(quota uint32) QuotaQuerySet {
	return qs.w(qs.db.Where("quota != ?", quota))
}

// QuotaNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) QuotaNotIn(quota ...uint32) QuotaQuerySet {
	if len(quota) == 0 {
		qs.db.AddError(errors.New("must at least pass one quota in QuotaNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("quota NOT IN (?)", quota))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDEq(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDGt(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDGte(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDIn(tenantID ...ID) QuotaQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDLt(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDLte(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDNe(tenantID ID) QuotaQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) TenantIDNotIn(tenantID ...ID) QuotaQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtEq(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtGt(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtGte(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtIsNotNull() QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtIsNull() QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtLt(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtLte(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs QuotaQuerySet) UpdatedAtNe(updatedAt time.Time) QuotaQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetComponentName is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetComponentName(componentName ComponentName) QuotaUpdater {
	u.fields[string(QuotaDBSchema.ComponentName)] = componentName
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetCreatedAt(createdAt time.Time) QuotaUpdater {
	u.fields[string(QuotaDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetID(ID ID) QuotaUpdater {
	u.fields[string(QuotaDBSchema.ID)] = ID
	return u
}

// SetQuota is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetQuota(quota uint32) QuotaUpdater {
	u.fields[string(QuotaDBSchema.Quota)] = quota
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetTenantID(tenantID ID) QuotaUpdater {
	u.fields[string(QuotaDBSchema.TenantID)] = tenantID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) SetUpdatedAt(updatedAt *time.Time) QuotaUpdater {
	u.fields[string(QuotaDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u QuotaUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set QuotaQuerySet

// ===== BEGIN of Quota modifiers

// QuotaDBSchemaField describes database schema field. It requires for method 'Update'
type QuotaDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f QuotaDBSchemaField) String() string {
	return string(f)
}

// QuotaDBSchema stores db field names of Quota
var QuotaDBSchema = struct {
	ID            QuotaDBSchemaField
	CreatedAt     QuotaDBSchemaField
	UpdatedAt     QuotaDBSchemaField
	TenantID      QuotaDBSchemaField
	ComponentName QuotaDBSchemaField
	Quota         QuotaDBSchemaField
}{

	ID:            QuotaDBSchemaField("id"),
	CreatedAt:     QuotaDBSchemaField("created_at"),
	UpdatedAt:     QuotaDBSchemaField("updated_at"),
	TenantID:      QuotaDBSchemaField("tenant_id"),
	ComponentName: QuotaDBSchemaField("component_name"),
	Quota:         QuotaDBSchemaField("quota"),
}

// Update updates Quota fields by primary key
// nolint: dupl
func (o *Quota) Update(db *gorm.DB, fields ...QuotaDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":             o.ID,
		"created_at":     o.CreatedAt,
		"updated_at":     o.UpdatedAt,
		"tenant_id":      o.TenantID,
		"component_name": o.ComponentName,
		"quota":          o.Quota,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Quota %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// QuotaUpdater is an Quota updates manager
type QuotaUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewQuotaUpdater creates new Quota updater
// nolint: dupl
func NewQuotaUpdater(db *gorm.DB) QuotaUpdater {
	return QuotaUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Quota{}),
	}
}

// ===== END of Quota modifiers

// ===== BEGIN of query set RegionQuerySet

// RegionQuerySet is an queryset type for Region
type RegionQuerySet struct {
	db *gorm.DB
}

// NewRegionQuerySet constructs new RegionQuerySet
func NewRegionQuerySet(db *gorm.DB) RegionQuerySet {
	return RegionQuerySet{
		db: db.Model(&Region{}),
	}
}

func (qs RegionQuerySet) w(db *gorm.DB) RegionQuerySet {
	return NewRegionQuerySet(db)
}

func (qs RegionQuerySet) Select(fields ...RegionDBSchemaField) RegionQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Region) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Region) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) All(ret *[]Region) error {
	return qs.db.Find(ret).Error
}

// AreaEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaEq(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area = ?", area))
}

// AreaGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaGt(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area > ?", area))
}

// AreaGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaGte(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area >= ?", area))
}

// AreaIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaIn(area ...string) RegionQuerySet {
	if len(area) == 0 {
		qs.db.AddError(errors.New("must at least pass one area in AreaIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("area IN (?)", area))
}

// AreaLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaLike(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area LIKE ?", area))
}

// AreaLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaLt(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area < ?", area))
}

// AreaLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaLte(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area <= ?", area))
}

// AreaNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaNe(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area != ?", area))
}

// AreaNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaNotIn(area ...string) RegionQuerySet {
	if len(area) == 0 {
		qs.db.AddError(errors.New("must at least pass one area in AreaNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("area NOT IN (?)", area))
}

// AreaNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) AreaNotlike(area string) RegionQuerySet {
	return qs.w(qs.db.Where("area NOT LIKE ?", area))
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CountryCodeEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeEq(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code = ?", countryCode))
}

// CountryCodeGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeGt(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code > ?", countryCode))
}

// CountryCodeGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeGte(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code >= ?", countryCode))
}

// CountryCodeIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeIn(countryCode ...string) RegionQuerySet {
	if len(countryCode) == 0 {
		qs.db.AddError(errors.New("must at least pass one countryCode in CountryCodeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("country_code IN (?)", countryCode))
}

// CountryCodeLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeLike(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code LIKE ?", countryCode))
}

// CountryCodeLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeLt(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code < ?", countryCode))
}

// CountryCodeLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeLte(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code <= ?", countryCode))
}

// CountryCodeNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeNe(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code != ?", countryCode))
}

// CountryCodeNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeNotIn(countryCode ...string) RegionQuerySet {
	if len(countryCode) == 0 {
		qs.db.AddError(errors.New("must at least pass one countryCode in CountryCodeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("country_code NOT IN (?)", countryCode))
}

// CountryCodeNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CountryCodeNotlike(countryCode string) RegionQuerySet {
	return qs.w(qs.db.Where("country_code NOT LIKE ?", countryCode))
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtEq(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtGt(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtGte(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtLt(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtLte(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) CreatedAtNe(createdAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// DefaultBackupTimeEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeEq(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time = ?", defaultBackupTime))
}

// DefaultBackupTimeGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeGt(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time > ?", defaultBackupTime))
}

// DefaultBackupTimeGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeGte(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time >= ?", defaultBackupTime))
}

// DefaultBackupTimeIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeIn(defaultBackupTime ...string) RegionQuerySet {
	if len(defaultBackupTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultBackupTime in DefaultBackupTimeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default_backup_time IN (?)", defaultBackupTime))
}

// DefaultBackupTimeLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeLike(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time LIKE ?", defaultBackupTime))
}

// DefaultBackupTimeLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeLt(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time < ?", defaultBackupTime))
}

// DefaultBackupTimeLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeLte(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time <= ?", defaultBackupTime))
}

// DefaultBackupTimeNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeNe(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time != ?", defaultBackupTime))
}

// DefaultBackupTimeNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeNotIn(defaultBackupTime ...string) RegionQuerySet {
	if len(defaultBackupTime) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultBackupTime in DefaultBackupTimeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default_backup_time NOT IN (?)", defaultBackupTime))
}

// DefaultBackupTimeNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DefaultBackupTimeNotlike(defaultBackupTime string) RegionQuerySet {
	return qs.w(qs.db.Where("default_backup_time NOT LIKE ?", defaultBackupTime))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Delete() error {
	return qs.db.Delete(&Region{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Region{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Region{})
	return db.RowsAffected, db.Error
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameEq(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameGt(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameGte(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameIn(displayName ...string) RegionQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameLike(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameLt(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameLte(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameNe(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameNotIn(displayName ...string) RegionQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) DisplayNameNotlike(displayName string) RegionQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) GetUpdater() RegionUpdater {
	return NewRegionUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDEq(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDGt(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDGte(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDIn(ID ...ID) RegionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDLt(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDLte(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDNe(ID ID) RegionQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IDNotIn(ID ...ID) RegionQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// IsPublicEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IsPublicEq(isPublic bool) RegionQuerySet {
	return qs.w(qs.db.Where("is_public = ?", isPublic))
}

// IsPublicIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IsPublicIn(isPublic ...bool) RegionQuerySet {
	if len(isPublic) == 0 {
		qs.db.AddError(errors.New("must at least pass one isPublic in IsPublicIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_public IN (?)", isPublic))
}

// IsPublicIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IsPublicIsNotNull() RegionQuerySet {
	return qs.w(qs.db.Where("is_public IS NOT NULL"))
}

// IsPublicIsNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IsPublicIsNull() RegionQuerySet {
	return qs.w(qs.db.Where("is_public IS NULL"))
}

// IsPublicNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IsPublicNe(isPublic bool) RegionQuerySet {
	return qs.w(qs.db.Where("is_public != ?", isPublic))
}

// IsPublicNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) IsPublicNotIn(isPublic ...bool) RegionQuerySet {
	if len(isPublic) == 0 {
		qs.db.AddError(errors.New("must at least pass one isPublic in IsPublicNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("is_public NOT IN (?)", isPublic))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Limit(limit int) RegionQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameEq(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameGt(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameGte(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameIn(name ...string) RegionQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameLike(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameLt(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameLte(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameNe(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameNotIn(name ...string) RegionQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) NameNotlike(name string) RegionQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) Offset(offset int) RegionQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionQuerySet) One(ret *Region) error {
	return qs.db.First(ret).Error
}

// OrderAscByArea is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByArea() RegionQuerySet {
	return qs.w(qs.db.Order("area ASC"))
}

// OrderAscByCountryCode is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByCountryCode() RegionQuerySet {
	return qs.w(qs.db.Order("country_code ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByCreatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDefaultBackupTime is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByDefaultBackupTime() RegionQuerySet {
	return qs.w(qs.db.Order("default_backup_time ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByDisplayName() RegionQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByID() RegionQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByIsPublic is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByIsPublic() RegionQuerySet {
	return qs.w(qs.db.Order("is_public ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByName() RegionQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByPriority is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByPriority() RegionQuerySet {
	return qs.w(qs.db.Order("priority ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByProviderID() RegionQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByStatus() RegionQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByUpdatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderAscByVersioning() RegionQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByArea is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByArea() RegionQuerySet {
	return qs.w(qs.db.Order("area DESC"))
}

// OrderDescByCountryCode is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByCountryCode() RegionQuerySet {
	return qs.w(qs.db.Order("country_code DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByCreatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDefaultBackupTime is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByDefaultBackupTime() RegionQuerySet {
	return qs.w(qs.db.Order("default_backup_time DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByDisplayName() RegionQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByID() RegionQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByIsPublic is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByIsPublic() RegionQuerySet {
	return qs.w(qs.db.Order("is_public DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByName() RegionQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByPriority is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByPriority() RegionQuerySet {
	return qs.w(qs.db.Order("priority DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByProviderID() RegionQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByStatus() RegionQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByUpdatedAt() RegionQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) OrderDescByVersioning() RegionQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PreloadProvider() RegionQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// PriorityEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityEq(priority int32) RegionQuerySet {
	return qs.w(qs.db.Where("priority = ?", priority))
}

// PriorityGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityGt(priority int32) RegionQuerySet {
	return qs.w(qs.db.Where("priority > ?", priority))
}

// PriorityGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityGte(priority int32) RegionQuerySet {
	return qs.w(qs.db.Where("priority >= ?", priority))
}

// PriorityIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityIn(priority ...int32) RegionQuerySet {
	if len(priority) == 0 {
		qs.db.AddError(errors.New("must at least pass one priority in PriorityIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("priority IN (?)", priority))
}

// PriorityLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityLt(priority int32) RegionQuerySet {
	return qs.w(qs.db.Where("priority < ?", priority))
}

// PriorityLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityLte(priority int32) RegionQuerySet {
	return qs.w(qs.db.Where("priority <= ?", priority))
}

// PriorityNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityNe(priority int32) RegionQuerySet {
	return qs.w(qs.db.Where("priority != ?", priority))
}

// PriorityNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) PriorityNotIn(priority ...int32) RegionQuerySet {
	if len(priority) == 0 {
		qs.db.AddError(errors.New("must at least pass one priority in PriorityNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("priority NOT IN (?)", priority))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDEq(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDGt(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDGte(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDIn(providerID ...ID) RegionQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDLt(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDLte(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDNe(providerID ID) RegionQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIDNotIn(providerID ...ID) RegionQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIsNotNull() RegionQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) ProviderIsNull() RegionQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusEq(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusGt(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusGte(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusIn(status ...RegionStatus) RegionQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusLike(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusLt(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusLte(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusNe(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusNotIn(status ...RegionStatus) RegionQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) StatusNotlike(status RegionStatus) RegionQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtEq(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtGt(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtGte(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtIsNotNull() RegionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtIsNull() RegionQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtLt(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtLte(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) UpdatedAtNe(updatedAt time.Time) RegionQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningEq(versioning int) RegionQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningGt(versioning int) RegionQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningGte(versioning int) RegionQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningIn(versioning ...int) RegionQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningLt(versioning int) RegionQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningLte(versioning int) RegionQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningNe(versioning int) RegionQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs RegionQuerySet) VersioningNotIn(versioning ...int) RegionQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetArea is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetArea(area string) RegionUpdater {
	u.fields[string(RegionDBSchema.Area)] = area
	return u
}

// SetCountryCode is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetCountryCode(countryCode string) RegionUpdater {
	u.fields[string(RegionDBSchema.CountryCode)] = countryCode
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetCreatedAt(createdAt time.Time) RegionUpdater {
	u.fields[string(RegionDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDefaultBackupTime is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetDefaultBackupTime(defaultBackupTime string) RegionUpdater {
	u.fields[string(RegionDBSchema.DefaultBackupTime)] = defaultBackupTime
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetDisplayName(displayName string) RegionUpdater {
	u.fields[string(RegionDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetID(ID ID) RegionUpdater {
	u.fields[string(RegionDBSchema.ID)] = ID
	return u
}

// SetIsPublic is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetIsPublic(isPublic *bool) RegionUpdater {
	u.fields[string(RegionDBSchema.IsPublic)] = isPublic
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetName(name string) RegionUpdater {
	u.fields[string(RegionDBSchema.Name)] = name
	return u
}

// SetPriority is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetPriority(priority int32) RegionUpdater {
	u.fields[string(RegionDBSchema.Priority)] = priority
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetProviderID(providerID ID) RegionUpdater {
	u.fields[string(RegionDBSchema.ProviderID)] = providerID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetStatus(status RegionStatus) RegionUpdater {
	u.fields[string(RegionDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetUpdatedAt(updatedAt *time.Time) RegionUpdater {
	u.fields[string(RegionDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u RegionUpdater) SetVersioning(versioning int) RegionUpdater {
	u.fields[string(RegionDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionQuerySet

// ===== BEGIN of Region modifiers

// RegionDBSchemaField describes database schema field. It requires for method 'Update'
type RegionDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionDBSchemaField) String() string {
	return string(f)
}

// RegionDBSchema stores db field names of Region
var RegionDBSchema = struct {
	ID                RegionDBSchemaField
	CreatedAt         RegionDBSchemaField
	UpdatedAt         RegionDBSchemaField
	Versioning        RegionDBSchemaField
	Name              RegionDBSchemaField
	DisplayName       RegionDBSchemaField
	ProviderID        RegionDBSchemaField
	Provider          RegionDBSchemaField
	CountryCode       RegionDBSchemaField
	Area              RegionDBSchemaField
	Priority          RegionDBSchemaField
	Status            RegionDBSchemaField
	IsPublic          RegionDBSchemaField
	DefaultBackupTime RegionDBSchemaField
}{

	ID:                RegionDBSchemaField("id"),
	CreatedAt:         RegionDBSchemaField("created_at"),
	UpdatedAt:         RegionDBSchemaField("updated_at"),
	Versioning:        RegionDBSchemaField("versioning"),
	Name:              RegionDBSchemaField("name"),
	DisplayName:       RegionDBSchemaField("display_name"),
	ProviderID:        RegionDBSchemaField("provider_id"),
	Provider:          RegionDBSchemaField("provider"),
	CountryCode:       RegionDBSchemaField("country_code"),
	Area:              RegionDBSchemaField("area"),
	Priority:          RegionDBSchemaField("priority"),
	Status:            RegionDBSchemaField("status"),
	IsPublic:          RegionDBSchemaField("is_public"),
	DefaultBackupTime: RegionDBSchemaField("default_backup_time"),
}

// Update updates Region fields by primary key
// nolint: dupl
func (o *Region) Update(db *gorm.DB, fields ...RegionDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                  o.ID,
		"created_at":          o.CreatedAt,
		"updated_at":          o.UpdatedAt,
		"versioning":          o.Versioning,
		"name":                o.Name,
		"display_name":        o.DisplayName,
		"provider_id":         o.ProviderID,
		"provider":            o.Provider,
		"country_code":        o.CountryCode,
		"area":                o.Area,
		"priority":            o.Priority,
		"status":              o.Status,
		"is_public":           o.IsPublic,
		"default_backup_time": o.DefaultBackupTime,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Region %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionUpdater is an Region updates manager
type RegionUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionUpdater creates new Region updater
// nolint: dupl
func NewRegionUpdater(db *gorm.DB) RegionUpdater {
	return RegionUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Region{}),
	}
}

// ===== END of Region modifiers

// ===== BEGIN of query set RegionTenantQuerySet

// RegionTenantQuerySet is an queryset type for RegionTenant
type RegionTenantQuerySet struct {
	db *gorm.DB
}

// NewRegionTenantQuerySet constructs new RegionTenantQuerySet
func NewRegionTenantQuerySet(db *gorm.DB) RegionTenantQuerySet {
	return RegionTenantQuerySet{
		db: db.Model(&RegionTenant{}),
	}
}

func (qs RegionTenantQuerySet) w(db *gorm.DB) RegionTenantQuerySet {
	return NewRegionTenantQuerySet(db)
}

func (qs RegionTenantQuerySet) Select(fields ...RegionTenantDBSchemaField) RegionTenantQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *RegionTenant) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *RegionTenant) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) All(ret *[]RegionTenant) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) Delete() error {
	return qs.db.Delete(&RegionTenant{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&RegionTenant{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&RegionTenant{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) GetUpdater() RegionTenantUpdater {
	return NewRegionTenantUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) Limit(limit int) RegionTenantQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) Offset(offset int) RegionTenantQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs RegionTenantQuerySet) One(ret *RegionTenant) error {
	return qs.db.First(ret).Error
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) OrderAscByRegionID() RegionTenantQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByTenantID is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) OrderAscByTenantID() RegionTenantQuerySet {
	return qs.w(qs.db.Order("tenant_id ASC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) OrderDescByRegionID() RegionTenantQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByTenantID is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) OrderDescByTenantID() RegionTenantQuerySet {
	return qs.w(qs.db.Order("tenant_id DESC"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDEq(regionID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDGt(regionID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDGte(regionID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDIn(regionID ...ID) RegionTenantQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDLt(regionID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDLte(regionID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDNe(regionID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) RegionIDNotIn(regionID ...ID) RegionTenantQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// TenantIDEq is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDEq(tenantID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("tenant_id = ?", tenantID))
}

// TenantIDGt is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDGt(tenantID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("tenant_id > ?", tenantID))
}

// TenantIDGte is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDGte(tenantID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("tenant_id >= ?", tenantID))
}

// TenantIDIn is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDIn(tenantID ...ID) RegionTenantQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id IN (?)", tenantID))
}

// TenantIDLt is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDLt(tenantID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("tenant_id < ?", tenantID))
}

// TenantIDLte is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDLte(tenantID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("tenant_id <= ?", tenantID))
}

// TenantIDNe is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDNe(tenantID ID) RegionTenantQuerySet {
	return qs.w(qs.db.Where("tenant_id != ?", tenantID))
}

// TenantIDNotIn is an autogenerated method
// nolint: dupl
func (qs RegionTenantQuerySet) TenantIDNotIn(tenantID ...ID) RegionTenantQuerySet {
	if len(tenantID) == 0 {
		qs.db.AddError(errors.New("must at least pass one tenantID in TenantIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tenant_id NOT IN (?)", tenantID))
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u RegionTenantUpdater) SetRegionID(regionID ID) RegionTenantUpdater {
	u.fields[string(RegionTenantDBSchema.RegionID)] = regionID
	return u
}

// SetTenantID is an autogenerated method
// nolint: dupl
func (u RegionTenantUpdater) SetTenantID(tenantID ID) RegionTenantUpdater {
	u.fields[string(RegionTenantDBSchema.TenantID)] = tenantID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u RegionTenantUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u RegionTenantUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set RegionTenantQuerySet

// ===== BEGIN of RegionTenant modifiers

// RegionTenantDBSchemaField describes database schema field. It requires for method 'Update'
type RegionTenantDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f RegionTenantDBSchemaField) String() string {
	return string(f)
}

// RegionTenantDBSchema stores db field names of RegionTenant
var RegionTenantDBSchema = struct {
	RegionID RegionTenantDBSchemaField
	TenantID RegionTenantDBSchemaField
}{

	RegionID: RegionTenantDBSchemaField("region_id"),
	TenantID: RegionTenantDBSchemaField("tenant_id"),
}

// Update updates RegionTenant fields by primary key
// nolint: dupl
func (o *RegionTenant) Update(db *gorm.DB, fields ...RegionTenantDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"region_id": o.RegionID,
		"tenant_id": o.TenantID,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update RegionTenant %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// RegionTenantUpdater is an RegionTenant updates manager
type RegionTenantUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewRegionTenantUpdater creates new RegionTenant updater
// nolint: dupl
func NewRegionTenantUpdater(db *gorm.DB) RegionTenantUpdater {
	return RegionTenantUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&RegionTenant{}),
	}
}

// ===== END of RegionTenant modifiers

// ===== BEGIN of query set ScaleOperationTrackingQuerySet

// ScaleOperationTrackingQuerySet is an queryset type for ScaleOperationTracking
type ScaleOperationTrackingQuerySet struct {
	db *gorm.DB
}

// NewScaleOperationTrackingQuerySet constructs new ScaleOperationTrackingQuerySet
func NewScaleOperationTrackingQuerySet(db *gorm.DB) ScaleOperationTrackingQuerySet {
	return ScaleOperationTrackingQuerySet{
		db: db.Model(&ScaleOperationTracking{}),
	}
}

func (qs ScaleOperationTrackingQuerySet) w(db *gorm.DB) ScaleOperationTrackingQuerySet {
	return NewScaleOperationTrackingQuerySet(db)
}

func (qs ScaleOperationTrackingQuerySet) Select(fields ...ScaleOperationTrackingDBSchemaField) ScaleOperationTrackingQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *ScaleOperationTracking) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *ScaleOperationTracking) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) All(ret *[]ScaleOperationTracking) error {
	return qs.db.Find(ret).Error
}

// ClusterComponentIDEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDEq(clusterComponentID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component_id = ?", clusterComponentID))
}

// ClusterComponentIDGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDGt(clusterComponentID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component_id > ?", clusterComponentID))
}

// ClusterComponentIDGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDGte(clusterComponentID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component_id >= ?", clusterComponentID))
}

// ClusterComponentIDIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDIn(clusterComponentID ...ID) ScaleOperationTrackingQuerySet {
	if len(clusterComponentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterComponentID in ClusterComponentIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_component_id IN (?)", clusterComponentID))
}

// ClusterComponentIDLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDLt(clusterComponentID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component_id < ?", clusterComponentID))
}

// ClusterComponentIDLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDLte(clusterComponentID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component_id <= ?", clusterComponentID))
}

// ClusterComponentIDNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDNe(clusterComponentID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component_id != ?", clusterComponentID))
}

// ClusterComponentIDNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIDNotIn(clusterComponentID ...ID) ScaleOperationTrackingQuerySet {
	if len(clusterComponentID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterComponentID in ClusterComponentIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_component_id NOT IN (?)", clusterComponentID))
}

// ClusterComponentIsNotNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIsNotNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component IS NOT NULL"))
}

// ClusterComponentIsNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterComponentIsNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_component IS NULL"))
}

// ClusterOperationIDEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDEq(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id = ?", clusterOperationID))
}

// ClusterOperationIDGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDGt(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id > ?", clusterOperationID))
}

// ClusterOperationIDGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDGte(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id >= ?", clusterOperationID))
}

// ClusterOperationIDIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDIn(clusterOperationID ...ID) ScaleOperationTrackingQuerySet {
	if len(clusterOperationID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterOperationID in ClusterOperationIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_operation_id IN (?)", clusterOperationID))
}

// ClusterOperationIDLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDLt(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id < ?", clusterOperationID))
}

// ClusterOperationIDLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDLte(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id <= ?", clusterOperationID))
}

// ClusterOperationIDNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDNe(clusterOperationID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation_id != ?", clusterOperationID))
}

// ClusterOperationIDNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIDNotIn(clusterOperationID ...ID) ScaleOperationTrackingQuerySet {
	if len(clusterOperationID) == 0 {
		qs.db.AddError(errors.New("must at least pass one clusterOperationID in ClusterOperationIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cluster_operation_id NOT IN (?)", clusterOperationID))
}

// ClusterOperationIsNotNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIsNotNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation IS NOT NULL"))
}

// ClusterOperationIsNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ClusterOperationIsNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("cluster_operation IS NULL"))
}

// Count is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtEq(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtGt(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtGte(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtLt(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtLte(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) CreatedAtNe(createdAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Delete() error {
	return qs.db.Delete(&ScaleOperationTracking{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&ScaleOperationTracking{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&ScaleOperationTracking{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) GetUpdater() ScaleOperationTrackingUpdater {
	return NewScaleOperationTrackingUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDEq(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDGt(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDGte(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDIn(ID ...ID) ScaleOperationTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDLt(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDLte(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDNe(ID ID) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) IDNotIn(ID ...ID) ScaleOperationTrackingQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Limit(limit int) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) Offset(offset int) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ScaleOperationTrackingQuerySet) One(ret *ScaleOperationTracking) error {
	return qs.db.First(ret).Error
}

// OrderAscByClusterComponentID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByClusterComponentID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("cluster_component_id ASC"))
}

// OrderAscByClusterOperationID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByClusterOperationID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("cluster_operation_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByCreatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByReplicas is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByReplicas() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("replicas ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByStatus() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByStorageChanged is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByStorageChanged() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("storage_changed ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderAscByUpdatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByClusterComponentID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByClusterComponentID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("cluster_component_id DESC"))
}

// OrderDescByClusterOperationID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByClusterOperationID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("cluster_operation_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByCreatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByID() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByReplicas is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByReplicas() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("replicas DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByStatus() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByStorageChanged is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByStorageChanged() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("storage_changed DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) OrderDescByUpdatedAt() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadClusterComponent is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) PreloadClusterComponent() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Preload("ClusterComponent"))
}

// PreloadClusterOperation is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) PreloadClusterOperation() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Preload("ClusterOperation"))
}

// ReplicasEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasEq(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas = ?", replicas))
}

// ReplicasGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasGt(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas > ?", replicas))
}

// ReplicasGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasGte(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas >= ?", replicas))
}

// ReplicasIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasIn(replicas ...uint32) ScaleOperationTrackingQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas IN (?)", replicas))
}

// ReplicasLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasLt(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas < ?", replicas))
}

// ReplicasLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasLte(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas <= ?", replicas))
}

// ReplicasNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasNe(replicas uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("replicas != ?", replicas))
}

// ReplicasNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) ReplicasNotIn(replicas ...uint32) ScaleOperationTrackingQuerySet {
	if len(replicas) == 0 {
		qs.db.AddError(errors.New("must at least pass one replicas in ReplicasNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("replicas NOT IN (?)", replicas))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusEq(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusGt(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusGte(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusIn(status ...ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusLike(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusLt(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusLte(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusNe(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusNotIn(status ...ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StatusNotlike(status ScaleOperationTrackingStatus) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// StorageChangedEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedEq(storageChanged uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("storage_changed = ?", storageChanged))
}

// StorageChangedGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedGt(storageChanged uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("storage_changed > ?", storageChanged))
}

// StorageChangedGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedGte(storageChanged uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("storage_changed >= ?", storageChanged))
}

// StorageChangedIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedIn(storageChanged ...uint32) ScaleOperationTrackingQuerySet {
	if len(storageChanged) == 0 {
		qs.db.AddError(errors.New("must at least pass one storageChanged in StorageChangedIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("storage_changed IN (?)", storageChanged))
}

// StorageChangedLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedLt(storageChanged uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("storage_changed < ?", storageChanged))
}

// StorageChangedLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedLte(storageChanged uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("storage_changed <= ?", storageChanged))
}

// StorageChangedNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedNe(storageChanged uint32) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("storage_changed != ?", storageChanged))
}

// StorageChangedNotIn is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) StorageChangedNotIn(storageChanged ...uint32) ScaleOperationTrackingQuerySet {
	if len(storageChanged) == 0 {
		qs.db.AddError(errors.New("must at least pass one storageChanged in StorageChangedNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("storage_changed NOT IN (?)", storageChanged))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtEq(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtGt(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtGte(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtIsNotNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtIsNull() ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtLt(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtLte(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ScaleOperationTrackingQuerySet) UpdatedAtNe(updatedAt time.Time) ScaleOperationTrackingQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetClusterComponentID is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetClusterComponentID(clusterComponentID ID) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.ClusterComponentID)] = clusterComponentID
	return u
}

// SetClusterOperationID is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetClusterOperationID(clusterOperationID ID) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.ClusterOperationID)] = clusterOperationID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetCreatedAt(createdAt time.Time) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetID(ID ID) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.ID)] = ID
	return u
}

// SetReplicas is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetReplicas(replicas uint32) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.Replicas)] = replicas
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetStatus(status ScaleOperationTrackingStatus) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.Status)] = status
	return u
}

// SetStorageChanged is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetStorageChanged(storageChanged uint32) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.StorageChanged)] = storageChanged
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) SetUpdatedAt(updatedAt *time.Time) ScaleOperationTrackingUpdater {
	u.fields[string(ScaleOperationTrackingDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ScaleOperationTrackingUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ScaleOperationTrackingQuerySet

// ===== BEGIN of ScaleOperationTracking modifiers

// ScaleOperationTrackingDBSchemaField describes database schema field. It requires for method 'Update'
type ScaleOperationTrackingDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ScaleOperationTrackingDBSchemaField) String() string {
	return string(f)
}

// ScaleOperationTrackingDBSchema stores db field names of ScaleOperationTracking
var ScaleOperationTrackingDBSchema = struct {
	ID                 ScaleOperationTrackingDBSchemaField
	CreatedAt          ScaleOperationTrackingDBSchemaField
	UpdatedAt          ScaleOperationTrackingDBSchemaField
	ClusterOperationID ScaleOperationTrackingDBSchemaField
	ClusterOperation   ScaleOperationTrackingDBSchemaField
	Status             ScaleOperationTrackingDBSchemaField
	Replicas           ScaleOperationTrackingDBSchemaField
	StorageChanged     ScaleOperationTrackingDBSchemaField
	ClusterComponentID ScaleOperationTrackingDBSchemaField
	ClusterComponent   ScaleOperationTrackingDBSchemaField
}{

	ID:                 ScaleOperationTrackingDBSchemaField("id"),
	CreatedAt:          ScaleOperationTrackingDBSchemaField("created_at"),
	UpdatedAt:          ScaleOperationTrackingDBSchemaField("updated_at"),
	ClusterOperationID: ScaleOperationTrackingDBSchemaField("cluster_operation_id"),
	ClusterOperation:   ScaleOperationTrackingDBSchemaField("cluster_operation"),
	Status:             ScaleOperationTrackingDBSchemaField("status"),
	Replicas:           ScaleOperationTrackingDBSchemaField("replicas"),
	StorageChanged:     ScaleOperationTrackingDBSchemaField("storage_changed"),
	ClusterComponentID: ScaleOperationTrackingDBSchemaField("cluster_component_id"),
	ClusterComponent:   ScaleOperationTrackingDBSchemaField("cluster_component"),
}

// Update updates ScaleOperationTracking fields by primary key
// nolint: dupl
func (o *ScaleOperationTracking) Update(db *gorm.DB, fields ...ScaleOperationTrackingDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                   o.ID,
		"created_at":           o.CreatedAt,
		"updated_at":           o.UpdatedAt,
		"cluster_operation_id": o.ClusterOperationID,
		"cluster_operation":    o.ClusterOperation,
		"status":               o.Status,
		"replicas":             o.Replicas,
		"storage_changed":      o.StorageChanged,
		"cluster_component_id": o.ClusterComponentID,
		"cluster_component":    o.ClusterComponent,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update ScaleOperationTracking %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ScaleOperationTrackingUpdater is an ScaleOperationTracking updates manager
type ScaleOperationTrackingUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewScaleOperationTrackingUpdater creates new ScaleOperationTracking updater
// nolint: dupl
func NewScaleOperationTrackingUpdater(db *gorm.DB) ScaleOperationTrackingUpdater {
	return ScaleOperationTrackingUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&ScaleOperationTracking{}),
	}
}

// ===== END of ScaleOperationTracking modifiers

// ===== BEGIN of query set SkuQuerySet

// SkuQuerySet is an queryset type for Sku
type SkuQuerySet struct {
	db *gorm.DB
}

// NewSkuQuerySet constructs new SkuQuerySet
func NewSkuQuerySet(db *gorm.DB) SkuQuerySet {
	return SkuQuerySet{
		db: db.Model(&Sku{}),
	}
}

func (qs SkuQuerySet) w(db *gorm.DB) SkuQuerySet {
	return NewSkuQuerySet(db)
}

func (qs SkuQuerySet) Select(fields ...SkuDBSchemaField) SkuQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Sku) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Sku) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) All(ret *[]Sku) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) CreatedAtEq(createdAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) CreatedAtGt(createdAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) CreatedAtGte(createdAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) CreatedAtLt(createdAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) CreatedAtLte(createdAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) CreatedAtNe(createdAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) Delete() error {
	return qs.db.Delete(&Sku{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Sku{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Sku{})
	return db.RowsAffected, db.Error
}

// ExtraEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraEq(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra = ?", extra))
}

// ExtraGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraGt(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra > ?", extra))
}

// ExtraGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraGte(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra >= ?", extra))
}

// ExtraIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraIn(extra ...string) SkuQuerySet {
	if len(extra) == 0 {
		qs.db.AddError(errors.New("must at least pass one extra in ExtraIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("extra IN (?)", extra))
}

// ExtraLike is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraLike(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra LIKE ?", extra))
}

// ExtraLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraLt(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra < ?", extra))
}

// ExtraLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraLte(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra <= ?", extra))
}

// ExtraNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraNe(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra != ?", extra))
}

// ExtraNotIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraNotIn(extra ...string) SkuQuerySet {
	if len(extra) == 0 {
		qs.db.AddError(errors.New("must at least pass one extra in ExtraNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("extra NOT IN (?)", extra))
}

// ExtraNotlike is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) ExtraNotlike(extra string) SkuQuerySet {
	return qs.w(qs.db.Where("extra NOT LIKE ?", extra))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) GetUpdater() SkuUpdater {
	return NewSkuUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDEq(ID ID) SkuQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDGt(ID ID) SkuQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDGte(ID ID) SkuQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDIn(ID ...ID) SkuQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDLt(ID ID) SkuQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDLte(ID ID) SkuQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDNe(ID ID) SkuQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) IDNotIn(ID ...ID) SkuQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) Limit(limit int) SkuQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameEq(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameGt(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameGte(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameIn(name ...string) SkuQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameLike(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameLt(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameLte(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameNe(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameNotIn(name ...string) SkuQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) NameNotlike(name string) SkuQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) Offset(offset int) SkuQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs SkuQuerySet) One(ret *Sku) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByCreatedAt() SkuQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByExtra is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByExtra() SkuQuerySet {
	return qs.w(qs.db.Order("extra ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByID() SkuQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByName() SkuQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByPrice is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByPrice() SkuQuerySet {
	return qs.w(qs.db.Order("price ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByUpdatedAt() SkuQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersionID is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderAscByVersionID() SkuQuerySet {
	return qs.w(qs.db.Order("version_id ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByCreatedAt() SkuQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByExtra is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByExtra() SkuQuerySet {
	return qs.w(qs.db.Order("extra DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByID() SkuQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByName() SkuQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByPrice is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByPrice() SkuQuerySet {
	return qs.w(qs.db.Order("price DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByUpdatedAt() SkuQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersionID is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) OrderDescByVersionID() SkuQuerySet {
	return qs.w(qs.db.Order("version_id DESC"))
}

// PriceEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceEq(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price = ?", price))
}

// PriceGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceGt(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price > ?", price))
}

// PriceGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceGte(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price >= ?", price))
}

// PriceIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceIn(price ...string) SkuQuerySet {
	if len(price) == 0 {
		qs.db.AddError(errors.New("must at least pass one price in PriceIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("price IN (?)", price))
}

// PriceLike is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceLike(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price LIKE ?", price))
}

// PriceLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceLt(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price < ?", price))
}

// PriceLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceLte(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price <= ?", price))
}

// PriceNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceNe(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price != ?", price))
}

// PriceNotIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceNotIn(price ...string) SkuQuerySet {
	if len(price) == 0 {
		qs.db.AddError(errors.New("must at least pass one price in PriceNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("price NOT IN (?)", price))
}

// PriceNotlike is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) PriceNotlike(price string) SkuQuerySet {
	return qs.w(qs.db.Where("price NOT LIKE ?", price))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtEq(updatedAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtGt(updatedAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtGte(updatedAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtIsNotNull() SkuQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtIsNull() SkuQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtLt(updatedAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtLte(updatedAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) UpdatedAtNe(updatedAt time.Time) SkuQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersionIDEq is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDEq(versionID ID) SkuQuerySet {
	return qs.w(qs.db.Where("version_id = ?", versionID))
}

// VersionIDGt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDGt(versionID ID) SkuQuerySet {
	return qs.w(qs.db.Where("version_id > ?", versionID))
}

// VersionIDGte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDGte(versionID ID) SkuQuerySet {
	return qs.w(qs.db.Where("version_id >= ?", versionID))
}

// VersionIDIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDIn(versionID ...ID) SkuQuerySet {
	if len(versionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one versionID in VersionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("version_id IN (?)", versionID))
}

// VersionIDLt is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDLt(versionID ID) SkuQuerySet {
	return qs.w(qs.db.Where("version_id < ?", versionID))
}

// VersionIDLte is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDLte(versionID ID) SkuQuerySet {
	return qs.w(qs.db.Where("version_id <= ?", versionID))
}

// VersionIDNe is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDNe(versionID ID) SkuQuerySet {
	return qs.w(qs.db.Where("version_id != ?", versionID))
}

// VersionIDNotIn is an autogenerated method
// nolint: dupl
func (qs SkuQuerySet) VersionIDNotIn(versionID ...ID) SkuQuerySet {
	if len(versionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one versionID in VersionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("version_id NOT IN (?)", versionID))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetCreatedAt(createdAt time.Time) SkuUpdater {
	u.fields[string(SkuDBSchema.CreatedAt)] = createdAt
	return u
}

// SetExtra is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetExtra(extra string) SkuUpdater {
	u.fields[string(SkuDBSchema.Extra)] = extra
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetID(ID ID) SkuUpdater {
	u.fields[string(SkuDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetName(name string) SkuUpdater {
	u.fields[string(SkuDBSchema.Name)] = name
	return u
}

// SetPrice is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetPrice(price string) SkuUpdater {
	u.fields[string(SkuDBSchema.Price)] = price
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetUpdatedAt(updatedAt *time.Time) SkuUpdater {
	u.fields[string(SkuDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersionID is an autogenerated method
// nolint: dupl
func (u SkuUpdater) SetVersionID(versionID ID) SkuUpdater {
	u.fields[string(SkuDBSchema.VersionID)] = versionID
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u SkuUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u SkuUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set SkuQuerySet

// ===== BEGIN of Sku modifiers

// SkuDBSchemaField describes database schema field. It requires for method 'Update'
type SkuDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f SkuDBSchemaField) String() string {
	return string(f)
}

// SkuDBSchema stores db field names of Sku
var SkuDBSchema = struct {
	ID        SkuDBSchemaField
	CreatedAt SkuDBSchemaField
	UpdatedAt SkuDBSchemaField
	VersionID SkuDBSchemaField
	Name      SkuDBSchemaField
	Price     SkuDBSchemaField
	Extra     SkuDBSchemaField
}{

	ID:        SkuDBSchemaField("id"),
	CreatedAt: SkuDBSchemaField("created_at"),
	UpdatedAt: SkuDBSchemaField("updated_at"),
	VersionID: SkuDBSchemaField("version_id"),
	Name:      SkuDBSchemaField("name"),
	Price:     SkuDBSchemaField("price"),
	Extra:     SkuDBSchemaField("extra"),
}

// Update updates Sku fields by primary key
// nolint: dupl
func (o *Sku) Update(db *gorm.DB, fields ...SkuDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"version_id": o.VersionID,
		"name":       o.Name,
		"price":      o.Price,
		"extra":      o.Extra,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Sku %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// SkuUpdater is an Sku updates manager
type SkuUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewSkuUpdater creates new Sku updater
// nolint: dupl
func NewSkuUpdater(db *gorm.DB) SkuUpdater {
	return SkuUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Sku{}),
	}
}

// ===== END of Sku modifiers

// ===== BEGIN of query set TierChangeQuerySet

// TierChangeQuerySet is an queryset type for TierChange
type TierChangeQuerySet struct {
	db *gorm.DB
}

// NewTierChangeQuerySet constructs new TierChangeQuerySet
func NewTierChangeQuerySet(db *gorm.DB) TierChangeQuerySet {
	return TierChangeQuerySet{
		db: db.Model(&TierChange{}),
	}
}

func (qs TierChangeQuerySet) w(db *gorm.DB) TierChangeQuerySet {
	return NewTierChangeQuerySet(db)
}

func (qs TierChangeQuerySet) Select(fields ...TierChangeDBSchemaField) TierChangeQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TierChange) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TierChange) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) All(ret *[]TierChange) error {
	return qs.db.Find(ret).Error
}

// ChangeIDEq is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDEq(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id = ?", changeID))
}

// ChangeIDGt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDGt(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id > ?", changeID))
}

// ChangeIDGte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDGte(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id >= ?", changeID))
}

// ChangeIDIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDIn(changeID ...string) TierChangeQuerySet {
	if len(changeID) == 0 {
		qs.db.AddError(errors.New("must at least pass one changeID in ChangeIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("change_id IN (?)", changeID))
}

// ChangeIDLike is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDLike(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id LIKE ?", changeID))
}

// ChangeIDLt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDLt(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id < ?", changeID))
}

// ChangeIDLte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDLte(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id <= ?", changeID))
}

// ChangeIDNe is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDNe(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id != ?", changeID))
}

// ChangeIDNotIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDNotIn(changeID ...string) TierChangeQuerySet {
	if len(changeID) == 0 {
		qs.db.AddError(errors.New("must at least pass one changeID in ChangeIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("change_id NOT IN (?)", changeID))
}

// ChangeIDNotlike is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) ChangeIDNotlike(changeID string) TierChangeQuerySet {
	return qs.w(qs.db.Where("change_id NOT LIKE ?", changeID))
}

// Count is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) CreatedAtEq(createdAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) CreatedAtGt(createdAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) CreatedAtGte(createdAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) CreatedAtLt(createdAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) CreatedAtLte(createdAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) CreatedAtNe(createdAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) Delete() error {
	return qs.db.Delete(&TierChange{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TierChange{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TierChange{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) GetUpdater() TierChangeUpdater {
	return NewTierChangeUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDEq(ID ID) TierChangeQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDGt(ID ID) TierChangeQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDGte(ID ID) TierChangeQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDIn(ID ...ID) TierChangeQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDLt(ID ID) TierChangeQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDLte(ID ID) TierChangeQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDNe(ID ID) TierChangeQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) IDNotIn(ID ...ID) TierChangeQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) Limit(limit int) TierChangeQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) Offset(offset int) TierChangeQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TierChangeQuerySet) One(ret *TierChange) error {
	return qs.db.First(ret).Error
}

// OrderAscByChangeID is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderAscByChangeID() TierChangeQuerySet {
	return qs.w(qs.db.Order("change_id ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderAscByCreatedAt() TierChangeQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderAscByID() TierChangeQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByStatus is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderAscByStatus() TierChangeQuerySet {
	return qs.w(qs.db.Order("status ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderAscByUpdatedAt() TierChangeQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderAscByVersioning() TierChangeQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByChangeID is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderDescByChangeID() TierChangeQuerySet {
	return qs.w(qs.db.Order("change_id DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderDescByCreatedAt() TierChangeQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderDescByID() TierChangeQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByStatus is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderDescByStatus() TierChangeQuerySet {
	return qs.w(qs.db.Order("status DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderDescByUpdatedAt() TierChangeQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) OrderDescByVersioning() TierChangeQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// StatusEq is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusEq(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status = ?", status))
}

// StatusGt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusGt(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status > ?", status))
}

// StatusGte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusGte(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status >= ?", status))
}

// StatusIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusIn(status ...TierChangeStatus) TierChangeQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status IN (?)", status))
}

// StatusLike is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusLike(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status LIKE ?", status))
}

// StatusLt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusLt(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status < ?", status))
}

// StatusLte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusLte(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status <= ?", status))
}

// StatusNe is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusNe(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status != ?", status))
}

// StatusNotIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusNotIn(status ...TierChangeStatus) TierChangeQuerySet {
	if len(status) == 0 {
		qs.db.AddError(errors.New("must at least pass one status in StatusNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("status NOT IN (?)", status))
}

// StatusNotlike is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) StatusNotlike(status TierChangeStatus) TierChangeQuerySet {
	return qs.w(qs.db.Where("status NOT LIKE ?", status))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtEq(updatedAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtGt(updatedAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtGte(updatedAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtIsNotNull() TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtIsNull() TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtLt(updatedAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtLte(updatedAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) UpdatedAtNe(updatedAt time.Time) TierChangeQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningEq(versioning int) TierChangeQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningGt(versioning int) TierChangeQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningGte(versioning int) TierChangeQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningIn(versioning ...int) TierChangeQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningLt(versioning int) TierChangeQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningLte(versioning int) TierChangeQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningNe(versioning int) TierChangeQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs TierChangeQuerySet) VersioningNotIn(versioning ...int) TierChangeQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetChangeID is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) SetChangeID(changeID string) TierChangeUpdater {
	u.fields[string(TierChangeDBSchema.ChangeID)] = changeID
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) SetCreatedAt(createdAt time.Time) TierChangeUpdater {
	u.fields[string(TierChangeDBSchema.CreatedAt)] = createdAt
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) SetID(ID ID) TierChangeUpdater {
	u.fields[string(TierChangeDBSchema.ID)] = ID
	return u
}

// SetStatus is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) SetStatus(status TierChangeStatus) TierChangeUpdater {
	u.fields[string(TierChangeDBSchema.Status)] = status
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) SetUpdatedAt(updatedAt *time.Time) TierChangeUpdater {
	u.fields[string(TierChangeDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) SetVersioning(versioning int) TierChangeUpdater {
	u.fields[string(TierChangeDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TierChangeUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TierChangeQuerySet

// ===== BEGIN of TierChange modifiers

// TierChangeDBSchemaField describes database schema field. It requires for method 'Update'
type TierChangeDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TierChangeDBSchemaField) String() string {
	return string(f)
}

// TierChangeDBSchema stores db field names of TierChange
var TierChangeDBSchema = struct {
	ID         TierChangeDBSchemaField
	CreatedAt  TierChangeDBSchemaField
	UpdatedAt  TierChangeDBSchemaField
	Versioning TierChangeDBSchemaField
	ChangeID   TierChangeDBSchemaField
	Status     TierChangeDBSchemaField
}{

	ID:         TierChangeDBSchemaField("id"),
	CreatedAt:  TierChangeDBSchemaField("created_at"),
	UpdatedAt:  TierChangeDBSchemaField("updated_at"),
	Versioning: TierChangeDBSchemaField("versioning"),
	ChangeID:   TierChangeDBSchemaField("change_id"),
	Status:     TierChangeDBSchemaField("status"),
}

// Update updates TierChange fields by primary key
// nolint: dupl
func (o *TierChange) Update(db *gorm.DB, fields ...TierChangeDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":         o.ID,
		"created_at": o.CreatedAt,
		"updated_at": o.UpdatedAt,
		"versioning": o.Versioning,
		"change_id":  o.ChangeID,
		"status":     o.Status,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TierChange %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TierChangeUpdater is an TierChange updates manager
type TierChangeUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTierChangeUpdater creates new TierChange updater
// nolint: dupl
func NewTierChangeUpdater(db *gorm.DB) TierChangeUpdater {
	return TierChangeUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TierChange{}),
	}
}

// ===== END of TierChange modifiers

// ===== BEGIN of query set TierQuerySet

// TierQuerySet is an queryset type for Tier
type TierQuerySet struct {
	db *gorm.DB
}

// NewTierQuerySet constructs new TierQuerySet
func NewTierQuerySet(db *gorm.DB) TierQuerySet {
	return TierQuerySet{
		db: db.Model(&Tier{}),
	}
}

func (qs TierQuerySet) w(db *gorm.DB) TierQuerySet {
	return NewTierQuerySet(db)
}

func (qs TierQuerySet) Select(fields ...TierDBSchemaField) TierQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Tier) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Tier) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) All(ret *[]Tier) error {
	return qs.db.Find(ret).Error
}

// CPUNumEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumEq(cPUNum int) TierQuerySet {
	return qs.w(qs.db.Where("cpu_num = ?", cPUNum))
}

// CPUNumGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumGt(cPUNum int) TierQuerySet {
	return qs.w(qs.db.Where("cpu_num > ?", cPUNum))
}

// CPUNumGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumGte(cPUNum int) TierQuerySet {
	return qs.w(qs.db.Where("cpu_num >= ?", cPUNum))
}

// CPUNumIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumIn(cPUNum ...int) TierQuerySet {
	if len(cPUNum) == 0 {
		qs.db.AddError(errors.New("must at least pass one cPUNum in CPUNumIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu_num IN (?)", cPUNum))
}

// CPUNumLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumLt(cPUNum int) TierQuerySet {
	return qs.w(qs.db.Where("cpu_num < ?", cPUNum))
}

// CPUNumLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumLte(cPUNum int) TierQuerySet {
	return qs.w(qs.db.Where("cpu_num <= ?", cPUNum))
}

// CPUNumNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumNe(cPUNum int) TierQuerySet {
	return qs.w(qs.db.Where("cpu_num != ?", cPUNum))
}

// CPUNumNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CPUNumNotIn(cPUNum ...int) TierQuerySet {
	if len(cPUNum) == 0 {
		qs.db.AddError(errors.New("must at least pass one cPUNum in CPUNumNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cpu_num NOT IN (?)", cPUNum))
}

// ComponentTypeEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeEq(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type = ?", componentType))
}

// ComponentTypeGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeGt(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type > ?", componentType))
}

// ComponentTypeGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeGte(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type >= ?", componentType))
}

// ComponentTypeIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeIn(componentType ...ComponentName) TierQuerySet {
	if len(componentType) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentType in ComponentTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_type IN (?)", componentType))
}

// ComponentTypeLike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeLike(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type LIKE ?", componentType))
}

// ComponentTypeLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeLt(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type < ?", componentType))
}

// ComponentTypeLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeLte(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type <= ?", componentType))
}

// ComponentTypeNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeNe(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type != ?", componentType))
}

// ComponentTypeNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeNotIn(componentType ...ComponentName) TierQuerySet {
	if len(componentType) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentType in ComponentTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_type NOT IN (?)", componentType))
}

// ComponentTypeNotlike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) ComponentTypeNotlike(componentType ComponentName) TierQuerySet {
	return qs.w(qs.db.Where("component_type NOT LIKE ?", componentType))
}

// Count is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CreatedAtEq(createdAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CreatedAtGt(createdAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CreatedAtGte(createdAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CreatedAtLt(createdAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CreatedAtLte(createdAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) CreatedAtNe(createdAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// DefaultEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DefaultEq(defaultValue bool) TierQuerySet {
	return qs.w(qs.db.Where("default = ?", defaultValue))
}

// DefaultIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DefaultIn(defaultValue ...bool) TierQuerySet {
	if len(defaultValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultValue in DefaultIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default IN (?)", defaultValue))
}

// DefaultNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DefaultNe(defaultValue bool) TierQuerySet {
	return qs.w(qs.db.Where("default != ?", defaultValue))
}

// DefaultNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DefaultNotIn(defaultValue ...bool) TierQuerySet {
	if len(defaultValue) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultValue in DefaultNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default NOT IN (?)", defaultValue))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) Delete() error {
	return qs.db.Delete(&Tier{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Tier{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Tier{})
	return db.RowsAffected, db.Error
}

// DeployTypeEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeEq(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type = ?", deployType))
}

// DeployTypeGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeGt(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type > ?", deployType))
}

// DeployTypeGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeGte(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type >= ?", deployType))
}

// DeployTypeIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeIn(deployType ...DeployType) TierQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type IN (?)", deployType))
}

// DeployTypeLike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeLike(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type LIKE ?", deployType))
}

// DeployTypeLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeLt(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type < ?", deployType))
}

// DeployTypeLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeLte(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type <= ?", deployType))
}

// DeployTypeNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeNe(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type != ?", deployType))
}

// DeployTypeNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeNotIn(deployType ...DeployType) TierQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type NOT IN (?)", deployType))
}

// DeployTypeNotlike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DeployTypeNotlike(deployType DeployType) TierQuerySet {
	return qs.w(qs.db.Where("deploy_type NOT LIKE ?", deployType))
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameEq(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameGt(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameGte(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameIn(displayName ...string) TierQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameLike(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameLt(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameLte(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameNe(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameNotIn(displayName ...string) TierQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) DisplayNameNotlike(displayName string) TierQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) GetUpdater() TierUpdater {
	return NewTierUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDEq(ID ID) TierQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDGt(ID ID) TierQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDGte(ID ID) TierQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDIn(ID ...ID) TierQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDLt(ID ID) TierQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDLte(ID ID) TierQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDNe(ID ID) TierQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) IDNotIn(ID ...ID) TierQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) Limit(limit int) TierQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MemoEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoEq(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo = ?", memo))
}

// MemoGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoGt(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo > ?", memo))
}

// MemoGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoGte(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo >= ?", memo))
}

// MemoIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoIn(memo ...string) TierQuerySet {
	if len(memo) == 0 {
		qs.db.AddError(errors.New("must at least pass one memo in MemoIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memo IN (?)", memo))
}

// MemoLike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoLike(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo LIKE ?", memo))
}

// MemoLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoLt(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo < ?", memo))
}

// MemoLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoLte(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo <= ?", memo))
}

// MemoNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoNe(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo != ?", memo))
}

// MemoNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoNotIn(memo ...string) TierQuerySet {
	if len(memo) == 0 {
		qs.db.AddError(errors.New("must at least pass one memo in MemoNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memo NOT IN (?)", memo))
}

// MemoNotlike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemoNotlike(memo string) TierQuerySet {
	return qs.w(qs.db.Where("memo NOT LIKE ?", memo))
}

// MemorySizeGiEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiEq(memorySizeGi int) TierQuerySet {
	return qs.w(qs.db.Where("memory_size_gi = ?", memorySizeGi))
}

// MemorySizeGiGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiGt(memorySizeGi int) TierQuerySet {
	return qs.w(qs.db.Where("memory_size_gi > ?", memorySizeGi))
}

// MemorySizeGiGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiGte(memorySizeGi int) TierQuerySet {
	return qs.w(qs.db.Where("memory_size_gi >= ?", memorySizeGi))
}

// MemorySizeGiIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiIn(memorySizeGi ...int) TierQuerySet {
	if len(memorySizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one memorySizeGi in MemorySizeGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memory_size_gi IN (?)", memorySizeGi))
}

// MemorySizeGiLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiLt(memorySizeGi int) TierQuerySet {
	return qs.w(qs.db.Where("memory_size_gi < ?", memorySizeGi))
}

// MemorySizeGiLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiLte(memorySizeGi int) TierQuerySet {
	return qs.w(qs.db.Where("memory_size_gi <= ?", memorySizeGi))
}

// MemorySizeGiNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiNe(memorySizeGi int) TierQuerySet {
	return qs.w(qs.db.Where("memory_size_gi != ?", memorySizeGi))
}

// MemorySizeGiNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) MemorySizeGiNotIn(memorySizeGi ...int) TierQuerySet {
	if len(memorySizeGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one memorySizeGi in MemorySizeGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memory_size_gi NOT IN (?)", memorySizeGi))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameEq(name string) TierQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameGt(name string) TierQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameGte(name string) TierQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameIn(name ...string) TierQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameLike(name string) TierQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameLt(name string) TierQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameLte(name string) TierQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameNe(name string) TierQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameNotIn(name ...string) TierQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) NameNotlike(name string) TierQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) Offset(offset int) TierQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TierQuerySet) One(ret *Tier) error {
	return qs.db.First(ret).Error
}

// OrderAscByCPUNum is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByCPUNum() TierQuerySet {
	return qs.w(qs.db.Order("cpu_num ASC"))
}

// OrderAscByComponentType is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByComponentType() TierQuerySet {
	return qs.w(qs.db.Order("component_type ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByCreatedAt() TierQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDefault is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByDefault() TierQuerySet {
	return qs.w(qs.db.Order("default ASC"))
}

// OrderAscByDeployType is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByDeployType() TierQuerySet {
	return qs.w(qs.db.Order("deploy_type ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByDisplayName() TierQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByID() TierQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByMemo is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByMemo() TierQuerySet {
	return qs.w(qs.db.Order("memo ASC"))
}

// OrderAscByMemorySizeGi is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByMemorySizeGi() TierQuerySet {
	return qs.w(qs.db.Order("memory_size_gi ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByName() TierQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByTierKey is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByTierKey() TierQuerySet {
	return qs.w(qs.db.Order("tier_key ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByUpdatedAt() TierQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderAscByVersioning() TierQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByCPUNum is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByCPUNum() TierQuerySet {
	return qs.w(qs.db.Order("cpu_num DESC"))
}

// OrderDescByComponentType is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByComponentType() TierQuerySet {
	return qs.w(qs.db.Order("component_type DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByCreatedAt() TierQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDefault is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByDefault() TierQuerySet {
	return qs.w(qs.db.Order("default DESC"))
}

// OrderDescByDeployType is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByDeployType() TierQuerySet {
	return qs.w(qs.db.Order("deploy_type DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByDisplayName() TierQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByID() TierQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByMemo is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByMemo() TierQuerySet {
	return qs.w(qs.db.Order("memo DESC"))
}

// OrderDescByMemorySizeGi is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByMemorySizeGi() TierQuerySet {
	return qs.w(qs.db.Order("memory_size_gi DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByName() TierQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByTierKey is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByTierKey() TierQuerySet {
	return qs.w(qs.db.Order("tier_key DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByUpdatedAt() TierQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) OrderDescByVersioning() TierQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PreloadTierUnitMapping is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) PreloadTierUnitMapping() TierQuerySet {
	return qs.w(qs.db.Preload("TierUnitMapping"))
}

// TierKeyEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyEq(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key = ?", tierKey))
}

// TierKeyGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyGt(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key > ?", tierKey))
}

// TierKeyGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyGte(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key >= ?", tierKey))
}

// TierKeyIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyIn(tierKey ...string) TierQuerySet {
	if len(tierKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierKey in TierKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_key IN (?)", tierKey))
}

// TierKeyLike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyLike(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key LIKE ?", tierKey))
}

// TierKeyLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyLt(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key < ?", tierKey))
}

// TierKeyLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyLte(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key <= ?", tierKey))
}

// TierKeyNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyNe(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key != ?", tierKey))
}

// TierKeyNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyNotIn(tierKey ...string) TierQuerySet {
	if len(tierKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierKey in TierKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_key NOT IN (?)", tierKey))
}

// TierKeyNotlike is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) TierKeyNotlike(tierKey string) TierQuerySet {
	return qs.w(qs.db.Where("tier_key NOT LIKE ?", tierKey))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtEq(updatedAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtGt(updatedAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtGte(updatedAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtIsNotNull() TierQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtIsNull() TierQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtLt(updatedAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtLte(updatedAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) UpdatedAtNe(updatedAt time.Time) TierQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningEq(versioning int) TierQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningGt(versioning int) TierQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningGte(versioning int) TierQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningIn(versioning ...int) TierQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningLt(versioning int) TierQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningLte(versioning int) TierQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningNe(versioning int) TierQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs TierQuerySet) VersioningNotIn(versioning ...int) TierQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetCPUNum is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetCPUNum(cPUNum int) TierUpdater {
	u.fields[string(TierDBSchema.CPUNum)] = cPUNum
	return u
}

// SetComponentType is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetComponentType(componentType ComponentName) TierUpdater {
	u.fields[string(TierDBSchema.ComponentType)] = componentType
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetCreatedAt(createdAt time.Time) TierUpdater {
	u.fields[string(TierDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDefault is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetDefault(defaultValue bool) TierUpdater {
	u.fields[string(TierDBSchema.Default)] = defaultValue
	return u
}

// SetDeployType is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetDeployType(deployType DeployType) TierUpdater {
	u.fields[string(TierDBSchema.DeployType)] = deployType
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetDisplayName(displayName string) TierUpdater {
	u.fields[string(TierDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetID(ID ID) TierUpdater {
	u.fields[string(TierDBSchema.ID)] = ID
	return u
}

// SetMemo is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetMemo(memo string) TierUpdater {
	u.fields[string(TierDBSchema.Memo)] = memo
	return u
}

// SetMemorySizeGi is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetMemorySizeGi(memorySizeGi int) TierUpdater {
	u.fields[string(TierDBSchema.MemorySizeGi)] = memorySizeGi
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetName(name string) TierUpdater {
	u.fields[string(TierDBSchema.Name)] = name
	return u
}

// SetTierKey is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetTierKey(tierKey string) TierUpdater {
	u.fields[string(TierDBSchema.TierKey)] = tierKey
	return u
}

// SetTierUnitMapping is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetTierUnitMapping(tierUnitMapping TierUnitMapping) TierUpdater {
	u.fields[string(TierDBSchema.TierUnitMapping)] = tierUnitMapping
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetUpdatedAt(updatedAt *time.Time) TierUpdater {
	u.fields[string(TierDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u TierUpdater) SetVersioning(versioning int) TierUpdater {
	u.fields[string(TierDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TierUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TierUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TierQuerySet

// ===== BEGIN of Tier modifiers

// TierDBSchemaField describes database schema field. It requires for method 'Update'
type TierDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TierDBSchemaField) String() string {
	return string(f)
}

// TierDBSchema stores db field names of Tier
var TierDBSchema = struct {
	ID              TierDBSchemaField
	CreatedAt       TierDBSchemaField
	UpdatedAt       TierDBSchemaField
	Versioning      TierDBSchemaField
	TierKey         TierDBSchemaField
	Name            TierDBSchemaField
	DisplayName     TierDBSchemaField
	Memo            TierDBSchemaField
	DeployType      TierDBSchemaField
	ComponentType   TierDBSchemaField
	Default         TierDBSchemaField
	CPUNum          TierDBSchemaField
	MemorySizeGi    TierDBSchemaField
	TierUnitMapping TierDBSchemaField
}{

	ID:              TierDBSchemaField("id"),
	CreatedAt:       TierDBSchemaField("created_at"),
	UpdatedAt:       TierDBSchemaField("updated_at"),
	Versioning:      TierDBSchemaField("versioning"),
	TierKey:         TierDBSchemaField("tier_key"),
	Name:            TierDBSchemaField("name"),
	DisplayName:     TierDBSchemaField("display_name"),
	Memo:            TierDBSchemaField("memo"),
	DeployType:      TierDBSchemaField("deploy_type"),
	ComponentType:   TierDBSchemaField("component_type"),
	Default:         TierDBSchemaField("default"),
	CPUNum:          TierDBSchemaField("cpu_num"),
	MemorySizeGi:    TierDBSchemaField("memory_size_gi"),
	TierUnitMapping: TierDBSchemaField("tier_unit_mapping"),
}

// Update updates Tier fields by primary key
// nolint: dupl
func (o *Tier) Update(db *gorm.DB, fields ...TierDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                o.ID,
		"created_at":        o.CreatedAt,
		"updated_at":        o.UpdatedAt,
		"versioning":        o.Versioning,
		"tier_key":          o.TierKey,
		"name":              o.Name,
		"display_name":      o.DisplayName,
		"memo":              o.Memo,
		"deploy_type":       o.DeployType,
		"component_type":    o.ComponentType,
		"default":           o.Default,
		"cpu_num":           o.CPUNum,
		"memory_size_gi":    o.MemorySizeGi,
		"tier_unit_mapping": o.TierUnitMapping,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Tier %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TierUpdater is an Tier updates manager
type TierUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTierUpdater creates new Tier updater
// nolint: dupl
func NewTierUpdater(db *gorm.DB) TierUpdater {
	return TierUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Tier{}),
	}
}

// ===== END of Tier modifiers

// ===== BEGIN of query set TierUnitMappingItemQuerySet

// TierUnitMappingItemQuerySet is an queryset type for TierUnitMappingItem
type TierUnitMappingItemQuerySet struct {
	db *gorm.DB
}

// NewTierUnitMappingItemQuerySet constructs new TierUnitMappingItemQuerySet
func NewTierUnitMappingItemQuerySet(db *gorm.DB) TierUnitMappingItemQuerySet {
	return TierUnitMappingItemQuerySet{
		db: db.Model(&TierUnitMappingItem{}),
	}
}

func (qs TierUnitMappingItemQuerySet) w(db *gorm.DB) TierUnitMappingItemQuerySet {
	return NewTierUnitMappingItemQuerySet(db)
}

func (qs TierUnitMappingItemQuerySet) Select(fields ...TierUnitMappingItemDBSchemaField) TierUnitMappingItemQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TierUnitMappingItem) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TierUnitMappingItem) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) All(ret *[]TierUnitMappingItem) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) Delete() error {
	return qs.db.Delete(&TierUnitMappingItem{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TierUnitMappingItem{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TierUnitMappingItem{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) GetUpdater() TierUnitMappingItemUpdater {
	return NewTierUnitMappingItemUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) Limit(limit int) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) Offset(offset int) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TierUnitMappingItemQuerySet) One(ret *TierUnitMappingItem) error {
	return qs.db.First(ret).Error
}

// OrderAscByProviderName is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) OrderAscByProviderName() TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Order("provider_name ASC"))
}

// OrderAscByTierUnitKey is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) OrderAscByTierUnitKey() TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Order("tier_unit_key ASC"))
}

// OrderDescByProviderName is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) OrderDescByProviderName() TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Order("provider_name DESC"))
}

// OrderDescByTierUnitKey is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) OrderDescByTierUnitKey() TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Order("tier_unit_key DESC"))
}

// ProviderNameEq is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameEq(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name = ?", providerName))
}

// ProviderNameGt is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameGt(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name > ?", providerName))
}

// ProviderNameGte is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameGte(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name >= ?", providerName))
}

// ProviderNameIn is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameIn(providerName ...string) TierUnitMappingItemQuerySet {
	if len(providerName) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerName in ProviderNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_name IN (?)", providerName))
}

// ProviderNameLike is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameLike(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name LIKE ?", providerName))
}

// ProviderNameLt is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameLt(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name < ?", providerName))
}

// ProviderNameLte is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameLte(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name <= ?", providerName))
}

// ProviderNameNe is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameNe(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name != ?", providerName))
}

// ProviderNameNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameNotIn(providerName ...string) TierUnitMappingItemQuerySet {
	if len(providerName) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerName in ProviderNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_name NOT IN (?)", providerName))
}

// ProviderNameNotlike is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) ProviderNameNotlike(providerName string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("provider_name NOT LIKE ?", providerName))
}

// TierUnitKeyEq is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyEq(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key = ?", tierUnitKey))
}

// TierUnitKeyGt is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyGt(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key > ?", tierUnitKey))
}

// TierUnitKeyGte is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyGte(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key >= ?", tierUnitKey))
}

// TierUnitKeyIn is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyIn(tierUnitKey ...string) TierUnitMappingItemQuerySet {
	if len(tierUnitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierUnitKey in TierUnitKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_unit_key IN (?)", tierUnitKey))
}

// TierUnitKeyLike is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyLike(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key LIKE ?", tierUnitKey))
}

// TierUnitKeyLt is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyLt(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key < ?", tierUnitKey))
}

// TierUnitKeyLte is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyLte(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key <= ?", tierUnitKey))
}

// TierUnitKeyNe is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyNe(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key != ?", tierUnitKey))
}

// TierUnitKeyNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyNotIn(tierUnitKey ...string) TierUnitMappingItemQuerySet {
	if len(tierUnitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierUnitKey in TierUnitKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_unit_key NOT IN (?)", tierUnitKey))
}

// TierUnitKeyNotlike is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingItemQuerySet) TierUnitKeyNotlike(tierUnitKey string) TierUnitMappingItemQuerySet {
	return qs.w(qs.db.Where("tier_unit_key NOT LIKE ?", tierUnitKey))
}

// SetProviderName is an autogenerated method
// nolint: dupl
func (u TierUnitMappingItemUpdater) SetProviderName(providerName string) TierUnitMappingItemUpdater {
	u.fields[string(TierUnitMappingItemDBSchema.ProviderName)] = providerName
	return u
}

// SetTierUnitKey is an autogenerated method
// nolint: dupl
func (u TierUnitMappingItemUpdater) SetTierUnitKey(tierUnitKey string) TierUnitMappingItemUpdater {
	u.fields[string(TierUnitMappingItemDBSchema.TierUnitKey)] = tierUnitKey
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TierUnitMappingItemUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TierUnitMappingItemUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TierUnitMappingItemQuerySet

// ===== BEGIN of TierUnitMappingItem modifiers

// TierUnitMappingItemDBSchemaField describes database schema field. It requires for method 'Update'
type TierUnitMappingItemDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TierUnitMappingItemDBSchemaField) String() string {
	return string(f)
}

// TierUnitMappingItemDBSchema stores db field names of TierUnitMappingItem
var TierUnitMappingItemDBSchema = struct {
	ProviderName TierUnitMappingItemDBSchemaField
	TierUnitKey  TierUnitMappingItemDBSchemaField
}{

	ProviderName: TierUnitMappingItemDBSchemaField("provider_name"),
	TierUnitKey:  TierUnitMappingItemDBSchemaField("tier_unit_key"),
}

// Update updates TierUnitMappingItem fields by primary key
// nolint: dupl
func (o *TierUnitMappingItem) Update(db *gorm.DB, fields ...TierUnitMappingItemDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"provider_name": o.ProviderName,
		"tier_unit_key": o.TierUnitKey,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TierUnitMappingItem %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TierUnitMappingItemUpdater is an TierUnitMappingItem updates manager
type TierUnitMappingItemUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTierUnitMappingItemUpdater creates new TierUnitMappingItem updater
// nolint: dupl
func NewTierUnitMappingItemUpdater(db *gorm.DB) TierUnitMappingItemUpdater {
	return TierUnitMappingItemUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TierUnitMappingItem{}),
	}
}

// ===== END of TierUnitMappingItem modifiers

// ===== BEGIN of query set TierUnitMappingQuerySet

// TierUnitMappingQuerySet is an queryset type for TierUnitMapping
type TierUnitMappingQuerySet struct {
	db *gorm.DB
}

// NewTierUnitMappingQuerySet constructs new TierUnitMappingQuerySet
func NewTierUnitMappingQuerySet(db *gorm.DB) TierUnitMappingQuerySet {
	return TierUnitMappingQuerySet{
		db: db.Model(&TierUnitMapping{}),
	}
}

func (qs TierUnitMappingQuerySet) w(db *gorm.DB) TierUnitMappingQuerySet {
	return NewTierUnitMappingQuerySet(db)
}

func (qs TierUnitMappingQuerySet) Select(fields ...TierUnitMappingDBSchemaField) TierUnitMappingQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TierUnitMapping) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TierUnitMapping) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) All(ret *[]TierUnitMapping) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) Delete() error {
	return qs.db.Delete(&TierUnitMapping{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TierUnitMapping{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TierUnitMapping{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) GetUpdater() TierUnitMappingUpdater {
	return NewTierUnitMappingUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) Limit(limit int) TierUnitMappingQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TierUnitMappingQuerySet) Offset(offset int) TierUnitMappingQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TierUnitMappingQuerySet) One(ret *TierUnitMapping) error {
	return qs.db.First(ret).Error
}

// Update is an autogenerated method
// nolint: dupl
func (u TierUnitMappingUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TierUnitMappingUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TierUnitMappingQuerySet

// ===== BEGIN of TierUnitMapping modifiers

// TierUnitMappingDBSchemaField describes database schema field. It requires for method 'Update'
type TierUnitMappingDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TierUnitMappingDBSchemaField) String() string {
	return string(f)
}

// TierUnitMappingDBSchema stores db field names of TierUnitMapping
var TierUnitMappingDBSchema = struct {
}{}

// Update updates TierUnitMapping fields by primary key
// nolint: dupl
func (o *TierUnitMapping) Update(db *gorm.DB, fields ...TierUnitMappingDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TierUnitMapping %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TierUnitMappingUpdater is an TierUnitMapping updates manager
type TierUnitMappingUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTierUnitMappingUpdater creates new TierUnitMapping updater
// nolint: dupl
func NewTierUnitMappingUpdater(db *gorm.DB) TierUnitMappingUpdater {
	return TierUnitMappingUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TierUnitMapping{}),
	}
}

// ===== END of TierUnitMapping modifiers

// ===== BEGIN of query set TierUnitQuerySet

// TierUnitQuerySet is an queryset type for TierUnit
type TierUnitQuerySet struct {
	db *gorm.DB
}

// NewTierUnitQuerySet constructs new TierUnitQuerySet
func NewTierUnitQuerySet(db *gorm.DB) TierUnitQuerySet {
	return TierUnitQuerySet{
		db: db.Model(&TierUnit{}),
	}
}

func (qs TierUnitQuerySet) w(db *gorm.DB) TierUnitQuerySet {
	return NewTierUnitQuerySet(db)
}

func (qs TierUnitQuerySet) Select(fields ...TierUnitDBSchemaField) TierUnitQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TierUnit) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TierUnit) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) All(ret *[]TierUnit) error {
	return qs.db.Find(ret).Error
}

// ComponentTypeEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeEq(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type = ?", componentType))
}

// ComponentTypeGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeGt(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type > ?", componentType))
}

// ComponentTypeGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeGte(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type >= ?", componentType))
}

// ComponentTypeIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeIn(componentType ...ComponentName) TierUnitQuerySet {
	if len(componentType) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentType in ComponentTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_type IN (?)", componentType))
}

// ComponentTypeLike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeLike(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type LIKE ?", componentType))
}

// ComponentTypeLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeLt(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type < ?", componentType))
}

// ComponentTypeLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeLte(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type <= ?", componentType))
}

// ComponentTypeNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeNe(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type != ?", componentType))
}

// ComponentTypeNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeNotIn(componentType ...ComponentName) TierUnitQuerySet {
	if len(componentType) == 0 {
		qs.db.AddError(errors.New("must at least pass one componentType in ComponentTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("component_type NOT IN (?)", componentType))
}

// ComponentTypeNotlike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ComponentTypeNotlike(componentType ComponentName) TierUnitQuerySet {
	return qs.w(qs.db.Where("component_type NOT LIKE ?", componentType))
}

// Count is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) CreatedAtEq(createdAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) CreatedAtGt(createdAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) CreatedAtGte(createdAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) CreatedAtLt(createdAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) CreatedAtLte(createdAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) CreatedAtNe(createdAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// DefaultNodeNumEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumEq(defaultNodeNum int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_node_num = ?", defaultNodeNum))
}

// DefaultNodeNumGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumGt(defaultNodeNum int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_node_num > ?", defaultNodeNum))
}

// DefaultNodeNumGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumGte(defaultNodeNum int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_node_num >= ?", defaultNodeNum))
}

// DefaultNodeNumIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumIn(defaultNodeNum ...int) TierUnitQuerySet {
	if len(defaultNodeNum) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultNodeNum in DefaultNodeNumIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default_node_num IN (?)", defaultNodeNum))
}

// DefaultNodeNumLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumLt(defaultNodeNum int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_node_num < ?", defaultNodeNum))
}

// DefaultNodeNumLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumLte(defaultNodeNum int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_node_num <= ?", defaultNodeNum))
}

// DefaultNodeNumNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumNe(defaultNodeNum int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_node_num != ?", defaultNodeNum))
}

// DefaultNodeNumNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultNodeNumNotIn(defaultNodeNum ...int) TierUnitQuerySet {
	if len(defaultNodeNum) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultNodeNum in DefaultNodeNumNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default_node_num NOT IN (?)", defaultNodeNum))
}

// DefaultStorageGiEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiEq(defaultStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_storage_gi = ?", defaultStorageGi))
}

// DefaultStorageGiGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiGt(defaultStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_storage_gi > ?", defaultStorageGi))
}

// DefaultStorageGiGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiGte(defaultStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_storage_gi >= ?", defaultStorageGi))
}

// DefaultStorageGiIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiIn(defaultStorageGi ...int) TierUnitQuerySet {
	if len(defaultStorageGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultStorageGi in DefaultStorageGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default_storage_gi IN (?)", defaultStorageGi))
}

// DefaultStorageGiLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiLt(defaultStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_storage_gi < ?", defaultStorageGi))
}

// DefaultStorageGiLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiLte(defaultStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_storage_gi <= ?", defaultStorageGi))
}

// DefaultStorageGiNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiNe(defaultStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("default_storage_gi != ?", defaultStorageGi))
}

// DefaultStorageGiNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DefaultStorageGiNotIn(defaultStorageGi ...int) TierUnitQuerySet {
	if len(defaultStorageGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one defaultStorageGi in DefaultStorageGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("default_storage_gi NOT IN (?)", defaultStorageGi))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) Delete() error {
	return qs.db.Delete(&TierUnit{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TierUnit{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TierUnit{})
	return db.RowsAffected, db.Error
}

// DeployTypeEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeEq(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type = ?", deployType))
}

// DeployTypeGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeGt(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type > ?", deployType))
}

// DeployTypeGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeGte(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type >= ?", deployType))
}

// DeployTypeIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeIn(deployType ...DeployType) TierUnitQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type IN (?)", deployType))
}

// DeployTypeLike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeLike(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type LIKE ?", deployType))
}

// DeployTypeLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeLt(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type < ?", deployType))
}

// DeployTypeLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeLte(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type <= ?", deployType))
}

// DeployTypeNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeNe(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type != ?", deployType))
}

// DeployTypeNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeNotIn(deployType ...DeployType) TierUnitQuerySet {
	if len(deployType) == 0 {
		qs.db.AddError(errors.New("must at least pass one deployType in DeployTypeNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("deploy_type NOT IN (?)", deployType))
}

// DeployTypeNotlike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) DeployTypeNotlike(deployType DeployType) TierUnitQuerySet {
	return qs.w(qs.db.Where("deploy_type NOT LIKE ?", deployType))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) GetUpdater() TierUnitUpdater {
	return NewTierUnitUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDEq(ID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDGt(ID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDGte(ID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDIn(ID ...ID) TierUnitQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDLt(ID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDLte(ID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDNe(ID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) IDNotIn(ID ...ID) TierUnitQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// InfraComputeIDEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDEq(infraComputeID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute_id = ?", infraComputeID))
}

// InfraComputeIDGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDGt(infraComputeID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute_id > ?", infraComputeID))
}

// InfraComputeIDGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDGte(infraComputeID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute_id >= ?", infraComputeID))
}

// InfraComputeIDIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDIn(infraComputeID ...ID) TierUnitQuerySet {
	if len(infraComputeID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraComputeID in InfraComputeIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_compute_id IN (?)", infraComputeID))
}

// InfraComputeIDLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDLt(infraComputeID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute_id < ?", infraComputeID))
}

// InfraComputeIDLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDLte(infraComputeID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute_id <= ?", infraComputeID))
}

// InfraComputeIDNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDNe(infraComputeID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute_id != ?", infraComputeID))
}

// InfraComputeIDNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIDNotIn(infraComputeID ...ID) TierUnitQuerySet {
	if len(infraComputeID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraComputeID in InfraComputeIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_compute_id NOT IN (?)", infraComputeID))
}

// InfraComputeIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIsNotNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute IS NOT NULL"))
}

// InfraComputeIsNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraComputeIsNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_compute IS NULL"))
}

// InfraProviderIDEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDEq(infraProviderID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider_id = ?", infraProviderID))
}

// InfraProviderIDGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDGt(infraProviderID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider_id > ?", infraProviderID))
}

// InfraProviderIDGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDGte(infraProviderID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider_id >= ?", infraProviderID))
}

// InfraProviderIDIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDIn(infraProviderID ...ID) TierUnitQuerySet {
	if len(infraProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraProviderID in InfraProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_provider_id IN (?)", infraProviderID))
}

// InfraProviderIDLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDLt(infraProviderID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider_id < ?", infraProviderID))
}

// InfraProviderIDLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDLte(infraProviderID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider_id <= ?", infraProviderID))
}

// InfraProviderIDNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDNe(infraProviderID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider_id != ?", infraProviderID))
}

// InfraProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIDNotIn(infraProviderID ...ID) TierUnitQuerySet {
	if len(infraProviderID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraProviderID in InfraProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_provider_id NOT IN (?)", infraProviderID))
}

// InfraProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIsNotNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider IS NOT NULL"))
}

// InfraProviderIsNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraProviderIsNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_provider IS NULL"))
}

// InfraStorageIDEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDEq(infraStorageID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage_id = ?", infraStorageID))
}

// InfraStorageIDGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDGt(infraStorageID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage_id > ?", infraStorageID))
}

// InfraStorageIDGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDGte(infraStorageID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage_id >= ?", infraStorageID))
}

// InfraStorageIDIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDIn(infraStorageID ...ID) TierUnitQuerySet {
	if len(infraStorageID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraStorageID in InfraStorageIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_storage_id IN (?)", infraStorageID))
}

// InfraStorageIDLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDLt(infraStorageID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage_id < ?", infraStorageID))
}

// InfraStorageIDLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDLte(infraStorageID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage_id <= ?", infraStorageID))
}

// InfraStorageIDNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDNe(infraStorageID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage_id != ?", infraStorageID))
}

// InfraStorageIDNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIDNotIn(infraStorageID ...ID) TierUnitQuerySet {
	if len(infraStorageID) == 0 {
		qs.db.AddError(errors.New("must at least pass one infraStorageID in InfraStorageIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("infra_storage_id NOT IN (?)", infraStorageID))
}

// InfraStorageIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIsNotNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage IS NOT NULL"))
}

// InfraStorageIsNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) InfraStorageIsNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("infra_storage IS NULL"))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) Limit(limit int) TierUnitQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// MaxStorageGiEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiEq(maxStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("max_storage_gi = ?", maxStorageGi))
}

// MaxStorageGiGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiGt(maxStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("max_storage_gi > ?", maxStorageGi))
}

// MaxStorageGiGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiGte(maxStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("max_storage_gi >= ?", maxStorageGi))
}

// MaxStorageGiIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiIn(maxStorageGi ...int) TierUnitQuerySet {
	if len(maxStorageGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one maxStorageGi in MaxStorageGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("max_storage_gi IN (?)", maxStorageGi))
}

// MaxStorageGiLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiLt(maxStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("max_storage_gi < ?", maxStorageGi))
}

// MaxStorageGiLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiLte(maxStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("max_storage_gi <= ?", maxStorageGi))
}

// MaxStorageGiNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiNe(maxStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("max_storage_gi != ?", maxStorageGi))
}

// MaxStorageGiNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MaxStorageGiNotIn(maxStorageGi ...int) TierUnitQuerySet {
	if len(maxStorageGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one maxStorageGi in MaxStorageGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("max_storage_gi NOT IN (?)", maxStorageGi))
}

// MemoEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoEq(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo = ?", memo))
}

// MemoGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoGt(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo > ?", memo))
}

// MemoGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoGte(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo >= ?", memo))
}

// MemoIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoIn(memo ...string) TierUnitQuerySet {
	if len(memo) == 0 {
		qs.db.AddError(errors.New("must at least pass one memo in MemoIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memo IN (?)", memo))
}

// MemoLike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoLike(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo LIKE ?", memo))
}

// MemoLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoLt(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo < ?", memo))
}

// MemoLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoLte(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo <= ?", memo))
}

// MemoNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoNe(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo != ?", memo))
}

// MemoNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoNotIn(memo ...string) TierUnitQuerySet {
	if len(memo) == 0 {
		qs.db.AddError(errors.New("must at least pass one memo in MemoNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("memo NOT IN (?)", memo))
}

// MemoNotlike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MemoNotlike(memo string) TierUnitQuerySet {
	return qs.w(qs.db.Where("memo NOT LIKE ?", memo))
}

// MinStorageGiEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiEq(minStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("min_storage_gi = ?", minStorageGi))
}

// MinStorageGiGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiGt(minStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("min_storage_gi > ?", minStorageGi))
}

// MinStorageGiGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiGte(minStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("min_storage_gi >= ?", minStorageGi))
}

// MinStorageGiIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiIn(minStorageGi ...int) TierUnitQuerySet {
	if len(minStorageGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one minStorageGi in MinStorageGiIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("min_storage_gi IN (?)", minStorageGi))
}

// MinStorageGiLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiLt(minStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("min_storage_gi < ?", minStorageGi))
}

// MinStorageGiLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiLte(minStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("min_storage_gi <= ?", minStorageGi))
}

// MinStorageGiNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiNe(minStorageGi int) TierUnitQuerySet {
	return qs.w(qs.db.Where("min_storage_gi != ?", minStorageGi))
}

// MinStorageGiNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) MinStorageGiNotIn(minStorageGi ...int) TierUnitQuerySet {
	if len(minStorageGi) == 0 {
		qs.db.AddError(errors.New("must at least pass one minStorageGi in MinStorageGiNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("min_storage_gi NOT IN (?)", minStorageGi))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) Offset(offset int) TierUnitQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TierUnitQuerySet) One(ret *TierUnit) error {
	return qs.db.First(ret).Error
}

// OrderAscByComponentType is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByComponentType() TierUnitQuerySet {
	return qs.w(qs.db.Order("component_type ASC"))
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByCreatedAt() TierUnitQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDefaultNodeNum is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByDefaultNodeNum() TierUnitQuerySet {
	return qs.w(qs.db.Order("default_node_num ASC"))
}

// OrderAscByDefaultStorageGi is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByDefaultStorageGi() TierUnitQuerySet {
	return qs.w(qs.db.Order("default_storage_gi ASC"))
}

// OrderAscByDeployType is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByDeployType() TierUnitQuerySet {
	return qs.w(qs.db.Order("deploy_type ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByID() TierUnitQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByInfraComputeID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByInfraComputeID() TierUnitQuerySet {
	return qs.w(qs.db.Order("infra_compute_id ASC"))
}

// OrderAscByInfraProviderID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByInfraProviderID() TierUnitQuerySet {
	return qs.w(qs.db.Order("infra_provider_id ASC"))
}

// OrderAscByInfraStorageID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByInfraStorageID() TierUnitQuerySet {
	return qs.w(qs.db.Order("infra_storage_id ASC"))
}

// OrderAscByMaxStorageGi is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByMaxStorageGi() TierUnitQuerySet {
	return qs.w(qs.db.Order("max_storage_gi ASC"))
}

// OrderAscByMemo is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByMemo() TierUnitQuerySet {
	return qs.w(qs.db.Order("memo ASC"))
}

// OrderAscByMinStorageGi is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByMinStorageGi() TierUnitQuerySet {
	return qs.w(qs.db.Order("min_storage_gi ASC"))
}

// OrderAscByProviderID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByProviderID() TierUnitQuerySet {
	return qs.w(qs.db.Order("provider_id ASC"))
}

// OrderAscByTierUnitKey is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByTierUnitKey() TierUnitQuerySet {
	return qs.w(qs.db.Order("tier_unit_key ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByUpdatedAt() TierUnitQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderAscByVersioning is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderAscByVersioning() TierUnitQuerySet {
	return qs.w(qs.db.Order("versioning ASC"))
}

// OrderDescByComponentType is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByComponentType() TierUnitQuerySet {
	return qs.w(qs.db.Order("component_type DESC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByCreatedAt() TierUnitQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDefaultNodeNum is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByDefaultNodeNum() TierUnitQuerySet {
	return qs.w(qs.db.Order("default_node_num DESC"))
}

// OrderDescByDefaultStorageGi is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByDefaultStorageGi() TierUnitQuerySet {
	return qs.w(qs.db.Order("default_storage_gi DESC"))
}

// OrderDescByDeployType is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByDeployType() TierUnitQuerySet {
	return qs.w(qs.db.Order("deploy_type DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByID() TierUnitQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByInfraComputeID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByInfraComputeID() TierUnitQuerySet {
	return qs.w(qs.db.Order("infra_compute_id DESC"))
}

// OrderDescByInfraProviderID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByInfraProviderID() TierUnitQuerySet {
	return qs.w(qs.db.Order("infra_provider_id DESC"))
}

// OrderDescByInfraStorageID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByInfraStorageID() TierUnitQuerySet {
	return qs.w(qs.db.Order("infra_storage_id DESC"))
}

// OrderDescByMaxStorageGi is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByMaxStorageGi() TierUnitQuerySet {
	return qs.w(qs.db.Order("max_storage_gi DESC"))
}

// OrderDescByMemo is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByMemo() TierUnitQuerySet {
	return qs.w(qs.db.Order("memo DESC"))
}

// OrderDescByMinStorageGi is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByMinStorageGi() TierUnitQuerySet {
	return qs.w(qs.db.Order("min_storage_gi DESC"))
}

// OrderDescByProviderID is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByProviderID() TierUnitQuerySet {
	return qs.w(qs.db.Order("provider_id DESC"))
}

// OrderDescByTierUnitKey is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByTierUnitKey() TierUnitQuerySet {
	return qs.w(qs.db.Order("tier_unit_key DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByUpdatedAt() TierUnitQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// OrderDescByVersioning is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) OrderDescByVersioning() TierUnitQuerySet {
	return qs.w(qs.db.Order("versioning DESC"))
}

// PDIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PDIsNotNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("pd IS NOT NULL"))
}

// PDIsNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PDIsNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("pd IS NULL"))
}

// PreloadInfraCompute is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PreloadInfraCompute() TierUnitQuerySet {
	return qs.w(qs.db.Preload("InfraCompute"))
}

// PreloadInfraProvider is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PreloadInfraProvider() TierUnitQuerySet {
	return qs.w(qs.db.Preload("InfraProvider"))
}

// PreloadInfraStorage is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PreloadInfraStorage() TierUnitQuerySet {
	return qs.w(qs.db.Preload("InfraStorage"))
}

// PreloadPD is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PreloadPD() TierUnitQuerySet {
	return qs.w(qs.db.Preload("PD"))
}

// PreloadProvider is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) PreloadProvider() TierUnitQuerySet {
	return qs.w(qs.db.Preload("Provider"))
}

// ProviderIDEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDEq(providerID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("provider_id = ?", providerID))
}

// ProviderIDGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDGt(providerID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("provider_id > ?", providerID))
}

// ProviderIDGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDGte(providerID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("provider_id >= ?", providerID))
}

// ProviderIDIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDIn(providerID ...ID) TierUnitQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id IN (?)", providerID))
}

// ProviderIDLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDLt(providerID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("provider_id < ?", providerID))
}

// ProviderIDLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDLte(providerID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("provider_id <= ?", providerID))
}

// ProviderIDNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDNe(providerID ID) TierUnitQuerySet {
	return qs.w(qs.db.Where("provider_id != ?", providerID))
}

// ProviderIDNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIDNotIn(providerID ...ID) TierUnitQuerySet {
	if len(providerID) == 0 {
		qs.db.AddError(errors.New("must at least pass one providerID in ProviderIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("provider_id NOT IN (?)", providerID))
}

// ProviderIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIsNotNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("provider IS NOT NULL"))
}

// ProviderIsNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) ProviderIsNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("provider IS NULL"))
}

// TierUnitKeyEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyEq(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key = ?", tierUnitKey))
}

// TierUnitKeyGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyGt(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key > ?", tierUnitKey))
}

// TierUnitKeyGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyGte(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key >= ?", tierUnitKey))
}

// TierUnitKeyIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyIn(tierUnitKey ...string) TierUnitQuerySet {
	if len(tierUnitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierUnitKey in TierUnitKeyIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_unit_key IN (?)", tierUnitKey))
}

// TierUnitKeyLike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyLike(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key LIKE ?", tierUnitKey))
}

// TierUnitKeyLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyLt(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key < ?", tierUnitKey))
}

// TierUnitKeyLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyLte(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key <= ?", tierUnitKey))
}

// TierUnitKeyNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyNe(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key != ?", tierUnitKey))
}

// TierUnitKeyNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyNotIn(tierUnitKey ...string) TierUnitQuerySet {
	if len(tierUnitKey) == 0 {
		qs.db.AddError(errors.New("must at least pass one tierUnitKey in TierUnitKeyNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("tier_unit_key NOT IN (?)", tierUnitKey))
}

// TierUnitKeyNotlike is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) TierUnitKeyNotlike(tierUnitKey string) TierUnitQuerySet {
	return qs.w(qs.db.Where("tier_unit_key NOT LIKE ?", tierUnitKey))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtEq(updatedAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtGt(updatedAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtGte(updatedAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtIsNotNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtIsNull() TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtLt(updatedAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtLte(updatedAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) UpdatedAtNe(updatedAt time.Time) TierUnitQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// VersioningEq is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningEq(versioning int) TierUnitQuerySet {
	return qs.w(qs.db.Where("versioning = ?", versioning))
}

// VersioningGt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningGt(versioning int) TierUnitQuerySet {
	return qs.w(qs.db.Where("versioning > ?", versioning))
}

// VersioningGte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningGte(versioning int) TierUnitQuerySet {
	return qs.w(qs.db.Where("versioning >= ?", versioning))
}

// VersioningIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningIn(versioning ...int) TierUnitQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning IN (?)", versioning))
}

// VersioningLt is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningLt(versioning int) TierUnitQuerySet {
	return qs.w(qs.db.Where("versioning < ?", versioning))
}

// VersioningLte is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningLte(versioning int) TierUnitQuerySet {
	return qs.w(qs.db.Where("versioning <= ?", versioning))
}

// VersioningNe is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningNe(versioning int) TierUnitQuerySet {
	return qs.w(qs.db.Where("versioning != ?", versioning))
}

// VersioningNotIn is an autogenerated method
// nolint: dupl
func (qs TierUnitQuerySet) VersioningNotIn(versioning ...int) TierUnitQuerySet {
	if len(versioning) == 0 {
		qs.db.AddError(errors.New("must at least pass one versioning in VersioningNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("versioning NOT IN (?)", versioning))
}

// SetComponentType is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetComponentType(componentType ComponentName) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.ComponentType)] = componentType
	return u
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetCreatedAt(createdAt time.Time) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDefaultNodeNum is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetDefaultNodeNum(defaultNodeNum int) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.DefaultNodeNum)] = defaultNodeNum
	return u
}

// SetDefaultStorageGi is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetDefaultStorageGi(defaultStorageGi int) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.DefaultStorageGi)] = defaultStorageGi
	return u
}

// SetDeployType is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetDeployType(deployType DeployType) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.DeployType)] = deployType
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetID(ID ID) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.ID)] = ID
	return u
}

// SetInfraComputeID is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetInfraComputeID(infraComputeID ID) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.InfraComputeID)] = infraComputeID
	return u
}

// SetInfraProviderID is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetInfraProviderID(infraProviderID ID) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.InfraProviderID)] = infraProviderID
	return u
}

// SetInfraStorageID is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetInfraStorageID(infraStorageID ID) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.InfraStorageID)] = infraStorageID
	return u
}

// SetMaxStorageGi is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetMaxStorageGi(maxStorageGi int) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.MaxStorageGi)] = maxStorageGi
	return u
}

// SetMemo is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetMemo(memo string) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.Memo)] = memo
	return u
}

// SetMinStorageGi is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetMinStorageGi(minStorageGi int) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.MinStorageGi)] = minStorageGi
	return u
}

// SetProviderID is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetProviderID(providerID ID) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.ProviderID)] = providerID
	return u
}

// SetTierUnitKey is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetTierUnitKey(tierUnitKey string) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.TierUnitKey)] = tierUnitKey
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetUpdatedAt(updatedAt *time.Time) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.UpdatedAt)] = updatedAt
	return u
}

// SetVersioning is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) SetVersioning(versioning int) TierUnitUpdater {
	u.fields[string(TierUnitDBSchema.Versioning)] = versioning
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TierUnitUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TierUnitQuerySet

// ===== BEGIN of TierUnit modifiers

// TierUnitDBSchemaField describes database schema field. It requires for method 'Update'
type TierUnitDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TierUnitDBSchemaField) String() string {
	return string(f)
}

// TierUnitDBSchema stores db field names of TierUnit
var TierUnitDBSchema = struct {
	ID               TierUnitDBSchemaField
	CreatedAt        TierUnitDBSchemaField
	UpdatedAt        TierUnitDBSchemaField
	Versioning       TierUnitDBSchemaField
	TierUnitKey      TierUnitDBSchemaField
	Memo             TierUnitDBSchemaField
	DefaultNodeNum   TierUnitDBSchemaField
	DeployType       TierUnitDBSchemaField
	ComponentType    TierUnitDBSchemaField
	MinStorageGi     TierUnitDBSchemaField
	MaxStorageGi     TierUnitDBSchemaField
	DefaultStorageGi TierUnitDBSchemaField
	ProviderID       TierUnitDBSchemaField
	Provider         TierUnitDBSchemaField
	InfraProviderID  TierUnitDBSchemaField
	InfraProvider    TierUnitDBSchemaField
	InfraComputeID   TierUnitDBSchemaField
	InfraCompute     TierUnitDBSchemaField
	InfraStorageID   TierUnitDBSchemaField
	InfraStorage     TierUnitDBSchemaField
	PD               TierUnitDBSchemaField
}{

	ID:               TierUnitDBSchemaField("id"),
	CreatedAt:        TierUnitDBSchemaField("created_at"),
	UpdatedAt:        TierUnitDBSchemaField("updated_at"),
	Versioning:       TierUnitDBSchemaField("versioning"),
	TierUnitKey:      TierUnitDBSchemaField("tier_unit_key"),
	Memo:             TierUnitDBSchemaField("memo"),
	DefaultNodeNum:   TierUnitDBSchemaField("default_node_num"),
	DeployType:       TierUnitDBSchemaField("deploy_type"),
	ComponentType:    TierUnitDBSchemaField("component_type"),
	MinStorageGi:     TierUnitDBSchemaField("min_storage_gi"),
	MaxStorageGi:     TierUnitDBSchemaField("max_storage_gi"),
	DefaultStorageGi: TierUnitDBSchemaField("default_storage_gi"),
	ProviderID:       TierUnitDBSchemaField("provider_id"),
	Provider:         TierUnitDBSchemaField("provider"),
	InfraProviderID:  TierUnitDBSchemaField("infra_provider_id"),
	InfraProvider:    TierUnitDBSchemaField("infra_provider"),
	InfraComputeID:   TierUnitDBSchemaField("infra_compute_id"),
	InfraCompute:     TierUnitDBSchemaField("infra_compute"),
	InfraStorageID:   TierUnitDBSchemaField("infra_storage_id"),
	InfraStorage:     TierUnitDBSchemaField("infra_storage"),
	PD:               TierUnitDBSchemaField("pd"),
}

// Update updates TierUnit fields by primary key
// nolint: dupl
func (o *TierUnit) Update(db *gorm.DB, fields ...TierUnitDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":                 o.ID,
		"created_at":         o.CreatedAt,
		"updated_at":         o.UpdatedAt,
		"versioning":         o.Versioning,
		"tier_unit_key":      o.TierUnitKey,
		"memo":               o.Memo,
		"default_node_num":   o.DefaultNodeNum,
		"deploy_type":        o.DeployType,
		"component_type":     o.ComponentType,
		"min_storage_gi":     o.MinStorageGi,
		"max_storage_gi":     o.MaxStorageGi,
		"default_storage_gi": o.DefaultStorageGi,
		"provider_id":        o.ProviderID,
		"provider":           o.Provider,
		"infra_provider_id":  o.InfraProviderID,
		"infra_provider":     o.InfraProvider,
		"infra_compute_id":   o.InfraComputeID,
		"infra_compute":      o.InfraCompute,
		"infra_storage_id":   o.InfraStorageID,
		"infra_storage":      o.InfraStorage,
		"pd":                 o.PD,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TierUnit %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TierUnitUpdater is an TierUnit updates manager
type TierUnitUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTierUnitUpdater creates new TierUnit updater
// nolint: dupl
func NewTierUnitUpdater(db *gorm.DB) TierUnitUpdater {
	return TierUnitUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TierUnit{}),
	}
}

// ===== END of TierUnit modifiers

// ===== BEGIN of query set TrafficFilterQuerySet

// TrafficFilterQuerySet is an queryset type for TrafficFilter
type TrafficFilterQuerySet struct {
	db *gorm.DB
}

// NewTrafficFilterQuerySet constructs new TrafficFilterQuerySet
func NewTrafficFilterQuerySet(db *gorm.DB) TrafficFilterQuerySet {
	return TrafficFilterQuerySet{
		db: db.Model(&TrafficFilter{}),
	}
}

func (qs TrafficFilterQuerySet) w(db *gorm.DB) TrafficFilterQuerySet {
	return NewTrafficFilterQuerySet(db)
}

func (qs TrafficFilterQuerySet) Select(fields ...TrafficFilterDBSchemaField) TrafficFilterQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TrafficFilter) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TrafficFilter) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) All(ret *[]TrafficFilter) error {
	return qs.db.Find(ret).Error
}

// CidrEq is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrEq(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr = ?", cidr))
}

// CidrGt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrGt(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr > ?", cidr))
}

// CidrGte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrGte(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr >= ?", cidr))
}

// CidrIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrIn(cidr ...string) TrafficFilterQuerySet {
	if len(cidr) == 0 {
		qs.db.AddError(errors.New("must at least pass one cidr in CidrIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr IN (?)", cidr))
}

// CidrLike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrLike(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr LIKE ?", cidr))
}

// CidrLt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrLt(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr < ?", cidr))
}

// CidrLte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrLte(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr <= ?", cidr))
}

// CidrNe is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrNe(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr != ?", cidr))
}

// CidrNotIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrNotIn(cidr ...string) TrafficFilterQuerySet {
	if len(cidr) == 0 {
		qs.db.AddError(errors.New("must at least pass one cidr in CidrNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("cidr NOT IN (?)", cidr))
}

// CidrNotlike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) CidrNotlike(cidr string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("cidr NOT LIKE ?", cidr))
}

// Count is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Delete() error {
	return qs.db.Delete(&TrafficFilter{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TrafficFilter{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TrafficFilter{})
	return db.RowsAffected, db.Error
}

// DescriptionEq is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionEq(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description = ?", description))
}

// DescriptionGt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionGt(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description > ?", description))
}

// DescriptionGte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionGte(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description >= ?", description))
}

// DescriptionIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionIn(description ...string) TrafficFilterQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description IN (?)", description))
}

// DescriptionLike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionLike(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description LIKE ?", description))
}

// DescriptionLt is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionLt(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description < ?", description))
}

// DescriptionLte is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionLte(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description <= ?", description))
}

// DescriptionNe is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionNe(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description != ?", description))
}

// DescriptionNotIn is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionNotIn(description ...string) TrafficFilterQuerySet {
	if len(description) == 0 {
		qs.db.AddError(errors.New("must at least pass one description in DescriptionNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("description NOT IN (?)", description))
}

// DescriptionNotlike is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) DescriptionNotlike(description string) TrafficFilterQuerySet {
	return qs.w(qs.db.Where("description NOT LIKE ?", description))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) GetUpdater() TrafficFilterUpdater {
	return NewTrafficFilterUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Limit(limit int) TrafficFilterQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) Offset(offset int) TrafficFilterQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TrafficFilterQuerySet) One(ret *TrafficFilter) error {
	return qs.db.First(ret).Error
}

// OrderAscByCidr is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderAscByCidr() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("cidr ASC"))
}

// OrderAscByDescription is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderAscByDescription() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("description ASC"))
}

// OrderDescByCidr is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderDescByCidr() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("cidr DESC"))
}

// OrderDescByDescription is an autogenerated method
// nolint: dupl
func (qs TrafficFilterQuerySet) OrderDescByDescription() TrafficFilterQuerySet {
	return qs.w(qs.db.Order("description DESC"))
}

// SetCidr is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) SetCidr(cidr string) TrafficFilterUpdater {
	u.fields[string(TrafficFilterDBSchema.Cidr)] = cidr
	return u
}

// SetDescription is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) SetDescription(description string) TrafficFilterUpdater {
	u.fields[string(TrafficFilterDBSchema.Description)] = description
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TrafficFilterUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TrafficFilterQuerySet

// ===== BEGIN of TrafficFilter modifiers

// TrafficFilterDBSchemaField describes database schema field. It requires for method 'Update'
type TrafficFilterDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TrafficFilterDBSchemaField) String() string {
	return string(f)
}

// TrafficFilterDBSchema stores db field names of TrafficFilter
var TrafficFilterDBSchema = struct {
	Cidr        TrafficFilterDBSchemaField
	Description TrafficFilterDBSchemaField
}{

	Cidr:        TrafficFilterDBSchemaField("cidr"),
	Description: TrafficFilterDBSchemaField("description"),
}

// Update updates TrafficFilter fields by primary key
// nolint: dupl
func (o *TrafficFilter) Update(db *gorm.DB, fields ...TrafficFilterDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"cidr":        o.Cidr,
		"description": o.Description,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TrafficFilter %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TrafficFilterUpdater is an TrafficFilter updates manager
type TrafficFilterUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTrafficFilterUpdater creates new TrafficFilter updater
// nolint: dupl
func NewTrafficFilterUpdater(db *gorm.DB) TrafficFilterUpdater {
	return TrafficFilterUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TrafficFilter{}),
	}
}

// ===== END of TrafficFilter modifiers

// ===== BEGIN of query set TrafficFiltersQuerySet

// TrafficFiltersQuerySet is an queryset type for TrafficFilters
type TrafficFiltersQuerySet struct {
	db *gorm.DB
}

// NewTrafficFiltersQuerySet constructs new TrafficFiltersQuerySet
func NewTrafficFiltersQuerySet(db *gorm.DB) TrafficFiltersQuerySet {
	return TrafficFiltersQuerySet{
		db: db.Model(&TrafficFilters{}),
	}
}

func (qs TrafficFiltersQuerySet) w(db *gorm.DB) TrafficFiltersQuerySet {
	return NewTrafficFiltersQuerySet(db)
}

func (qs TrafficFiltersQuerySet) Select(fields ...TrafficFiltersDBSchemaField) TrafficFiltersQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *TrafficFilters) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *TrafficFilters) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) All(ret *[]TrafficFilters) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// Delete is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Delete() error {
	return qs.db.Delete(&TrafficFilters{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&TrafficFilters{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&TrafficFilters{})
	return db.RowsAffected, db.Error
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) GetUpdater() TrafficFiltersUpdater {
	return NewTrafficFiltersUpdater(qs.db)
}

// Limit is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Limit(limit int) TrafficFiltersQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs TrafficFiltersQuerySet) Offset(offset int) TrafficFiltersQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs TrafficFiltersQuerySet) One(ret *TrafficFilters) error {
	return qs.db.First(ret).Error
}

// Update is an autogenerated method
// nolint: dupl
func (u TrafficFiltersUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u TrafficFiltersUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set TrafficFiltersQuerySet

// ===== BEGIN of TrafficFilters modifiers

// TrafficFiltersDBSchemaField describes database schema field. It requires for method 'Update'
type TrafficFiltersDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f TrafficFiltersDBSchemaField) String() string {
	return string(f)
}

// TrafficFiltersDBSchema stores db field names of TrafficFilters
var TrafficFiltersDBSchema = struct {
}{}

// Update updates TrafficFilters fields by primary key
// nolint: dupl
func (o *TrafficFilters) Update(db *gorm.DB, fields ...TrafficFiltersDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update TrafficFilters %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// TrafficFiltersUpdater is an TrafficFilters updates manager
type TrafficFiltersUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewTrafficFiltersUpdater creates new TrafficFilters updater
// nolint: dupl
func NewTrafficFiltersUpdater(db *gorm.DB) TrafficFiltersUpdater {
	return TrafficFiltersUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&TrafficFilters{}),
	}
}

// ===== END of TrafficFilters modifiers

// ===== BEGIN of query set ZoneQuerySet

// ZoneQuerySet is an queryset type for Zone
type ZoneQuerySet struct {
	db *gorm.DB
}

// NewZoneQuerySet constructs new ZoneQuerySet
func NewZoneQuerySet(db *gorm.DB) ZoneQuerySet {
	return ZoneQuerySet{
		db: db.Model(&Zone{}),
	}
}

func (qs ZoneQuerySet) w(db *gorm.DB) ZoneQuerySet {
	return NewZoneQuerySet(db)
}

func (qs ZoneQuerySet) Select(fields ...ZoneDBSchemaField) ZoneQuerySet {
	names := []string{}
	for _, f := range fields {
		names = append(names, f.String())
	}

	return qs.w(qs.db.Select(strings.Join(names, ",")))
}

// Create is an autogenerated method
// nolint: dupl
func (o *Zone) Create(db *gorm.DB) error {
	return db.Create(o).Error
}

// Delete is an autogenerated method
// nolint: dupl
func (o *Zone) Delete(db *gorm.DB) error {
	return db.Delete(o).Error
}

// All is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) All(ret *[]Zone) error {
	return qs.db.Find(ret).Error
}

// Count is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Count() (int64, error) {
	var count int64
	err := qs.db.Count(&count).Error
	return count, err
}

// CreatedAtEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtEq(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at = ?", createdAt))
}

// CreatedAtGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtGt(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at > ?", createdAt))
}

// CreatedAtGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtGte(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at >= ?", createdAt))
}

// CreatedAtLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtLt(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at < ?", createdAt))
}

// CreatedAtLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtLte(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at <= ?", createdAt))
}

// CreatedAtNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) CreatedAtNe(createdAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("created_at != ?", createdAt))
}

// Delete is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Delete() error {
	return qs.db.Delete(&Zone{}).Error
}

// DeleteNum is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DeleteNum() (int64, error) {
	db := qs.db.Delete(&Zone{})
	return db.RowsAffected, db.Error
}

// DeleteNumUnscoped is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DeleteNumUnscoped() (int64, error) {
	db := qs.db.Unscoped().Delete(&Zone{})
	return db.RowsAffected, db.Error
}

// DisplayNameEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameEq(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name = ?", displayName))
}

// DisplayNameGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameGt(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name > ?", displayName))
}

// DisplayNameGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameGte(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name >= ?", displayName))
}

// DisplayNameIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameIn(displayName ...string) ZoneQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name IN (?)", displayName))
}

// DisplayNameLike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameLike(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name LIKE ?", displayName))
}

// DisplayNameLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameLt(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name < ?", displayName))
}

// DisplayNameLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameLte(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name <= ?", displayName))
}

// DisplayNameNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameNe(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name != ?", displayName))
}

// DisplayNameNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameNotIn(displayName ...string) ZoneQuerySet {
	if len(displayName) == 0 {
		qs.db.AddError(errors.New("must at least pass one displayName in DisplayNameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("display_name NOT IN (?)", displayName))
}

// DisplayNameNotlike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) DisplayNameNotlike(displayName string) ZoneQuerySet {
	return qs.w(qs.db.Where("display_name NOT LIKE ?", displayName))
}

// GetDB is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) GetDB() *gorm.DB {
	return qs.db
}

// GetUpdater is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) GetUpdater() ZoneUpdater {
	return NewZoneUpdater(qs.db)
}

// IDEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDEq(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id = ?", ID))
}

// IDGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDGt(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id > ?", ID))
}

// IDGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDGte(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id >= ?", ID))
}

// IDIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDIn(ID ...ID) ZoneQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id IN (?)", ID))
}

// IDLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDLt(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id < ?", ID))
}

// IDLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDLte(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id <= ?", ID))
}

// IDNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDNe(ID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("id != ?", ID))
}

// IDNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) IDNotIn(ID ...ID) ZoneQuerySet {
	if len(ID) == 0 {
		qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("id NOT IN (?)", ID))
}

// Limit is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Limit(limit int) ZoneQuerySet {
	return qs.w(qs.db.Limit(limit))
}

// NameEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameEq(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name = ?", name))
}

// NameGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameGt(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name > ?", name))
}

// NameGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameGte(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name >= ?", name))
}

// NameIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameIn(name ...string) ZoneQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name IN (?)", name))
}

// NameLike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameLike(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name LIKE ?", name))
}

// NameLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameLt(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name < ?", name))
}

// NameLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameLte(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name <= ?", name))
}

// NameNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameNe(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name != ?", name))
}

// NameNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameNotIn(name ...string) ZoneQuerySet {
	if len(name) == 0 {
		qs.db.AddError(errors.New("must at least pass one name in NameNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("name NOT IN (?)", name))
}

// NameNotlike is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) NameNotlike(name string) ZoneQuerySet {
	return qs.w(qs.db.Where("name NOT LIKE ?", name))
}

// Offset is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) Offset(offset int) ZoneQuerySet {
	return qs.w(qs.db.Offset(offset))
}

// One is used to retrieve one result. It returns gorm.ErrRecordNotFound
// if nothing was fetched
func (qs ZoneQuerySet) One(ret *Zone) error {
	return qs.db.First(ret).Error
}

// OrderAscByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByCreatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("created_at ASC"))
}

// OrderAscByDisplayName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByDisplayName() ZoneQuerySet {
	return qs.w(qs.db.Order("display_name ASC"))
}

// OrderAscByID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByID() ZoneQuerySet {
	return qs.w(qs.db.Order("id ASC"))
}

// OrderAscByName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByName() ZoneQuerySet {
	return qs.w(qs.db.Order("name ASC"))
}

// OrderAscByRegionID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByRegionID() ZoneQuerySet {
	return qs.w(qs.db.Order("region_id ASC"))
}

// OrderAscByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderAscByUpdatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("updated_at ASC"))
}

// OrderDescByCreatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByCreatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("created_at DESC"))
}

// OrderDescByDisplayName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByDisplayName() ZoneQuerySet {
	return qs.w(qs.db.Order("display_name DESC"))
}

// OrderDescByID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByID() ZoneQuerySet {
	return qs.w(qs.db.Order("id DESC"))
}

// OrderDescByName is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByName() ZoneQuerySet {
	return qs.w(qs.db.Order("name DESC"))
}

// OrderDescByRegionID is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByRegionID() ZoneQuerySet {
	return qs.w(qs.db.Order("region_id DESC"))
}

// OrderDescByUpdatedAt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) OrderDescByUpdatedAt() ZoneQuerySet {
	return qs.w(qs.db.Order("updated_at DESC"))
}

// PreloadRegion is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) PreloadRegion() ZoneQuerySet {
	return qs.w(qs.db.Preload("Region"))
}

// RegionIDEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDEq(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id = ?", regionID))
}

// RegionIDGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDGt(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id > ?", regionID))
}

// RegionIDGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDGte(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id >= ?", regionID))
}

// RegionIDIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDIn(regionID ...ID) ZoneQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id IN (?)", regionID))
}

// RegionIDLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDLt(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id < ?", regionID))
}

// RegionIDLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDLte(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id <= ?", regionID))
}

// RegionIDNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDNe(regionID ID) ZoneQuerySet {
	return qs.w(qs.db.Where("region_id != ?", regionID))
}

// RegionIDNotIn is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIDNotIn(regionID ...ID) ZoneQuerySet {
	if len(regionID) == 0 {
		qs.db.AddError(errors.New("must at least pass one regionID in RegionIDNotIn"))
		return qs.w(qs.db)
	}
	return qs.w(qs.db.Where("region_id NOT IN (?)", regionID))
}

// RegionIsNotNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIsNotNull() ZoneQuerySet {
	return qs.w(qs.db.Where("region IS NOT NULL"))
}

// RegionIsNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) RegionIsNull() ZoneQuerySet {
	return qs.w(qs.db.Where("region IS NULL"))
}

// UpdatedAtEq is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtEq(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at = ?", updatedAt))
}

// UpdatedAtGt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtGt(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at > ?", updatedAt))
}

// UpdatedAtGte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtGte(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at >= ?", updatedAt))
}

// UpdatedAtIsNotNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtIsNotNull() ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at IS NOT NULL"))
}

// UpdatedAtIsNull is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtIsNull() ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at IS NULL"))
}

// UpdatedAtLt is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtLt(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at < ?", updatedAt))
}

// UpdatedAtLte is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtLte(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at <= ?", updatedAt))
}

// UpdatedAtNe is an autogenerated method
// nolint: dupl
func (qs ZoneQuerySet) UpdatedAtNe(updatedAt time.Time) ZoneQuerySet {
	return qs.w(qs.db.Where("updated_at != ?", updatedAt))
}

// SetCreatedAt is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetCreatedAt(createdAt time.Time) ZoneUpdater {
	u.fields[string(ZoneDBSchema.CreatedAt)] = createdAt
	return u
}

// SetDisplayName is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetDisplayName(displayName string) ZoneUpdater {
	u.fields[string(ZoneDBSchema.DisplayName)] = displayName
	return u
}

// SetID is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetID(ID ID) ZoneUpdater {
	u.fields[string(ZoneDBSchema.ID)] = ID
	return u
}

// SetName is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetName(name string) ZoneUpdater {
	u.fields[string(ZoneDBSchema.Name)] = name
	return u
}

// SetRegionID is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetRegionID(regionID ID) ZoneUpdater {
	u.fields[string(ZoneDBSchema.RegionID)] = regionID
	return u
}

// SetUpdatedAt is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) SetUpdatedAt(updatedAt *time.Time) ZoneUpdater {
	u.fields[string(ZoneDBSchema.UpdatedAt)] = updatedAt
	return u
}

// Update is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) Update() error {
	return u.db.Updates(u.fields).Error
}

// UpdateNum is an autogenerated method
// nolint: dupl
func (u ZoneUpdater) UpdateNum() (int64, error) {
	db := u.db.Updates(u.fields)
	return db.RowsAffected, db.Error
}

// ===== END of query set ZoneQuerySet

// ===== BEGIN of Zone modifiers

// ZoneDBSchemaField describes database schema field. It requires for method 'Update'
type ZoneDBSchemaField string

// String method returns string representation of field.
// nolint: dupl
func (f ZoneDBSchemaField) String() string {
	return string(f)
}

// ZoneDBSchema stores db field names of Zone
var ZoneDBSchema = struct {
	ID          ZoneDBSchemaField
	CreatedAt   ZoneDBSchemaField
	UpdatedAt   ZoneDBSchemaField
	Name        ZoneDBSchemaField
	DisplayName ZoneDBSchemaField
	RegionID    ZoneDBSchemaField
	Region      ZoneDBSchemaField
}{

	ID:          ZoneDBSchemaField("id"),
	CreatedAt:   ZoneDBSchemaField("created_at"),
	UpdatedAt:   ZoneDBSchemaField("updated_at"),
	Name:        ZoneDBSchemaField("name"),
	DisplayName: ZoneDBSchemaField("display_name"),
	RegionID:    ZoneDBSchemaField("region_id"),
	Region:      ZoneDBSchemaField("region"),
}

// Update updates Zone fields by primary key
// nolint: dupl
func (o *Zone) Update(db *gorm.DB, fields ...ZoneDBSchemaField) error {
	dbNameToFieldName := map[string]interface{}{
		"id":           o.ID,
		"created_at":   o.CreatedAt,
		"updated_at":   o.UpdatedAt,
		"name":         o.Name,
		"display_name": o.DisplayName,
		"region_id":    o.RegionID,
		"region":       o.Region,
	}
	u := map[string]interface{}{}
	for _, f := range fields {
		fs := f.String()
		u[fs] = dbNameToFieldName[fs]
	}
	if err := db.Model(o).Updates(u).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return err
		}

		return fmt.Errorf("can't update Zone %v fields %v: %s",
			o, fields, err)
	}

	return nil
}

// ZoneUpdater is an Zone updates manager
type ZoneUpdater struct {
	fields map[string]interface{}
	db     *gorm.DB
}

// NewZoneUpdater creates new Zone updater
// nolint: dupl
func NewZoneUpdater(db *gorm.DB) ZoneUpdater {
	return ZoneUpdater{
		fields: map[string]interface{}{},
		db:     db.Model(&Zone{}),
	}
}

// ===== END of Zone modifiers

// ===== END of all query sets
