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 }