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
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package glue
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/glue/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Remove versions from the specified schema. A version number or range may be
// supplied. If the compatibility mode forbids deleting of a version that is
// necessary, such as BACKWARDS_FULL, an error is returned. Calling the
// GetSchemaVersions API after this call will list the status of the deleted
// versions. When the range of version numbers contain check pointed version, the
// API will return a 409 conflict and will not proceed with the deletion. You have
// to remove the checkpoint first using the DeleteSchemaCheckpoint API before
// using this API. You cannot use the DeleteSchemaVersions API to delete the first
// schema version in the schema set. The first schema version can only be deleted
// by the DeleteSchema API. This operation will also delete the attached
// SchemaVersionMetadata under the schema versions. Hard deletes will be enforced
// on the database. If the compatibility mode forbids deleting of a version that is
// necessary, such as BACKWARDS_FULL, an error is returned.
func (c *Client) DeleteSchemaVersions(ctx context.Context, params *DeleteSchemaVersionsInput, optFns ...func(*Options)) (*DeleteSchemaVersionsOutput, error) {
if params == nil {
params = &DeleteSchemaVersionsInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DeleteSchemaVersions", params, optFns, c.addOperationDeleteSchemaVersionsMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DeleteSchemaVersionsOutput)
out.ResultMetadata = metadata
return out, nil
}
type DeleteSchemaVersionsInput struct {
// This is a wrapper structure that may contain the schema name and Amazon
// Resource Name (ARN).
//
// This member is required.
SchemaId *types.SchemaId
// A version range may be supplied which may be of the format:
// - a single version number, 5
// - a range, 5-8 : deletes versions 5, 6, 7, 8
//
// This member is required.
Versions *string
noSmithyDocumentSerde
}
type DeleteSchemaVersionsOutput struct {
// A list of SchemaVersionErrorItem objects, each containing an error and schema
// version.
SchemaVersionErrors []types.SchemaVersionErrorItem
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDeleteSchemaVersionsMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteSchemaVersions{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteSchemaVersions{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteSchemaVersions"); 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 = addOpDeleteSchemaVersionsValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteSchemaVersions(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_opDeleteSchemaVersions(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "DeleteSchemaVersions",
}
}
|