From 34444ff423434650dab3645f7d540b186c18c6a5 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Tue, 9 May 2023 18:15:47 +0000 Subject: [PATCH] Regenerated Clients --- .../004484bcdd4a426fa58d6030592683d9.json | 8 + .../61a086d0e39b40ad801c2725cc918b95.json | 8 + .../624d3829be8548e68f098bc815a51ee5.json | 8 + .../attributevalue/go_module_metadata.go | 2 +- service/amp/internal/endpoints/endpoints.go | 12 + .../api_op_DeleteScalingPolicy.go | 5 + .../api_op_DeleteScheduledAction.go | 5 + .../api_op_DeregisterScalableTarget.go | 5 + .../api_op_DescribeScalableTargets.go | 5 + .../api_op_DescribeScalingActivities.go | 5 + .../api_op_DescribeScalingPolicies.go | 5 + .../api_op_DescribeScheduledActions.go | 5 + .../api_op_PutScalingPolicy.go | 5 + .../api_op_PutScheduledAction.go | 5 + .../api_op_RegisterScalableTarget.go | 6 + .../api_op_TagResource.go | 14 +- service/applicationautoscaling/doc.go | 1 + service/applicationautoscaling/types/enums.go | 4 + service/applicationautoscaling/types/types.go | 23 + service/glue/deserializers.go | 514 ++++++++++++++++++ service/glue/serializers.go | 286 ++++++++++ service/glue/types/types.go | 157 ++++++ service/glue/validators.go | 5 + service/sagemaker/api_op_CreateDomain.go | 4 +- service/sagemaker/api_op_UpdateDomain.go | 4 +- service/sagemaker/deserializers.go | 13 + service/sagemaker/serializers.go | 29 + service/sagemaker/types/types.go | 26 +- 28 files changed, 1158 insertions(+), 11 deletions(-) create mode 100644 .changelog/004484bcdd4a426fa58d6030592683d9.json create mode 100644 .changelog/61a086d0e39b40ad801c2725cc918b95.json create mode 100644 .changelog/624d3829be8548e68f098bc815a51ee5.json diff --git a/.changelog/004484bcdd4a426fa58d6030592683d9.json b/.changelog/004484bcdd4a426fa58d6030592683d9.json new file mode 100644 index 00000000000..2e352e3c8c8 --- /dev/null +++ b/.changelog/004484bcdd4a426fa58d6030592683d9.json @@ -0,0 +1,8 @@ +{ + "id": "004484bc-dd4a-426f-a58d-6030592683d9", + "type": "feature", + "description": "This release adds AmazonRedshift Source and Target nodes in addition to DynamicTransform OutputSchemas", + "modules": [ + "service/glue" + ] +} \ No newline at end of file diff --git a/.changelog/61a086d0e39b40ad801c2725cc918b95.json b/.changelog/61a086d0e39b40ad801c2725cc918b95.json new file mode 100644 index 00000000000..d0f375e011a --- /dev/null +++ b/.changelog/61a086d0e39b40ad801c2725cc918b95.json @@ -0,0 +1,8 @@ +{ + "id": "61a086d0-e39b-40ad-801c-2725cc918b95", + "type": "feature", + "description": "With this release, Amazon SageMaker Serverless Inference customers can use Application Auto Scaling to auto scale the provisioned concurrency of their serverless endpoints.", + "modules": [ + "service/applicationautoscaling" + ] +} \ No newline at end of file diff --git a/.changelog/624d3829be8548e68f098bc815a51ee5.json b/.changelog/624d3829be8548e68f098bc815a51ee5.json new file mode 100644 index 00000000000..899c12ea8c8 --- /dev/null +++ b/.changelog/624d3829be8548e68f098bc815a51ee5.json @@ -0,0 +1,8 @@ +{ + "id": "624d3829-be85-48e6-8f09-8bc815a51ee5", + "type": "feature", + "description": "This release includes support for (1) Provisioned Concurrency for Amazon SageMaker Serverless Inference and (2) UpdateEndpointWeightsAndCapacities API for Serverless endpoints.", + "modules": [ + "service/sagemaker" + ] +} \ No newline at end of file diff --git a/feature/dynamodbstreams/attributevalue/go_module_metadata.go b/feature/dynamodbstreams/attributevalue/go_module_metadata.go index ac35f371afd..e34c3dbad97 100644 --- a/feature/dynamodbstreams/attributevalue/go_module_metadata.go +++ b/feature/dynamodbstreams/attributevalue/go_module_metadata.go @@ -3,4 +3,4 @@ package attributevalue // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.10.24" +const goModuleVersion = "1.10.25" diff --git a/service/amp/internal/endpoints/endpoints.go b/service/amp/internal/endpoints/endpoints.go index 05f9935d713..7d60489ec97 100644 --- a/service/amp/internal/endpoints/endpoints.go +++ b/service/amp/internal/endpoints/endpoints.go @@ -140,6 +140,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-northeast-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ap-southeast-1", }: endpoints.Endpoint{}, @@ -158,6 +164,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "eu-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "sa-east-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "us-east-1", }: endpoints.Endpoint{}, diff --git a/service/applicationautoscaling/api_op_DeleteScalingPolicy.go b/service/applicationautoscaling/api_op_DeleteScalingPolicy.go index 76626e0d5bb..0bf588bc56d 100644 --- a/service/applicationautoscaling/api_op_DeleteScalingPolicy.go +++ b/service/applicationautoscaling/api_op_DeleteScalingPolicy.go @@ -88,6 +88,9 @@ type DeleteScalingPolicyInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -133,6 +136,8 @@ type DeleteScalingPolicyInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension types.ScalableDimension diff --git a/service/applicationautoscaling/api_op_DeleteScheduledAction.go b/service/applicationautoscaling/api_op_DeleteScheduledAction.go index aa783a4aab1..f873776bbd0 100644 --- a/service/applicationautoscaling/api_op_DeleteScheduledAction.go +++ b/service/applicationautoscaling/api_op_DeleteScheduledAction.go @@ -79,6 +79,9 @@ type DeleteScheduledActionInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -124,6 +127,8 @@ type DeleteScheduledActionInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension types.ScalableDimension diff --git a/service/applicationautoscaling/api_op_DeregisterScalableTarget.go b/service/applicationautoscaling/api_op_DeregisterScalableTarget.go index cb41f5b8415..eed90ed4756 100644 --- a/service/applicationautoscaling/api_op_DeregisterScalableTarget.go +++ b/service/applicationautoscaling/api_op_DeregisterScalableTarget.go @@ -81,6 +81,9 @@ type DeregisterScalableTargetInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -126,6 +129,8 @@ type DeregisterScalableTargetInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension types.ScalableDimension diff --git a/service/applicationautoscaling/api_op_DescribeScalableTargets.go b/service/applicationautoscaling/api_op_DescribeScalableTargets.go index 63b4bb9491f..c2e61480806 100644 --- a/service/applicationautoscaling/api_op_DescribeScalableTargets.go +++ b/service/applicationautoscaling/api_op_DescribeScalableTargets.go @@ -97,6 +97,9 @@ type DescribeScalableTargetsInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . ResourceIds []string // The scalable dimension associated with the scalable target. This string @@ -141,6 +144,8 @@ type DescribeScalableTargetsInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. ScalableDimension types.ScalableDimension noSmithyDocumentSerde diff --git a/service/applicationautoscaling/api_op_DescribeScalingActivities.go b/service/applicationautoscaling/api_op_DescribeScalingActivities.go index 45dadfc4ae4..dfd3908032e 100644 --- a/service/applicationautoscaling/api_op_DescribeScalingActivities.go +++ b/service/applicationautoscaling/api_op_DescribeScalingActivities.go @@ -109,6 +109,9 @@ type DescribeScalingActivitiesInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . ResourceId *string // The scalable dimension. This string consists of the service namespace, resource @@ -153,6 +156,8 @@ type DescribeScalingActivitiesInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. ScalableDimension types.ScalableDimension noSmithyDocumentSerde diff --git a/service/applicationautoscaling/api_op_DescribeScalingPolicies.go b/service/applicationautoscaling/api_op_DescribeScalingPolicies.go index 064ef601b24..f4389ad35ba 100644 --- a/service/applicationautoscaling/api_op_DescribeScalingPolicies.go +++ b/service/applicationautoscaling/api_op_DescribeScalingPolicies.go @@ -104,6 +104,9 @@ type DescribeScalingPoliciesInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . ResourceId *string // The scalable dimension. This string consists of the service namespace, resource @@ -148,6 +151,8 @@ type DescribeScalingPoliciesInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. ScalableDimension types.ScalableDimension noSmithyDocumentSerde diff --git a/service/applicationautoscaling/api_op_DescribeScheduledActions.go b/service/applicationautoscaling/api_op_DescribeScheduledActions.go index b3ef3e0b7bb..0f59c308ffb 100644 --- a/service/applicationautoscaling/api_op_DescribeScheduledActions.go +++ b/service/applicationautoscaling/api_op_DescribeScheduledActions.go @@ -101,6 +101,9 @@ type DescribeScheduledActionsInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . ResourceId *string // The scalable dimension. This string consists of the service namespace, resource @@ -145,6 +148,8 @@ type DescribeScheduledActionsInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. ScalableDimension types.ScalableDimension // The names of the scheduled actions to describe. diff --git a/service/applicationautoscaling/api_op_PutScalingPolicy.go b/service/applicationautoscaling/api_op_PutScalingPolicy.go index d9a81817400..0fb40a06ae0 100644 --- a/service/applicationautoscaling/api_op_PutScalingPolicy.go +++ b/service/applicationautoscaling/api_op_PutScalingPolicy.go @@ -109,6 +109,9 @@ type PutScalingPolicyInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -154,6 +157,8 @@ type PutScalingPolicyInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension types.ScalableDimension diff --git a/service/applicationautoscaling/api_op_PutScheduledAction.go b/service/applicationautoscaling/api_op_PutScheduledAction.go index ca54bb5f104..099336bc3fe 100644 --- a/service/applicationautoscaling/api_op_PutScheduledAction.go +++ b/service/applicationautoscaling/api_op_PutScheduledAction.go @@ -91,6 +91,9 @@ type PutScheduledActionInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -136,6 +139,8 @@ type PutScheduledActionInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension types.ScalableDimension diff --git a/service/applicationautoscaling/api_op_RegisterScalableTarget.go b/service/applicationautoscaling/api_op_RegisterScalableTarget.go index 614f77244ef..0dd4f50aa27 100644 --- a/service/applicationautoscaling/api_op_RegisterScalableTarget.go +++ b/service/applicationautoscaling/api_op_RegisterScalableTarget.go @@ -109,6 +109,9 @@ type RegisterScalableTargetInput struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -154,6 +157,8 @@ type RegisterScalableTargetInput struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension types.ScalableDimension @@ -187,6 +192,7 @@ type RegisterScalableTargetInput struct { // - ECS services // - EMR clusters // - Lambda provisioned concurrency + // - SageMaker Serverless endpoint provisioned concurrency // - SageMaker endpoint variants // - Spot Fleets // - custom resources diff --git a/service/applicationautoscaling/api_op_TagResource.go b/service/applicationautoscaling/api_op_TagResource.go index 8efab18e2ee..0cc00029382 100644 --- a/service/applicationautoscaling/api_op_TagResource.go +++ b/service/applicationautoscaling/api_op_TagResource.go @@ -48,13 +48,13 @@ type TagResourceInput struct { // This member is required. ResourceARN *string - // The tags assigned to the resource. A tag is a label that you assign to an AWS - // resource. Each tag consists of a tag key and a tag value. You cannot have more - // than one tag on an Application Auto Scaling scalable target with the same tag - // key. If you specify an existing tag key with a different tag value, Application - // Auto Scaling replaces the current tag value with the specified one. For - // information about the rules that apply to tag keys and tag values, see - // User-defined tag restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) + // The tags assigned to the resource. A tag is a label that you assign to an + // Amazon Web Services resource. Each tag consists of a tag key and a tag value. + // You cannot have more than one tag on an Application Auto Scaling scalable target + // with the same tag key. If you specify an existing tag key with a different tag + // value, Application Auto Scaling replaces the current tag value with the + // specified one. For information about the rules that apply to tag keys and tag + // values, see User-defined tag restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) // in the Amazon Web Services Billing and Cost Management User Guide. // // This member is required. diff --git a/service/applicationautoscaling/doc.go b/service/applicationautoscaling/doc.go index 7f6b68584db..d57a1ff4561 100644 --- a/service/applicationautoscaling/doc.go +++ b/service/applicationautoscaling/doc.go @@ -16,6 +16,7 @@ // - Lambda function provisioned concurrency // - Amazon Managed Streaming for Apache Kafka broker storage // - Amazon Neptune clusters +// - Amazon SageMaker Serverless endpoint provisioned concurrency // - Amazon SageMaker endpoint variants // - Spot Fleets (Amazon EC2) // - Custom resources provided by your own applications or services diff --git a/service/applicationautoscaling/types/enums.go b/service/applicationautoscaling/types/enums.go index c37fc547957..7c86a9450dd 100644 --- a/service/applicationautoscaling/types/enums.go +++ b/service/applicationautoscaling/types/enums.go @@ -91,6 +91,7 @@ const ( MetricTypeElastiCacheReplicaEngineCPUUtilization MetricType = "ElastiCacheReplicaEngineCPUUtilization" MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage MetricType = "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage" MetricTypeNeptuneReaderAverageCPUUtilization MetricType = "NeptuneReaderAverageCPUUtilization" + MetricTypeSageMakerVariantProvisionedConcurrencyUtilization MetricType = "SageMakerVariantProvisionedConcurrencyUtilization" ) // Values returns all known values for MetricType. Note that this can be expanded @@ -119,6 +120,7 @@ func (MetricType) Values() []MetricType { "ElastiCacheReplicaEngineCPUUtilization", "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage", "NeptuneReaderAverageCPUUtilization", + "SageMakerVariantProvisionedConcurrencyUtilization", } } @@ -164,6 +166,7 @@ const ( ScalableDimensionElastiCacheReplicationGroupNodeGroups ScalableDimension = "elasticache:replication-group:NodeGroups" ScalableDimensionElastiCacheReplicationGroupReplicas ScalableDimension = "elasticache:replication-group:Replicas" ScalableDimensionNeptuneClusterReadReplicaCount ScalableDimension = "neptune:cluster:ReadReplicaCount" + ScalableDimensionSageMakerVariantDesiredProvisionedConcurrency ScalableDimension = "sagemaker:variant:DesiredProvisionedConcurrency" ) // Values returns all known values for ScalableDimension. Note that this can be @@ -191,6 +194,7 @@ func (ScalableDimension) Values() []ScalableDimension { "elasticache:replication-group:NodeGroups", "elasticache:replication-group:Replicas", "neptune:cluster:ReadReplicaCount", + "sagemaker:variant:DesiredProvisionedConcurrency", } } diff --git a/service/applicationautoscaling/types/types.go b/service/applicationautoscaling/types/types.go index 5ea7b8a8412..06c3a3f37ee 100644 --- a/service/applicationautoscaling/types/types.go +++ b/service/applicationautoscaling/types/types.go @@ -216,6 +216,9 @@ type ScalableTarget struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -267,6 +270,8 @@ type ScalableTarget struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension ScalableDimension @@ -373,6 +378,9 @@ type ScalingActivity struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -418,6 +426,8 @@ type ScalingActivity struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension ScalableDimension @@ -532,6 +542,9 @@ type ScalingPolicy struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -577,6 +590,8 @@ type ScalingPolicy struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. // // This member is required. ScalableDimension ScalableDimension @@ -655,6 +670,9 @@ type ScheduledAction struct { // Example: replication-group/mycluster . // - Neptune cluster - The resource type is cluster and the unique identifier is // the cluster name. Example: cluster:mycluster . + // - SageMaker Serverless endpoint - The resource type is variant and the unique + // identifier is the resource ID. Example: + // endpoint/my-end-point/variant/KMeansClustering . // // This member is required. ResourceId *string @@ -737,6 +755,8 @@ type ScheduledAction struct { // group for an Amazon ElastiCache replication group. // - neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon // Neptune DB cluster. + // - sagemaker:variant:DesiredProvisionedConcurrency - The provisioned + // concurrency for a SageMaker Serverless endpoint. ScalableDimension ScalableDimension // The new minimum and maximum capacity. You can set both values or just one. At @@ -840,6 +860,7 @@ type StepScalingPolicyConfiguration struct { // - ECS services // - EMR clusters // - Neptune clusters + // - SageMaker Serverless endpoint provisioned concurrency // - SageMaker endpoint variants // - Spot Fleets // - Custom resources @@ -1058,6 +1079,7 @@ type TargetTrackingScalingPolicyConfiguration struct { // - ECS services // - EMR clusters // - Neptune clusters + // - SageMaker Serverless endpoint provisioned concurrency // - SageMaker endpoint variants // - Spot Fleets // - Custom resources @@ -1085,6 +1107,7 @@ type TargetTrackingScalingPolicyConfiguration struct { // - ECS services // - EMR clusters // - Neptune clusters + // - SageMaker Serverless endpoint provisioned concurrency // - SageMaker endpoint variants // - Spot Fleets // - Custom resources diff --git a/service/glue/deserializers.go b/service/glue/deserializers.go index b5ff5901642..ca1bd9a551a 100644 --- a/service/glue/deserializers.go +++ b/service/glue/deserializers.go @@ -26106,6 +26106,413 @@ func awsAwsjson11_deserializeDocumentAlreadyExistsException(v **types.AlreadyExi return nil } +func awsAwsjson11_deserializeDocumentAmazonRedshiftAdvancedOption(v **types.AmazonRedshiftAdvancedOption, 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.AmazonRedshiftAdvancedOption + if *v == nil { + sv = &types.AmazonRedshiftAdvancedOption{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Key": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.Key = ptr.String(jtv) + } + + case "Value": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.Value = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAmazonRedshiftAdvancedOptions(v *[]types.AmazonRedshiftAdvancedOption, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.AmazonRedshiftAdvancedOption + if *v == nil { + cv = []types.AmazonRedshiftAdvancedOption{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.AmazonRedshiftAdvancedOption + destAddr := &col + if err := awsAwsjson11_deserializeDocumentAmazonRedshiftAdvancedOption(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentAmazonRedshiftNodeData(v **types.AmazonRedshiftNodeData, 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.AmazonRedshiftNodeData + if *v == nil { + sv = &types.AmazonRedshiftNodeData{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AccessType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericLimitedString to be of type string, got %T instead", value) + } + sv.AccessType = ptr.String(jtv) + } + + case "Action": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.Action = ptr.String(jtv) + } + + case "AdvancedOptions": + if err := awsAwsjson11_deserializeDocumentAmazonRedshiftAdvancedOptions(&sv.AdvancedOptions, value); err != nil { + return err + } + + case "CatalogDatabase": + if err := awsAwsjson11_deserializeDocumentOption(&sv.CatalogDatabase, value); err != nil { + return err + } + + case "CatalogRedshiftSchema": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.CatalogRedshiftSchema = ptr.String(jtv) + } + + case "CatalogRedshiftTable": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.CatalogRedshiftTable = ptr.String(jtv) + } + + case "CatalogTable": + if err := awsAwsjson11_deserializeDocumentOption(&sv.CatalogTable, value); err != nil { + return err + } + + case "Connection": + if err := awsAwsjson11_deserializeDocumentOption(&sv.Connection, value); err != nil { + return err + } + + case "CrawlerConnection": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.CrawlerConnection = ptr.String(jtv) + } + + case "IamRole": + if err := awsAwsjson11_deserializeDocumentOption(&sv.IamRole, value); err != nil { + return err + } + + case "MergeAction": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericLimitedString to be of type string, got %T instead", value) + } + sv.MergeAction = ptr.String(jtv) + } + + case "MergeClause": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.MergeClause = ptr.String(jtv) + } + + case "MergeWhenMatched": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericLimitedString to be of type string, got %T instead", value) + } + sv.MergeWhenMatched = ptr.String(jtv) + } + + case "MergeWhenNotMatched": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericLimitedString to be of type string, got %T instead", value) + } + sv.MergeWhenNotMatched = ptr.String(jtv) + } + + case "PostAction": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.PostAction = ptr.String(jtv) + } + + case "PreAction": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.PreAction = ptr.String(jtv) + } + + case "SampleQuery": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.SampleQuery = ptr.String(jtv) + } + + case "Schema": + if err := awsAwsjson11_deserializeDocumentOption(&sv.Schema, value); err != nil { + return err + } + + case "SelectedColumns": + if err := awsAwsjson11_deserializeDocumentOptionList(&sv.SelectedColumns, value); err != nil { + return err + } + + case "SourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericLimitedString to be of type string, got %T instead", value) + } + sv.SourceType = ptr.String(jtv) + } + + case "StagingTable": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.StagingTable = ptr.String(jtv) + } + + case "Table": + if err := awsAwsjson11_deserializeDocumentOption(&sv.Table, value); err != nil { + return err + } + + case "TablePrefix": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericLimitedString to be of type string, got %T instead", value) + } + sv.TablePrefix = ptr.String(jtv) + } + + case "TableSchema": + if err := awsAwsjson11_deserializeDocumentOptionList(&sv.TableSchema, value); err != nil { + return err + } + + case "TempDir": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EnclosedInStringProperty to be of type string, got %T instead", value) + } + sv.TempDir = ptr.String(jtv) + } + + case "Upsert": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected BooleanValue to be of type *bool, got %T instead", value) + } + sv.Upsert = jtv + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAmazonRedshiftSource(v **types.AmazonRedshiftSource, 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.AmazonRedshiftSource + if *v == nil { + sv = &types.AmazonRedshiftSource{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Data": + if err := awsAwsjson11_deserializeDocumentAmazonRedshiftNodeData(&sv.Data, value); err != nil { + return err + } + + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NodeName to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentAmazonRedshiftTarget(v **types.AmazonRedshiftTarget, 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.AmazonRedshiftTarget + if *v == nil { + sv = &types.AmazonRedshiftTarget{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Data": + if err := awsAwsjson11_deserializeDocumentAmazonRedshiftNodeData(&sv.Data, value); err != nil { + return err + } + + case "Inputs": + if err := awsAwsjson11_deserializeDocumentOneInput(&sv.Inputs, value); err != nil { + return err + } + + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NodeName to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentApplyMapping(v **types.ApplyMapping, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -28145,6 +28552,16 @@ func awsAwsjson11_deserializeDocumentCodeGenConfigurationNode(v **types.CodeGenC return err } + case "AmazonRedshiftSource": + if err := awsAwsjson11_deserializeDocumentAmazonRedshiftSource(&sv.AmazonRedshiftSource, value); err != nil { + return err + } + + case "AmazonRedshiftTarget": + if err := awsAwsjson11_deserializeDocumentAmazonRedshiftTarget(&sv.AmazonRedshiftTarget, value); err != nil { + return err + } + case "ApplyMapping": if err := awsAwsjson11_deserializeDocumentApplyMapping(&sv.ApplyMapping, value); err != nil { return err @@ -34246,6 +34663,11 @@ func awsAwsjson11_deserializeDocumentDynamicTransform(v **types.DynamicTransform sv.Name = ptr.String(jtv) } + case "OutputSchemas": + if err := awsAwsjson11_deserializeDocumentGlueSchemas(&sv.OutputSchemas, value); err != nil { + return err + } + case "Parameters": if err := awsAwsjson11_deserializeDocumentTransformConfigParameterList(&sv.Parameters, value); err != nil { return err @@ -41504,6 +41926,98 @@ func awsAwsjson11_deserializeDocumentOperationTimeoutException(v **types.Operati return nil } +func awsAwsjson11_deserializeDocumentOption(v **types.Option, 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.Option + if *v == nil { + sv = &types.Option{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EnclosedInStringProperty to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "Label": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EnclosedInStringProperty to be of type string, got %T instead", value) + } + sv.Label = ptr.String(jtv) + } + + case "Value": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EnclosedInStringProperty to be of type string, got %T instead", value) + } + sv.Value = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentOptionList(v *[]types.Option, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Option + if *v == nil { + cv = []types.Option{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Option + destAddr := &col + if err := awsAwsjson11_deserializeDocumentOption(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentOracleSQLCatalogSource(v **types.OracleSQLCatalogSource, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/glue/serializers.go b/service/glue/serializers.go index d9e7ef7bb19..bed86d3d935 100644 --- a/service/glue/serializers.go +++ b/service/glue/serializers.go @@ -11267,6 +11267,236 @@ func awsAwsjson11_serializeDocumentAggregateOperations(v []types.AggregateOperat return nil } +func awsAwsjson11_serializeDocumentAmazonRedshiftAdvancedOption(v *types.AmazonRedshiftAdvancedOption, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Key != nil { + ok := object.Key("Key") + ok.String(*v.Key) + } + + if v.Value != nil { + ok := object.Key("Value") + ok.String(*v.Value) + } + + return nil +} + +func awsAwsjson11_serializeDocumentAmazonRedshiftAdvancedOptions(v []types.AmazonRedshiftAdvancedOption, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentAmazonRedshiftAdvancedOption(&v[i], av); err != nil { + return err + } + } + return nil +} + +func awsAwsjson11_serializeDocumentAmazonRedshiftNodeData(v *types.AmazonRedshiftNodeData, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AccessType != nil { + ok := object.Key("AccessType") + ok.String(*v.AccessType) + } + + if v.Action != nil { + ok := object.Key("Action") + ok.String(*v.Action) + } + + if v.AdvancedOptions != nil { + ok := object.Key("AdvancedOptions") + if err := awsAwsjson11_serializeDocumentAmazonRedshiftAdvancedOptions(v.AdvancedOptions, ok); err != nil { + return err + } + } + + if v.CatalogDatabase != nil { + ok := object.Key("CatalogDatabase") + if err := awsAwsjson11_serializeDocumentOption(v.CatalogDatabase, ok); err != nil { + return err + } + } + + if v.CatalogRedshiftSchema != nil { + ok := object.Key("CatalogRedshiftSchema") + ok.String(*v.CatalogRedshiftSchema) + } + + if v.CatalogRedshiftTable != nil { + ok := object.Key("CatalogRedshiftTable") + ok.String(*v.CatalogRedshiftTable) + } + + if v.CatalogTable != nil { + ok := object.Key("CatalogTable") + if err := awsAwsjson11_serializeDocumentOption(v.CatalogTable, ok); err != nil { + return err + } + } + + if v.Connection != nil { + ok := object.Key("Connection") + if err := awsAwsjson11_serializeDocumentOption(v.Connection, ok); err != nil { + return err + } + } + + if v.CrawlerConnection != nil { + ok := object.Key("CrawlerConnection") + ok.String(*v.CrawlerConnection) + } + + if v.IamRole != nil { + ok := object.Key("IamRole") + if err := awsAwsjson11_serializeDocumentOption(v.IamRole, ok); err != nil { + return err + } + } + + if v.MergeAction != nil { + ok := object.Key("MergeAction") + ok.String(*v.MergeAction) + } + + if v.MergeClause != nil { + ok := object.Key("MergeClause") + ok.String(*v.MergeClause) + } + + if v.MergeWhenMatched != nil { + ok := object.Key("MergeWhenMatched") + ok.String(*v.MergeWhenMatched) + } + + if v.MergeWhenNotMatched != nil { + ok := object.Key("MergeWhenNotMatched") + ok.String(*v.MergeWhenNotMatched) + } + + if v.PostAction != nil { + ok := object.Key("PostAction") + ok.String(*v.PostAction) + } + + if v.PreAction != nil { + ok := object.Key("PreAction") + ok.String(*v.PreAction) + } + + if v.SampleQuery != nil { + ok := object.Key("SampleQuery") + ok.String(*v.SampleQuery) + } + + if v.Schema != nil { + ok := object.Key("Schema") + if err := awsAwsjson11_serializeDocumentOption(v.Schema, ok); err != nil { + return err + } + } + + if v.SelectedColumns != nil { + ok := object.Key("SelectedColumns") + if err := awsAwsjson11_serializeDocumentOptionList(v.SelectedColumns, ok); err != nil { + return err + } + } + + if v.SourceType != nil { + ok := object.Key("SourceType") + ok.String(*v.SourceType) + } + + if v.StagingTable != nil { + ok := object.Key("StagingTable") + ok.String(*v.StagingTable) + } + + if v.Table != nil { + ok := object.Key("Table") + if err := awsAwsjson11_serializeDocumentOption(v.Table, ok); err != nil { + return err + } + } + + if v.TablePrefix != nil { + ok := object.Key("TablePrefix") + ok.String(*v.TablePrefix) + } + + if v.TableSchema != nil { + ok := object.Key("TableSchema") + if err := awsAwsjson11_serializeDocumentOptionList(v.TableSchema, ok); err != nil { + return err + } + } + + if v.TempDir != nil { + ok := object.Key("TempDir") + ok.String(*v.TempDir) + } + + if v.Upsert { + ok := object.Key("Upsert") + ok.Boolean(v.Upsert) + } + + return nil +} + +func awsAwsjson11_serializeDocumentAmazonRedshiftSource(v *types.AmazonRedshiftSource, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Data != nil { + ok := object.Key("Data") + if err := awsAwsjson11_serializeDocumentAmazonRedshiftNodeData(v.Data, ok); err != nil { + return err + } + } + + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + + return nil +} + +func awsAwsjson11_serializeDocumentAmazonRedshiftTarget(v *types.AmazonRedshiftTarget, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Data != nil { + ok := object.Key("Data") + if err := awsAwsjson11_serializeDocumentAmazonRedshiftNodeData(v.Data, ok); err != nil { + return err + } + } + + if v.Inputs != nil { + ok := object.Key("Inputs") + if err := awsAwsjson11_serializeDocumentOneInput(v.Inputs, ok); err != nil { + return err + } + } + + if v.Name != nil { + ok := object.Key("Name") + ok.String(*v.Name) + } + + return nil +} + func awsAwsjson11_serializeDocumentApplyMapping(v *types.ApplyMapping, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -11903,6 +12133,20 @@ func awsAwsjson11_serializeDocumentCodeGenConfigurationNode(v *types.CodeGenConf } } + if v.AmazonRedshiftSource != nil { + ok := object.Key("AmazonRedshiftSource") + if err := awsAwsjson11_serializeDocumentAmazonRedshiftSource(v.AmazonRedshiftSource, ok); err != nil { + return err + } + } + + if v.AmazonRedshiftTarget != nil { + ok := object.Key("AmazonRedshiftTarget") + if err := awsAwsjson11_serializeDocumentAmazonRedshiftTarget(v.AmazonRedshiftTarget, ok); err != nil { + return err + } + } + if v.ApplyMapping != nil { ok := object.Key("ApplyMapping") if err := awsAwsjson11_serializeDocumentApplyMapping(v.ApplyMapping, ok); err != nil { @@ -13828,6 +14072,13 @@ func awsAwsjson11_serializeDocumentDynamicTransform(v *types.DynamicTransform, v ok.String(*v.Name) } + if v.OutputSchemas != nil { + ok := object.Key("OutputSchemas") + if err := awsAwsjson11_serializeDocumentGlueSchemas(v.OutputSchemas, ok); err != nil { + return err + } + } + if v.Parameters != nil { ok := object.Key("Parameters") if err := awsAwsjson11_serializeDocumentTransformConfigParameterList(v.Parameters, ok); err != nil { @@ -15779,6 +16030,41 @@ func awsAwsjson11_serializeDocumentOneInput(v []string, value smithyjson.Value) return nil } +func awsAwsjson11_serializeDocumentOption(v *types.Option, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Description != nil { + ok := object.Key("Description") + ok.String(*v.Description) + } + + if v.Label != nil { + ok := object.Key("Label") + ok.String(*v.Label) + } + + if v.Value != nil { + ok := object.Key("Value") + ok.String(*v.Value) + } + + return nil +} + +func awsAwsjson11_serializeDocumentOptionList(v []types.Option, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentOption(&v[i], av); err != nil { + return err + } + } + return nil +} + func awsAwsjson11_serializeDocumentOracleSQLCatalogSource(v *types.OracleSQLCatalogSource, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/glue/types/types.go b/service/glue/types/types.go index 9d684549bef..e9ee6406987 100644 --- a/service/glue/types/types.go +++ b/service/glue/types/types.go @@ -88,6 +88,139 @@ type AggregateOperation struct { noSmithyDocumentSerde } +// Specifies an Amazon Redshift data store. +type AmazonRedshiftAdvancedOption struct { + + // The key when specifying a key-value pair. + Key *string + + // The value when specifying a key-value pair. + Value *string + + noSmithyDocumentSerde +} + +// Specifies an Amazon Redshift node. +type AmazonRedshiftNodeData struct { + + // The access type for the Redshift connection. Can be a direct connection or + // catalog connections. + AccessType *string + + // Specifies how writing to a Redshift cluser will occur. + Action *string + + // Optional values when connecting to the Redshift cluster. + AdvancedOptions []AmazonRedshiftAdvancedOption + + // The name of the Glue Data Catalog database when working with a data catalog. + CatalogDatabase *Option + + // The Redshift schema name when working with a data catalog. + CatalogRedshiftSchema *string + + // The database table to read from. + CatalogRedshiftTable *string + + // The Glue Data Catalog table name when working with a data catalog. + CatalogTable *Option + + // The Glue connection to the Redshift cluster. + Connection *Option + + // Specifies the name of the connection that is associated with the catalog table + // used. + CrawlerConnection *string + + // Optional. The role name use when connection to S3. The IAM role ill default to + // the role on the job when left blank. + IamRole *Option + + // The action used when to detemine how a MERGE in a Redshift sink will be handled. + MergeAction *string + + // The SQL used in a custom merge to deal with matching records. + MergeClause *string + + // The action used when to detemine how a MERGE in a Redshift sink will be handled + // when an existing record matches a new record. + MergeWhenMatched *string + + // The action used when to detemine how a MERGE in a Redshift sink will be handled + // when an existing record doesn't match a new record. + MergeWhenNotMatched *string + + // The SQL used before a MERGE or APPEND with upsert is run. + PostAction *string + + // The SQL used before a MERGE or APPEND with upsert is run. + PreAction *string + + // The SQL used to fetch the data from a Redshift sources when the SourceType is + // 'query'. + SampleQuery *string + + // The Redshift schema name when working with a direct connection. + Schema *Option + + // The list of column names used to determine a matching record when doing a MERGE + // or APPEND with upsert. + SelectedColumns []Option + + // The source type to specify whether a specific table is the source or a custom + // query. + SourceType *string + + // The name of the temporary staging table that is used when doing a MERGE or + // APPEND with upsert. + StagingTable *string + + // The Redshift table name when working with a direct connection. + Table *Option + + // Specifies the prefix to a table. + TablePrefix *string + + // The array of schema output for a given node. + TableSchema []Option + + // The Amazon S3 path where temporary data can be staged when copying out of the + // database. + TempDir *string + + // The action used on Redshift sinks when doing an APPEND. + Upsert bool + + noSmithyDocumentSerde +} + +// Specifies an Amazon Redshift source. +type AmazonRedshiftSource struct { + + // Specifies the data of the Amazon Reshift source node. + Data *AmazonRedshiftNodeData + + // The name of the Amazon Redshift source. + Name *string + + noSmithyDocumentSerde +} + +// Specifies an Amazon Redshift target. +type AmazonRedshiftTarget struct { + + // Specifies the data of the Amazon Reshift target node. + Data *AmazonRedshiftNodeData + + // The nodes that are inputs to the data target. + Inputs []string + + // The name of the Amazon Redshift target. + Name *string + + noSmithyDocumentSerde +} + // Specifies a transform that maps data property keys in the data source to data // property keys in the data target. You can rename keys, modify the data types for // keys, and choose which keys to drop from the dataset. @@ -676,6 +809,12 @@ type CodeGenConfigurationNode struct { // aggregated value by specified function. Aggregate *Aggregate + // Specifies a target that writes to a data source in Amazon Redshift. + AmazonRedshiftSource *AmazonRedshiftSource + + // Specifies a target that writes to a data target in Amazon Redshift. + AmazonRedshiftTarget *AmazonRedshiftTarget + // Specifies a transform that maps data property keys in the data source to data // property keys in the data target. You can rename keys, modify the data types for // keys, and choose which keys to drop from the dataset. @@ -2674,6 +2813,9 @@ type DynamicTransform struct { // This member is required. TransformName *string + // Specifies the data schema for the dynamic transform. + OutputSchemas []GlueSchema + // Specifies the parameters of the dynamic transform. Parameters []TransformConfigParameter @@ -4739,6 +4881,21 @@ type NullValueField struct { noSmithyDocumentSerde } +// Specifies an option value. +type Option struct { + + // Specifies the description of the option. + Description *string + + // Specifies the label of the option. + Label *string + + // Specifies the value of the option. + Value *string + + noSmithyDocumentSerde +} + // Specifies an Oracle data source in the Glue Data Catalog. type OracleSQLCatalogSource struct { diff --git a/service/glue/validators.go b/service/glue/validators.go index 3315f7f0694..262743a0b1d 100644 --- a/service/glue/validators.go +++ b/service/glue/validators.go @@ -5623,6 +5623,11 @@ func validateDynamicTransform(v *types.DynamicTransform) error { if v.Path == nil { invalidParams.Add(smithy.NewErrParamRequired("Path")) } + if v.OutputSchemas != nil { + if err := validateGlueSchemas(v.OutputSchemas); err != nil { + invalidParams.AddNested("OutputSchemas", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/sagemaker/api_op_CreateDomain.go b/service/sagemaker/api_op_CreateDomain.go index f2a99798b78..23d9ffdd3c7 100644 --- a/service/sagemaker/api_op_CreateDomain.go +++ b/service/sagemaker/api_op_CreateDomain.go @@ -98,7 +98,9 @@ type CreateDomainInput struct { // The entity that creates and manages the required security groups for inter-app // communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType // is VPCOnly and - // DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided. + // DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is + // provided. If setting up the domain for use with RStudio, this value must be set + // to Service . AppSecurityGroupManagement types.AppSecurityGroupManagement // The default settings used to create a space. diff --git a/service/sagemaker/api_op_UpdateDomain.go b/service/sagemaker/api_op_UpdateDomain.go index 7924325264b..2e3b1ceb086 100644 --- a/service/sagemaker/api_op_UpdateDomain.go +++ b/service/sagemaker/api_op_UpdateDomain.go @@ -37,7 +37,9 @@ type UpdateDomainInput struct { // The entity that creates and manages the required security groups for inter-app // communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType // is VPCOnly and - // DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided. + // DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is + // provided. If setting up the domain for use with RStudio, this value must be set + // to Service . AppSecurityGroupManagement types.AppSecurityGroupManagement // The default settings used to create a space within the Domain. diff --git a/service/sagemaker/deserializers.go b/service/sagemaker/deserializers.go index 5a5297f9d25..a1781ed82e8 100644 --- a/service/sagemaker/deserializers.go +++ b/service/sagemaker/deserializers.go @@ -62083,6 +62083,19 @@ func awsAwsjson11_deserializeDocumentProductionVariantServerlessConfig(v **types sv.MemorySizeInMB = ptr.Int32(int32(i64)) } + case "ProvisionedConcurrency": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ServerlessProvisionedConcurrency to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ProvisionedConcurrency = ptr.Int32(int32(i64)) + } + default: _, _ = key, value diff --git a/service/sagemaker/serializers.go b/service/sagemaker/serializers.go index f9558450123..612130c0e86 100644 --- a/service/sagemaker/serializers.go +++ b/service/sagemaker/serializers.go @@ -18964,6 +18964,13 @@ func awsAwsjson11_serializeDocumentDesiredWeightAndCapacity(v *types.DesiredWeig } } + if v.ServerlessUpdateConfig != nil { + ok := object.Key("ServerlessUpdateConfig") + if err := awsAwsjson11_serializeDocumentProductionVariantServerlessUpdateConfig(v.ServerlessUpdateConfig, ok); err != nil { + return err + } + } + if v.VariantName != nil { ok := object.Key("VariantName") ok.String(*v.VariantName) @@ -23256,6 +23263,28 @@ func awsAwsjson11_serializeDocumentProductionVariantServerlessConfig(v *types.Pr ok.Integer(*v.MemorySizeInMB) } + if v.ProvisionedConcurrency != nil { + ok := object.Key("ProvisionedConcurrency") + ok.Integer(*v.ProvisionedConcurrency) + } + + return nil +} + +func awsAwsjson11_serializeDocumentProductionVariantServerlessUpdateConfig(v *types.ProductionVariantServerlessUpdateConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.MaxConcurrency != nil { + ok := object.Key("MaxConcurrency") + ok.Integer(*v.MaxConcurrency) + } + + if v.ProvisionedConcurrency != nil { + ok := object.Key("ProvisionedConcurrency") + ok.Integer(*v.ProvisionedConcurrency) + } + return nil } diff --git a/service/sagemaker/types/types.go b/service/sagemaker/types/types.go index 0d3d84d828d..91af8fe4b0f 100644 --- a/service/sagemaker/types/types.go +++ b/service/sagemaker/types/types.go @@ -3146,6 +3146,10 @@ type DesiredWeightAndCapacity struct { // The variant's weight. DesiredWeight *float32 + // Specifies the serverless update concurrency configuration for an endpoint + // variant. + ServerlessUpdateConfig *ProductionVariantServerlessUpdateConfig + noSmithyDocumentSerde } @@ -3366,7 +3370,8 @@ type DomainSettingsForUpdate struct { // or Pending state. ExecutionRoleIdentityConfig ExecutionRoleIdentityConfig - // A collection of RStudioServerPro Domain-level app settings to update. + // A collection of RStudioServerPro Domain-level app settings to update. A single + // RStudioServerPro application is created for a domain. RStudioServerProDomainSettingsForUpdate *RStudioServerProDomainSettingsForUpdate // The security groups for the Amazon Virtual Private Cloud that the Domain uses @@ -10770,6 +10775,25 @@ type ProductionVariantServerlessConfig struct { // This member is required. MemorySizeInMB *int32 + // The amount of provisioned concurrency to allocate for the serverless endpoint. + // Should be less than or equal to MaxConcurrency . + ProvisionedConcurrency *int32 + + noSmithyDocumentSerde +} + +// Specifies the serverless update concurrency configuration for an endpoint +// variant. +type ProductionVariantServerlessUpdateConfig struct { + + // The updated maximum number of concurrent invocations your serverless endpoint + // can process. + MaxConcurrency *int32 + + // The updated amount of provisioned concurrency to allocate for the serverless + // endpoint. Should be less than or equal to MaxConcurrency . + ProvisionedConcurrency *int32 + noSmithyDocumentSerde }