1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package quicksight
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/quicksight/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Starts an asynchronous job that generates a dashboard snapshot. You can request
// one of the following format configurations per API call.
// - 1 paginated PDF
// - 1 Excel workbook
// - 5 CSVs
//
// Poll job descriptions with a DescribeDashboardSnapshotJob API call. Once the
// job succeeds, use the DescribeDashboardSnapshotJobResult API to obtain the
// download URIs that the job generates.
func (c *Client) StartDashboardSnapshotJob(ctx context.Context, params *StartDashboardSnapshotJobInput, optFns ...func(*Options)) (*StartDashboardSnapshotJobOutput, error) {
if params == nil {
params = &StartDashboardSnapshotJobInput{}
}
result, metadata, err := c.invokeOperation(ctx, "StartDashboardSnapshotJob", params, optFns, c.addOperationStartDashboardSnapshotJobMiddlewares)
if err != nil {
return nil, err
}
out := result.(*StartDashboardSnapshotJobOutput)
out.ResultMetadata = metadata
return out, nil
}
type StartDashboardSnapshotJobInput struct {
// The ID of the Amazon Web Services account that the dashboard snapshot job is
// executed in.
//
// This member is required.
AwsAccountId *string
// The ID of the dashboard that you want to start a snapshot job for.
//
// This member is required.
DashboardId *string
// A structure that describes the configuration of the dashboard snapshot.
//
// This member is required.
SnapshotConfiguration *types.SnapshotConfiguration
// An ID for the dashboard snapshot job. This ID is unique to the dashboard while
// the job is running. This ID can be used to poll the status of a job with a
// DescribeDashboardSnapshotJob while the job runs. You can reuse this ID for
// another job 24 hours after the current job is completed.
//
// This member is required.
SnapshotJobId *string
// A structure that contains information about the anonymous users that the
// generated snapshot is for. This API will not return information about registered
// Amazon QuickSight.
//
// This member is required.
UserConfiguration *types.SnapshotUserConfiguration
noSmithyDocumentSerde
}
type StartDashboardSnapshotJobOutput struct {
// The Amazon Resource Name (ARN) for the dashboard snapshot job.
Arn *string
// The Amazon Web Services request ID for this operation.
RequestId *string
// The ID of the job. The job ID is set when you start a new job with a
// StartDashboardSnapshotJob API call.
SnapshotJobId *string
// The HTTP status of the request
Status int32
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationStartDashboardSnapshotJobMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpStartDashboardSnapshotJob{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartDashboardSnapshotJob{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "StartDashboardSnapshotJob"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); 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 = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpStartDashboardSnapshotJobValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartDashboardSnapshotJob(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); 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
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opStartDashboardSnapshotJob(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "StartDashboardSnapshotJob",
}
}
|