pkg/cmd/serviceaccount/phases/delete/data.go (17 lines of code) (raw):
package phases
import (
"github.com/microsoftgraph/msgraph-sdk-go/models"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/Azure/azure-workload-identity/pkg/cloud"
)
// DeleteData is the interface to use for create phase.
// The "deleteData" type from cmd/delete.go must satisfy this interface.
type DeleteData interface {
// ServiceAccountName returns the name of the service account.
ServiceAccountName() string
// ServiceAccountNamespace returns the namespace of the service account.
ServiceAccountNamespace() string
// ServiceAccountIssuerURL returns the issuer URL of the service account.
ServiceAccountIssuerURL() string
// AADApplication returns the AAD application object.
// This will return the cached value if it has been created.
AADApplication() (models.Applicationable, error)
// AADApplicationName returns the name of the AAD application.
AADApplicationName() string
// AADApplicationObjectID returns the object ID of the AAD application.
// This will be used for creating or removing the federated identity credential.
AADApplicationObjectID() string
// RoleDefinitionID returns the role definition ID.
RoleAssignmentID() string
// AzureClient returns the Azure client.
AzureClient() cloud.Interface
// KubeClient returns the Kubernetes client.
KubeClient() (client.Client, error)
}