24 lines
711 B
Go
24 lines
711 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package bucket
|
|
|
|
import (
|
|
"github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/storagebuckets"
|
|
plgpb "github.com/hashicorp/boundary/sdk/pbs/plugin"
|
|
)
|
|
|
|
// StorageBucketSingleton ensures safe and easy access to a storage bucket and
|
|
// its storage bucket credential state.
|
|
type StorageBucketSingleton interface {
|
|
GetState() *plgpb.StorageBucketCredentialState
|
|
GetBucket() *storagebuckets.StorageBucket
|
|
SetState(*plgpb.StorageBucketCredentialState) error
|
|
SetBucket(*storagebuckets.StorageBucket) error
|
|
HasWriteAccess() bool
|
|
HasReadAccess() bool
|
|
AddDependant(name string)
|
|
RemoveDependant(name string)
|
|
HasDependants() bool
|
|
}
|