text: // Code generated by smithy-go-codegen DO NOT EDIT.
  
  package glue
  
  import (
  	"context"
  	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
  	"github.com/aws/aws-sdk-go-v2/aws/retry"
  	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
  	"github.com/aws/aws-sdk-go-v2/service/glue/types"
  	smithy "github.com/awslabs/smithy-go"
  	"github.com/awslabs/smithy-go/middleware"
  	smithyhttp "github.com/awslabs/smithy-go/transport/http"
  )
  
  // Retrieves the definition of a trigger.
  func (c *Client) GetTrigger(ctx context.Context, params *GetTriggerInput, optFns ...func(*Options)) (*GetTriggerOutput, error) {
  	stack := middleware.NewStack("GetTrigger", smithyhttp.NewStackRequest)
  	options := c.options.Copy()
  	for _, fn := range optFns {
  		fn(&options)
  	}
  	addawsAwsjson11_serdeOpGetTriggerMiddlewares(stack)
  	awsmiddleware.AddRequestInvocationIDMiddleware(stack)
  	smithyhttp.AddContentLengthMiddleware(stack)
  	AddResolveEndpointMiddleware(stack, options)
  	v4.AddComputePayloadSHA256Middleware(stack)
  	retry.AddRetryMiddlewares(stack, options)
  	addHTTPSignerV4Middleware(stack, options)
  	awsmiddleware.AddAttemptClockSkewMiddleware(stack)
  	addClientUserAgent(stack)
  	smithyhttp.AddErrorCloseResponseBodyMiddleware(stack)
  	smithyhttp.AddCloseResponseBodyMiddleware(stack)
  	addOpGetTriggerValidationMiddleware(stack)
  	stack.Initialize.Add(newServiceMetadataMiddleware_opGetTrigger(options.Region), middleware.Before)
  	addRequestIDRetrieverMiddleware(stack)
  	addResponseErrorMiddleware(stack)
  
  	for _, fn := range options.APIOptions {
  		if err := fn(stack); err != nil {
  			return nil, err
  		}
  	}
  	handler := middleware.DecorateHandler(smithyhttp.NewClientHandler(options.HTTPClient), stack)
  	result, metadata, err := handler.Handle(ctx, params)
  	if err != nil {
  		return nil, &smithy.OperationError{
  			ServiceID:     ServiceID,
  			OperationName: "GetTrigger",
  			Err:           err,
  		}
  	}
  	out := result.(*GetTriggerOutput)
  	out.ResultMetadata = metadata
  	return out, nil
  }
  
  type GetTriggerInput struct {
  	// The name of the trigger to retrieve.
  	Name *string
  }
  
  type GetTriggerOutput struct {
  	// The requested trigger definition.
  	Trigger *types.Trigger
  
  	// Metadata pertaining to the operation's result.
  	ResultMetadata middleware.Metadata
  }
  
  func addawsAwsjson11_serdeOpGetTriggerMiddlewares(stack *middleware.Stack) {
  	stack.Serialize.Add(&awsAwsjson11_serializeOpGetTrigger{}, middleware.After)
  	stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetTrigger{}, middleware.After)
  }
  
  func newServiceMetadataMiddleware_opGetTrigger(region string) awsmiddleware.RegisterServiceMetadata {
  	return awsmiddleware.RegisterServiceMetadata{
  		Region:        region,
  		ServiceID:     ServiceID,
  		SigningName:   "glue",
  		OperationName: "GetTrigger",
  	}
  }
  