Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package plugin
|
|
|
|
import (
|
|
"github.com/hashicorp/boundary-plugin-aws/plugin/service/host"
|
|
"github.com/hashicorp/boundary-plugin-aws/plugin/service/storage"
|
|
pb "github.com/hashicorp/boundary/sdk/pbs/plugin"
|
|
)
|
|
|
|
// Ensure that AWSPlugin implementings the following services:
|
|
//
|
|
// HostPluginServiceServer
|
|
// StoragePluginServiceServer
|
|
var (
|
|
_ pb.HostPluginServiceServer = (*host.HostPlugin)(nil)
|
|
_ pb.StoragePluginServiceServer = (*storage.StoragePlugin)(nil)
|
|
)
|
|
|
|
// AwsPlugin contains a collection of all aws plugin services.
|
|
type AwsPlugin struct {
|
|
// HostPlugin implements the HostPluginServiceServer interface for
|
|
// supporting dynamically sourcing hosts from Amazon EC2
|
|
*host.HostPlugin
|
|
|
|
// StoragePlugin implements the StoragePluginServiceServer interface for
|
|
// supporting storing and retrieving BSR files from Amazon S3
|
|
*storage.StoragePlugin
|
|
}
|
|
|
|
func NewAwsPlugin() *AwsPlugin {
|
|
return &AwsPlugin{
|
|
HostPlugin: &host.HostPlugin{},
|
|
StoragePlugin: &storage.StoragePlugin{},
|
|
}
|
|
}
|