github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/apiserver/facades/controller/usersecrets/state.go (about)

     1  // Copyright 2023 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package usersecrets
     5  
     6  import (
     7  	"github.com/juju/names/v5"
     8  
     9  	"github.com/juju/juju/core/secrets"
    10  	"github.com/juju/juju/state"
    11  )
    12  
    13  // SecretsState instances provide secret apis.
    14  type SecretsState interface {
    15  	DeleteSecret(*secrets.URI, ...int) ([]secrets.ValueRef, error)
    16  	GetSecret(*secrets.URI) (*secrets.SecretMetadata, error)
    17  	WatchRevisionsToPrune(owners []names.Tag) (state.StringsWatcher, error)
    18  	GetSecretRevision(uri *secrets.URI, revision int) (*secrets.SecretRevisionMetadata, error)
    19  	ListSecretRevisions(uri *secrets.URI) ([]*secrets.SecretRevisionMetadata, error)
    20  	ListSecrets(state.SecretsFilter) ([]*secrets.SecretMetadata, error)
    21  }