package cloudtrailstub

import (
	"github.com/aws/aws-sdk-go/service/cloudtrail"
	"go.temporal.io/sdk/workflow"

	"go.temporal.io/aws-sdk/clients"
)

var _ clients.VoidFuture

type stub struct{}

type AddTagsFuture struct {

	Future workflow.Future
}

func (r *AddTagsFuture) Get(ctx workflow.Context) (*cloudtrail.AddTagsOutput, error) {
	var output cloudtrail.AddTagsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type CreateTrailFuture struct {

	Future workflow.Future
}

func (r *CreateTrailFuture) Get(ctx workflow.Context) (*cloudtrail.CreateTrailOutput, error) {
	var output cloudtrail.CreateTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type DeleteTrailFuture struct {

	Future workflow.Future
}

func (r *DeleteTrailFuture) Get(ctx workflow.Context) (*cloudtrail.DeleteTrailOutput, error) {
	var output cloudtrail.DeleteTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type DescribeTrailsFuture struct {

	Future workflow.Future
}

func (r *DescribeTrailsFuture) Get(ctx workflow.Context) (*cloudtrail.DescribeTrailsOutput, error) {
	var output cloudtrail.DescribeTrailsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetEventSelectorsFuture struct {

	Future workflow.Future
}

func (r *GetEventSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.GetEventSelectorsOutput, error) {
	var output cloudtrail.GetEventSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetInsightSelectorsFuture struct {

	Future workflow.Future
}

func (r *GetInsightSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.GetInsightSelectorsOutput, error) {
	var output cloudtrail.GetInsightSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetTrailFuture struct {

	Future workflow.Future
}

func (r *GetTrailFuture) Get(ctx workflow.Context) (*cloudtrail.GetTrailOutput, error) {
	var output cloudtrail.GetTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetTrailStatusFuture struct {

	Future workflow.Future
}

func (r *GetTrailStatusFuture) Get(ctx workflow.Context) (*cloudtrail.GetTrailStatusOutput, error) {
	var output cloudtrail.GetTrailStatusOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type ListPublicKeysFuture struct {

	Future workflow.Future
}

func (r *ListPublicKeysFuture) Get(ctx workflow.Context) (*cloudtrail.ListPublicKeysOutput, error) {
	var output cloudtrail.ListPublicKeysOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type ListTagsFuture struct {

	Future workflow.Future
}

func (r *ListTagsFuture) Get(ctx workflow.Context) (*cloudtrail.ListTagsOutput, error) {
	var output cloudtrail.ListTagsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type ListTrailsFuture struct {

	Future workflow.Future
}

func (r *ListTrailsFuture) Get(ctx workflow.Context) (*cloudtrail.ListTrailsOutput, error) {
	var output cloudtrail.ListTrailsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type LookupEventsFuture struct {

	Future workflow.Future
}

func (r *LookupEventsFuture) Get(ctx workflow.Context) (*cloudtrail.LookupEventsOutput, error) {
	var output cloudtrail.LookupEventsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type PutEventSelectorsFuture struct {

	Future workflow.Future
}

func (r *PutEventSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.PutEventSelectorsOutput, error) {
	var output cloudtrail.PutEventSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type PutInsightSelectorsFuture struct {

	Future workflow.Future
}

func (r *PutInsightSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.PutInsightSelectorsOutput, error) {
	var output cloudtrail.PutInsightSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type RemoveTagsFuture struct {

	Future workflow.Future
}

func (r *RemoveTagsFuture) Get(ctx workflow.Context) (*cloudtrail.RemoveTagsOutput, error) {
	var output cloudtrail.RemoveTagsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type StartLoggingFuture struct {

	Future workflow.Future
}

func (r *StartLoggingFuture) Get(ctx workflow.Context) (*cloudtrail.StartLoggingOutput, error) {
	var output cloudtrail.StartLoggingOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type StopLoggingFuture struct {

	Future workflow.Future
}

func (r *StopLoggingFuture) Get(ctx workflow.Context) (*cloudtrail.StopLoggingOutput, error) {
	var output cloudtrail.StopLoggingOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type UpdateTrailFuture struct {

	Future workflow.Future
}

func (r *UpdateTrailFuture) Get(ctx workflow.Context) (*cloudtrail.UpdateTrailOutput, error) {
	var output cloudtrail.UpdateTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

func (a *stub) AddTags(ctx workflow.Context, input *cloudtrail.AddTagsInput) (*cloudtrail.AddTagsOutput, error) {
	var output cloudtrail.AddTagsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.AddTags", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) AddTagsAsync(ctx workflow.Context, input *cloudtrail.AddTagsInput) *AddTagsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.AddTags", input)
	return &AddTagsFuture{Future: future}
}

func (a *stub) CreateTrail(ctx workflow.Context, input *cloudtrail.CreateTrailInput) (*cloudtrail.CreateTrailOutput, error) {
	var output cloudtrail.CreateTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.CreateTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) CreateTrailAsync(ctx workflow.Context, input *cloudtrail.CreateTrailInput) *CreateTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.CreateTrail", input)
	return &CreateTrailFuture{Future: future}
}

func (a *stub) DeleteTrail(ctx workflow.Context, input *cloudtrail.DeleteTrailInput) (*cloudtrail.DeleteTrailOutput, error) {
	var output cloudtrail.DeleteTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DeleteTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) DeleteTrailAsync(ctx workflow.Context, input *cloudtrail.DeleteTrailInput) *DeleteTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DeleteTrail", input)
	return &DeleteTrailFuture{Future: future}
}

func (a *stub) DescribeTrails(ctx workflow.Context, input *cloudtrail.DescribeTrailsInput) (*cloudtrail.DescribeTrailsOutput, error) {
	var output cloudtrail.DescribeTrailsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DescribeTrails", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) DescribeTrailsAsync(ctx workflow.Context, input *cloudtrail.DescribeTrailsInput) *DescribeTrailsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DescribeTrails", input)
	return &DescribeTrailsFuture{Future: future}
}

func (a *stub) GetEventSelectors(ctx workflow.Context, input *cloudtrail.GetEventSelectorsInput) (*cloudtrail.GetEventSelectorsOutput, error) {
	var output cloudtrail.GetEventSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetEventSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetEventSelectorsAsync(ctx workflow.Context, input *cloudtrail.GetEventSelectorsInput) *GetEventSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetEventSelectors", input)
	return &GetEventSelectorsFuture{Future: future}
}

func (a *stub) GetInsightSelectors(ctx workflow.Context, input *cloudtrail.GetInsightSelectorsInput) (*cloudtrail.GetInsightSelectorsOutput, error) {
	var output cloudtrail.GetInsightSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetInsightSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetInsightSelectorsAsync(ctx workflow.Context, input *cloudtrail.GetInsightSelectorsInput) *GetInsightSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetInsightSelectors", input)
	return &GetInsightSelectorsFuture{Future: future}
}

func (a *stub) GetTrail(ctx workflow.Context, input *cloudtrail.GetTrailInput) (*cloudtrail.GetTrailOutput, error) {
	var output cloudtrail.GetTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetTrailAsync(ctx workflow.Context, input *cloudtrail.GetTrailInput) *GetTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrail", input)
	return &GetTrailFuture{Future: future}
}

func (a *stub) GetTrailStatus(ctx workflow.Context, input *cloudtrail.GetTrailStatusInput) (*cloudtrail.GetTrailStatusOutput, error) {
	var output cloudtrail.GetTrailStatusOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrailStatus", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetTrailStatusAsync(ctx workflow.Context, input *cloudtrail.GetTrailStatusInput) *GetTrailStatusFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrailStatus", input)
	return &GetTrailStatusFuture{Future: future}
}

func (a *stub) ListPublicKeys(ctx workflow.Context, input *cloudtrail.ListPublicKeysInput) (*cloudtrail.ListPublicKeysOutput, error) {
	var output cloudtrail.ListPublicKeysOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListPublicKeys", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) ListPublicKeysAsync(ctx workflow.Context, input *cloudtrail.ListPublicKeysInput) *ListPublicKeysFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListPublicKeys", input)
	return &ListPublicKeysFuture{Future: future}
}

func (a *stub) ListTags(ctx workflow.Context, input *cloudtrail.ListTagsInput) (*cloudtrail.ListTagsOutput, error) {
	var output cloudtrail.ListTagsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTags", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) ListTagsAsync(ctx workflow.Context, input *cloudtrail.ListTagsInput) *ListTagsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTags", input)
	return &ListTagsFuture{Future: future}
}

func (a *stub) ListTrails(ctx workflow.Context, input *cloudtrail.ListTrailsInput) (*cloudtrail.ListTrailsOutput, error) {
	var output cloudtrail.ListTrailsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTrails", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) ListTrailsAsync(ctx workflow.Context, input *cloudtrail.ListTrailsInput) *ListTrailsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTrails", input)
	return &ListTrailsFuture{Future: future}
}

func (a *stub) LookupEvents(ctx workflow.Context, input *cloudtrail.LookupEventsInput) (*cloudtrail.LookupEventsOutput, error) {
	var output cloudtrail.LookupEventsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.LookupEvents", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) LookupEventsAsync(ctx workflow.Context, input *cloudtrail.LookupEventsInput) *LookupEventsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.LookupEvents", input)
	return &LookupEventsFuture{Future: future}
}

func (a *stub) PutEventSelectors(ctx workflow.Context, input *cloudtrail.PutEventSelectorsInput) (*cloudtrail.PutEventSelectorsOutput, error) {
	var output cloudtrail.PutEventSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutEventSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) PutEventSelectorsAsync(ctx workflow.Context, input *cloudtrail.PutEventSelectorsInput) *PutEventSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutEventSelectors", input)
	return &PutEventSelectorsFuture{Future: future}
}

func (a *stub) PutInsightSelectors(ctx workflow.Context, input *cloudtrail.PutInsightSelectorsInput) (*cloudtrail.PutInsightSelectorsOutput, error) {
	var output cloudtrail.PutInsightSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutInsightSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) PutInsightSelectorsAsync(ctx workflow.Context, input *cloudtrail.PutInsightSelectorsInput) *PutInsightSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutInsightSelectors", input)
	return &PutInsightSelectorsFuture{Future: future}
}

func (a *stub) RemoveTags(ctx workflow.Context, input *cloudtrail.RemoveTagsInput) (*cloudtrail.RemoveTagsOutput, error) {
	var output cloudtrail.RemoveTagsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.RemoveTags", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) RemoveTagsAsync(ctx workflow.Context, input *cloudtrail.RemoveTagsInput) *RemoveTagsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.RemoveTags", input)
	return &RemoveTagsFuture{Future: future}
}

func (a *stub) StartLogging(ctx workflow.Context, input *cloudtrail.StartLoggingInput) (*cloudtrail.StartLoggingOutput, error) {
	var output cloudtrail.StartLoggingOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StartLogging", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) StartLoggingAsync(ctx workflow.Context, input *cloudtrail.StartLoggingInput) *StartLoggingFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StartLogging", input)
	return &StartLoggingFuture{Future: future}
}

func (a *stub) StopLogging(ctx workflow.Context, input *cloudtrail.StopLoggingInput) (*cloudtrail.StopLoggingOutput, error) {
	var output cloudtrail.StopLoggingOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StopLogging", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) StopLoggingAsync(ctx workflow.Context, input *cloudtrail.StopLoggingInput) *StopLoggingFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StopLogging", input)
	return &StopLoggingFuture{Future: future}
}

func (a *stub) UpdateTrail(ctx workflow.Context, input *cloudtrail.UpdateTrailInput) (*cloudtrail.UpdateTrailOutput, error) {
	var output cloudtrail.UpdateTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.UpdateTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) UpdateTrailAsync(ctx workflow.Context, input *cloudtrail.UpdateTrailInput) *UpdateTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.UpdateTrail", input)
	return &UpdateTrailFuture{Future: future}
}
// Generated by github.com/temporalio/temporal-aws-sdk-generator
// from github.com/aws/aws-sdk-go version 1.35.7
// Copyright (c) 2020 Temporal Technologies Inc.  All rights reserved.

package cloudtrailstub

import (
	"github.com/aws/aws-sdk-go/service/cloudtrail"
	"go.temporal.io/sdk/workflow"

	"go.temporal.io/aws-sdk/clients"
)

// ensure that imports are valid even if not used by the generated code
var _ clients.VoidFuture

type stub struct{}

type AddTagsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *AddTagsFuture) Get(ctx workflow.Context) (*cloudtrail.AddTagsOutput, error) {
	var output cloudtrail.AddTagsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type CreateTrailFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *CreateTrailFuture) Get(ctx workflow.Context) (*cloudtrail.CreateTrailOutput, error) {
	var output cloudtrail.CreateTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type DeleteTrailFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *DeleteTrailFuture) Get(ctx workflow.Context) (*cloudtrail.DeleteTrailOutput, error) {
	var output cloudtrail.DeleteTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type DescribeTrailsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *DescribeTrailsFuture) Get(ctx workflow.Context) (*cloudtrail.DescribeTrailsOutput, error) {
	var output cloudtrail.DescribeTrailsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetEventSelectorsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *GetEventSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.GetEventSelectorsOutput, error) {
	var output cloudtrail.GetEventSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetInsightSelectorsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *GetInsightSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.GetInsightSelectorsOutput, error) {
	var output cloudtrail.GetInsightSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetTrailFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *GetTrailFuture) Get(ctx workflow.Context) (*cloudtrail.GetTrailOutput, error) {
	var output cloudtrail.GetTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type GetTrailStatusFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *GetTrailStatusFuture) Get(ctx workflow.Context) (*cloudtrail.GetTrailStatusOutput, error) {
	var output cloudtrail.GetTrailStatusOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type ListPublicKeysFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *ListPublicKeysFuture) Get(ctx workflow.Context) (*cloudtrail.ListPublicKeysOutput, error) {
	var output cloudtrail.ListPublicKeysOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type ListTagsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *ListTagsFuture) Get(ctx workflow.Context) (*cloudtrail.ListTagsOutput, error) {
	var output cloudtrail.ListTagsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type ListTrailsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *ListTrailsFuture) Get(ctx workflow.Context) (*cloudtrail.ListTrailsOutput, error) {
	var output cloudtrail.ListTrailsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type LookupEventsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *LookupEventsFuture) Get(ctx workflow.Context) (*cloudtrail.LookupEventsOutput, error) {
	var output cloudtrail.LookupEventsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type PutEventSelectorsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *PutEventSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.PutEventSelectorsOutput, error) {
	var output cloudtrail.PutEventSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type PutInsightSelectorsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *PutInsightSelectorsFuture) Get(ctx workflow.Context) (*cloudtrail.PutInsightSelectorsOutput, error) {
	var output cloudtrail.PutInsightSelectorsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type RemoveTagsFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *RemoveTagsFuture) Get(ctx workflow.Context) (*cloudtrail.RemoveTagsOutput, error) {
	var output cloudtrail.RemoveTagsOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type StartLoggingFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *StartLoggingFuture) Get(ctx workflow.Context) (*cloudtrail.StartLoggingOutput, error) {
	var output cloudtrail.StartLoggingOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type StopLoggingFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *StopLoggingFuture) Get(ctx workflow.Context) (*cloudtrail.StopLoggingOutput, error) {
	var output cloudtrail.StopLoggingOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

type UpdateTrailFuture struct {
	// public to support Selector.addFuture
	Future workflow.Future
}

func (r *UpdateTrailFuture) Get(ctx workflow.Context) (*cloudtrail.UpdateTrailOutput, error) {
	var output cloudtrail.UpdateTrailOutput
	err := r.Future.Get(ctx, &output)
	return &output, err
}

func (a *stub) AddTags(ctx workflow.Context, input *cloudtrail.AddTagsInput) (*cloudtrail.AddTagsOutput, error) {
	var output cloudtrail.AddTagsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.AddTags", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) AddTagsAsync(ctx workflow.Context, input *cloudtrail.AddTagsInput) *AddTagsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.AddTags", input)
	return &AddTagsFuture{Future: future}
}

func (a *stub) CreateTrail(ctx workflow.Context, input *cloudtrail.CreateTrailInput) (*cloudtrail.CreateTrailOutput, error) {
	var output cloudtrail.CreateTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.CreateTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) CreateTrailAsync(ctx workflow.Context, input *cloudtrail.CreateTrailInput) *CreateTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.CreateTrail", input)
	return &CreateTrailFuture{Future: future}
}

func (a *stub) DeleteTrail(ctx workflow.Context, input *cloudtrail.DeleteTrailInput) (*cloudtrail.DeleteTrailOutput, error) {
	var output cloudtrail.DeleteTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DeleteTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) DeleteTrailAsync(ctx workflow.Context, input *cloudtrail.DeleteTrailInput) *DeleteTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DeleteTrail", input)
	return &DeleteTrailFuture{Future: future}
}

func (a *stub) DescribeTrails(ctx workflow.Context, input *cloudtrail.DescribeTrailsInput) (*cloudtrail.DescribeTrailsOutput, error) {
	var output cloudtrail.DescribeTrailsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DescribeTrails", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) DescribeTrailsAsync(ctx workflow.Context, input *cloudtrail.DescribeTrailsInput) *DescribeTrailsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.DescribeTrails", input)
	return &DescribeTrailsFuture{Future: future}
}

func (a *stub) GetEventSelectors(ctx workflow.Context, input *cloudtrail.GetEventSelectorsInput) (*cloudtrail.GetEventSelectorsOutput, error) {
	var output cloudtrail.GetEventSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetEventSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetEventSelectorsAsync(ctx workflow.Context, input *cloudtrail.GetEventSelectorsInput) *GetEventSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetEventSelectors", input)
	return &GetEventSelectorsFuture{Future: future}
}

func (a *stub) GetInsightSelectors(ctx workflow.Context, input *cloudtrail.GetInsightSelectorsInput) (*cloudtrail.GetInsightSelectorsOutput, error) {
	var output cloudtrail.GetInsightSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetInsightSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetInsightSelectorsAsync(ctx workflow.Context, input *cloudtrail.GetInsightSelectorsInput) *GetInsightSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetInsightSelectors", input)
	return &GetInsightSelectorsFuture{Future: future}
}

func (a *stub) GetTrail(ctx workflow.Context, input *cloudtrail.GetTrailInput) (*cloudtrail.GetTrailOutput, error) {
	var output cloudtrail.GetTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetTrailAsync(ctx workflow.Context, input *cloudtrail.GetTrailInput) *GetTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrail", input)
	return &GetTrailFuture{Future: future}
}

func (a *stub) GetTrailStatus(ctx workflow.Context, input *cloudtrail.GetTrailStatusInput) (*cloudtrail.GetTrailStatusOutput, error) {
	var output cloudtrail.GetTrailStatusOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrailStatus", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) GetTrailStatusAsync(ctx workflow.Context, input *cloudtrail.GetTrailStatusInput) *GetTrailStatusFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.GetTrailStatus", input)
	return &GetTrailStatusFuture{Future: future}
}

func (a *stub) ListPublicKeys(ctx workflow.Context, input *cloudtrail.ListPublicKeysInput) (*cloudtrail.ListPublicKeysOutput, error) {
	var output cloudtrail.ListPublicKeysOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListPublicKeys", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) ListPublicKeysAsync(ctx workflow.Context, input *cloudtrail.ListPublicKeysInput) *ListPublicKeysFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListPublicKeys", input)
	return &ListPublicKeysFuture{Future: future}
}

func (a *stub) ListTags(ctx workflow.Context, input *cloudtrail.ListTagsInput) (*cloudtrail.ListTagsOutput, error) {
	var output cloudtrail.ListTagsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTags", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) ListTagsAsync(ctx workflow.Context, input *cloudtrail.ListTagsInput) *ListTagsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTags", input)
	return &ListTagsFuture{Future: future}
}

func (a *stub) ListTrails(ctx workflow.Context, input *cloudtrail.ListTrailsInput) (*cloudtrail.ListTrailsOutput, error) {
	var output cloudtrail.ListTrailsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTrails", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) ListTrailsAsync(ctx workflow.Context, input *cloudtrail.ListTrailsInput) *ListTrailsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.ListTrails", input)
	return &ListTrailsFuture{Future: future}
}

func (a *stub) LookupEvents(ctx workflow.Context, input *cloudtrail.LookupEventsInput) (*cloudtrail.LookupEventsOutput, error) {
	var output cloudtrail.LookupEventsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.LookupEvents", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) LookupEventsAsync(ctx workflow.Context, input *cloudtrail.LookupEventsInput) *LookupEventsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.LookupEvents", input)
	return &LookupEventsFuture{Future: future}
}

func (a *stub) PutEventSelectors(ctx workflow.Context, input *cloudtrail.PutEventSelectorsInput) (*cloudtrail.PutEventSelectorsOutput, error) {
	var output cloudtrail.PutEventSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutEventSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) PutEventSelectorsAsync(ctx workflow.Context, input *cloudtrail.PutEventSelectorsInput) *PutEventSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutEventSelectors", input)
	return &PutEventSelectorsFuture{Future: future}
}

func (a *stub) PutInsightSelectors(ctx workflow.Context, input *cloudtrail.PutInsightSelectorsInput) (*cloudtrail.PutInsightSelectorsOutput, error) {
	var output cloudtrail.PutInsightSelectorsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutInsightSelectors", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) PutInsightSelectorsAsync(ctx workflow.Context, input *cloudtrail.PutInsightSelectorsInput) *PutInsightSelectorsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.PutInsightSelectors", input)
	return &PutInsightSelectorsFuture{Future: future}
}

func (a *stub) RemoveTags(ctx workflow.Context, input *cloudtrail.RemoveTagsInput) (*cloudtrail.RemoveTagsOutput, error) {
	var output cloudtrail.RemoveTagsOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.RemoveTags", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) RemoveTagsAsync(ctx workflow.Context, input *cloudtrail.RemoveTagsInput) *RemoveTagsFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.RemoveTags", input)
	return &RemoveTagsFuture{Future: future}
}

func (a *stub) StartLogging(ctx workflow.Context, input *cloudtrail.StartLoggingInput) (*cloudtrail.StartLoggingOutput, error) {
	var output cloudtrail.StartLoggingOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StartLogging", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) StartLoggingAsync(ctx workflow.Context, input *cloudtrail.StartLoggingInput) *StartLoggingFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StartLogging", input)
	return &StartLoggingFuture{Future: future}
}

func (a *stub) StopLogging(ctx workflow.Context, input *cloudtrail.StopLoggingInput) (*cloudtrail.StopLoggingOutput, error) {
	var output cloudtrail.StopLoggingOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StopLogging", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) StopLoggingAsync(ctx workflow.Context, input *cloudtrail.StopLoggingInput) *StopLoggingFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.StopLogging", input)
	return &StopLoggingFuture{Future: future}
}

func (a *stub) UpdateTrail(ctx workflow.Context, input *cloudtrail.UpdateTrailInput) (*cloudtrail.UpdateTrailOutput, error) {
	var output cloudtrail.UpdateTrailOutput
	err := workflow.ExecuteActivity(ctx, "aws.cloudtrail.UpdateTrail", input).Get(ctx, &output)
	return &output, err
}

func (a *stub) UpdateTrailAsync(ctx workflow.Context, input *cloudtrail.UpdateTrailInput) *UpdateTrailFuture {
	future := workflow.ExecuteActivity(ctx, "aws.cloudtrail.UpdateTrail", input)
	return &UpdateTrailFuture{Future: future}
}
