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 sagemaker
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/sagemaker/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Starts an Amazon SageMaker Inference Recommender autoscaling recommendation
// job. Returns recommendations for autoscaling policies that you can apply to your
// SageMaker endpoint.
func (c *Client) GetScalingConfigurationRecommendation(ctx context.Context, params *GetScalingConfigurationRecommendationInput, optFns ...func(*Options)) (*GetScalingConfigurationRecommendationOutput, error) {
if params == nil {
params = &GetScalingConfigurationRecommendationInput{}
}
result, metadata, err := c.invokeOperation(ctx, "GetScalingConfigurationRecommendation", params, optFns, c.addOperationGetScalingConfigurationRecommendationMiddlewares)
if err != nil {
return nil, err
}
out := result.(*GetScalingConfigurationRecommendationOutput)
out.ResultMetadata = metadata
return out, nil
}
type GetScalingConfigurationRecommendationInput struct {
// The name of a previously completed Inference Recommender job.
//
// This member is required.
InferenceRecommendationsJobName *string
// The name of an endpoint benchmarked during a previously completed inference
// recommendation job. This name should come from one of the recommendations
// returned by the job specified in the InferenceRecommendationsJobName field.
// Specify either this field or the RecommendationId field.
EndpointName *string
// The recommendation ID of a previously completed inference recommendation. This
// ID should come from one of the recommendations returned by the job specified in
// the InferenceRecommendationsJobName field. Specify either this field or the
// EndpointName field.
RecommendationId *string
// An object where you specify the anticipated traffic pattern for an endpoint.
ScalingPolicyObjective *types.ScalingPolicyObjective
// The percentage of how much utilization you want an instance to use before
// autoscaling. The default value is 50%.
TargetCpuUtilizationPerCore *int32
noSmithyDocumentSerde
}
type GetScalingConfigurationRecommendationOutput struct {
// An object with the recommended values for you to specify when creating an
// autoscaling policy.
DynamicScalingConfiguration *types.DynamicScalingConfiguration
// The name of an endpoint benchmarked during a previously completed Inference
// Recommender job.
EndpointName *string
// The name of a previously completed Inference Recommender job.
InferenceRecommendationsJobName *string
// An object with a list of metrics that were benchmarked during the previously
// completed Inference Recommender job.
Metric *types.ScalingPolicyMetric
// The recommendation ID of a previously completed inference recommendation.
RecommendationId *string
// An object representing the anticipated traffic pattern for an endpoint that you
// specified in the request.
ScalingPolicyObjective *types.ScalingPolicyObjective
// The percentage of how much utilization you want an instance to use before
// autoscaling, which you specified in the request. The default value is 50%.
TargetCpuUtilizationPerCore *int32
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationGetScalingConfigurationRecommendationMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetScalingConfigurationRecommendation{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetScalingConfigurationRecommendation{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "GetScalingConfigurationRecommendation"); 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 = addOpGetScalingConfigurationRecommendationValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetScalingConfigurationRecommendation(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_opGetScalingConfigurationRecommendation(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "GetScalingConfigurationRecommendation",
}
}
|