123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- // Code generated by smithy-go-codegen DO NOT EDIT.
- package cloudwatchlogs
- import (
- "context"
- "fmt"
- awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types"
- "github.com/aws/smithy-go/middleware"
- smithyhttp "github.com/aws/smithy-go/transport/http"
- )
- // Lists all your destinations. The results are ASCII-sorted by destination name.
- func (c *Client) DescribeDestinations(ctx context.Context, params *DescribeDestinationsInput, optFns ...func(*Options)) (*DescribeDestinationsOutput, error) {
- if params == nil {
- params = &DescribeDestinationsInput{}
- }
- result, metadata, err := c.invokeOperation(ctx, "DescribeDestinations", params, optFns, c.addOperationDescribeDestinationsMiddlewares)
- if err != nil {
- return nil, err
- }
- out := result.(*DescribeDestinationsOutput)
- out.ResultMetadata = metadata
- return out, nil
- }
- type DescribeDestinationsInput struct {
- // The prefix to match. If you don't specify a value, no prefix filter is applied.
- DestinationNamePrefix *string
- // The maximum number of items returned. If you don't specify a value, the default
- // is up to 50 items.
- Limit *int32
- // The token for the next set of items to return. (You received this token from a
- // previous call.)
- NextToken *string
- noSmithyDocumentSerde
- }
- type DescribeDestinationsOutput struct {
- // The destinations.
- Destinations []types.Destination
- // The token for the next set of items to return. The token expires after 24 hours.
- NextToken *string
- // Metadata pertaining to the operation's result.
- ResultMetadata middleware.Metadata
- noSmithyDocumentSerde
- }
- func (c *Client) addOperationDescribeDestinationsMiddlewares(stack *middleware.Stack, options Options) (err error) {
- err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeDestinations{}, middleware.After)
- if err != nil {
- return err
- }
- err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeDestinations{}, middleware.After)
- if err != nil {
- return err
- }
- if err = addSetLoggerMiddleware(stack, options); err != nil {
- return err
- }
- if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
- return err
- }
- if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
- return err
- }
- if err = addResolveEndpointMiddleware(stack, options); err != nil {
- return err
- }
- if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
- return err
- }
- if err = addRetryMiddlewares(stack, options); err != nil {
- return err
- }
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
- if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
- return err
- }
- if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
- return err
- }
- if err = addClientUserAgent(stack); err != nil {
- return err
- }
- if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
- return err
- }
- if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
- return err
- }
- if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeDestinations(options.Region), middleware.Before); err != nil {
- return err
- }
- if err = addRequestIDRetrieverMiddleware(stack); err != nil {
- return err
- }
- if err = addResponseErrorMiddleware(stack); err != nil {
- return err
- }
- if err = addRequestResponseLogging(stack, options); err != nil {
- return err
- }
- return nil
- }
- // DescribeDestinationsAPIClient is a client that implements the
- // DescribeDestinations operation.
- type DescribeDestinationsAPIClient interface {
- DescribeDestinations(context.Context, *DescribeDestinationsInput, ...func(*Options)) (*DescribeDestinationsOutput, error)
- }
- var _ DescribeDestinationsAPIClient = (*Client)(nil)
- // DescribeDestinationsPaginatorOptions is the paginator options for
- // DescribeDestinations
- type DescribeDestinationsPaginatorOptions struct {
- // The maximum number of items returned. If you don't specify a value, the default
- // is up to 50 items.
- Limit int32
- // Set to true if pagination should stop if the service returns a pagination token
- // that matches the most recent token provided to the service.
- StopOnDuplicateToken bool
- }
- // DescribeDestinationsPaginator is a paginator for DescribeDestinations
- type DescribeDestinationsPaginator struct {
- options DescribeDestinationsPaginatorOptions
- client DescribeDestinationsAPIClient
- params *DescribeDestinationsInput
- nextToken *string
- firstPage bool
- }
- // NewDescribeDestinationsPaginator returns a new DescribeDestinationsPaginator
- func NewDescribeDestinationsPaginator(client DescribeDestinationsAPIClient, params *DescribeDestinationsInput, optFns ...func(*DescribeDestinationsPaginatorOptions)) *DescribeDestinationsPaginator {
- if params == nil {
- params = &DescribeDestinationsInput{}
- }
- options := DescribeDestinationsPaginatorOptions{}
- if params.Limit != nil {
- options.Limit = *params.Limit
- }
- for _, fn := range optFns {
- fn(&options)
- }
- return &DescribeDestinationsPaginator{
- options: options,
- client: client,
- params: params,
- firstPage: true,
- nextToken: params.NextToken,
- }
- }
- // HasMorePages returns a boolean indicating whether more pages are available
- func (p *DescribeDestinationsPaginator) HasMorePages() bool {
- return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0)
- }
- // NextPage retrieves the next DescribeDestinations page.
- func (p *DescribeDestinationsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*DescribeDestinationsOutput, error) {
- if !p.HasMorePages() {
- return nil, fmt.Errorf("no more pages available")
- }
- params := *p.params
- params.NextToken = p.nextToken
- var limit *int32
- if p.options.Limit > 0 {
- limit = &p.options.Limit
- }
- params.Limit = limit
- result, err := p.client.DescribeDestinations(ctx, ¶ms, optFns...)
- if err != nil {
- return nil, err
- }
- p.firstPage = false
- prevToken := p.nextToken
- p.nextToken = result.NextToken
- if p.options.StopOnDuplicateToken &&
- prevToken != nil &&
- p.nextToken != nil &&
- *prevToken == *p.nextToken {
- p.nextToken = nil
- }
- return result, nil
- }
- func newServiceMetadataMiddleware_opDescribeDestinations(region string) *awsmiddleware.RegisterServiceMetadata {
- return &awsmiddleware.RegisterServiceMetadata{
- Region: region,
- ServiceID: ServiceID,
- SigningName: "logs",
- OperationName: "DescribeDestinations",
- }
- }
|