diff --git a/.changelog/1312fa3e0ba94e8eb54a61db8efe7f23.json b/.changelog/1312fa3e0ba94e8eb54a61db8efe7f23.json new file mode 100644 index 00000000000..62952e63cb8 --- /dev/null +++ b/.changelog/1312fa3e0ba94e8eb54a61db8efe7f23.json @@ -0,0 +1,8 @@ +{ + "id": "1312fa3e-0ba9-4e8e-b54a-61db8efe7f23", + "type": "feature", + "description": "This release adds the following new features: 1) ListEntities API now supports search using ExternalId. 2) BatchPutPropertyValue and GetPropertyValueHistory API now allows users to represent time in sub-second level precisions.", + "modules": [ + "service/iottwinmaker" + ] +} \ No newline at end of file diff --git a/.changelog/2a226490e40345a08e2570e3242a8094.json b/.changelog/2a226490e40345a08e2570e3242a8094.json new file mode 100644 index 00000000000..6b076206d7b --- /dev/null +++ b/.changelog/2a226490e40345a08e2570e3242a8094.json @@ -0,0 +1,8 @@ +{ + "id": "2a226490-e403-45a0-8e25-70e3242a8094", + "type": "feature", + "description": "Amazon EFS adds support for a ThrottlingException when using the CreateAccessPoint API if the account is nearing the AccessPoint limit(120).", + "modules": [ + "service/efs" + ] +} \ No newline at end of file diff --git a/.changelog/80d92fcc188945739053d51ee600f4f9.json b/.changelog/80d92fcc188945739053d51ee600f4f9.json new file mode 100644 index 00000000000..b3990a7e5e2 --- /dev/null +++ b/.changelog/80d92fcc188945739053d51ee600f4f9.json @@ -0,0 +1,8 @@ +{ + "id": "80d92fcc-1889-4573-9053-d51ee600f4f9", + "type": "feature", + "description": "X2idn and X2iedn instances are powered by 3rd generation Intel Xeon Scalable processors with an all-core turbo frequency up to 3.5 GHzAmazon EC2. C6a instances are powered by 3rd generation AMD EPYC processors.", + "modules": [ + "service/ec2" + ] +} \ No newline at end of file diff --git a/.changelog/98677bd046aa4f3abc26e639c96b0668.json b/.changelog/98677bd046aa4f3abc26e639c96b0668.json new file mode 100644 index 00000000000..a44534e34f7 --- /dev/null +++ b/.changelog/98677bd046aa4f3abc26e639c96b0668.json @@ -0,0 +1,8 @@ +{ + "id": "98677bd0-46aa-4f3a-bc26-e639c96b0668", + "type": "feature", + "description": "This release adds new APIs DeleteInsight to deletes the insight along with the associated anomalies, events and recommendations.", + "modules": [ + "service/devopsguru" + ] +} \ No newline at end of file diff --git a/service/devopsguru/api_op_AddNotificationChannel.go b/service/devopsguru/api_op_AddNotificationChannel.go index 7ecdd168b88..a6baf017e9d 100644 --- a/service/devopsguru/api_op_AddNotificationChannel.go +++ b/service/devopsguru/api_op_AddNotificationChannel.go @@ -16,13 +16,17 @@ import ( // generated. If you use an Amazon SNS topic in another account, you must attach a // policy to it that grants DevOps Guru permission to it notifications. DevOps Guru // adds the required policy on your behalf to send notifications using Amazon SNS -// in your account. For more information, see Permissions for cross account Amazon -// SNS topics +// in your account. DevOps Guru only supports standard SNS topics. For more +// information, see Permissions for cross account Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html). -// If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key -// Management Service customer-managed key (CMK), then you must add permissions to -// the CMK. For more information, see Permissions for Amazon Web Services -// KMS–encrypted Amazon SNS topics +// If you use an Amazon SNS topic in another account, you must attach a policy to +// it that grants DevOps Guru permission to it notifications. DevOps Guru adds the +// required policy on your behalf to send notifications using Amazon SNS in your +// account. For more information, see Permissions for cross account Amazon SNS +// topics. If you use an Amazon SNS topic that is encrypted by an Amazon Web +// Services Key Management Service customer-managed key (CMK), then you must add +// permissions to the CMK. For more information, see Permissions for Amazon Web +// Services KMS–encrypted Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html). func (c *Client) AddNotificationChannel(ctx context.Context, params *AddNotificationChannelInput, optFns ...func(*Options)) (*AddNotificationChannelOutput, error) { if params == nil { diff --git a/service/devopsguru/api_op_DeleteInsight.go b/service/devopsguru/api_op_DeleteInsight.go new file mode 100644 index 00000000000..c0712d6dd85 --- /dev/null +++ b/service/devopsguru/api_op_DeleteInsight.go @@ -0,0 +1,117 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package devopsguru + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes the insight along with the associated anomalies, events and +// recommendations. +func (c *Client) DeleteInsight(ctx context.Context, params *DeleteInsightInput, optFns ...func(*Options)) (*DeleteInsightOutput, error) { + if params == nil { + params = &DeleteInsightInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteInsight", params, optFns, c.addOperationDeleteInsightMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteInsightOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteInsightInput struct { + + // The ID of the insight. + // + // This member is required. + Id *string + + noSmithyDocumentSerde +} + +type DeleteInsightOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteInsightMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDeleteInsight{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDeleteInsight{}, 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 = addOpDeleteInsightValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteInsight(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 +} + +func newServiceMetadataMiddleware_opDeleteInsight(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "devops-guru", + OperationName: "DeleteInsight", + } +} diff --git a/service/devopsguru/api_op_DescribeEventSourcesConfig.go b/service/devopsguru/api_op_DescribeEventSourcesConfig.go index 503ce66d4ab..ae072e60219 100644 --- a/service/devopsguru/api_op_DescribeEventSourcesConfig.go +++ b/service/devopsguru/api_op_DescribeEventSourcesConfig.go @@ -11,8 +11,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This operation lists details about a DevOps Guru event source that is shared -// with your
 account. +// Returns the integration status of services that are integrated with DevOps Guru +// as Consumer via EventBridge. The one service that can be integrated with DevOps +// Guru is Amazon CodeGuru Profiler, which can produce proactive recommendations +// which can be stored and viewed in DevOps Guru. func (c *Client) DescribeEventSourcesConfig(ctx context.Context, params *DescribeEventSourcesConfigInput, optFns ...func(*Options)) (*DescribeEventSourcesConfigOutput, error) { if params == nil { params = &DescribeEventSourcesConfigInput{} @@ -34,7 +36,7 @@ type DescribeEventSourcesConfigInput struct { type DescribeEventSourcesConfigOutput struct { - // The name of the event source. + // Lists the event sources in the configuration. EventSources *types.EventSourcesConfig // Metadata pertaining to the operation's result. diff --git a/service/devopsguru/api_op_UpdateEventSourcesConfig.go b/service/devopsguru/api_op_UpdateEventSourcesConfig.go index 9428517f84d..59be570d6ae 100644 --- a/service/devopsguru/api_op_UpdateEventSourcesConfig.go +++ b/service/devopsguru/api_op_UpdateEventSourcesConfig.go @@ -11,7 +11,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Updates the event source configuration. +// Enables or disables integration with a service that can be integrated with +// DevOps Guru. The one service that can be integrated with DevOps Guru is Amazon +// CodeGuru Profiler, which can produce proactive recommendations which can be +// stored and viewed in DevOps Guru. func (c *Client) UpdateEventSourcesConfig(ctx context.Context, params *UpdateEventSourcesConfigInput, optFns ...func(*Options)) (*UpdateEventSourcesConfigOutput, error) { if params == nil { params = &UpdateEventSourcesConfigInput{} @@ -29,7 +32,8 @@ func (c *Client) UpdateEventSourcesConfig(ctx context.Context, params *UpdateEve type UpdateEventSourcesConfigInput struct { - // The name of the event source. + // Configuration information about the integration of DevOps Guru as the Consumer + // via EventBridge with another AWS Service. EventSources *types.EventSourcesConfig noSmithyDocumentSerde diff --git a/service/devopsguru/deserializers.go b/service/devopsguru/deserializers.go index 3d110f84345..7a03ecfff99 100644 --- a/service/devopsguru/deserializers.go +++ b/service/devopsguru/deserializers.go @@ -190,6 +190,104 @@ func awsRestjson1_deserializeOpDocumentAddNotificationChannelOutput(v **AddNotif return nil } +type awsRestjson1_deserializeOpDeleteInsight struct { +} + +func (*awsRestjson1_deserializeOpDeleteInsight) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDeleteInsight) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDeleteInsight(response, &metadata) + } + output := &DeleteInsightOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDeleteInsight(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestjson1_deserializeOpDescribeAccountHealth struct { } diff --git a/service/devopsguru/generated.json b/service/devopsguru/generated.json index 5a7fb8ae72e..633133f02f7 100644 --- a/service/devopsguru/generated.json +++ b/service/devopsguru/generated.json @@ -9,6 +9,7 @@ "api_client.go", "api_client_test.go", "api_op_AddNotificationChannel.go", + "api_op_DeleteInsight.go", "api_op_DescribeAccountHealth.go", "api_op_DescribeAccountOverview.go", "api_op_DescribeAnomaly.go", diff --git a/service/devopsguru/serializers.go b/service/devopsguru/serializers.go index d93fd673938..e6dbbe3b54f 100644 --- a/service/devopsguru/serializers.go +++ b/service/devopsguru/serializers.go @@ -85,6 +85,64 @@ func awsRestjson1_serializeOpDocumentAddNotificationChannelInput(v *AddNotificat return nil } +type awsRestjson1_serializeOpDeleteInsight struct { +} + +func (*awsRestjson1_serializeOpDeleteInsight) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDeleteInsight) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteInsightInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/insights/{Id}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "DELETE" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDeleteInsightInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDeleteInsightInput(v *DeleteInsightInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.Id == nil || len(*v.Id) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member Id must not be empty")} + } + if v.Id != nil { + if err := encoder.SetURI("Id").String(*v.Id); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpDescribeAccountHealth struct { } diff --git a/service/devopsguru/types/types.go b/service/devopsguru/types/types.go index b00d17cf6dd..19875667bc4 100644 --- a/service/devopsguru/types/types.go +++ b/service/devopsguru/types/types.go @@ -39,10 +39,14 @@ type AccountInsightHealth struct { noSmithyDocumentSerde } -// Information about your account's integration with Amazon CodeGuru Profiler. +// Information about your account's integration with Amazon CodeGuru Profiler. This +// returns whether DevOps Guru is configured to consume recommendations generated +// from Amazon CodeGuru Profiler. type AmazonCodeGuruProfilerIntegration struct { - // The status of the CodeGuru Profiler integration. + // The status of the CodeGuru Profiler integration. Specifies if DevOps Guru is + // enabled to consume recommendations that are generated from Amazon CodeGuru + // Profiler. Status EventSourceOptInStatus noSmithyDocumentSerde @@ -94,8 +98,8 @@ type AnomalySourceDetails struct { noSmithyDocumentSerde } -// Metadata about an anomaly. The anomaly is detected using analysis of the metric -// data
 over a period of time +// Metadata about the detection source that generates proactive anomalies. The +// anomaly is detected using analysis of the metric data
 over a period of time type AnomalySourceMetadata struct { // The source of the anomaly. @@ -373,10 +377,12 @@ type EventResource struct { noSmithyDocumentSerde } -// Describes the event sources. +// Information about the integration of DevOps Guru as consumer with another AWS +// service, such as AWS CodeGuru Profiler via EventBridge. type EventSourcesConfig struct { - // + // Information about whether DevOps Guru is configured to consume recommendations + // which are generated from AWS CodeGuru Profiler. AmazonCodeGuruProfiler *AmazonCodeGuruProfilerIntegration noSmithyDocumentSerde @@ -542,13 +548,18 @@ type ListInsightsStatusFilter struct { // channel is Amazon Simple Notification Service (Amazon SNS). If you use an Amazon // SNS topic in another account, you must attach a policy to it that grants DevOps // Guru permission to it notifications. DevOps Guru adds the required policy on -// your behalf to send notifications using Amazon SNS in your account. For more -// information, see Permissions for cross account Amazon SNS topics +// your behalf to send notifications using Amazon SNS in your account. DevOps Guru +// only supports standard SNS topics. For more information, see Permissions for +// cross account Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html). -// If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key -// Management Service customer-managed key (CMK), then you must add permissions to -// the CMK. For more information, see Permissions for Amazon Web Services -// KMS–encrypted Amazon SNS topics +// If you use an Amazon SNS topic in another account, you must attach a policy to +// it that grants DevOps Guru permission to it notifications. DevOps Guru adds the +// required policy on your behalf to send notifications using Amazon SNS in your +// account. For more information, see Permissions for cross account Amazon SNS +// topics. If you use an Amazon SNS topic that is encrypted by an Amazon Web +// Services Key Management Service customer-managed key (CMK), then you must add +// permissions to the CMK. For more information, see Permissions for Amazon Web +// Services KMS–encrypted Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html). type NotificationChannel struct { @@ -571,13 +582,18 @@ type NotificationChannelConfig struct { // notifications when insights are created. If you use an Amazon SNS topic in // another account, you must attach a policy to it that grants DevOps Guru // permission to it notifications. DevOps Guru adds the required policy on your - // behalf to send notifications using Amazon SNS in your account. For more - // information, see Permissions for cross account Amazon SNS topics + // behalf to send notifications using Amazon SNS in your account. DevOps Guru only + // supports standard SNS topics. For more information, see Permissions for cross + // account Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html). - // If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key - // Management Service customer-managed key (CMK), then you must add permissions to - // the CMK. For more information, see Permissions for Amazon Web Services - // KMS–encrypted Amazon SNS topics + // If you use an Amazon SNS topic in another account, you must attach a policy to + // it that grants DevOps Guru permission to it notifications. DevOps Guru adds the + // required policy on your behalf to send notifications using Amazon SNS in your + // account. For more information, see Permissions for cross account Amazon SNS + // topics. If you use an Amazon SNS topic that is encrypted by an Amazon Web + // Services Key Management Service customer-managed key (CMK), then you must add + // permissions to the CMK. For more information, see Permissions for Amazon Web + // Services KMS–encrypted Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html). // // This member is required. @@ -1028,7 +1044,7 @@ type ProactiveAnomalySummary struct { // anomaly. The one supported source is Amazon CloudWatch metrics. SourceDetails *AnomalySourceDetails - // Returns the metadata of the source. + // The metadata of the source which detects proactive anomalies. SourceMetadata *AnomalySourceMetadata // The status of the anomaly. @@ -1785,13 +1801,17 @@ type ServiceResourceCost struct { // topic. If you use an Amazon SNS topic in another account, you must attach a // policy to it that grants DevOps Guru permission to it notifications. DevOps Guru // adds the required policy on your behalf to send notifications using Amazon SNS -// in your account. For more information, see Permissions for cross account Amazon -// SNS topics +// in your account. DevOps Guru only supports standard SNS topics. For more +// information, see Permissions for cross account Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html). -// If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key -// Management Service customer-managed key (CMK), then you must add permissions to -// the CMK. For more information, see Permissions for Amazon Web Services -// KMS–encrypted Amazon SNS topics +// If you use an Amazon SNS topic in another account, you must attach a policy to +// it that grants DevOps Guru permission to it notifications. DevOps Guru adds the +// required policy on your behalf to send notifications using Amazon SNS in your +// account. For more information, see Permissions for cross account Amazon SNS +// topics. If you use an Amazon SNS topic that is encrypted by an Amazon Web +// Services Key Management Service customer-managed key (CMK), then you must add +// permissions to the CMK. For more information, see Permissions for Amazon Web +// Services KMS–encrypted Amazon SNS topics // (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html). type SnsChannelConfig struct { diff --git a/service/devopsguru/validators.go b/service/devopsguru/validators.go index fdf4a585f62..73953279e17 100644 --- a/service/devopsguru/validators.go +++ b/service/devopsguru/validators.go @@ -30,6 +30,26 @@ func (m *validateOpAddNotificationChannel) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpDeleteInsight struct { +} + +func (*validateOpDeleteInsight) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteInsight) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteInsightInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteInsightInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeAccountOverview struct { } @@ -394,6 +414,10 @@ func addOpAddNotificationChannelValidationMiddleware(stack *middleware.Stack) er return stack.Initialize.Add(&validateOpAddNotificationChannel{}, middleware.After) } +func addOpDeleteInsightValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteInsight{}, middleware.After) +} + func addOpDescribeAccountOverviewValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeAccountOverview{}, middleware.After) } @@ -808,6 +832,21 @@ func validateOpAddNotificationChannelInput(v *AddNotificationChannelInput) error } } +func validateOpDeleteInsightInput(v *DeleteInsightInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteInsightInput"} + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeAccountOverviewInput(v *DescribeAccountOverviewInput) error { if v == nil { return nil diff --git a/service/ec2/types/enums.go b/service/ec2/types/enums.go index fa9c263aa96..3db62b23b59 100644 --- a/service/ec2/types/enums.go +++ b/service/ec2/types/enums.go @@ -3055,6 +3055,28 @@ const ( InstanceTypeZ1d6xlarge InstanceType = "z1d.6xlarge" InstanceTypeZ1d12xlarge InstanceType = "z1d.12xlarge" InstanceTypeZ1dMetal InstanceType = "z1d.metal" + InstanceTypeX2idn16xlarge InstanceType = "x2idn.16xlarge" + InstanceTypeX2idn24xlarge InstanceType = "x2idn.24xlarge" + InstanceTypeX2idn32xlarge InstanceType = "x2idn.32xlarge" + InstanceTypeX2iednXlarge InstanceType = "x2iedn.xlarge" + InstanceTypeX2iedn2xlarge InstanceType = "x2iedn.2xlarge" + InstanceTypeX2iedn4xlarge InstanceType = "x2iedn.4xlarge" + InstanceTypeX2iedn8xlarge InstanceType = "x2iedn.8xlarge" + InstanceTypeX2iedn16xlarge InstanceType = "x2iedn.16xlarge" + InstanceTypeX2iedn24xlarge InstanceType = "x2iedn.24xlarge" + InstanceTypeX2iedn32xlarge InstanceType = "x2iedn.32xlarge" + InstanceTypeC6aLarge InstanceType = "c6a.large" + InstanceTypeC6aXlarge InstanceType = "c6a.xlarge" + InstanceTypeC6a2xlarge InstanceType = "c6a.2xlarge" + InstanceTypeC6a4xlarge InstanceType = "c6a.4xlarge" + InstanceTypeC6a8xlarge InstanceType = "c6a.8xlarge" + InstanceTypeC6a12xlarge InstanceType = "c6a.12xlarge" + InstanceTypeC6a16xlarge InstanceType = "c6a.16xlarge" + InstanceTypeC6a24xlarge InstanceType = "c6a.24xlarge" + InstanceTypeC6a32xlarge InstanceType = "c6a.32xlarge" + InstanceTypeC6a48xlarge InstanceType = "c6a.48xlarge" + InstanceTypeC6aMetal InstanceType = "c6a.metal" + InstanceTypeM6aMetal InstanceType = "m6a.metal" ) // Values returns all known values for InstanceType. Note that this can be expanded @@ -3547,6 +3569,28 @@ func (InstanceType) Values() []InstanceType { "z1d.6xlarge", "z1d.12xlarge", "z1d.metal", + "x2idn.16xlarge", + "x2idn.24xlarge", + "x2idn.32xlarge", + "x2iedn.xlarge", + "x2iedn.2xlarge", + "x2iedn.4xlarge", + "x2iedn.8xlarge", + "x2iedn.16xlarge", + "x2iedn.24xlarge", + "x2iedn.32xlarge", + "c6a.large", + "c6a.xlarge", + "c6a.2xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6a.32xlarge", + "c6a.48xlarge", + "c6a.metal", + "m6a.metal", } } diff --git a/service/efs/api_op_CreateAccessPoint.go b/service/efs/api_op_CreateAccessPoint.go index 457118e6831..5fd86cf90b6 100644 --- a/service/efs/api_op_CreateAccessPoint.go +++ b/service/efs/api_op_CreateAccessPoint.go @@ -17,9 +17,10 @@ import ( // file system path, to any file system request made through the access point. The // operating system user and group override any identity information provided by // the NFS client. The file system path is exposed as the access point's root -// directory. Applications using the access point can only access data in its own -// directory and below. To learn more, see Mounting a file system using EFS access -// points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html). This +// directory. Applications using the access point can only access data in the +// application's own directory and any subdirectories. To learn more, see Mounting +// a file system using EFS access points +// (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html). This // operation requires permissions for the elasticfilesystem:CreateAccessPoint // action. func (c *Client) CreateAccessPoint(ctx context.Context, params *CreateAccessPointInput, optFns ...func(*Options)) (*CreateAccessPointOutput, error) { @@ -59,7 +60,7 @@ type CreateAccessPointInput struct { // access point. The clients using the access point can only access the root // directory and below. If the RootDirectory > Path specified does not exist, EFS // creates it and applies the CreationInfo settings when a client connects to an - // access point. When specifying a RootDirectory, you need to provide the Path, and + // access point. When specifying a RootDirectory, you must provide the Path, and // the CreationInfo. Amazon EFS creates a root directory only if you have provided // the CreationInfo: OwnUid, OwnGID, and permissions for the directory. If you do // not provide this information, Amazon EFS does not create the root directory. If diff --git a/service/efs/api_op_CreateFileSystem.go b/service/efs/api_op_CreateFileSystem.go index 1a1f39c4e0d..c7c0e758ef5 100644 --- a/service/efs/api_op_CreateFileSystem.go +++ b/service/efs/api_op_CreateFileSystem.go @@ -107,7 +107,7 @@ type CreateFileSystemInput struct { Encrypted *bool // The ID of the KMS key that you want to use to protect the encrypted file system. - // This parameter is only required if you want to use a non-default KMS key. If + // This parameter is required only if you want to use a non-default KMS key. If // this parameter is not specified, the default KMS key for Amazon EFS is used. You // can specify a KMS key ID using the following formats: // diff --git a/service/efs/api_op_CreateReplicationConfiguration.go b/service/efs/api_op_CreateReplicationConfiguration.go index 37741dc8959..e88433346cb 100644 --- a/service/efs/api_op_CreateReplicationConfiguration.go +++ b/service/efs/api_op_CreateReplicationConfiguration.go @@ -14,64 +14,67 @@ import ( // Creates a replication configuration that replicates an existing EFS file system // to a new, read-only file system. For more information, see Amazon EFS -// replication (https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html). -// The replication configuration specifies the following: +// replication (https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html) in +// the Amazon EFS User Guide. The replication configuration specifies the +// following: // -// * Source file system - -// an existing EFS file system that you want replicated. The source file system -// cannot be a destination file system in an existing replication configuration. +// * Source file system - An existing EFS file system that you want +// replicated. The source file system cannot be a destination file system in an +// existing replication configuration. // -// * -// Destination file system configuration - the configuration of the destination -// file system to which the source file system will be replicated. There can only -// be one destination file system in a replication configuration. +// * Destination file system configuration - +// The configuration of the destination file system to which the source file system +// will be replicated. There can only be one destination file system in a +// replication configuration. The destination file system configuration consists of +// the following properties: // -// * Amazon Web -// Services Region - The Amazon Web Services Region in which the destination file -// system is created. EFS Replication is available in all Amazon Web Services -// Region that Amazon EFS is available in, except the following regions: Asia -// Pacific (Hong Kong) Europe (Milan), Middle East (Bahrain), Africa (Cape Town), -// and Asia Pacific (Jakarta). +// * Amazon Web Services Region - The Amazon Web +// Services Region in which the destination file system is created. Amazon EFS +// replication is available in all Amazon Web Services Regions that Amazon EFS is +// available in, except Africa (Cape Town), Asia Pacific (Hong Kong), Asia Pacific +// (Jakarta), Europe (Milan), and Middle East (Bahrain). // -// * Availability zone - If you want the destination -// file system to use One Zone availability and durability, you must specify the -// Availability Zone to create the file system in. For more information about EFS -// storage classes, see Amazon EFS storage classes +// * Availability Zone - If +// you want the destination file system to use EFS One Zone availability and +// durability, you must specify the Availability Zone to create the file system in. +// For more information about EFS storage classes, see Amazon EFS storage classes // (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) in the Amazon // EFS User Guide. // // * Encryption - All destination file systems are created with -// encryption at rest enabled. You can specify the KMS key that is used to encrypt -// the destination file system. Your service-managed KMS key for Amazon EFS is used -// if you don't specify a KMS key. You cannot change this after the file system is -// created. +// encryption at rest enabled. You can specify the Key Management Service (KMS) key +// that is used to encrypt the destination file system. If you don't specify a KMS +// key, your service-managed KMS key for Amazon EFS is used. After the file system +// is created, you cannot change the KMS key. // -// The following properties are set by default: +// The following properties are set by +// default: // -// * Performance mode - The -// destination file system's performance mode will match that of the source file -// system, unless the destination file system uses One Zone storage. In that case, -// the General Purpose performance mode is used. The Performance mode cannot be -// changed. +// * Performance mode - The destination file system's performance mode +// matches that of the source file system, unless the destination file system uses +// EFS One Zone storage. In that case, the General Purpose performance mode is +// used. The performance mode cannot be changed. // -// * Throughput mode - The destination file system use the Bursting -// throughput mode by default. You can modify the throughput mode once the file -// system is created. +// * Throughput mode - The +// destination file system uses the Bursting Throughput mode by default. After the +// file system is created, you can modify the throughput mode. // -// The following properties are turned off by default: +// The following +// properties are turned off by default: // -// * -// Lifecycle management - EFS lifecycle management and intelligent tiering are not -// enabled on the destination file system. You can enable EFS lifecycle management -// and intelligent tiering after the destination file system is created. +// * Lifecycle management - EFS lifecycle +// management and EFS Intelligent-Tiering are not enabled on the destination file +// system. After the destination file system is created, you can enable EFS +// lifecycle management and EFS Intelligent-Tiering. // -// * -// Automatic backups - Automatic daily backups not enabled on the destination file -// system. You can change this setting after the file system is created. +// * Automatic backups - +// Automatic daily backups not enabled on the destination file system. After the +// file system is created, you can change this setting. // -// For more -// information, see Amazon EFS replication -// (https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html). +// For more information, see +// Amazon EFS replication +// (https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html) in the Amazon +// EFS User Guide. func (c *Client) CreateReplicationConfiguration(ctx context.Context, params *CreateReplicationConfigurationInput, optFns ...func(*Options)) (*CreateReplicationConfigurationOutput, error) { if params == nil { params = &CreateReplicationConfigurationInput{} @@ -112,7 +115,7 @@ type CreateReplicationConfigurationOutput struct { // This member is required. CreationTime *time.Time - // Array of destination objects. Only one destination object is supported. + // An array of destination objects. Only one destination object is supported. // // This member is required. Destinations []types.Destination @@ -123,7 +126,8 @@ type CreateReplicationConfigurationOutput struct { // This member is required. OriginalSourceFileSystemArn *string - // The ARN of the current source file system in the replication configuration. + // The Amazon Resource Name (ARN) of the current source file system in the + // replication configuration. // // This member is required. SourceFileSystemArn *string diff --git a/service/efs/api_op_CreateTags.go b/service/efs/api_op_CreateTags.go index d5a757a71aa..fb965c86f19 100644 --- a/service/efs/api_op_CreateTags.go +++ b/service/efs/api_op_CreateTags.go @@ -11,14 +11,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// DEPRECATED - CreateTags is deprecated and not maintained. Please use the API -// action to create tags for EFS resources. Creates or overwrites tags associated -// with a file system. Each tag is a key-value pair. If a tag key specified in the -// request already exists on the file system, this operation overwrites its value -// with the value provided in the request. If you add the Name tag to your file -// system, Amazon EFS returns it in the response to the DescribeFileSystems -// operation. This operation requires permission for the -// elasticfilesystem:CreateTags action. +// DEPRECATED - CreateTags is deprecated and not maintained. To create tags for EFS +// resources, use the API action. Creates or overwrites tags associated with a file +// system. Each tag is a key-value pair. If a tag key specified in the request +// already exists on the file system, this operation overwrites its value with the +// value provided in the request. If you add the Name tag to your file system, +// Amazon EFS returns it in the response to the DescribeFileSystems operation. This +// operation requires permission for the elasticfilesystem:CreateTags action. // // Deprecated: Use TagResource. func (c *Client) CreateTags(ctx context.Context, params *CreateTagsInput, optFns ...func(*Options)) (*CreateTagsOutput, error) { diff --git a/service/efs/api_op_DeleteFileSystem.go b/service/efs/api_op_DeleteFileSystem.go index 9caa8d02d3b..00ba3e936b6 100644 --- a/service/efs/api_op_DeleteFileSystem.go +++ b/service/efs/api_op_DeleteFileSystem.go @@ -12,15 +12,20 @@ import ( // Deletes a file system, permanently severing access to its contents. Upon return, // the file system no longer exists and you can't access any contents of the -// deleted file system. You can't delete a file system that is in use. That is, if -// the file system has any mount targets, you must first delete them. For more -// information, see DescribeMountTargets and DeleteMountTarget. The -// DeleteFileSystem call returns while the file system state is still deleting. You -// can check the file system deletion status by calling the DescribeFileSystems -// operation, which returns a list of file systems in your account. If you pass -// file system ID or creation token for the deleted file system, the -// DescribeFileSystems returns a 404 FileSystemNotFound error. This operation -// requires permissions for the elasticfilesystem:DeleteFileSystem action. +// deleted file system. You need to manually delete mount targets attached to a +// file system before you can delete an EFS file system. This step is performed for +// you when you use the Amazon Web Services console to delete a file system. You +// cannot delete a file system that is part of an EFS Replication configuration. +// You need to delete the replication configuration first. You can't delete a file +// system that is in use. That is, if the file system has any mount targets, you +// must first delete them. For more information, see DescribeMountTargets and +// DeleteMountTarget. The DeleteFileSystem call returns while the file system state +// is still deleting. You can check the file system deletion status by calling the +// DescribeFileSystems operation, which returns a list of file systems in your +// account. If you pass file system ID or creation token for the deleted file +// system, the DescribeFileSystems returns a 404 FileSystemNotFound error. This +// operation requires permissions for the elasticfilesystem:DeleteFileSystem +// action. func (c *Client) DeleteFileSystem(ctx context.Context, params *DeleteFileSystemInput, optFns ...func(*Options)) (*DeleteFileSystemOutput, error) { if params == nil { params = &DeleteFileSystemInput{} diff --git a/service/efs/api_op_DeleteReplicationConfiguration.go b/service/efs/api_op_DeleteReplicationConfiguration.go index b5cc24f1159..28b293fc00d 100644 --- a/service/efs/api_op_DeleteReplicationConfiguration.go +++ b/service/efs/api_op_DeleteReplicationConfiguration.go @@ -13,8 +13,9 @@ import ( // Deletes an existing replication configuration. To delete a replication // configuration, you must make the request from the Amazon Web Services Region in // which the destination file system is located. Deleting a replication -// configuration ends the replication process. You can write to the destination -// file system once it's status becomes Writeable. +// configuration ends the replication process. After a replication configuration is +// deleted, the destination file system is no longer read-only. You can write to +// the destination file system after its status becomes Writeable. func (c *Client) DeleteReplicationConfiguration(ctx context.Context, params *DeleteReplicationConfigurationInput, optFns ...func(*Options)) (*DeleteReplicationConfigurationOutput, error) { if params == nil { params = &DeleteReplicationConfigurationInput{} diff --git a/service/efs/api_op_DeleteTags.go b/service/efs/api_op_DeleteTags.go index 74b8e74bc6d..846a01c7df4 100644 --- a/service/efs/api_op_DeleteTags.go +++ b/service/efs/api_op_DeleteTags.go @@ -10,8 +10,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// DEPRECATED - DeleteTags is deprecated and not maintained. Please use the API -// action to remove tags from EFS resources. Deletes the specified tags from a file +// DEPRECATED - DeleteTags is deprecated and not maintained. To remove tags from +// EFS resources, use the API action. Deletes the specified tags from a file // system. If the DeleteTags request includes a tag key that doesn't exist, Amazon // EFS ignores it and doesn't cause an error. For more information about tags and // related restrictions, see Tag restrictions diff --git a/service/efs/api_op_DescribeBackupPolicy.go b/service/efs/api_op_DescribeBackupPolicy.go index 8288e0d93c3..8ccbf0b5f71 100644 --- a/service/efs/api_op_DescribeBackupPolicy.go +++ b/service/efs/api_op_DescribeBackupPolicy.go @@ -40,7 +40,7 @@ type DescribeBackupPolicyInput struct { type DescribeBackupPolicyOutput struct { // Describes the file system's backup policy, indicating whether automatic backups - // are turned on or off.. + // are turned on or off. BackupPolicy *types.BackupPolicy // Metadata pertaining to the operation's result. diff --git a/service/efs/api_op_DescribeLifecycleConfiguration.go b/service/efs/api_op_DescribeLifecycleConfiguration.go index f8dca22530f..06388956378 100644 --- a/service/efs/api_op_DescribeLifecycleConfiguration.go +++ b/service/efs/api_op_DescribeLifecycleConfiguration.go @@ -15,7 +15,7 @@ import ( // file system. EFS lifecycle management uses the LifecycleConfiguration object to // identify which files to move to the EFS Infrequent Access (IA) storage class. // For a file system without a LifecycleConfiguration object, the call returns an -// empty array in the response. When EFS Intelligent Tiering is enabled, +// empty array in the response. When EFS Intelligent-Tiering is enabled, // TransitionToPrimaryStorageClass has a value of AFTER_1_ACCESS. This operation // requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration // operation. diff --git a/service/efs/api_op_DescribeReplicationConfigurations.go b/service/efs/api_op_DescribeReplicationConfigurations.go index afd2f5d2726..7d52840f242 100644 --- a/service/efs/api_op_DescribeReplicationConfigurations.go +++ b/service/efs/api_op_DescribeReplicationConfigurations.go @@ -11,9 +11,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves the replication configurations for either a specific file system, or -// all configurations for the Amazon Web Services account in an Amazon Web Services -// Region if a file system is not specified. +// Retrieves the replication configuration for a specific file system. If a file +// system is not specified, all of the replication configurations for the Amazon +// Web Services account in an Amazon Web Services Region are retrieved. func (c *Client) DescribeReplicationConfigurations(ctx context.Context, params *DescribeReplicationConfigurationsInput, optFns ...func(*Options)) (*DescribeReplicationConfigurationsOutput, error) { if params == nil { params = &DescribeReplicationConfigurationsInput{} @@ -31,15 +31,15 @@ func (c *Client) DescribeReplicationConfigurations(ctx context.Context, params * type DescribeReplicationConfigurationsInput struct { - // You can retrieve replication configurations for a specific file system by - // providing a file system ID. + // You can retrieve the replication configuration for a specific file system by + // providing its file system ID. FileSystemId *string - // (Optional) You can optionally specify the MaxItems parameter to limit the number - // of objects returned in a response. The default value is 100. + // (Optional) To limit the number of objects returned in a response, you can + // specify the MaxItems parameter. The default value is 100. MaxResults *int32 - // NextToken is present if the response is paginated. You can use NextMarker in a + // NextToken is present if the response is paginated. You can use NextToken in a // subsequent request to fetch the next page of output. NextToken *string @@ -52,7 +52,7 @@ type DescribeReplicationConfigurationsOutput struct { // fetch the additional descriptions. NextToken *string - // The collection of replication configurations returned. + // The collection of replication configurations that is returned. Replications []types.ReplicationConfigurationDescription // Metadata pertaining to the operation's result. diff --git a/service/efs/api_op_DescribeTags.go b/service/efs/api_op_DescribeTags.go index affee17ac7e..3f8272fb091 100644 --- a/service/efs/api_op_DescribeTags.go +++ b/service/efs/api_op_DescribeTags.go @@ -12,12 +12,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// DEPRECATED - The DeleteTags action is deprecated and not maintained. Please use -// the API action to remove tags from EFS resources. Returns the tags associated -// with a file system. The order of tags returned in the response of one -// DescribeTags call and the order of tags returned across the responses of a -// multiple-call iteration (when using pagination) is unspecified. This operation -// requires permissions for the elasticfilesystem:DescribeTags action. +// DEPRECATED - The DescribeTags action is deprecated and not maintained. To view +// tags associated with EFS resources, use the ListTagsForResource API action. +// Returns the tags associated with a file system. The order of tags returned in +// the response of one DescribeTags call and the order of tags returned across the +// responses of a multiple-call iteration (when using pagination) is unspecified. +// This operation requires permissions for the elasticfilesystem:DescribeTags +// action. // // Deprecated: Use ListTagsForResource. func (c *Client) DescribeTags(ctx context.Context, params *DescribeTagsInput, optFns ...func(*Options)) (*DescribeTagsOutput, error) { diff --git a/service/efs/api_op_PutAccountPreferences.go b/service/efs/api_op_PutAccountPreferences.go index 95531ad502d..4a4efaf4c30 100644 --- a/service/efs/api_op_PutAccountPreferences.go +++ b/service/efs/api_op_PutAccountPreferences.go @@ -20,8 +20,8 @@ import ( // (https://docs.aws.amazon.com/efs/latest/ug/manage-efs-resource-ids.html). // Starting in October, 2021, you will receive an error if you try to set the // account preference to use the short 8 character format resource ID. Contact -// Amazon Web Services support if you receive an error and need to use short IDs -// for file system and mount target resources. +// Amazon Web Services support if you receive an error and must use short IDs for +// file system and mount target resources. func (c *Client) PutAccountPreferences(ctx context.Context, params *PutAccountPreferencesInput, optFns ...func(*Options)) (*PutAccountPreferencesOutput, error) { if params == nil { params = &PutAccountPreferencesInput{} @@ -43,7 +43,7 @@ type PutAccountPreferencesInput struct { // Services account, in the current Amazon Web Services Region, either LONG_ID (17 // characters), or SHORT_ID (8 characters). Starting in October, 2021, you will // receive an error when setting the account preference to SHORT_ID. Contact Amazon - // Web Services support if you receive an error and need to use short IDs for file + // Web Services support if you receive an error and must use short IDs for file // system and mount target resources. // // This member is required. diff --git a/service/efs/api_op_PutBackupPolicy.go b/service/efs/api_op_PutBackupPolicy.go index b238a721def..8c239acd51d 100644 --- a/service/efs/api_op_PutBackupPolicy.go +++ b/service/efs/api_op_PutBackupPolicy.go @@ -46,7 +46,7 @@ type PutBackupPolicyInput struct { type PutBackupPolicyOutput struct { // Describes the file system's backup policy, indicating whether automatic backups - // are turned on or off.. + // are turned on or off. BackupPolicy *types.BackupPolicy // Metadata pertaining to the operation's result. diff --git a/service/efs/api_op_PutFileSystemPolicy.go b/service/efs/api_op_PutFileSystemPolicy.go index d5df8a6d30a..01b714feeb6 100644 --- a/service/efs/api_op_PutFileSystemPolicy.go +++ b/service/efs/api_op_PutFileSystemPolicy.go @@ -52,13 +52,14 @@ type PutFileSystemPolicyInput struct { // This member is required. Policy *string - // (Optional) A flag to indicate whether to bypass the FileSystemPolicy lockout - // safety check. The policy lockout safety check determines whether the policy in - // the request will prevent the principal making the request will be locked out - // from making future PutFileSystemPolicy requests on the file system. Set - // BypassPolicyLockoutSafetyCheck to True only when you intend to prevent the - // principal that is making the request from making a subsequent - // PutFileSystemPolicy request on the file system. The default value is False. + // (Optional) A boolean that specifies whether or not to bypass the + // FileSystemPolicy lockout safety check. The lockout safety check determines + // whether the policy in the request will lock out, or prevent, the IAM principal + // that is making the request from making future PutFileSystemPolicy requests on + // this file system. Set BypassPolicyLockoutSafetyCheck to True only when you + // intend to prevent the IAM principal that is making the request from making + // subsequent PutFileSystemPolicy requests on this file system. The default value + // is False. BypassPolicyLockoutSafetyCheck bool noSmithyDocumentSerde diff --git a/service/efs/api_op_PutLifecycleConfiguration.go b/service/efs/api_op_PutLifecycleConfiguration.go index 129c7c99a7e..acf8349ba05 100644 --- a/service/efs/api_op_PutLifecycleConfiguration.go +++ b/service/efs/api_op_PutLifecycleConfiguration.go @@ -11,36 +11,51 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Enables lifecycle management by creating a new LifecycleConfiguration object. A -// LifecycleConfiguration object defines when files in an Amazon EFS file system -// are automatically transitioned to the lower-cost EFS Infrequent Access (IA) -// storage class. To enable EFS Intelligent Tiering, set the value of -// TransitionToPrimaryStorageClass to AFTER_1_ACCESS. For more information, see EFS -// Lifecycle Management -// (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html). Each +// Use this action to manage EFS lifecycle management and intelligent tiering. A +// LifecycleConfiguration consists of one or more LifecyclePolicy objects that +// define the following: +// +// * EFS Lifecycle management - When Amazon EFS +// automatically transitions files in a file system into the lower-cost Infrequent +// Access (IA) storage class. To enable EFS Lifecycle management, set the value of +// TransitionToIA to one of the available options. +// +// * EFS Intelligent tiering - +// When Amazon EFS automatically transitions files from IA back into the file +// system's primary storage class (Standard or One Zone Standard. To enable EFS +// Intelligent Tiering, set the value of TransitionToPrimaryStorageClass to +// AFTER_1_ACCESS. +// +// For more information, see EFS Lifecycle Management +// (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html). +// +// Each // Amazon EFS file system supports one lifecycle configuration, which applies to // all files in the file system. If a LifecycleConfiguration object already exists // for the specified file system, a PutLifecycleConfiguration call modifies the // existing configuration. A PutLifecycleConfiguration call with an empty // LifecyclePolicies array in the request body deletes any existing -// LifecycleConfiguration and turns off lifecycle management for the file system. +// LifecycleConfiguration and turns off lifecycle management and intelligent +// tiering for the file system. +// // In the request, specify the following: // -// * The ID for the file system for which -// you are enabling, disabling, or modifying lifecycle management. +// * The ID +// for the file system for which you are enabling, disabling, or modifying +// lifecycle management and intelligent tiering. // -// * A -// LifecyclePolicies array of LifecyclePolicy objects that define when files are -// moved to the IA storage class. Amazon EFS requires that each LifecyclePolicy -// object have only have a single transition, so the LifecyclePolicies array needs -// to be structured with separate LifecyclePolicy objects. See the example requests -// in the following section for more information. +// * A LifecyclePolicies array of +// LifecyclePolicy objects that define when files are moved into IA storage, and +// when they are moved back to Standard storage. Amazon EFS requires that each +// LifecyclePolicy object have only have a single transition, so the +// LifecyclePolicies array needs to be structured with separate LifecyclePolicy +// objects. See the example requests in the following section for more +// information. // -// This operation requires -// permissions for the elasticfilesystem:PutLifecycleConfiguration operation. To -// apply a LifecycleConfiguration object to an encrypted file system, you need the -// same Key Management Service permissions as when you created the encrypted file -// system. +// This operation requires permissions for the +// elasticfilesystem:PutLifecycleConfiguration operation. To apply a +// LifecycleConfiguration object to an encrypted file system, you need the same Key +// Management Service permissions as when you created the encrypted file system. func (c *Client) PutLifecycleConfiguration(ctx context.Context, params *PutLifecycleConfigurationInput, optFns ...func(*Options)) (*PutLifecycleConfigurationOutput, error) { if params == nil { params = &PutLifecycleConfigurationInput{} @@ -66,18 +81,18 @@ type PutLifecycleConfigurationInput struct { // An array of LifecyclePolicy objects that define the file system's // LifecycleConfiguration object. A LifecycleConfiguration object informs EFS - // lifecycle management and intelligent tiering of the following: + // lifecycle management and EFS Intelligent-Tiering of the following: // - // * When to move - // files in the file system from primary storage to the IA storage class. + // * When to + // move files in the file system from primary storage to the IA storage class. // - // * When - // to move files that are in IA storage to primary storage. + // * + // When to move files that are in IA storage to primary storage. // // When using the // put-lifecycle-configuration CLI command or the PutLifecycleConfiguration API // action, Amazon EFS requires that each LifecyclePolicy object have only a single - // transition. This means that in a request body, LifecyclePolicies needs to be + // transition. This means that in a request body, LifecyclePolicies must be // structured as an array of LifecyclePolicy objects, one object for each // transition, TransitionToIA, TransitionToPrimaryStorageClass. See the example // requests in the following section for more information. diff --git a/service/efs/deserializers.go b/service/efs/deserializers.go index 48bdff68bec..14843ef57d8 100644 --- a/service/efs/deserializers.go +++ b/service/efs/deserializers.go @@ -137,6 +137,9 @@ func awsRestjson1_deserializeOpErrorCreateAccessPoint(response *smithyhttp.Respo case strings.EqualFold("InternalServerError", errorCode): return awsRestjson1_deserializeErrorInternalServerError(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -5756,6 +5759,42 @@ func awsRestjson1_deserializeErrorSubnetNotFound(response *smithyhttp.Response, return output } +func awsRestjson1_deserializeErrorThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ThrottlingException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentThrottlingException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + func awsRestjson1_deserializeErrorThroughputLimitExceeded(response *smithyhttp.Response, errorBody *bytes.Reader) error { output := &types.ThroughputLimitExceeded{} var buff [1024]byte @@ -8539,6 +8578,55 @@ func awsRestjson1_deserializeDocumentTags(v *[]types.Tag, value interface{}) err return nil } +func awsRestjson1_deserializeDocumentThrottlingException(v **types.ThrottlingException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ThrottlingException + if *v == nil { + sv = &types.ThrottlingException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ErrorCode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorCode to be of type string, got %T instead", value) + } + sv.ErrorCode_ = ptr.String(jtv) + } + + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentThroughputLimitExceeded(v **types.ThroughputLimitExceeded, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/efs/doc.go b/service/efs/doc.go index 64f382993fd..497361ce46b 100644 --- a/service/efs/doc.go +++ b/service/efs/doc.go @@ -6,7 +6,7 @@ // Amazon Elastic File System Amazon Elastic File System (Amazon EFS) provides // simple, scalable file storage for use with Amazon EC2 Linux and Mac instances in // the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, -// growing and shrinking automatically as you add and remove files, so your +// growing and shrinking automatically as you add and remove files, so that your // applications have the storage they need, when they need it. For more // information, see the Amazon Elastic File System API Reference // (https://docs.aws.amazon.com/efs/latest/ug/api-reference.html) and the Amazon diff --git a/service/efs/types/errors.go b/service/efs/types/errors.go index 27315b742a1..08b217f59b6 100644 --- a/service/efs/types/errors.go +++ b/service/efs/types/errors.go @@ -7,8 +7,8 @@ import ( smithy "github.com/aws/smithy-go" ) -// Returned if the access point you are trying to create already exists, with the -// creation token you provided in the request. +// Returned if the access point that you are trying to create already exists, with +// the creation token you provided in the request. type AccessPointAlreadyExists struct { Message *string @@ -31,7 +31,9 @@ func (e *AccessPointAlreadyExists) ErrorCode() string { return "Acce func (e *AccessPointAlreadyExists) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // Returned if the Amazon Web Services account has already created the maximum -// number of access points allowed per file system. +// number of access points allowed per file system. For more informaton, see +// https://docs.aws.amazon.com/efs/latest/ug/limits.html#limits-efs-resources-per-account-per-region +// (https://docs.aws.amazon.com/efs/latest/ug/limits.html#limits-efs-resources-per-account-per-region). type AccessPointLimitExceeded struct { Message *string @@ -75,8 +77,8 @@ func (e *AccessPointNotFound) ErrorCode() string { return "AccessPoi func (e *AccessPointNotFound) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // Returned if the Availability Zone that was specified for a mount target is -// different from the Availability Zone that was specified for One Zone storage -// classes. For more information, see Regional and One Zone storage redundancy +// different from the Availability Zone that was specified for One Zone storage. +// For more information, see Regional and One Zone storage redundancy // (https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html). type AvailabilityZonesMismatch struct { Message *string @@ -278,7 +280,7 @@ func (e *IncorrectMountTargetState) ErrorFault() smithy.ErrorFault { return smit // value might be returned when you try to create a file system in provisioned // throughput mode, when you attempt to increase the provisioned throughput of an // existing file system, or when you attempt to change an existing file system from -// bursting to provisioned throughput mode. Try again later. +// Bursting Throughput to Provisioned Throughput mode. Try again later. type InsufficientThroughputCapacity struct { Message *string @@ -320,9 +322,9 @@ func (e *InternalServerError) ErrorMessage() string { func (e *InternalServerError) ErrorCode() string { return "InternalServerError" } func (e *InternalServerError) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } -// Returned if the FileSystemPolicy is is malformed or contains an error such as an -// invalid parameter value or a missing required parameter. Returned in the case of -// a policy lockout safety check error. +// Returned if the FileSystemPolicy is malformed or contains an error such as a +// parameter value that is not valid or a missing required parameter. Returned in +// the case of a policy lockout safety check error. type InvalidPolicyException struct { Message *string @@ -410,12 +412,12 @@ func (e *MountTargetNotFound) ErrorCode() string { return "MountTarg func (e *MountTargetNotFound) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // The calling account has reached the limit for elastic network interfaces for the -// specific Amazon Web Services Region. The client should try to delete some -// elastic network interfaces or get the account limit raised. For more -// information, see Amazon VPC Limits +// specific Amazon Web Services Region. Either delete some network interfaces or +// request that the account quota be raised. For more information, see Amazon VPC +// Quotas // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html) -// in the Amazon VPC User Guide (see the Network interfaces per VPC entry in the -// table). +// in the Amazon VPC User Guide (see the Network interfaces per Region entry in the +// Network interfaces table). type NetworkInterfaceLimitExceeded struct { Message *string @@ -480,7 +482,7 @@ func (e *PolicyNotFound) ErrorMessage() string { func (e *PolicyNotFound) ErrorCode() string { return "PolicyNotFound" } func (e *PolicyNotFound) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// Returned if the specified file system did not have a replication configuration. +// Returned if the specified file system does not have a replication configuration. type ReplicationNotFound struct { Message *string @@ -524,7 +526,7 @@ func (e *SecurityGroupLimitExceeded) ErrorCode() string { return "Se func (e *SecurityGroupLimitExceeded) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // Returned if one of the specified security groups doesn't exist in the subnet's -// VPC. +// virtual private cloud (VPC). type SecurityGroupNotFound struct { Message *string @@ -566,6 +568,28 @@ func (e *SubnetNotFound) ErrorMessage() string { func (e *SubnetNotFound) ErrorCode() string { return "SubnetNotFound" } func (e *SubnetNotFound) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// Returned when the CreateAccessPoint API action is called too quickly and the +// number of Access Points in the account is nearing the limit of 120. +type ThrottlingException struct { + Message *string + + ErrorCode_ *string + + noSmithyDocumentSerde +} + +func (e *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *ThrottlingException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *ThrottlingException) ErrorCode() string { return "ThrottlingException" } +func (e *ThrottlingException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // Returned if the throughput mode or amount of provisioned throughput can't be // changed because the throughput limit of 1024 MiB/s has been reached. type ThroughputLimitExceeded struct { @@ -588,8 +612,8 @@ func (e *ThroughputLimitExceeded) ErrorMessage() string { func (e *ThroughputLimitExceeded) ErrorCode() string { return "ThroughputLimitExceeded" } func (e *ThroughputLimitExceeded) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// Returned if you don’t wait at least 24 hours before changing the throughput -// mode, or decreasing the Provisioned Throughput value. +// Returned if you don’t wait at least 24 hours before either changing the +// throughput mode, or decreasing the Provisioned Throughput value. type TooManyRequests struct { Message *string diff --git a/service/efs/types/types.go b/service/efs/types/types.go index a208b88bcaa..db40203ccc9 100644 --- a/service/efs/types/types.go +++ b/service/efs/types/types.go @@ -60,7 +60,7 @@ type BackupPolicy struct { // * ENABLING - EFS is turning on // automatic backups for the file system. // - // * DISABLED - automatic back ups are + // * DISABLED - Automatic back ups are // turned off for the file system. // // * DISABLING - EFS is turning off automatic @@ -119,14 +119,17 @@ type Destination struct { // This member is required. Region *string - // Describes the status of the destination Amazon EFS file system. + // Describes the status of the destination Amazon EFS file system. If the status is + // ERROR, the destination file system in the replication configuration is in a + // failed state and is unrecoverable. To access the file system data, restore a + // backup of the failed file system to a new file system. // // This member is required. Status ReplicationStatus - // The time when the most recent sync successfully completed on the destination - // file system. Any changes to data on the source file system that occurred prior - // to this time were successfully replicated to the destination file system. Any + // The time when the most recent sync was successfully completed on the destination + // file system. Any changes to data on the source file system that occurred before + // this time have been successfully replicated to the destination file system. Any // changes that occurred after this time might not be fully replicated. LastReplicatedTimestamp *time.Time @@ -137,31 +140,31 @@ type Destination struct { // configuration. type DestinationToCreate struct { - // To create a file system that uses One Zone storage, specify the name of the + // To create a file system that uses EFS One Zone storage, specify the name of the // Availability Zone in which to create the destination file system. AvailabilityZoneName *string - // Specifies the KMS key you want to use to encrypt the destination file system. If - // you do not specify a KMS key, EFS uses your default KMS key for Amazon EFS, - // /aws/elasticfilesystem. This ID can be in one of the following formats: + // Specifies the Key Management Service (KMS) key that you want to use to encrypt + // the destination file system. If you do not specify a KMS key, Amazon EFS uses + // your default KMS key for Amazon EFS, /aws/elasticfilesystem. This ID can be in + // one of the following formats: // - // * Key - // ID - A unique identifier of the key, for example - // 1234abcd-12ab-34cd-56ef-1234567890ab. + // * Key ID - The unique identifier of the key, for + // example 1234abcd-12ab-34cd-56ef-1234567890ab. // - // * ARN - An Amazon Resource Name (ARN) for - // the key, for example + // * ARN - The Amazon Resource Name + // (ARN) for the key, for example // arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. // // * // Key alias - A previously created display name for a key, for example // alias/projectKey1. // - // * Key alias ARN - An ARN for a key alias, for example + // * Key alias ARN - The ARN for a key alias, for example // arn:aws:kms:us-west-2:444455556666:alias/projectKey1. KmsKeyId *string - // To create a file system that uses regional storage, specify the Amazon Web + // To create a file system that uses Regional storage, specify the Amazon Web // Services Region in which to create the destination file system. Region *string @@ -300,7 +303,7 @@ type FileSystemSize struct { noSmithyDocumentSerde } -// Describes a policy used by EFS lifecycle management and EFS intelligent tiering +// Describes a policy used by EFS lifecycle management and EFS Intelligent-Tiering // that specifies when to transition files into and out of the file system's // Infrequent Access (IA) storage class. For more information, see EFS // Intelligent‐Tiering and EFS Lifecycle Management @@ -308,7 +311,7 @@ type FileSystemSize struct { // using the put-lifecycle-configuration CLI command or the // PutLifecycleConfiguration API action, Amazon EFS requires that each // LifecyclePolicy object have only a single transition. This means that in a -// request body, LifecyclePolicies needs to be structured as an array of +// request body, LifecyclePolicies must be structured as an array of // LifecyclePolicy objects, one object for each transition, TransitionToIA, // TransitionToPrimaryStorageClass. For more information, see the request examples // in PutLifecycleConfiguration. @@ -407,7 +410,7 @@ type ReplicationConfigurationDescription struct { // This member is required. CreationTime *time.Time - // Array of destination objects. Only one destination object is supported. + // An array of destination objects. Only one destination object is supported. // // This member is required. Destinations []Destination @@ -418,7 +421,8 @@ type ReplicationConfigurationDescription struct { // This member is required. OriginalSourceFileSystemArn *string - // The ARN of the current source file system in the replication configuration. + // The Amazon Resource Name (ARN) of the current source file system in the + // replication configuration. // // This member is required. SourceFileSystemArn *string diff --git a/service/eks/internal/endpoints/endpoints.go b/service/eks/internal/endpoints/endpoints.go index 3f0a59f0f65..8c80309be7c 100644 --- a/service/eks/internal/endpoints/endpoints.go +++ b/service/eks/internal/endpoints/endpoints.go @@ -310,19 +310,24 @@ var defaultPartitions = endpoints.Partitions{ Variant: endpoints.FIPSVariant, }: { Hostname: "eks-fips.{region}.c2s.ic.gov", - Protocols: []string{"https"}, + Protocols: []string{"http", "https"}, SignatureVersions: []string{"v4"}, }, { Variant: 0, }: { Hostname: "eks.{region}.c2s.ic.gov", - Protocols: []string{"https"}, + Protocols: []string{"http", "https"}, SignatureVersions: []string{"v4"}, }, }, RegionRegex: partitionRegexp.AwsIso, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-iso-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso-b", @@ -331,19 +336,24 @@ var defaultPartitions = endpoints.Partitions{ Variant: endpoints.FIPSVariant, }: { Hostname: "eks-fips.{region}.sc2s.sgov.gov", - Protocols: []string{"https"}, + Protocols: []string{"http", "https"}, SignatureVersions: []string{"v4"}, }, { Variant: 0, }: { Hostname: "eks.{region}.sc2s.sgov.gov", - Protocols: []string{"https"}, + Protocols: []string{"http", "https"}, SignatureVersions: []string{"v4"}, }, }, RegionRegex: partitionRegexp.AwsIsoB, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-isob-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-us-gov", diff --git a/service/iottwinmaker/api_op_CreateComponentType.go b/service/iottwinmaker/api_op_CreateComponentType.go index d2855476704..fe4b866a28a 100644 --- a/service/iottwinmaker/api_op_CreateComponentType.go +++ b/service/iottwinmaker/api_op_CreateComponentType.go @@ -13,8 +13,7 @@ import ( "time" ) -// Creates a component type. TwinMaker is in public preview and is subject to -// change. +// Creates a component type. func (c *Client) CreateComponentType(ctx context.Context, params *CreateComponentTypeInput, optFns ...func(*Options)) (*CreateComponentTypeOutput, error) { if params == nil { params = &CreateComponentTypeInput{} diff --git a/service/iottwinmaker/api_op_GetPropertyValueHistory.go b/service/iottwinmaker/api_op_GetPropertyValueHistory.go index 5fb965a7caf..92c8fcc3323 100644 --- a/service/iottwinmaker/api_op_GetPropertyValueHistory.go +++ b/service/iottwinmaker/api_op_GetPropertyValueHistory.go @@ -34,21 +34,11 @@ func (c *Client) GetPropertyValueHistory(ctx context.Context, params *GetPropert type GetPropertyValueHistoryInput struct { - // The date and time of the latest property value to return. - // - // This member is required. - EndDateTime *time.Time - // A list of properties whose value histories the request retrieves. // // This member is required. SelectedProperties []string - // The date and time of the earliest property value to return. - // - // This member is required. - StartDateTime *time.Time - // The ID of the workspace. // // This member is required. @@ -60,6 +50,15 @@ type GetPropertyValueHistoryInput struct { // The ID of the component type. ComponentTypeId *string + // The date and time of the latest property value to return. + // + // Deprecated: This field is deprecated and will throw an error in the future. Use + // endTime instead. + EndDateTime *time.Time + + // Timestamp represented in ISO 8601 format + EndTime *string + // The ID of the entity. EntityId *string @@ -79,6 +78,15 @@ type GetPropertyValueHistoryInput struct { // A list of objects that filter the property value history request. PropertyFilters []types.PropertyFilter + // The date and time of the earliest property value to return. + // + // Deprecated: This field is deprecated and will throw an error in the future. Use + // startTime instead. + StartDateTime *time.Time + + // Timestamp represented in ISO 8601 format + StartTime *string + noSmithyDocumentSerde } diff --git a/service/iottwinmaker/deserializers.go b/service/iottwinmaker/deserializers.go index ff2a09871a6..7a12371bcaf 100644 --- a/service/iottwinmaker/deserializers.go +++ b/service/iottwinmaker/deserializers.go @@ -6613,6 +6613,15 @@ func awsRestjson1_deserializeDocumentPropertyValue(v **types.PropertyValue, valu for key, value := range shape { switch key { + case "time": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Time to be of type string, got %T instead", value) + } + sv.Time = ptr.String(jtv) + } + case "timestamp": if value != nil { switch jtv := value.(type) { diff --git a/service/iottwinmaker/doc.go b/service/iottwinmaker/doc.go index 717171bc2b0..dafba2f7778 100644 --- a/service/iottwinmaker/doc.go +++ b/service/iottwinmaker/doc.go @@ -3,10 +3,10 @@ // Package iottwinmaker provides the API client, operations, and parameter types // for AWS IoT TwinMaker. // -// TwinMaker is in public preview and is subject to change. IoT TwinMaker is a -// service that enables you to build operational digital twins of physical systems. -// IoT TwinMaker overlays measurements and analysis from real-world sensors, -// cameras, and enterprise applications so you can create data visualizations to -// monitor your physical factory, building, or industrial plant. You can use this -// real-world data to monitor operations and diagnose and repair errors. +// IoT TwinMaker is a service that enables you to build operational digital twins +// of physical systems. IoT TwinMaker overlays measurements and analysis from +// real-world sensors, cameras, and enterprise applications so you can create data +// visualizations to monitor your physical factory, building, or industrial plant. +// You can use this real-world data to monitor operations and diagnose and repair +// errors. package iottwinmaker diff --git a/service/iottwinmaker/serializers.go b/service/iottwinmaker/serializers.go index 415aa04373b..343a5042d0e 100644 --- a/service/iottwinmaker/serializers.go +++ b/service/iottwinmaker/serializers.go @@ -1118,6 +1118,11 @@ func awsRestjson1_serializeOpDocumentGetPropertyValueHistoryInput(v *GetProperty ok.Double(smithytime.FormatEpochSeconds(*v.EndDateTime)) } + if v.EndTime != nil { + ok := object.Key("endTime") + ok.String(*v.EndTime) + } + if v.EntityId != nil { ok := object.Key("entityId") ok.String(*v.EntityId) @@ -1164,6 +1169,11 @@ func awsRestjson1_serializeOpDocumentGetPropertyValueHistoryInput(v *GetProperty ok.Double(smithytime.FormatEpochSeconds(*v.StartDateTime)) } + if v.StartTime != nil { + ok := object.Key("startTime") + ok.String(*v.StartTime) + } + return nil } @@ -2691,6 +2701,10 @@ func awsRestjson1_serializeDocumentListEntitiesFilter(v types.ListEntitiesFilter av := object.Key("componentTypeId") av.String(uv.Value) + case *types.ListEntitiesFilterMemberExternalId: + av := object.Key("externalId") + av.String(uv.Value) + case *types.ListEntitiesFilterMemberParentEntityId: av := object.Key("parentEntityId") av.String(uv.Value) @@ -2878,6 +2892,11 @@ func awsRestjson1_serializeDocumentPropertyValue(v *types.PropertyValue, value s object := value.Object() defer object.Close() + if v.Time != nil { + ok := object.Key("time") + ok.String(*v.Time) + } + if v.Timestamp != nil { ok := object.Key("timestamp") ok.Double(smithytime.FormatEpochSeconds(*v.Timestamp)) diff --git a/service/iottwinmaker/types/enums.go b/service/iottwinmaker/types/enums.go index d805e172672..7aa9caad5db 100644 --- a/service/iottwinmaker/types/enums.go +++ b/service/iottwinmaker/types/enums.go @@ -98,6 +98,7 @@ type PropertyUpdateType string const ( PropertyUpdateTypeUpdate PropertyUpdateType = "UPDATE" PropertyUpdateTypeDelete PropertyUpdateType = "DELETE" + PropertyUpdateTypeCreate PropertyUpdateType = "CREATE" ) // Values returns all known values for PropertyUpdateType. Note that this can be @@ -107,6 +108,7 @@ func (PropertyUpdateType) Values() []PropertyUpdateType { return []PropertyUpdateType{ "UPDATE", "DELETE", + "CREATE", } } diff --git a/service/iottwinmaker/types/types.go b/service/iottwinmaker/types/types.go index ed29f1812dd..e1d79f7de05 100644 --- a/service/iottwinmaker/types/types.go +++ b/service/iottwinmaker/types/types.go @@ -138,7 +138,7 @@ type ComponentUpdateRequest struct { // The data connector. type DataConnector struct { - // A Boolean value that specifies whether the data connector is native to + // A Boolean value that specifies whether the data connector is native to IoT // TwinMaker. IsNative *bool @@ -380,6 +380,7 @@ func (*ListComponentTypesFilterMemberNamespace) isListComponentTypesFilter() {} // // The following types satisfy this interface: // ListEntitiesFilterMemberComponentTypeId +// ListEntitiesFilterMemberExternalId // ListEntitiesFilterMemberParentEntityId type ListEntitiesFilter interface { isListEntitiesFilter() @@ -394,6 +395,16 @@ type ListEntitiesFilterMemberComponentTypeId struct { func (*ListEntitiesFilterMemberComponentTypeId) isListEntitiesFilter() {} +// The external-Id property of a component. The external-Id property is the primary +// key of an external storage system. +type ListEntitiesFilterMemberExternalId struct { + Value string + + noSmithyDocumentSerde +} + +func (*ListEntitiesFilterMemberExternalId) isListEntitiesFilter() {} + // The parent of the entities in the list. type ListEntitiesFilterMemberParentEntityId struct { Value string @@ -562,16 +573,20 @@ type PropertyResponse struct { // An object that contains information about a value for a time series property. type PropertyValue struct { - // The timestamp of a value for a time series property. - // - // This member is required. - Timestamp *time.Time - // An object that specifies a value for a time series property. // // This member is required. Value *DataValue + // Timestamp represented in ISO 8601 format + Time *string + + // The timestamp of a value for a time series property. + // + // Deprecated: This field is deprecated and will throw an error in the future. Use + // time instead. + Timestamp *time.Time + noSmithyDocumentSerde } diff --git a/service/iottwinmaker/types/types_exported_test.go b/service/iottwinmaker/types/types_exported_test.go index ed5f1ad4390..436c01e8faf 100644 --- a/service/iottwinmaker/types/types_exported_test.go +++ b/service/iottwinmaker/types/types_exported_test.go @@ -40,6 +40,9 @@ func ExampleListEntitiesFilter_outputUsage() { case *types.ListEntitiesFilterMemberComponentTypeId: _ = v.Value // Value is string + case *types.ListEntitiesFilterMemberExternalId: + _ = v.Value // Value is string + case *types.ListEntitiesFilterMemberParentEntityId: _ = v.Value // Value is string @@ -54,3 +57,4 @@ func ExampleListEntitiesFilter_outputUsage() { var _ *string var _ *string +var _ *string diff --git a/service/iottwinmaker/validators.go b/service/iottwinmaker/validators.go index f22358f2c42..ff8a0109d9f 100644 --- a/service/iottwinmaker/validators.go +++ b/service/iottwinmaker/validators.go @@ -889,9 +889,6 @@ func validatePropertyValue(v *types.PropertyValue) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "PropertyValue"} - if v.Timestamp == nil { - invalidParams.Add(smithy.NewErrParamRequired("Timestamp")) - } if v.Value == nil { invalidParams.Add(smithy.NewErrParamRequired("Value")) } @@ -1174,12 +1171,6 @@ func validateOpGetPropertyValueHistoryInput(v *GetPropertyValueHistoryInput) err if v.SelectedProperties == nil { invalidParams.Add(smithy.NewErrParamRequired("SelectedProperties")) } - if v.StartDateTime == nil { - invalidParams.Add(smithy.NewErrParamRequired("StartDateTime")) - } - if v.EndDateTime == nil { - invalidParams.Add(smithy.NewErrParamRequired("EndDateTime")) - } if invalidParams.Len() > 0 { return invalidParams } else {